游乐游手机版
首页/AI热点日报/热点详情

YOLOv6在LabVIEW中的推理部署与源码实现

类型:热点整理2026-07-12
此前,我们已介绍过在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.部署

模型初始化

  1. 加载yolov5s.engine文件
  2. 设置输入输出缓存

    • 输入大小为1×3×640×640
    • 输出大小为1×25200×85

YOLOv5的预处理

  1. LetterBox
  2. 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

模型推理

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

获取推理结果

  1. 循环外初始化一个25200×85的二维数组
  2. 该数组作为Get_Result的输入,另一个输入为index=0
  3. 输出为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
来源:https://m.elecfans.com/article/2091391.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。