仪酷LabVIEW OD实战(4)——Object Detection+OpenVINO工具包快速实现yolo目标检测

news/2024/7/10 3:04:05 标签: labview, 目标检测, openvino, 人工智能, YOLO

‍‍🏡博客主页: virobotics(仪酷智能):LabVIEW深度学习、人工智能博主
🎄所属专栏:『仪酷LabVIEW目标检测工具包实战』
📑上期文章:『仪酷LabVIEW OD实战(3)——Object Detection+onnx工具包快速实现yolo目标检测
🍻本文由virobotics(仪酷智能)原创首发

🥳欢迎大家关注✌点赞👍收藏⭐留言📝订阅专栏

文章目录

  • 一、前言
  • 二、环境搭建
    • 2.1 部署本项目时所用环境
    • 2.2 LabVIEW工具包下载及安装
  • 三、项目实战
    • 3.1 快速打开范例
    • 3.2 加载yolo模型实现推理
      • 3.2.1 实时检测推理
      • 3.2.2 实现图片集推理检测
  • 四、工具包获取方式
  • 总结
  • 系列文章链接:

一、前言

Hello,大家好,我是virobotics(仪酷智能),一个深耕于LabVIEW和人工智能领域的开发工程师。

上一篇文章给大家介绍了Object Detection+ONNX工具包快速实现yolo目标检测,今天我们给大家详细介绍一下Object Detection+OpenVINO工具包快速实现yolo目标检测


二、环境搭建

2.1 部署本项目时所用环境

  • 操作系统:Windows系统64位

  • LabVIEW:2018及以上 64位版本

  • VIPM :2021及以上版本

  • AI视觉工具包(techforce_lib_opencv_cpu):1.0.1.17及以上版本

  • OpenVINO工具包(virobotics_lib_openvino)1.0.0.29及以上版本

  • 仪酷Object Detection工具包(virobotics_lib_object_detection):1.0.0.5及以上版本

2.2 LabVIEW工具包下载及安装

  • AI视觉工具包下载与安装参考:
    https://blog.csdn.net/virobotics/article/details/123656523
  • onnx工具包下载与安装参考:
    https://blog.csdn.net/virobotics/article/details/130226410
  • 仪酷Object Detection工具包下载与安装参考:
    https://blog.csdn.net/virobotics/article/details/132529219

三、项目实战

3.1 快速打开范例

  1. 双击打开LabVIEW,在“Help”选项下找到“Find Examples…”单击打开。
    在这里插入图片描述

  2. 打开范例查找器,选择Directory Structure–VIRobotics AI Vision–Object Detection即可获取所有的范例。不同模型的范例,放到了不同文件夹下。
    在这里插入图片描述

  3. YOLOv5相关范例为例,双击“yolov5”范例文件夹,双击想要运行的vi(若您电脑当前无法使用相机,建议加载名字含有“imgs”的vi范例)。
    在这里插入图片描述

(注意:范例VI名字中带有onnx表示该范例使用ONNX工具包实现推理;范例VI名字中带有openvino表示该范例使用OpenVINO工具包实现推理;范例VI名字中带有trt表示该范例使用TensorRT工具包实现推理;您可根据您目前已经安装的工具包来打开对应范例。范例VI中带有nivision表示使用NI VISION方式进行图像采集并实现推理,如您预计使用官方NI VISION来采集图像,则可使用此范例。不带有nivision则表示使用仪酷工具包进行图像采集或图像读取来实现推理。)

  1. 若您电脑没有安装NI VISION工具包,则在打开范例过程中会出现如下图所示弹窗,一直点击“Ignore Item”即可,或者直接点击Ignore All。
    在这里插入图片描述

3.2 加载yolo模型实现推理

范例VI名字中带有openvino表示该范例使用OpenVINO工具包实现推理

3.2.1 实时检测推理

  1. 以yolov8为例(其他范例相似),快速打开范例,双击yolov8文件夹,双击yolov8_openvino.vi,会直接打开前面板(Front Panel),可以选择切换加速方式(如果您的电脑有intel的GPU,则可以在运行范例前device_name控件选择GPU,实现更快速的推理。)点击运行,程序会自动加载默认yolov8模型及分类文件,开启摄像头实现目标检测
    在这里插入图片描述
  2. 可选择使用CPU加速和使用GPU加速,实时物体识别画面,若需要停止本次检测,点击“STOP”按钮控件即可。
  3. 如果想要加载自己训练好的模型,则可按照如下步骤进行设置
    ① 更换device_name控件中的值以更换加速方式(如果您的电脑有intel的GPU,则可以在运行范例前device_name控件选择GPU,实现更快速的推理。);
    ② 加载自己已经训练好的模型model_file(默认为yolov8s.onnx);
    ③ 加载模型对应的类别文件class_names_file(默认加载官方模型类别文件);
    ④ 全部设置完毕,点击运行,即可实现实时检测。
    ⑤ 需要停止本次检测,点击“STOP”按钮控件即可

程序框图如下图所示:
在这里插入图片描述

3.2.2 实现图片集推理检测

  1. 以yolov8为例(其他范例相似),快速打开范例yolov5_onnx_imgs.vi,界面如下,依次完成:
    ① 更换device_name控件中的值以更换加速方式(如果您的电脑有intel的GPU,则可以在运行范例前device_name控件选择GPU,实现更快速的推理。);
    ② 点击运行,启动程序,将会加载默认图片集;
    ③ 单击界面右侧imgs控件中需要进行检测的图片,即可实现图片检测;
    ④ 如下图所示为检测结果,需要停止本次检测,点击“STOP”按钮控件即可。
    在这里插入图片描述
  2. 如果想要加载自己训练好的模型,则可按照如下步骤进行设置
    ① 更换device_name控件中的值以更换加速方式(如果您的电脑有intel的GPU,则可以在运行范例前device_name控件选择GPU,实现更快速的推理。);
    ② 加载自己已经训练好的模型model_file(默认为yolov8s.onnx);
    ③ 加载模型对应的类别文件class_names_file(默认加载官方模型类别文件);
    ④ 全部设置完毕,点击运行,启动程序;
    ⑤ 选择并加载需要识别检测的图片数据集;
    ⑥ 单击界面右侧imgs控件中需要进行检测的图片,即可实现图片检测;
    ⑦ 需要停止本次检测,点击“STOP”按钮控件即可。

