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

‍‍🏡博客主页: virobotics(仪酷智能):LabVIEW深度学习、人工智能博主
🎄所属专栏:『LabVIEW深度学习工具包』『仪酷LabVIEW目标检测工具包实战』
📑上期文章:『仪酷LabVIEW OD实战(2)——Object Detection VI函数详细介绍』
🍻本文由virobotics(仪酷智能)原创首发

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

文章目录

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

一、前言

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

上一篇文章给大家介绍了仪酷Object Detection工具包的VI函数,今天我们给大家详细介绍一下如何使用这些VI配合onnx工具包快速搭建yolo目标检测项目。


二、环境搭建

2.1 部署本项目时所用环境

  • 操作系统:Windows系统

  • LabVIEW:2018及以上 64位版本

  • VIPM :2021及以上版本

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

  • ONNX工具包:virobotics_lib_onnx_cpu-1.13.1.8及以上版本 或virobotics_lib_onnx_cuda_tensorrt-1.13.1.15及以上版本

  • 仪酷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/124998746
  • 仪酷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则表示使用仪酷工具包进行图像采集或图像读取来实现推理。)

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

3.2 加载yolo模型实现推理

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

3.2.1 实时检测推理

  1. 以yolov5为例,快速打开范例,双击yolov5文件夹,双击yolov5_onnx.vi,会直接打开前面板,可以选择切换加速方式(如果您安装的是GPU版的ONNX工具包且电脑有英伟达独立显卡,则可以在运行范例前type控件选择CUDA,实现更快速的推理。)点击运行,程序会自动加载默认yolov5模型及分类文件,开启摄像头实现目标检测。
    在这里插入图片描述
  2. 如下两幅图分别为使用cpu加速和使用gpu加速,实时物体识别画面,若需要停止本次检测,点击“STOP”按钮控件即可。
    CPU加速实现目标检测
    GPU加速实现目标检测
  3. 如果想要加载自己训练好的模型,则可按照如下步骤进行设置
    ①更换加速类型type(如果您安装的是GPU版的ONNX工具包且电脑有英伟达独立显卡,则可以在运行范例前type控件选择CUDA,实现更快速的推理);
    ②加载自己已经训练好的模型model_path(默认为yolov5s.onnx);
    ③加载模型对应的类别文件class_names_path(默认加载官方模型类别文件);
    ④全部设置完毕,点击运行,即可实现实时检测。
    ⑤需要停止本次检测,点击“STOP”按钮控件即可
    在这里插入图片描述
    程序框图如下图所示:
    在这里插入图片描述

3.2.2 实现图片集推理检测

  1. 快速打开范例,如打开yolov5_onnx_imgs.vi,界面如下,依次完成:
    ①更换加速类型type(如果您安装的是GPU版的ONNX工具包且电脑有英伟达独立显卡,则可以在运行范例前type控件选择CUDA,实现更快速的推理);
    ②点击运行,启动程序,将会加载默认图片集;
    ③单击界面右侧imgs控件中需要进行检测的图片,即可实现图片检测;
    在这里插入图片描述
    ④如下图所示为检测结果,需要停止本次检测,点击“STOP”按钮控件即可。

在这里插入图片描述
3. 如果想要加载自己训练好的模型,则可按照如下步骤进行设置
①更换加速类型type(如果您安装的是GPU版的ONNX工具包且电脑有英伟达独立显卡,则可以在运行范例前type控件选择CUDA,实现更快速的推理);
②加载自己已经训练好的模型model_path(默认为yolov5s.onnx);
③加载模型对应的类别文件class_names_path(默认加载官方模型类别文件);
④全部设置完毕,点击运行,启动程序;
在这里插入图片描述

⑤选择需要检测的图片集,单击界面右侧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。

在这里插入图片描述

四、工具包获取方式

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


总结

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

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

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

系列文章链接:

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

推荐阅读

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/159842.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

E047-论坛漏洞分析及利用-针对Wordpress论坛进行信息收集与漏洞扫描的探索

任务实施: E047-论坛漏洞分析及利用-针对Wordpress论坛进行信息收集与漏洞扫描的探索 任务环境说明: 服务器场景:p9_kali-6(用户名:root;密码:toor) 服务器场景操作系统:Kali Li…

MPNN 模型:GNN 传递规则的实现

首先,假如我们定义一个极简的传递规则 A是邻接矩阵,X是特征矩阵, 其物理意义就是 通过矩阵乘法操作,批量把图中的相邻节点汇聚到当前节点。 但是由于A的对角线都是 0.因此自身的节点特征会被过滤掉。 图神经网络的核心是 吸周围…

mysql中的几种排名函数

mysql中的排名函数 mysql里面的排名函数&#xff0c;涉及有以下几个&#xff1a; rank()、dense_rank()、row_number() 1、rank() 函数 RANK() OVER (PARTITION BY <expression>[{,<expression>...}]ORDER BY <expression> [ASC|DESC], [{,<expression…

MySQL有时候命中索引有时候又不命中

索引失效的情况 -----可能 索引主要看where 、group by 、order by 1.组合索引不遵循最佳左前缀法制。最佳左前缀法制&#xff1a;如果索引了多列&#xff0c;要遵循最左前缀法则&#xff0c;指的是查询从索引的最左前列开始并且不跳过索引中的列。如组合索引为A B C 只有ABC,A…

C# RestoreFormer 图像修复

