手把手教你LabVIEW TensorRT图像分类实战附源码
之前我们介绍了在LabVIEW中通过OpenCV和ONNX工具包部署YOLOv5的方法。如果您拥有NVIDIA显卡,相信已经感受到CUDA加速带来的流畅体验。本文则聚焦于如何直接利用LabVIEW中的TensorRT工具包,快速实现YOLOv5目标检测——纯TensorRT部署方案,效率更高、部署流
之前我们介绍了在LabVIEW中通过OpenCV和ONNX工具包部署YOLOv5的方法。如果您拥有NVIDIA显卡,相信已经感受到CUDA加速带来的流畅体验。本文则聚焦于如何直接利用LabVIEW中的TensorRT工具包,快速实现YOLOv5目标检测——纯TensorRT部署方案,效率更高、部署流程也更简洁。
本文汇总了YOLOv5部署的完整笔记,希望能为您提供实用的参考。

一、YOLOv5概述
YOLOv5是基于COCO数据集预训练的一系列目标检测架构与模型。相较于谷歌的EfficientDet,YOLOv5在检测精度和速度上均有显著提升,尤其在小目标检测方面表现更佳。本文以YOLOv5 6.1版本为例,详细介绍其部署开发流程。
YOLOv5相较于前代YOLO模型,主要特点包括:
- 小目标检测精度显著增强
- 支持自适应锚框计算
- 内置数据增强功能(如随机缩放、裁剪、拼接等)
- 模型灵活、速度快、体积小,部署优势突出
关于网络结构的具体解析,已有大量资料可供参考,此处不再赘述。
二、YOLOv5模型的获取
为方便后续部署,我们已将YOLOv5模型转换为ONNX格式,可直接用于LabVIEW。
1. 下载源码
将Ultralytics开源的YOLOv5代码克隆或下载至本地(可直接点击Download ZIP按钮)。

2. 安装模块
解压下载的zip文件,在命令行中切换至yolov5文件夹路径,运行以下命令安装所需依赖:
pip install -r requirements.txt

3. 下载预训练模型
进入Python环境,执行以下代码下载预训练模型:
import torch
model = torch.hub.load('ultralytics/yolov5', 'yolov5s') # 也可替换为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)
1. ONNX转化为engine(onnx to engine.vi)
调用onnx_to_engine.vi,将该vi拖拽至前面板空白区域,创建并输入ONNX文件路径与engine文件路径。type参数用于选择精度:FP32或FP16。肉眼观察两者精度差异不大,但FP16模型的推理速度通常是FP32的两倍。

完整的转换程序如下图所示:

点击运行,等待1~3分钟,模型转换成功后,即可在指定路径找到生成的.engine文件。
问:为何要转换模型而不直接调用ONNX?
答: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 -> BCHW


模型推理
- 建议将数据指针作为输入传递给run.vi
- 数据尺寸为1×3×640×640

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

后处理
在本示例中,后处理方式与使用ONNX时保持一致。

完整源码

运行结果

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