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、视觉工具包的下载安装

可在如下链接中下载并安装工具包://www.cnblogs.com/virobotics/p/16527821.html

2、OpenVINO toolkit下载安装

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

在这里插入图片描述

2)选择版本,选择如下版本,并DownLoad:

在这里插入图片描述

3)下载后,运行安装即可!

在这里插入图片描述

4)可以选择安装路径,具体安装可以参考官方文档://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,是之前加载速度的三分之一 在这里插入图片描述

注意:readNetFromModelOptimizer.vi中IR模型路径不可以包含中文

附加说明:计算机环境

  • 操作系统:Windows10

  • python:3.6及以上

  • LabVIEW:2018及以上 64位版本

  • 视觉工具包:techforce_lib_opencv_cpu-1.0.0.73.vip

  • OpenVINO:2021.4.2

总结

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

如需源码,请关注微信公众号VIRobotics,回复关键词:yolov5_openvino。

如您想要探讨更多关于LabVIEW与人工智能技术,欢迎加入我们的技术交流群:705637299,进群请备注暗号:LabVIEW机器学习