0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

王立奇 2024-11-06 16:07 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

‍‍

前言

前面我们给大家介绍了使用OpenCV以及ONNX工具包实现yolov5在LabVIEW中的部署,有英伟达显卡的朋友们可能已经感受过使用cuda加速时yolov5的速度,今天主要和大家分享在LabVIEW中使用纯TensoRT工具包快速部署并实现yolov5的物体识别, 本博客中使用的智能工具包可到主页置顶博客[https://blog.csdn.net/virobotics/article/details/129304465]
中安装
。若配置运行过程中遇到困难,欢迎大家评论区留言,博主将尽力解决。

以下是YOLOv5的相关笔记总结,希望对大家有所帮助。

【YOLOv5】LabVIEW+OpenVINO让你的YOLOv5在CPU上飞起来https://blog.csdn.net/virobotics/article/details/124951862
【YOLOv5】LabVIEW OpenCV dnn快速实现实时物体识别(Object Detection)https://blog.csdn.net/virobotics/article/details/124929483
【YOLOv5】手把手教你使用LabVIEW ONNX Runtime部署 TensorRT加速,实现YOLOv5实时物体识别(含源码)https://blog.csdn.net/virobotics/article/details/124981658

一、关于YOLOv5

YOLOv5是在 COCO 数据集上预训练的一系列对象检测架构和模型。表现要优于谷歌开源的目标检测框架 EfficientDet,在检测精度和速度上相比yolov4都有较大的提高。本博客,我们以YOLOv5 6.1版本来介绍相关的部署开发。

在这里插入图片描述
YOLOv5相比于前面yolo模型的主要特点是:
1、小目标的检测精度上有明显的提高;
2、能自适应锚框计算
3、具有数据增强功能,随机缩放,裁剪,拼接等功能
4、灵活性极高、速度超快,模型超小、在模型的快速部署上具有极强优势

关于YOLOv5的网络结构解释网上有很多,这里就不再赘述了,大家可以看其他大神对于YOLOv5网络结构的解析。

二、YOLOv5模型的获取

为方便使用, 博主已经将yolov5模型转化为onnx格式 ,可在百度网盘下载
链接:[https://pan.baidu.com/s/15dwoBM4W-5_nlRj4G9EhRg?pwd=yiku]
提取码:yiku

1.下载源码

将Ultralytics开源的YOLOv5代码Clone或下载到本地,可以直接点击Download ZIP进行下载,

下载地址:[https://github.com/ultralytics/yolov5]
在这里插入图片描述

2.安装模块

解压刚刚下载的zip文件,然后安装yolov5需要的模块,记住cmd的工作路径要在yolov5文件夹下:
在这里插入图片描述
打开cmd切换路径到yolov5文件夹下,并输入如下指令,安装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中输入转onnx的命令(记得将export.py和pt模型放在同一路径下):

python export.py --weights yolov5s.pt --include onnx

如下图所示为转化成功界面
在这里插入图片描述
其中yolov5s可替换为yolov5myolov5myolov5lyolov5x
在这里插入图片描述

三、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速度快一倍)
在这里插入图片描述
转换的完整程序如下:
在这里插入图片描述

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

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

2.部署

模型初始化

  1. 加载yolov5s.engine文件
  2. 设置输入输出缓存
    • 输入大小为13640640
    • 输出大小为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.png

在这里插入图片描述

模型推理

  1. 推荐使用数据指针作为输入给到run.vi
  2. 数据的大小为13640*640
    在这里插入图片描述

获取推理结果

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

在这里插入图片描述

后处理

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

在这里插入图片描述

完整源码

在这里插入图片描述

运行结果

1.png

项目源码

源码下载链接:https://pan.baidu.com/s/1y0scJ8tg5nzjJK4iPvNwNQ?pwd=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

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LabVIEW
    +关注

    关注

    2021

    文章

    3688

    浏览量

    348315
  • 机器视觉
    +关注

    关注

    165

    文章

    4824

    浏览量

    126462
  • 目标检测
    +关注

    关注

    0

    文章

    234

    浏览量

    16538
  • 深度学习
    +关注

    关注

    73

    文章

    5603

    浏览量

    124609
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【飞凌嵌入式RV1126B开发板试用体验】+ 5. YOLOv8目标识别部署

    和测试https://bbs.elecfans.com/jishu_2512474_1_1.html 6 YOLOv8目标识别部署 6.1 模型训练 Windows上使用Anaco
    发表于 03-23 20:19

    AI端侧部署开发(SC171开发套件V2-FAS)

    AI端侧部署开发(SC171开发套件V2-FAS) 序列 课程名称 视频课程时长 视频课程链接 课件链接 工程源码 1 Fibo AI Stack模型转化指南 27分19秒 https
    发表于 02-11 11:44

    AI端侧部署开发(SC171开发套件V3)2026版

    AI端侧部署开发(SC171开发套件V3)2026版 序列 课程名称 视频课程时长 视频课程链接 课件链接 工程源码 1 Fibo AI Stack模型转化指南 27分19秒 https
    发表于 01-15 10:31

    【NPU实战】迅为RK3588上玩转YOLOv8:目标检测与语义分割一站式部署指南

    【NPU实战】迅为RK3588上玩转YOLOv8:目标检测与语义分割一站式部署指南
    的头像 发表于 12-12 14:30 6365次阅读
    【NPU实战】<b class='flag-5'>在</b>迅为RK3588上玩转<b class='flag-5'>YOLOv</b>8:目标检测与语义分割一站式<b class='flag-5'>部署</b>指南

    【团购】独家全套珍藏!龙哥LabVIEW视觉深度学习实战课(11大系列课程,共5000+分钟)

    (第10系列)、YOLOv8-Tiny工业优化版(第9系列),满足产线端设备算力限制,模型推理速度提升300%。 LabVIEW生态整合 作为工业自动化领域主流开发环境,LabVIEW
    发表于 12-04 09:28

    【团购】独家全套珍藏!龙哥LabVIEW视觉深度学习实战课程(11大系列课程,共5000+分钟)

    (第10系列)、YOLOv8-Tiny工业优化版(第9系列),满足产线端设备算力限制,模型推理速度提升300%。 LabVIEW生态整合 作为工业自动化领域主流开发环境,LabVIEW
    发表于 12-03 13:50

    使用ROCm™优化并部署YOLOv8模型

    作者:AVNET 李鑫杰 一,YOLOv8介绍? YOLOv8 由 Ultralytics 于 2023 年 1 月 10 日发布,准确性和速度方面提供了前沿的性能。YOLOv8
    的头像 发表于 09-24 18:32 978次阅读
    使用ROCm™优化并<b class='flag-5'>部署</b><b class='flag-5'>YOLOv</b>8模型

    基于瑞芯微RK3576的 yolov5训练部署教程

    5s、YOLOv5m、YOLOv5l、YOLOv5x 四个模型。YOLOv5 相比YOLOv4 而言,
    的头像 发表于 09-11 16:43 3192次阅读
    基于瑞芯微RK3576的 <b class='flag-5'>yolov</b>5训练<b class='flag-5'>部署</b>教程

    求助,关于K230部署yolov8时遇到问题求解

    使用yolov8训练出来了一个十个类别的模型并且按照要求转换成了.kmodel模型,部署到K230时 使用yolo大作战里面的代码提示我list out of range但是我看了我的.yaml
    发表于 08-12 07:26

    K230,如何使用AI Demo的object_detect_yolov8n,YOLOV8多目标检测模型?

    K230的AI开发教程文档,可以看到有源码的AI Demo,其中包括yolov8n模型,仓库里可以看到
    发表于 08-07 06:48

    yolov5训练部署全链路教程

    5m、YOLOv5l、YOLOv5x四个模型。YOLOv5相比YOLOv4而言,检测平均精度降低不多的基础上,具有均值权重文件更小,训练时
    的头像 发表于 07-25 15:22 2006次阅读
    <b class='flag-5'>yolov</b>5训练<b class='flag-5'>部署</b>全链路教程

    yolov8怎么wsl搭建呢?

    纯小白,yolov8怎么wsl搭建呢?一直报错且无法安装pip包
    发表于 07-11 07:37

    K230上部署yolov5时 出现the array is too big的原因?

    重现步骤 1将yolov5的kmodel放入k230的data数据 2使用yolo大作战里的视频流推理代码 3运行 期待结果和实际结果 期待的结果 将目标检测的框圈起来 实际看到的结果
    发表于 05-28 07:47

    【幸狐Omni3576边缘计算套件试用体验】幸狐Omni3576开发板移植YOLOV10和推理测试

    功能。 一、RKNN简介 RKNN-Toolkit2工具 PC 平台上提供 C 或 Python 接口,简化模型的部署和运行。用户可以通过该工具轻松完成以下功能:模型转换、量化、推理、性能和内存评估
    发表于 05-24 12:27

    labview调用yolov8/11目标检测、分割、分类

    labview使用2020版本64位编辑,调用yolov8/11的onnx模型案例。 源码: 通过网盘分享的文件:Labview_cls.zip等4个文件 链接: https
    发表于 04-21 19:37