LabVIEW开放神经网络交互工具包【ONNX】,大幅降低人工智能开发门槛,实现飞速推理

2023-11-01

前言

前面给大家介绍了自己开发的LabVIEW ai视觉工具包,后来发现有一些onnx模型无法使用opencv dnn加载,所以就有了今天的onnxruntime工具包,如果你喜欢pytorch或者习惯onnx模型,那这个开放神经网络交互工具包【ONNX】你应该会喜欢。


一、工具包内容

这个开放神经网络交互工具包主要优势如下:

1. 图形化编程,无需掌握文本编程基础即可完成机器视觉项目;
2. 支持Caffe2, PyTorch, MXNet,ML.NET,TensorRT 和 Microsoft CNTK等多种框架模型的调用并实现推理;
3. 支持Nvidia GPU、Intel等多种加速;
4. 集成了onnxRuntime加速推理引擎,实现CUDA,TensorRT加速;
5. 提供近百个应用程序范例,包括物体分类、物体检测、物体测量、图像分割、 人脸识别、自然场景下OCR等多种实用场景

工具包中的函数选版如下:
在这里插入图片描述

例如,一个摄像头采集并进行yolov5目标检测的范例程序,只需在LabVIEW中编写简单的图形化程序,即可实现。在大量简化编程难度的同时,也保持了c++的高效运行特性。

在这里插入图片描述
通常我们做项目,在部署过程中想要加速,无非就那么几种办法,如果我们的设备是CPU,那么可以用openvion,如果我们希望能够使用GPU,那么就可以尝试TensorRT了。那么为什么要选择TensorRT呢?因为我们目前主要使用的还是Nvidia的计算设备,TensorRT本身就是Nvidia自家的东西,那么在Nvidia端的话肯定要用Nvidia亲儿子了。

不过因为TensorRT的入门门槛略微有些高,直接劝退了想要入坑的玩家。其中一部分原因是官方文档比较杂乱;另一部分原因就是TensorRT比较底层,需要一点点C++和硬件方面的知识,学习难度会更高一点。我们做的开放神经网络交互工具包GPU版本,直接将TensorRT一起集成到了onnx_session中,可以加载任何onnx模型,可以使用CUDA或者TensorRT加速,实现高效的推理

在这里插入图片描述


二、工具包下载链接

LabVIEW开放神经网络交互工具包【onnx】


三、工具包安装步骤

详细安装步骤可查看:LabVIEW开放神经网络交互工具包(ONNX)(非NI Vision)下载与安装教程


四、实现物体识别

无论使用何种框架训练物体检测模型,都可以无缝集成到LabVIEW中,并使用工具包提供的CUDA、tensorRT接口实现加速推理,模型包括但不限于:

  • yolov5
  • torchvision中的图像分类、目标检测模型等

通过算法优化,在LabVIEW中运行模型的速度明显好于python,这对于对性能要求较高的工业现场来说非常友好实用。比如说:工地安全帽检测、物体表面缺陷检测等,如下图进行物体识别,在GPU模式下,无论是运行速度和识别率都可以达到工业级别。。

在这里插入图片描述


五、实现图像分割

图像分割是当今计算机视觉领域的关键问题之一。从宏观上看,图像分割是一项高层次的任务,为实现场景的完整理解铺平了道路。场景理解作为一个核心的计算机视觉问题,其重要性在于越来越多的应用程序通过从图像中推断知识来提供营养。随着深度学习软硬件的加速发展,一些前沿的应用包括自动驾驶汽车、人机交互、医疗影像等,都开始研究并使用图像分割技术。

本次集成的工具包提供了多种图像分割的调用模块,并实现了GPU模式下TensorRT的加速运行。如:
语义分割:Segnet、deeplabv1~deeplabv3、deeplabv3+、u-net等;
实例分割:Mask-RCNN、PANet等
在这里插入图片描述


六、自然场景下的文字识别

