onnxruntime for labview

         实现onnxruntime在labview中的应用。章节的运行环境WIN10,Labview 2019 X64,CPU I5-11。

一 案例

1.anomalib

          Anomalib 是一个深度学习库,旨在收集最先进的异常检测算法,用于对公共和私有数据集进行基准测试。Anomalib 提供了最近文献中描述的异常检测算法的几种即用型实现,以及一组有助于开发和实现自定义模型的工具。该库非常注重视觉异常检测,该算法的目标是检测和/或定位数据集中图像或视频中的异常。它使用无监督以及半监督技术,在光学成像较为稳定但缺陷数据集较少的场景有着很好的应用。

leather数据集

leather数据集

bottle数据集

bottle数据集

2.Yolo v11检测模型

        YOLO系列凭借着建档方便的训练部署,高效的速率一直活跃在检测一线。

二 部署流程

1.安装包

       安装lib_imaquopencv包。因为没氪金,没法进行网络发布,感兴趣可以留言。

       因为兼容IMAQ图像类型,需要labview已经正确安装vision组件

      安装后位于 Vision and Motion->Opencv_Lab->OnnxRuntime

2.程序框图

        模型训练以及导出onnx格式参考相应的网络。程序的掉用分为几部分:加载模型、加载图像、推理模型、结果解析。

        模型输出的结果为Vector<ort::value>格式,对于不同的模型输出的尺度以及长度存在差异,根据不同的模型解析Vector相应元素转为指定float或者bool等类型数组。

对于yolo检测模型,只解析vector[0]

对于anomalib 解析vector[2]获取热力图,vector[3]获取mask

热力图转图像显示

三 总结

         作者解析了IMAQ的图像数据格式,优化IMAQ图像转换效率,使得嵌入mat进行处理耗时几乎可以不计,在大分辨率图像例如6120*6120,图像转换效率会有3ms损耗,主要来源于IMAQ有一块随机大小的内存块,作者还不理解IMAQ用来干嘛的,所以onnx里面图像传递使用mat指针,以减少不必要损耗(反正中间图像过程没必要进行探针)。

       目前图像转换是如下方法,对于[1,3,x,x]Tensor输入都可以正常运行,但对于远古onnx格式例如[1,x,x3],作者进行了报错处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值