【YOLOv5】LabVIEW+TensorRT的yolov5部署实战下

简介: yolov5实现目标检测

前言

上一篇博文给大家介绍了LabVIEW+TensorRT的yolov5部署实战所需的基础内容,比如模型的转换,今天我们来看一下,具体是如何部署的。

LabVIEW+TensorRT的yolov5部署实战(yolov5_trt_img.vi)

如需要查看TensorRT工具包相关vi含义,可查看:https://blog.csdn.net/virobotics/article/details/129492651

1.onnx转化为engine(onnx to engine.vi)

使用onnx_to_engine.vi,将该vi拖拽至前面板空白区域,创建并输入onnx的路径以及engine的路径,type即精度,可选择FP32或FP16,肉眼观看精度无大差别。(一般FP16模型比FP32速度快一倍
image.png

转换的完整程序如下:
image.png

点击运行,等待1~3分钟,模型转换成功,可在刚刚设定的路径中找到我们转化好的mobilenet.engine.

Q:为什么要转换模型,不直接调用ONNX?
A:tensorRT内部加载ONNX后其实是做了一个转换模型的工作,该过程时间长、占用内存巨大。因此不推荐每次初始化都加载ONNX模型,而是加载engine。

2.部署

模型初始化

  1. 加载yolov5s.engine文件
  2. 设置输入输出缓存
    • 输入大小为13640640
    • 输出大小为1
    25200*85
    image.png

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

image.png

image.png

模型推理

  1. 推荐使用数据指针作为输入给到run.vi
  2. 数据的大小为13640*640
    image.png

获取推理结果

  1. 循环外初始化一个25200*85的二维数组
  2. 此数组作为Get_Result的输入,另一个输入为index=0
  3. 输出为25200*85的二维数组结果

image.png

后处理

本范例中,后处理方式和使用onnx一样

image.png

完整源码

image.png

运行结果

image.png

项目源码

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

附加说明

操作系统: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

总结

以上就是今天要给大家分享的内容,如果有问题可以在评论区里讨论

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

目录
相关文章
|
2月前
|
算法框架/工具 开发工具 git
【项目--Hi3559A】(caffe-yolov3)yolov3的darknet模型转caffe模型详细教程
【项目--Hi3559A】(caffe-yolov3)yolov3的darknet模型转caffe模型详细教程
26 1
【项目--Hi3559A】(caffe-yolov3)yolov3的darknet模型转caffe模型详细教程
|
11月前
|
机器学习/深度学习 人工智能 计算机视觉
【YOLOv8】实战三:基于LabVIEW TensorRT部署YOLOv8
【YOLOv8】实战三:基于LabVIEW TensorRT部署YOLOv8
473 0
【YOLOv8】实战三:基于LabVIEW TensorRT部署YOLOv8
|
11月前
|
人工智能 自动驾驶 安全
YOLO v8!| 附教程+代码 以及 vs YOLOv6 v3.0
YOLO v8!| 附教程+代码 以及 vs YOLOv6 v3.0
|
机器学习/深度学习 并行计算 计算机视觉
|
PyTorch Go 算法框架/工具
YOLOv8来啦 | 详细解读YOLOv8的改进模块!YOLOv5官方出品YOLOv8,必卷!
YOLOv8来啦 | 详细解读YOLOv8的改进模块!YOLOv5官方出品YOLOv8,必卷!
2060 0
|
人工智能 并行计算 计算机视觉
|
计算机视觉
【YOLOV5-6.x讲解】YOLO5.0VS6.0版本对比+模型设计
【YOLOV5-6.x讲解】YOLO5.0VS6.0版本对比+模型设计
865 0
【YOLOV5-6.x讲解】YOLO5.0VS6.0版本对比+模型设计
|
人工智能 并行计算 计算机视觉
YOLOv6在LabVIEW中的推理部署(含源码)
YOLOv6在LabVIEW中的推理部署
252 0
|
机器学习/深度学习 XML 人工智能
【YOLOv5】LabVIEW+OpenVINO让你的YOLOv5在CPU上飞起来
LabVIEW+OpenVINO,加速推理YOLOv5模型,让你在CPU上也能感受丝滑的实时物体识别。
131 0
|
机器学习/深度学习 并行计算 自动驾驶
【YOLOv5】手把手教你使用LabVIEW ONNX Runtime部署 TensorRT加速,实现YOLOv5实时物体识别(含源码)
使用LabVIEW ONNX Runtime部署 TensorRT加速,实现YOLOv5实时物体识别
368 0