工具包提供了文本检测定位(DB_TD500_resnet50、EAST)、文本识别的模块(CRNN),用户可以使用该模块实现自然场景下的中英文文字识别

应用:身份证识别、表单识别、包装盒标签检测等

在这里插入图片描述

七、人体关键点检测

人体骨骼关键点对于描述人体姿态,预测人体行为至关重要。因此人体骨骼关键点检测是诸多计算机视觉任务的基础,例如动作分类,异常行为检测,以及自动驾驶等等。近年来,随着深度学习技术的发展,人体骨骼关键点检测效果不断提升,已经开始广泛应用于计算机视觉的相关领域。
本次集成的工具包提供了关键点检测的调用模块,并实现了GPU模式下TensorRT的加速运行。
在这里插入图片描述

总结

工具包的具体使用可以关注博主的后续博客,如果有问题可以在评论区里讨论,提问前请先点赞支持一下博主哦
更多问题可添加技术交流群进行进一步的探讨。qq群号:705637299

如果文章对你有帮助,欢迎关注、点赞、收藏

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LabVIEW开放神经网络交互工具包【ONNX】,大幅降低人工智能开发门槛,实现飞速推理 的相关文章

随机推荐

  • 【STM32】基本定时器

    基于stm32f103 基于 零死角玩转STM32 F103指南者 进行学习 定时器 分类 基本定时器 通用定时器 高级定时器 功能框图 简单来说就是来自APB或者AHB的时钟 经过PSC 1到65535分频 形成时基 每经过一个时基 TI
  • Matlab R2021b下载安装教程

    1 本人使用百度网盘下载 2 准备工具 内存较大的电脑 会占用20 G 请注意 百度网盘 还需要耐心 这点我待会细说 3 Matlab R2021b下载地址私信我即可 4 开始下载 然后就是漫长的等待过程 因为我在学校宿舍 网速慢 但是总体
  • 机器学习sklearn之贝叶斯网络实战(三)

    贝叶斯网络的结构学习 包括 基于评分的结构学习 基于约束的结构学习以及两者结合的结构学习方法 hybrid structure learning 评分函数主要分为两大类 贝叶斯评分函数 基于信息论的评分函数 贝叶斯评分函数主要包括 K2评分
  • 虚拟机VMware最详细下载与安装教程!

    前面给大家讲过了虚拟机VBox的安装 个人觉得还是没有VMware好用 因为VMware有快照功能 而VBox没有 所以今天就给大家说下VMware的安装 有很多细节方面需要注意 不然很可能安装失败 这里就说下15 5 2的安装 建议不要安
  • WMware WorkStation克隆CentOS7

    WMware WorkStation克隆CentOS7 1 克隆说明 vmware中的完整克隆是基于指定的虚拟机克隆出相同的一份出来 不必再安装 但是我们要保证几个地方不能一样 一个是主机名称 hostname 一个是虚拟网卡设备mac地址
  • webpack 的热更新是如何做到的?原理是什么?

    Hot Module Replacement 简称 HMR 在不需要刷新整个页面的同时更新模块 能够提升开发的效率和体验 热更新时只会局部刷新页面上发生了变化的模块 同时可以保留当前页面的状态 比如复选框的选中状态等 在 webpack 中
  • Java课题笔记~ 日期处理

    2 8 日期处理 2 8 1 日期注入 日期类型不能自动注入到方法的参数中 需要单独做转换处理 使用 DateTimeFormat注解 需要在springmvc xml文件中添加mvc annotation driven 标签 1 在方法的
  • RSA算法

    一 资料阅读 1 RSA算法 将两个大素数相乘十分容易 但那时想要对其乘积进行因式分解却极其困难 因此可以将乘积公开作为加密密钥 2 数字签名 又称公钥数字签名 电子签章 是一种类似写在纸上的普通的物理签名 但是使用了公钥加密领域的技术实现
  • 小程序登录及AppSecret(小程序密钥)

    在授权开发以后 需要提交小程序密钥 有小程序密钥第三方才有能力获取用户的一些信息 提供一些能力 平台分别提供多种方式实现微信登录 1 调用wx login接口 静默获取openid 适用场景 无需使用用户头像 昵称 Unionid信息 2
  • Echarts基本入门(一)

    一 关于Echarts图形的基本设置都是在 option中完成的 具体的配置可以参考官网链接 https www echartsjs com zh tutorial html ECharts 20 E4 B8 AD E7 9A 84 E6
  • 单片机实现 printf 打印输出,和电脑端一样用

    在学C语言时 printf 很好用 到了单片机 ARM时却不能用 那因为库中的 printf 是定向打印到显示屏的 所以我们把 printf 重新定向打印到串口就可以了 串口助手中就可以显示打印的内容 这样我们在单片机 ARM中就可以 像电
  • 1.性能测试项目实战

    怎么开展性能测试 什么时候开始性能测试 1 先确定需不需要做 客户有明确的性能需求 当没有明确需求时 如果市场用户访问量不大 时间允许就做一个基准测试 时间不允许就不做 市场用户量比较大 需要先跟产品 需求人员确定好性能需求 再去做对应的性
  • 申请带@msn.com后缀的邮箱

    很多朋友总是抱怨申请msn邮箱时总是申请到 hotmail com的 为什么申请不到 msn com的呢 我从网上Google了一下 这个地址是申请简体中文MSN邮箱的 https accountservices passport net
  • DC/AC:单相双极性SPWM逆变电路原理设计及MATLAB/Simulink实验仿真

    单相PWM逆变电路的主电路与单相方波逆变电路相同 如图所示 只是其驱动信号不再是占空比为50 的方波 而是采用PWM控制 将宽度变化的窄脉冲作为驱动信号 PWM技术的理论基础为面积等效原理 即形状不同但面积相等的窄脉冲加之于线性惯性环节时
  • html input设置非空,input非空检查解决方案

    当前位置 我的异常网 vbScript input非空检查解决方案 input非空检查解决方案 www myexceptions net 网友分享于 2013 03 10 浏览 62次 input非空检查 code VBScrip悬赏科技
  • 简述熔断、限流、降级

    高并发场景指的是在大量用户同时访问服务时 服务能够保持稳定和高效运行的能力 常用的解决高并发场景下服务不可用问题的技术手段包括熔断 限流和降级 熔断 当服务的错误率超过一定阈值时 熔断器会自动断开服务的调用 防止错误的服务继续对系统造成负载
  • 视频教程-Java从小白到大牛第3篇 【进阶篇】-Java

    Java从小白到大牛第3篇 进阶篇 一个在IT领域摸爬滚打20多年的老程序员 软件架构师 培训讲师 IT作家 熟悉Java Kotlin Python iOS Android 游戏开发 数据库开发与设计 软件架构设计等多种IT技术 参与设计
  • python中的特殊运算符

    运算符 描述 相当于python中的关键字 or 简述 usr bin env python coding UTF 8 Time 2019 9 16 15 10 Email spirit az foxmail com File tst py
  • Unity 回合制战斗系统(中级篇)

    项目文件找出来了 老版本的脚本有报错 我在新版2019 4 21f1c1下解决了报错 战斗场景可以正常跑的 需要的同学点下面地址下载 关注就行啦不用积分 祝大家都早日学成 项目包下载 上一篇文章里实现了较为初级的回合制战斗系统 仅限与1v1
  • LabVIEW开放神经网络交互工具包【ONNX】,大幅降低人工智能开发门槛,实现飞速推理

    文章目录 前言 一 工具包内容 二 工具包下载链接 三 工具包安装步骤 四 实现物体识别 五 实现图像分割 六 自然场景下的文字识别 七 人体关键点检测 总结 前言 前面给大家介绍了自己开发的LabVIEW ai视觉工具包 后来发现有一些o