YOLOv6在LabVIEW中的推理部署(含源码)

简介: YOLOv6在LabVIEW中的推理部署

前言

YOLOv6 是美团视觉智能部研发的一款目标检测框架,致力于工业应用。如何使用python进行该模型的部署,官网已经介绍的很清楚了,但是对于如何在LabVIEW中实现该模型的部署,笔者目前还没有看到相关介绍文章,所以笔者在实现YOLOv6 ONNX 在LabVIEW中的部署推理后,决定和各位读者分享一下如何使用LabVIEW实现YOLOv6的目标检测。


一、什么是YOLOv6

YOLOv6 是美团视觉智能部研发的一款目标检测框架,致力于工业应用。本框架同时专注于检测的精度和推理效率,在工业界常用的尺寸模型中:YOLOv6-nano 在 COCO 上精度可达 35.0% AP,在 T4 上推理速度可达 1242 FPS;YOLOv6-s 在 COCO 上精度可达 43.1% AP,在 T4 上推理速度可达 520 FPS。在部署方面,YOLOv6 支持 GPU(TensorRT)、CPU(OPENVINO)、ARM(MNN、TNN、NCNN)等不同平台的部署,极大地简化工程部署时的适配工作。
image.png

从模型性能对比图来看,YOLOv6的性能也是再创新高。YOLOv6-s在COCO上精度达到了43.1%AP,在T4上推理速度也高达520FPS!
YOLOv6提供了支持 ONNX、TensorRT、NCNN 和 Openvino 的部署版本。今天我们一起来看一下如何在LabVIEW中部署YOLOv6 ONNX。


二、环境搭建

1、部署本项目时所用环境

  • 操作系统:Windows10
  • python:3.6及以上
  • LabVIEW:2018及以上 64位版本
  • AI视觉工具包:techforce_lib_opencv_cpu-1.0.0.73.vip
  • onnx工具包:virobotics_lib_onnx_cuda_tensorrt-1.0.0.16.vip【1.0.0.16及以上版本】

2、LabVIEW工具包下载及安装


三、模型的获取与转化

注意:本教程已经为大家提供了YOLOV6的模型,可跳过本步骤,直接进行步骤四-推理。若是想要了解YOLOV6的onnx模型如何获取,则可继续阅读本部分内容。

下面我们来介绍两种模型获取的方式(以yolov6s为例,想要获取其他模型的方式也一样,只需要修改名字即可)

1、方式一:直接在官网下载yolov6s的onnx模型

具体地址如下:https://github.com/meituan/YOLOv6/tree/main/deploy/ONNX
image.png

单击YOLOv6-s,可直接下载yolov6s.onnx

2、方式二:将标准模型pt转化为onnx(较为复杂)

1、下载并安装YOLOv6所依赖的库
https://github.com/meituan/YOLOv6中下载YOLOv6源码并解压
image.png

在YOLOv6-main文件夹中打开cmd,输入以下指令安装需要的库:

pip3 install -U pip && pip3 install -r requirements.txt

注意:YOLOv6比V5多了一个addict库,如果之前已经安装过了YOLOv5的相关库,也可以只下载一个addict

2、安装pycocotools

pip install pycocotools

!!!注:若安装pycocotools时遇到ERROR: Could not build wheels for pycocotools ……,则使用以下指令来安装:

pip install pycocotools-windows

3、从基准表下载标准预训练模型
https://github.com/meituan/YOLOv6
image.png

将模型放置到如下路径”\YOLOv6-main\”
image.png

4、将标准模型pt转化为onnx
切换到YOLOv6-main文件夹路径下,运行以下指令实现模型的转换

python ./deploy/ONNX/export_onnx.py --weights yolov6s.pt --img 640 --batch 1

输出如下,得到yolov6s.onnx
image.png

四、在LabVIEW实现YOLOV6的部署推理

本项目整体的文件结构如下图所示,各位读者可在文章末尾链接处下载整个项目源码。
image.png

本例中使用LabVIEW ONNX工具包中的Create_Session.vi载入onnx模型,可选择使用cpu,cuda进行推理加速。

1、查看模型