效果 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.Windows.Forms;namespace 图像修复 {pu…

【SpringCloud-10】SCA-nacos

前言&#xff1a; 前面介绍的springcloud&#xff0c;可以看做第一代&#xff0c;称为&#xff1a;SCN&#xff08;spring cloud Netflix&#xff09;; 接下来介绍的是第二代&#xff1a;SCA&#xff08;spring cloud alibaba&#xff09;&#xff1b; SCA主要有以下组件&#…

Java|学习|异常

1.异常 1.1 异常 1.1.1 概述 异常&#xff1a;就是程序出现了不正常的情况。 Error&#xff1a;严重问题&#xff0c;不需要处理。 Exception&#xff1a;称为异常类&#xff0c;它表示程序本身可以处理的问题。 RuntimeException&#xff1a;在编译器不检查&#xff0c;出…

关于Skywalking Agent customize-enhance-trace对应用复杂参数类型取值

对于Skywalking Agent customize-enhance-trace 大家应该不陌生了&#xff0c;主要支持以非入侵的方式按用户自定义的Span跟踪对应的应用方法&#xff0c;并获取数据。 参考https://skywalking.apache.org/docs/skywalking-java/v9.0.0/en/setup/service-agent/java-agent/cust…

论文阅读:Rethinking Range View Representation for LiDAR Segmentation

来源ICCV2023 0、摘要 LiDAR分割对于自动驾驶感知至关重要。最近的趋势有利于基于点或体素的方法&#xff0c;因为它们通常产生比传统的距离视图表示更好的性能。在这项工作中&#xff0c;我们揭示了建立强大的距离视图模型的几个关键因素。我们观察到&#xff0c;“多对一”…

TCP/IP(九)TCP的连接管理(六)TIME_WAIT状态探究

一 TIME_WAIT探究 要明确TIME_WAIT状态在tcp四次挥手的阶段 ① 为什么 TIME_WAIT 等待的时间是 2MSL? 背景&#xff1a; 客户端在收到服务端第三次FIN挥手后,就会进入TIME_WAIT 状态,开启时长为2MSL的定时器1、MSL 是 Maximum Segment Lifetime 报文最大生存时间2、2MSL…

论文阅读之【Is GPT-4 a Good Data Analyst?(GPT-4是否是一位好的数据分析师)】

文章目录 论文阅读之【Is GPT-4 a Good Data Analyst?&#xff08;GPT-4是否是一位好的数据分析师&#xff09;】背景&#xff1a;数据分析师工作范围基于GPT-4的端到端数据分析框架将GPT-4作为数据分析师的框架的流程图 实验分析评估指标表1&#xff1a;GPT-4性能表现表2&…

跨境商城源码有哪些独特的功能和优势

1. 强大的跨境支付功能 跨境商城源码具备强大的跨境支付功能&#xff0c;支持多种支付方式&#xff0c;包括信用卡、支付宝、微信支付等。该功能遵循国际支付标准&#xff0c;能够确保支付过程的安全性和可靠性&#xff0c;为用户提供便捷的跨境购物体验。 2. 多语言和多货币支…

[GAMES101]透视投影变换矩阵中为什么需要改变z值

一、问题提出 在GAMES101-Lecture4 Transformation Matrices 一节中&#xff0c;闫老师介绍了正交投影和透视投影。 在讲透视投影变换矩阵 M p e r s p → o r t h o M_{persp→ortho} Mpersp→ortho​时&#xff0c;同学们对矩阵中的z分量是变化的还是不变的有很多争论。即下…

MySQL多表查询综合练习

1.创建student和score表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) ); 创建score表。SQL代码如下&#xff1a; CREATE TABLE sc…

Postgresql关于EOH的使用注意

注意通常拿到的指针不是EOH头 EOH是一种扩展数据结构&#xff0c;之前有几篇博客讨论过了&#xff0c;最近在改相关代码加深了一些理解。 EOH目前支持ER_methods、EA_methods两套实现&#xff0c;分别是record类型展开和数组类型展开。 在内存中的样子大概是&#xff08;EA为…

Java基础20问(1-5)

1.Java面向对象和面试过程的区别&#xff1f; 面向过程是将一个问题拆解成几个步骤&#xff0c;依次实现每一个步骤&#xff0c;比如实现一个冒泡排序的算法&#xff0c;是为了解决某个非常具体的问题。 而面向对象也是将一个问题拆解成几个步骤&#xff0c;但是先不去实现&a…

scratch身高统计 2023年9月中国电子学会图形化编程 少儿编程 scratch编程等级考试三级真题和答案解析

目录 scratch身高统计 一、题目要求 1、准备工作 2、功能实现 二、案例分析

二维码智慧门牌管理系统:构建未来社区管理新典范

文章目录 前言一、系统概述二、系统优势三、多领域应用四、未来展望 前言 在科技的迅猛发展下&#xff0c;我们的生活正朝着智能化迈进。最近&#xff0c;备受瞩目的“二维码智慧门牌管理系统”为社区管理带来了一场革命&#xff0c;通过建立标准要素之间的关系&#xff0c;重…

207、SpringBoot 整合 RabbitMQ 实现消息的发送 与 接收(监听器)

目录 ★ 发送消息★ 创建队列的两种方式代码演示需求1&#xff1a;发送消息1、ContentUtil 先定义常量2、RabbitMQConfig 创建队列的两种方式之一&#xff1a;配置式&#xff1a;问题&#xff1a; 3、MessageService 编写逻辑PublishController 控制器application.properties 配…

同为科技(TOWE)关于风力发电雷电防护的解决方案

风能作为一种可再生清洁能源&#xff0c;是国家新能源发展战略的重要组成部分。我国风能开发潜力高达2.510GW以上&#xff0c;近年来风力发电机组逐年增加&#xff0c;截止到2022年&#xff0c;全国风电装机容量约3.5亿千瓦&#xff0c;同比增长16.6%。然而&#xff0c;由于风力…