【YOLOv5】LabVIEW+OpenVINO让你的YOLOv5在CPU上飞起来

部署运行你感兴趣的模型镜像


前言

上一篇博客给大家介绍了使用opencv加载YOLOv5的onnx模型,但我们发现使用CPU进行推理检测确实有些慢,那难道在CPU上就不能愉快地进行物体识别了吗?当然可以啦,这不LabVIEW和OpenVINO就来了嘛!今天就和大家一起看一下如何在CPU上也能感受丝滑的实时物体识别。

一、OpenVINO是什么

OpenVINO是英特尔针对自家硬件平台开发的一套深度学习工具库,用于快速部署应用和解决方案,包含推断库,模型优化等等一系列与深度学习模型部署相关的功能。
在这里插入图片描述

特点:
1、在边缘启用基于CNN的深度学习推理
2、支持通过英特尔®Movidius™VPU在英特尔®CPU,英特尔®集成显卡,英特尔®神经计算棒2和英特尔®视觉加速器设计之间进行异构执行
3、通过易于使用的计算机视觉功能库和预先优化的内核加快上市时间
4、包括对计算机视觉标准(包括OpenCV *和OpenCL™)的优化调用
5、通俗易懂点说想要在intel-cpu或者嵌入式上部署深度学习模型,可以考虑考虑openvino

二、LabVIEW视觉工具包下载与配置

1、视觉工具包的下载安装

可在如下链接中下载OpenVINO版工具包:基于LabVIEW可使用opencv DNN模块调用的深度学习工具包

安装方式可参考:LabVIEW AI视觉工具包(非NI Vision)下载与安装教程中CPU用户的安装。

2、OpenVINO toolkit下载安装

下载地址:英特尔® Distribution of OpenVINO™ 工具套件
1)点击Dev Tools

在这里插入图片描述
2)选择版本,选择如下版本,并DownLoad:

在这里插入图片描述
3)下载后,运行安装即可!
在这里插入图片描述
4)可以选择安装路径,具体安装可以参考官方文档:https://docs.openvino.ai/cn/latest/openvino_docs_install_guides_installing_openvino_windows.html

三、模型获取

openvino工作流程,和其他的部署工具都差不多,训练好模型,解析成openvino专用的.xml和.bin,随后传入Inference Engine中进行推理。这里和上一篇博客一样可以使用export.py导出openvino模型:python export.py --weights yolov5s.pt --include openvino
当然这里已经为大家转换好了模型,大家可以直接下载,下载链接:YOLOv5 OpenVINO IR模型
在这里插入图片描述

四、LabVIEW+OpenVINO调用Yolov5进行实时物体识别

1、实现过程

  • dnn模块调用IR模型(模型优化器)
  • 设置计算后台与计算目标设备(推理引擎加速)
  • 获取输出端的LayerName
  • 图像预处理
  • 推理
  • 后处理
  • 绘制检测出的对象

2、程序源码

在这里插入图片描述
在这里插入图片描述

3、识别结果

CPU模式下,使用openvino进行推理加速,实时检测推理用时仅95ms/frame,是之前加载速度的三分之一
在这里插入图片描述

注意:
1.必须安装含openvino字眼的labview工具包
2. readNetFromModelOptimizer.vi中IR模型路径不可以包含中文

附加说明:计算机环境

操作系统:Windows10
python:3.6及以上
LabVIEW:2018及以上 64位版本
视觉工具包:techforce_lib_opencv_cpu_openvino2021-1.0.0.61.vip
OpenVINO:2021.4.2

总结

以上就是今天要给大家分享的内容。

如需源码,请在评论区留下您的邮箱。

如您想要探讨更多关于LabVIEW与人工智能技术,欢迎加入我们的技术交流群:705637299。

您可能感兴趣的与本文相关的镜像

Yolo-v5

Yolo-v5

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

<think>好的,我现在需要帮助用户解决在LabVIEW中使用OpenVINO实现YOLOv8模型推理的问题。首先,我得回顾一下用户提供的引用内容,看看有没有相关的信息可以参考。引用1、3提到了使用LabVIEW OpenVINO工具包部署YOLOv8,特别是引用3中提到了创建推理计算VI和图形化开发环境的优势。引用4是关于YOLOv7的C++/Python部署,可能对理解流程有帮助,但用户需要的是YOLOv8和LabVIEW的结合。 用户的问题明确,需要具体的步骤指导。首先,我应该考虑YOLOv8模型转换到OpenVINO支持的格式,比如IR(Intermediate Representation)。然后,在LabVIEW中配置OpenVINO工具包,加载模型并处理输入输出。根据引用3,可能需要使用LabVIEW的VI来构建推理流程。此外,预处理和后处理步骤也是关键,比如调整图像尺寸、归一化、解析输出张量等。 用户可能对LabVIEW的图形化编程比较熟悉,但可能缺乏对OpenVINO模型转换和接口调用的经验。因此,步骤需要详细,包括如何转换模型、如何加载到LabVIEW、如何处理数据等。同时,示例代码或VI的截图会很有帮助,但用户要求避免使用markdown格式,所以需要用文字描述清楚。 另外,需要检查是否有常见的错误点,比如模型转换时的参数设置,输入输出的名称是否正确,以及内存管理的问题。引用中提到VIRobotics的LabVIEW AI工具包,可能需要引导用户参考相关资源或文档。 最后,生成相关问题时要围绕模型转换、配置、性能优化、实时处理等可能遇到的后续问题。确保回答结构清晰,分步骤说明,并强调关键注意事项,比如版本兼容性、预处理步骤的重要性等。</think>以下是在LabVIEW中通过OpenVINO实现YOLOv8模型推理的详细步骤: ### 一、环境准备 1. 安装LabVIEW OpenVINO工具包(版本需匹配OpenVINO™ 2023.0+) 2. 下载YOLOv8官方预训练模型(.pt格式) 3. 通过OpenVINO模型转换工具执行: ```bash mo --input_model yolov8n.pt --output_dir IR_model --data_type FP16 ``` 生成IR格式模型(.xml和.bin文件)[^3] ### 二、LabVIEW开发流程 #### 1. 模型加载 使用`OpenVINO Model Load.vi`加载.xml文件,需设置: - 模型路径 - 计算设备(CPU/GPU/VPU) - 输入/输出节点名称(可用Netron工具查看) #### 2. 图像预处理 ```plaintext 原始图像 → Resize(640x640) → BGR转RGB → 归一化(/255) → 维度变换(HWC→NCHW) ``` 通过`Image Preprocess.vi`实现,注意YOLOv8输入为$1×3×640×640$张量[^1] #### 3. 推理执行 调用`Inference Session.vi`时: - 输入预处理后的Blob数据 - 设置超时时间(建议≥5000ms) - 选择同步/异步模式 #### 4. 后处理解析 YOLOv8输出格式为$1×84×8400$张量,需: 1. 使用`Reshape Array.vi`转换为8400×84矩阵 2. 通过置信度阈值(如0.5)过滤 3. 执行NMS非极大值抑制(IOU阈值建议0.45) 4. 坐标反变换到原图尺寸 ### 三、关键代码模块 ```plaintext Main.vi ├── 图像采集(Camera/File) ├── 预处理子VI ├── OpenVINO推理引擎 ├── 后处理子VI └── 结果可视化(Bounding Box绘制) ``` ### 四、性能优化建议 1. 模型量化:使用FP16/INT8格式提升推理速度 2. 异步流水线:并行处理采集-推理-后处理阶段 3. 内存复用:通过`In-Place`技术减少数据拷贝 4. 硬件加速:启用GPU时需安装对应驱动
评论 84
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

virobotics

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值