我们可以使用netron 查看ppyoloe_crn_s_300e_coco.onnx的网络结构,浏览器中输入链接:https://netron.app/,点击Open Model,打开相应的网络模型文件即可。
image.png

查看模型属性,可看到模型的输入输出如下图所示:
image.png

我们发现,该模型输出和YOLOx输出一直,均为1x8400x85

2、项目运行

将我们已经转化好的onnx模型放置到model文件夹中,打开yolov6_onnx_camera.vi,在前面板中修改程序中加载的模型路径为实际模型路径,本项目中已经将YOLOV6 onnx模型【yolov6s.onnx】放置到了model文件夹中,如需其他模型,读者也可自行放置到model文件及下,实现模型的加载。运行程序,可得到目标检测的结果。

  • 主程序源码如下(可以选择使用CUDA或者TensorRT进行推理加速):
    image.png
  • 运行结果如下:
    image.png

五、完整项目下载链接

可关注微信公众号:VIRobotics,回复:yolov6_onnx,获取项目源码

总结

以上就是今天要给大家分享的内容。大家可根据链接下载相关源码与模型。

如果有问题可以在评论区里讨论,提问前请先点赞支持一下博主哦,如您想要探讨更多关于LabVIEW与人工智能技术,欢迎加入我们的技术交流群:705637299。进群请备注:LabVIEW机器视觉

**如果文章对你有帮助,欢迎✌关注、👍点赞、✌收藏

目录
相关文章
|
25天前
|
机器学习/深度学习 算法 测试技术
深度学习环境搭建笔记(二):mmdetection-CPU安装和训练
本文是关于如何搭建深度学习环境,特别是使用mmdetection进行CPU安装和训练的详细指南。包括安装Anaconda、创建虚拟环境、安装PyTorch、mmcv-full和mmdetection,以及测试环境和训练目标检测模型的步骤。还提供了数据集准备、检查和网络训练的详细说明。
71 5
深度学习环境搭建笔记(二):mmdetection-CPU安装和训练
|
26天前
|
计算机视觉
目标检测笔记(二):测试YOLOv5各模块的推理速度
这篇文章是关于如何测试YOLOv5中不同模块(如SPP和SPPF)的推理速度,并通过代码示例展示了如何进行性能分析。
69 3
|
26天前
|
计算机视觉 异构计算
目标检测实战(四):YOLOV4-Tiny 源码训练、测试、验证详细步骤
这篇文章详细介绍了使用YOLOv4-Tiny进行目标检测的实战步骤,包括下载源码和权重文件、配置编译环境、进行简单测试、训练VOC数据集、生成训练文件、准备训练、开始训练以及多GPU训练的步骤。文章还提供了相应的代码示例,帮助读者理解和实践YOLOv4-Tiny模型的训练和测试过程。
76 0
|
6月前
|
机器学习/深度学习 PyTorch API
【ORT部署】对bubbliiiing的yolo系列进行进行onnxruntime推理部署
【ORT部署】对bubbliiiing的yolo系列进行进行onnxruntime推理部署
158 0
【ORT部署】对bubbliiiing的yolo系列进行进行onnxruntime推理部署
|
机器学习/深度学习 人工智能 计算机视觉
【YOLOv8】实战三:基于LabVIEW TensorRT部署YOLOv8
【YOLOv8】实战三:基于LabVIEW TensorRT部署YOLOv8
582 0
【YOLOv8】实战三:基于LabVIEW TensorRT部署YOLOv8
|
机器学习/深度学习 并行计算 计算机视觉
|
缓存 计算机视觉
|
人工智能 并行计算 计算机视觉
|
缓存 PyTorch API
手把手教你使用LabVIEW TensorRT实现图像分类实战下(含源码)
手把手教你使用LabVIEW TensorRT实现图像分类实战下
224 0
手把手教你使用LabVIEW TensorRT实现图像分类实战下(含源码)
|
机器学习/深度学习 移动开发 数据挖掘
如何用CSharpOpenCv集成Yolov3的模型
如何用CSharpOpenCv集成Yolov3的模型
305 0
如何用CSharpOpenCv集成Yolov3的模型