网站设计怎么设计学生作业,涨粉 wordpress,网站建设 表扬信,开阿里巴巴网站建设流程#x1f3e1;博客主页#xff1a; virobotics(仪酷智能)#xff1a;LabVIEW深度学习、人工智能博主 #x1f384;所属专栏#xff1a;『LabVIEW深度学习实战』 #x1f4d1;上期文章#xff1a;『【YOLOv9】实战一#xff1a;在 Windows 上使用LabVIEW OpenVINO工具… 博客主页 virobotics(仪酷智能)LabVIEW深度学习、人工智能博主 所属专栏『LabVIEW深度学习实战』 上期文章『【YOLOv9】实战一在 Windows 上使用LabVIEW OpenVINO工具包部署YOLOv9实现实时目标检测含源码』 本文由virobotics(仪酷智能)原创 欢迎大家关注✌点赞收藏⭐留言订阅专栏 文章目录 前言TensorRT™工具包及YOLOv9简介1.1 TensorRT™简介1.2 LabVIEW TensorRT™工具包介绍1.3 YOLOv9简介 YOLOv9环境搭建️模型获取3.1 源码下载3.2 配置环境3.3 下载并导出onnx模型 项目实践4.1 项目简介4.2 yolov9导出engine模型 3.3 加载YOLOv9模型实现目标检测3.3 运行效果 项目源码总结 前言
好久不见很开心今天能够以文字的形式与大家见面~
Hello大家好我是你们的virobotics仪酷智能一个深耕于LabVIEW和人工智能领域的开发工程师。
上一片博文给大家介绍了在 Windows 上使用LabVIEW OpenVINO工具包部署YOLOv9实现实时目标检测相信大家对YOLOv9已有初步了解。如大家所知YOLOv9引入了可编程梯度信息 (PGI) 和广义高效层聚合网络 (GELAN) 等开创性技术不仅增强了模型的学习能力还确保了在整个检测过程中保留关键信息从而实现了卓越的准确性和性能。官方代码目前已经开源。
YOLOv9结合LabVIEW的强大功能和TensorRT的优化性能我们可以创建高效且响应迅速的视觉系统。本文将详细介绍如何使用仪酷LabVIEW TensorRT工具包部署YOLOv9模型以及如何处理可能遇到的挑战。
TensorRT™工具包及YOLOv9简介
1.1 TensorRT™简介
TensorRT™是一个高性能的深度学习推理Inference优化器可以为深度学习应用提供低延迟、高吞吐率的部署推理。TensorRT™可用于对超大规模数据中心、嵌入式平台或自动驾驶平台进行推理加速。TensorRT™现已能支持TensorFlow、Caffe、Mxnet、Pytorch等几乎所有的深度学习框架将TensorRT™和NVIDIA的GPU结合起来能在几乎所有的框架中进行快速和高效的部署推理。主要用来针对 NVIDIA GPU进行高性能推理Inference加速。 1.2 LabVIEW TensorRT™工具包介绍
LabVIEW TensorRT™工具包是我们VIRobotics团队基于TensorRT™ 开发的一款AI推理加速工具包整个工具包作为LabVIEW的插件结合LabVIEW提供的丰富工具及VI使得集成各种AI模型到更大的系统中变得简单。无论是数据采集、信号处理还是与其他硬件的交互都可以在同一个环境中高效完成。可以显著提升在LabVIEW环境中开发和部署计算机视觉及深度学习应用的效率和性能。同时利用NVIDIA TensorRT的优化能力能够针对不同的硬件配置自动优化模型提高推理速度降低延迟。这对于需要实时反馈的应用来说是一个巨大的优势。用户可以享受到加速后的模型推理速度而无需深入了解底层的优化技术。
以下为yolov5s以及yolov8n模型使用LabVIEW TensorRT™工具包在不同显卡上推理的速度测评 在此特别鸣谢不愿透漏姓名的合作伙伴提供的测评结果 1.3 YOLOv9简介
YOLOv9 在COCO 数据集上的表现体现了其在实时物体检测方面的显著进步为各种模型大小设定了新的基准。具体如下图所示。
如下图所示在MS COCO数据集上实时目标检测器的比较中基于GELAN和PGI的目标检测方法在目标检测性能方面超越了所有先前的从头开始训练的方法。在准确性方面新方法优于使用大型数据集预训练的RT-DETR同时也优于基于深度卷积设计的YOLO MS在参数利用方面的表现。 YOLOv9论文链接 YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information YOLOv9官方开源地址 https://github.com/WongKinYiu/yolov9
YOLOv9环境搭建
部署本项目时所用环境
操作系统Windows 64LabVIEW2018及以上 64位版本AI视觉工具包techforce_lib_opencv_cpu1.0.1.26及以上版本TensorRT工具包virobotics_lib_tensorrt1.0.0.51及以上版本仪酷Object Detection工具包virobotics_lib_object_detection1.0.0.8及以上版本
软件下载及安装
AI视觉工具包下载与安装参考 https://blog.csdn.net/virobotics/article/details/123656523TensorRT工具包下载与安装参考 https://blog.csdn.net/virobotics/article/details/129304465LabVIEW Object_Detection工具包下载与安装 https://blog.csdn.net/virobotics/article/details/132529219
️模型获取
注意本教程已经为大家提供了YOLOv9的onnx模型可跳过本步骤。若是想要了解YOLOv9的onnx模型如何导出则可继续阅读本部分内容。
3.1 源码下载
打开YOLOv9官方开源地址https://github.com/WongKinYiu/yolov9下载zip并解压该压缩包
3.2 配置环境
在“yolov9-main”文件夹下输入以下指令安装yolov9所需环境
pip install -r requirements.txt下面我们来介绍onnx模型的导出(以YOLOv9-c为例想要导出其他模型的方式也一样只需要修改名字即可)
3.3 下载并导出onnx模型
此处以官方预训练模型为例首先下载预训练模型文件然后调用export.py文件导出ONBNX格式的模型文件
可以在此处下载pt模型 https://github.com/WongKinYiu/yolov9/releases/download/v0.1/yolov9-c-converted.pt https://github.com/WongKinYiu/yolov9/releases/download/v0.1/yolov9-c.pt 也可以在官网中直接下载模型 下载好了之后将模型放在yolov9-main文件夹下在yolov9-main文件夹下打开cmd并输入指令
python export.py --weights ./yolov9-c.pt --imgsz 640 --include onnx如上图所示即已成功导出onnx模型。
项目实践
4.1 项目简介
本文我们将结合之前开发的 LabVIEW TensorRT™工具包和LabVIEW Object_Detection工具包部署 YOLOv9 模型实现视频流及实时目标检测。 整个项目工程如下项目模型以YOLOv9-C为例目前官方较小尺寸的模型还未开放 modelyolov9的onnx模型及coco.names文件之后优化好的engine也可以放置在该文件夹下video测试视频文件夹yolov9_onnx_to_engine.vi将yolov9的onnx模型转化为TensorRT引擎模型.engineyolov9_trt_video.viyolov9检测视频流yolov9_trt_camera.vi接入摄像头实现实时目标检测
4.2 yolov9导出engine模型 模型转化为engine即TensorRT引擎模型是非常有必要的这种格式是针对特定的GPU架构进行优化的可以充分利用GPU的并行计算能力。通过将ONNX模型转换为TensorRT引擎模型可以获得最佳的GPU加速效果提高推理速度同时可以获得更高的显存利用率和更低的显存带宽需求同一台电脑同一个模型只需做一次模型转换即可。 由于yolov9-c.onnx默认有两个输出而推理时第二个输出往往用不到所以我们需要使用tensorRT工具包中InetworkDefinition相关函数首先判断onnx的输出数量如发现有2个输出则将后面一个输出即index为1的输出进行unmark操作。双击并打开yolov9_onnx_to_engine.vi程序框图如下图所示 当然如果使用yolov9-c-converted.onnx因为只有一个输出故不需要去除最后一个输出可以直接使用工具包自带的onnx_to_engine.vi进行转换。也可以使用上面的代码进行转换因为范例yolov9_onnx_to_engine.vi使用了条件分支判断模型的输出有几个。
选择需要转换的yolov9.onnx模型以及生成engine模型的路径 将onnx模型转化为engine模型会因显卡不同而有所差异所用时间也不同我们只需等待模型转化完毕将LabVIEW完全关闭即可。
3.3 加载YOLOv9模型实现目标检测 模型及其他初始化加载yolov9的engine模型及coco.name文件选择函数选板—Addons—VIRobotics—ModelZoo—Object Detection中的Object_Detection_InitialModel_TensorRT多态VI其中选择器选择“InitialModel_yolov9_tensorRT”设置正确的model_path路径和类别名字的文件coco.names 配置Config簇控件如使用了上文的方法将yolov9的onnx转engine需将InitialModel的Config输入端进行如下配置 摄像头图像采集启动摄像头设置相机分辨率并采集图像 实时推理并绘制检测结果进行图像预处理推理并获取推理结果将结果绘制出来以图片控件的形式显示在前面板上 释放资源释放相机资源及模型所占内存等资源 完整源码
3.3 运行效果
按照前文YOLOv9环境搭建安装相关工具包然后运行 yolov9_tensorRT_video.vi运行之前请确保电脑已联网在Nvidia RTX 3080上运行结果如下图所示 项目源码 如需源码请在一键三连并订阅本专栏后评论区留下邮箱 总结
以上就是今天要给大家分享的内容希望对大家有用。如有笔误还请各位及时指正。后续我们将为大家更新更多关于AI模型在LabVIEW的部署范例欢迎大家关注博主。我是virobotics仪酷智能我们下篇文章见~
如您想要探讨更多关于LabVIEW与人工智能技术欢迎加入我们的技术交流群705637299。进群请备注CSDN 如果文章对你有帮助欢迎✌关注、点赞、✌收藏、订阅专栏 推荐阅读
【YOLOv5】LabVIEWTensorRT的yolov5部署实战含源码 【YOLOv8】实战一手把手教你使用YOLOv8实现实时目标检测 【YOLOv8】实战二YOLOv8 OpenVINO2022版 windows部署实战 【YOLOv8】实战三基于LabVIEW TensorRT部署YOLOv8 技术交流 · 一起学习 · 咨询分享请联系