💡一些小技巧

  • 我们可以通过设置置信度阈值confThreashold(默认为0.3)和NMS阈值nms_threshold(默认为0.5)来控制检测结果,较高的置信度阈值和较低的NMS阈值可以提高结果的准确性,但可能会导致漏检和冗余检测。较低的置信度阈值和较高的NMS阈值可以增加检测结果,但可能会引入更多的误检和重复检测。因此,可以需要根据实际场景和性能要求调整这些阈值,即如下图所示中的Detect_1_Batch.vi中可进行参数设置;

  • 可以设置Detect_1_Batch.vi中的fontscale,即字体缩放因子,用于调整文本或字体的大小比例,该参数是一个浮点数值,表示相对于原始字体大小的缩放比例。具体而言,当fontscale的值大于1时,文本将变大;当fontscale的值小于1时,文本将变小。默认为0.5;

  • 如果想要获取检测结果,可以在函数Detect_1_Batch.vi输出results中获取相对应结果;

在这里插入图片描述


四、工具包获取方式

如需该插件工具包,可查看:https://blog.csdn.net/virobotics/article/details/132529219


总结

以上就是今天要给大家分享的内容,希望对大家有用。如有笔误,还请各位及时指正。下一篇我们将会给大家介绍Object Detection+TensorRT工具包快速实现yolo目标检测,欢迎大家关注博主。我是virobotics(仪酷智能),我们下篇文章见~

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

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

系列文章链接:

仪酷LabVIEW OD实战(1)——目标检测Object Detection工具包的安装
仪酷LabVIEW OD实战(2)——Object Detection VI函数详细介绍
仪酷LabVIEW OD实战(3)——Object Detection+onnx工具包快速实现yolo目标检测

推荐阅读

LabVIEW图形化的AI视觉开发平台(非NI Vision),大幅降低人工智能开发门槛
LabVIEW图形化的AI视觉开发平台(非NI Vision)VI简介
LabVIEW AI视觉工具包OpenCV Mat基本用法和属性
手把手教你使用LabVIEW人工智能视觉工具包快速实现图像读取与采集

👇技术交流 · 一起学习 · 咨询分享,请联系👇


http://www.niftyadmin.cn/n/5412912.html

相关文章

IO接口 2月5日学习笔记

1.fgetc 用于从文件中读取一个字符,fgetc 函数每次调用将会返回当前文件指针所指向的字符,并将文件指针指向下一个字符。 int fgetc(FILE *stream); 功能: 从流中读取下一个字符 参数: stream:文件流指针 返回值: …

销冠MPV增配不增价,2024款腾势D9正式上市

3月6日,2024款腾势D9正式上市,官方指导价33.98万元起。销冠MPV增配不增价,并推出2000元定金抵扣车辆尾款10000元等上市权益。针对老用户也推出了30000元置换补贴等感恩回馈。 作为腾势汽车破局豪华MPV全品类冠军的扛鼎之作,腾势D9…

网络编程套接字(1)—网络编程基础

目录 一、为什么需要网络编程? 二、什么是网络编程 三、网络编程中的基本概念 1、发送端和接收端 2、请求和响应 3、客户端和服务端 四、常见的客户端服务端模型 1、一问一答模型 2、一问多答模型 3、多问一答模型 4、多问多答模型 一、为什么需要网络编程? 为什么…

【C语言】终の指针(前篇)

个人主页点这里~ 指针初阶点这里~ 指针初阶2.0点这里~ 指针进阶点这里~ 终の指针 一、回调函数二、qsort函数1、整形比较2、结构数据比较①结构体②-> 的使用③结构数据比较 一、回调函数 回调函数就是⼀个通过函数指针调用的函数。 把一个函数的指针作为参数传递给另一…

【java 基础】闲话 ClassLoader 和 资源读取

文章目录 ClassLoader再探tomcat的类加载器spring 的类加载器springboot 的类加载器 正确获取ClassLoader获取当前线程的ContextClassLoader加载当前类的ClassLoader不常用的获取 ClassLoader的方法 使用ClassLoader的读取资源ClassLoader 有几个常用的资源加载方法Class 的资源…

图书馆管理系统(2)

接下来实现系统的子菜单,在写一个子模块的时候,其他子模块先屏蔽起来,因为没实现,代码运行就通不过 屏蔽起来写上todo,后面(Ctrl键F)搜索,找todo来实现 先来实现图书管理模块 第一步,先要把图…

hadoop伪集群部署教程

文章目录 前言一、安装准备1. 安装条件2. 安装jdk3. 配置本节点免密登录 二、安装hadoop1. 下载并解压hadoop2. 设置环境变量2.1 设置hadoop安装目录环境变量2.2. 设置hadoop的root用户环境变量 3. 修改配置文件3.1 修改 etc/hadoop/hadoop-env.sh 文件3.2 修改 etc/hadoop/cor…

2024.3.5

1.select实现tcp服务器端 代码&#xff1a; #include<myhead.h>#define SER_IP "192.168.153.128" #define SER_PORT 8080int create_socket() {int sfd socket(AF_INET, SOCK_STREAM, 0);if(sfd -1){perror("socket error");exit(-1);}printf(&…