YOLOv6在LabVIEW中的推理部署与源码实现
此前,我们已介绍过在LabVIEW中借助OpenCV与ONNX工具包部署YOLOv5的常规方案。对于配备英伟达显卡的用户,想必已体验过CUDA加速带来的性能飞跃。今天,我们将重点探讨如何利用纯TensorRT工具包,在LabVIEW中快速完成YOLOv5的部署,并实现实时物体识别。 若在配置或运行过
此前,我们已介绍过在LabVIEW中借助OpenCV与ONNX工具包部署YOLOv5的常规方案。对于配备英伟达显卡的用户,想必已体验过CUDA加速带来的性能飞跃。今天,我们将重点探讨如何利用纯TensorRT工具包,在LabVIEW中快速完成YOLOv5的部署,并实现实时物体识别。
若在配置或运行过程中遇到任何问题,欢迎在评论区留言交流。
以下为YOLOv5部署的实战笔记,供参考。
一、关于YOLOv5
YOLOv5是在COCO数据集上预训练的一系列目标检测架构与模型,其表现优于谷歌的EfficientDet,在检测精度与速度上相较YOLOv4均有显著提升。本文以YOLOv5 6.1版本为例展开部署开发。

YOLOv5相比前代模型的主要特点包括:
1、小目标检测精度明显提高;
2、自适应锚框计算;
3、数据增强功能,支持随机缩放、裁剪、拼接等;
4、灵活性极高、速度超快、模型超小,在快速部署场景中优势突出。
关于YOLOv5的网络结构,网上已有大量详细解析,此处不再赘述。
二、YOLOv5模型的获取
为方便使用,模型已转换为ONNX格式,可通过百度网盘(提取码:yiku)获取。
1.下载源码
将Ultralytics开源的YOLOv5代码克隆或下载到本地,直接点击Download ZIP即可(仓库地址:ultralytics/yolov5)。

2.安装模块
解压下载的zip文件,安装YOLOv5所需的依赖模块。确保CMD的工作路径位于yolov5文件夹下:

打开CMD,切换路径至yolov5文件夹,并执行:
pip install -r requirements.txt
3.下载预训练模型
打开CMD,进入Python环境,使用以下指令下载预训练模型:
import torch
# Model
model = torch.hub.load('ultralytics/yolov5', 'yolov5s') # or yolov5n - yolov5x6, custom
成功下载后界面如下图所示:

4.转换为ONNX模型
将.pt文件转化为.onnx文件,在CMD中执行(确保export.py和pt模型处于同一路径下):
python export.py --weights yolov5s.pt --include onnx
转换成功界面如下:

其中yolov5s可替换为yolov5m、yolov5l、yolov5x。

三、LabVIEW+TensorRT的YOLOv5部署实战(yolov5_trt_img.vi)
关于各VI的含义,可查阅TensorRT工具包的相关说明文档。
1.ONNX转化为Engine(onnx_to_engine.vi)
使用onnx_to_engine.vi,将该VI拖拽至前面板空白区域,创建并输入ONNX路径以及Engine路径。type即精度,可选择FP32或FP16,肉眼观察精度无明显差异(通常FP16模型比FP32速度快一倍)。

完整转换程序如下:

点击运行,等待1~3分钟,模型转换成功,即可在设定的路径中找到生成的Engine文件。
Q:为什么要转换模型,不直接调用ONNX?
A:TensorRT加载ONNX后会内部进行模型转换,该过程耗时较长且占用大量内存。因此不推荐每次初始化都加载ONNX,而是直接加载Engine文件。
2.部署
模型初始化
- 加载yolov5s.engine文件
- 设置输入输出缓存
• 输入大小为1×3×640×640
• 输出大小为1×25200×85
YOLOv5的预处理
- LetterBox
- blobFromImage,包含如下步骤:
1) img=img/255.0
2) img = img[None] #从(640,640,3)扩充维度至(1,640,640,3)
3) input=img.transpose(0,3,1,2) # BHWC to BCHW


模型推理
- 推荐使用数据指针作为输入传递给run.vi
- 数据的大小为1×3×640×640

获取推理结果
- 循环外初始化一个25200×85的二维数组
- 该数组作为Get_Result的输入,另一个输入为index=0
- 输出为25200×85的二维数组结果

后处理
本范例中,后处理方式与ONNX方案一致。

完整源码

运行结果

项目源码
项目源码可通过百度网盘(提取码:yiku)下载。
附加说明
- 操作系统:Windows10
- Python:3.6及以上
- LabVIEW:2018及以上 64位版本
- 视觉工具包:techforce_lib_opencv_cpu-1.0.0.98.vip
- LabVIEW TensorRT工具包:virobotics_lib_tensorrt-1.0.0.22.vip
- 运行结果所用显卡:RTX3060
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:YOLOv6在LabVIEW中的推理部署与源码实现要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
相关热点BookAI基于ChatGPT,能与图书智能对话,快速提取核心概念,支持30余种语言互动及个性化推荐,广泛应用于个人阅读、学术研究、教育及企业培训,提升学习效率。
PublishStudio是一站式内容创作、管理和分发平台,通过所见即所得编辑器、生成式AI、媒体工具、内容规划器及语气分析等功能,简化从创意到发布的全流程,支持一键多平台分发,提升内容运营效率。
BerthaAI是一款跨网站的AI内容助手,适用于博客、社交媒体、产品描述及邮件营销等文字创作场景。它能生成可读性强的高质量文本,显著压缩内容团队的选题、起草和修改周期,并在灵感枯竭时提供破局工具,提升内容产出速度。
Poly ai是一款能理解客户意图并处理复杂业务的企业级AI语音助手,可自动处理75%来电,支持12种语言,客户满意度提升15个百分点。具备智能工单处理、情绪识别、多语言交互等功能,广泛应用于酒店、金融、零售等领域。
- 日榜
- 周榜
- 月榜
热点快看
