前言

前面给大家介绍了自己开发的LabVIEW AI视觉工具包,后来发现有一些onnx模型无法使用opencv dnn加载,且速度也偏慢,所以就有了今天的onnx工具包,如果你想要加载更多模型,追求更高的速度,那可以使用LabVIEW onnx工具包实现模型的推理与加速。


一、工具包内容

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

  1. 简单编程:图形化编程,无需掌握文本编程基础即可完成机器视觉项目;

  2. 提供多种框架生成的onnx模型导入模块:包括pytorch、caffe、tensorflow、paddlepaddle等生成的onnx模型;

  3. 多种高效加速推理接口:CUDA、TensorRT对模型进行最大化的加速;

  4. 支持多种硬件加速:支持Nvidia GPU、Intel、TPU、NPU多种硬件加速

  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加速,实现高效的推理


二、工具包下载链接

https://pan.baidu.com/s/1vwCp1LuKEjYGM4goNYMagw?pwd=yiku


三、工具包安装步骤

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


四、实现物体识别

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

  • yolov5、yolov6、yolov7、pp-yoloe、yolox

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

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

  • yolov4实现目标检测:

  • 基于onnx,yolov5使用tensorRT实现推理加速:

  • NI vision采集图像、tensorRT加速实现yolov5目标检测

  • yolov5实现口罩检测:

  • yolov5实现安全帽检测:

  • yolov6实现目标检测:

  • yolox实现目标检测:

  • 百度PP-YOLOE实现目标检测:


五、实现图像分割

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

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


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

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

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

七、人脸检测与识别

八、人体关键点检测

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

总结

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

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

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

  1. LabVIEW图形化的AI视觉开发平台(非NI Vision),大幅降低人工智能开发门槛

    前言 之前每次进行机器学习和模型训练的时候发现想要训练不同模型的时候需要使用不同的框架,有时候费了九牛二虎之力终于写下了几百行代码之后,才发现环境调试不通,运行效率也差强人意,于是自己写了一个基于La ...

  2. 开放神经网络交换(ONNX)工具

    开放神经网络交换(ONNX)工具 开放神经网络交换(ONNX)是一个开放的生态系统,它使人工智能开发人员能够在项目发展过程中选择正确的工具.ONNX为人工智能模型提供了一种开源格式,包括深度学习和传统 ...

  3. LabVIEW之安装队列工具包AMC安装问题解决

    LabVIEW之安装队列工具包AMC安装问题解决--VIPM无法连接LabVIEW 彭会锋 参考资料: http://www.labviewpro.net/forum_post_detail.php? ...

  4. “融而开放、合以创新”T-HIM融合通信技术开发实战

    本文来自腾讯云技术沙龙,本次沙龙主题为T-HIM融合通信技术开发实战 2018年,企业的数字化转型大规模兴起,"数字化经济"时代来临.如何利用数字化技术来支持业务的转型.增长与创新 ...

  5. percona-toolkit工具包的使用教程之开发类工具

    percona-toolkit工具包的使用教程之开发类工具 1.  pt-duplicate-key-checker l  功能介绍: 功能为从mysql表中找出重复的索引和外键,这个工具会将重复的索 ...

  6. 【神经网络与深度学习】【CUDA开发】caffe-windows win32下的编译尝试

    [神经网络与深度学习][CUDA开发]caffe-windows win32下的编译尝试 标签:[神经网络与深度学习] [CUDA开发] 主要是在开发Qt的应用程序时,需要的是有一个使用的库文件也只是 ...

  7. 【神经网络与深度学习】【Matlab开发】caffe-windows使能Matlab2015b接口

    [神经网络与深度学习][Matlab开发]caffe-windows使能Matlab2015b接口 标签:[神经网络与深度学习] [Matlab开发] 主要是想全部来一次,所以使能了Matlab的接口 ...

  8. 【神经网络与深度学习】【python开发】caffe-windows使能python接口使用draw_net.py绘制网络结构图过程

    [神经网络与深度学习][python开发]caffe-windows使能python接口使用draw_net.py绘制网络结构图过程 标签:[神经网络与深度学习] [python开发] 主要是想用py ...

  9. 【神经网络与深度学习】【Qt开发】【VS开发】从caffe-windows-visual studio2013到Qt5.7使用caffemodel进行分类的移植过程

    [神经网络与深度学习][CUDA开发][VS开发]Caffe+VS2013+CUDA7.5+cuDNN配置成功后的第一次训练过程记录<二> 标签:[神经网络与深度学习] [CUDA开发] ...

随机推荐

  1. html table 美化-html如何用css美化表格

    html用css美化表格的方法:首先创建一个HTML示例文件:然后在body中创建table表格:最后通过style标签给表格添加css样式即可. 代码 下面通过示例来看看. /*表格样式*/ tab ...

  2. P4035 [JSOI2008]球形空间产生器 (向量,高斯消元)

    题面 有一个 n n n 维球,给定 n + 1 n+1 n+1 个在球面上的点,求球心坐标. n ≤ 10 n\leq 10 n≤10 . 题解 好久以前的题了,昨天首 A . n n n 太小了! ...

  3. 【Java】学习路径48-线程锁ReentrantLock

    与上一章学习的线程锁synchronized类似,都是为了解决线程安全的问题. 使用方法: 新建一个ReentrantLock对象.(如果使用Thread多线程,则需要声明static静态) 然后在需 ...

  4. 【读书笔记】15《The Bridge of Madison County》

    廊桥遗梦(梅丽尔·斯特里普主演) 罗伯特·詹姆斯·沃勒 99个笔记 The Beginning   美[|diˈklainz]v 辞谢,谢绝(邀请等)( decline的第三人称单数 );(道路.物体 ...

  5. KingbaseES V8R6C5B041 sys_backup.sh单实例备份案例

    ​ 数据库版本: test=# select version(); version ---------------------------------------------------------- ...

  6. KingbaseES 缺少库文件问题

    在工作中大家经常会遇到找不到某个so 的问题,这类可能是so文件缺失,或者是由于LD_LIBRARY_PATH 环境变量设置不当的原因. 1.库文件 我们通常把一些公用函数制作成函数库,供其它程序使用 ...

  7. Python数据科学手册-机器学习: k-means聚类/高斯混合模型

    前面学习的无监督学习模型:降维 另一种无监督学习模型:聚类算法. 聚类算法直接冲数据的内在性质中学习最优的划分结果或者确定离散标签类型. 最简单最容易理解的聚类算法可能是 k-means聚类算法了. ...

  8. Kubernetes 存储系统 Storage 介绍:PV,PVC,SC

    要求:先了解数据docker容器中数据卷的挂载等知识 参考网址: https://www.cnblogs.com/sanduzxcvbnm/p/13176938.html https://www.cn ...

  9. Kubernetes 日志:搭建 EFK 日志系统

    Kubernetes 中比较流行的日志收集解决方案是 Elasticsearch.Fluentd 和 Kibana(EFK)技术栈,也是官方现在比较推荐的一种方案. Elasticsearch 是一个 ...

  10. Traefik 2.0 实现自动化 HTTPS

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzU4MjQ0MTU4Ng==&mid=2247484457&idx=1&sn=35112e98 ...