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

简介: 图形化编程,无需掌握文本编程基础即可完成机器视觉项目;支持Caffe2, PyTorch, MXNet,ML.NET,TensorRT 和 Microsoft CNTK等多种框架模型的调用并实现推理;支持Nvidia GPU、Intel等多种加速;集成了onnxRuntime加速推理引擎,实现CUDA,TensorRT加速

前言

前面给大家介绍了自己开发的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等多种实用场景**

工具包中的函数选版如下:
image.png

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

image.png

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

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

image.png


二、工具包下载链接

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


三、工具包安装步骤

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


四、实现物体识别

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

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

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

image.png


五、实现图像分割

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

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


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

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

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

image.png

image.png

七、人体关键点检测

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

总结

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

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

相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
目录
相关文章
|
5月前
|
机器学习/深度学习 数据采集 算法
贝叶斯状态空间神经网络:融合概率推理和状态空间实现高精度预测和可解释性
本文将BSSNN扩展至反向推理任务,即预测X∣y,这种设计使得模型不仅能够预测结果,还能够探索特定结果对应的输入特征组合。在二元分类任务中,这种反向推理能力有助于识别导致正负类结果的关键因素,从而显著提升模型的可解释性和决策支持能力。
475 42
贝叶斯状态空间神经网络:融合概率推理和状态空间实现高精度预测和可解释性
|
3月前
|
人工智能 监控 数据可视化
如何破解AI推理延迟难题:构建敏捷多云算力网络
本文探讨了AI企业在突破算力瓶颈后,如何构建高效、稳定的网络架构以支撑AI产品化落地。文章分析了典型AI IT架构的四个层次——流量接入层、调度决策层、推理服务层和训练算力层,并深入解析了AI架构对网络提出的三大核心挑战:跨云互联、逻辑隔离与业务识别、网络可视化与QoS控制。最终提出了一站式网络解决方案,助力AI企业实现多云调度、业务融合承载与精细化流量管理,推动AI服务高效、稳定交付。
|
6月前
|
JSON 中间件 Go
Go 网络编程:HTTP服务与客户端开发
Go 语言的 `net/http` 包功能强大,可快速构建高并发 HTTP 服务。本文从创建简单 HTTP 服务入手,逐步讲解请求与响应对象、URL 参数处理、自定义路由、JSON 接口、静态文件服务、中间件编写及 HTTPS 配置等内容。通过示例代码展示如何使用 `http.HandleFunc`、`http.ServeMux`、`http.Client` 等工具实现常见功能,帮助开发者掌握构建高效 Web 应用的核心技能。
386 61
|
3月前
Vite使用svg-企业级开发(支持本地svg和网络svg渲染)
本教程介绍如何在Vite项目中集成SVG图标插件。首先安装`vite-plugin-svg-icons`,配置插件指向SVG图标目录,并注册全局组件。接着创建SVG图标组件,支持内部图标与外部图片展示。通过简单配置,即可在页面中灵活使用各类SVG图标,提升开发效率。
218 0
|
11月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
583 5
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
|
5月前
|
弹性计算 运维 Kubernetes
看阿里云操作系统控制台如何一招擒拿网络丢包
阿里云操作系统控制台帮忙客户快速定位问题,不仅成功完成业务部署并实现稳定运行,更有效遏制了持续性成本消耗。
|
6月前
|
开发者
鸿蒙仓颉语言开发教程:网络请求和数据解析
本文介绍了在仓颉开发语言中实现网络请求的方法,以购物应用的分类列表为例,详细讲解了从权限配置、发起请求到数据解析的全过程。通过示例代码,帮助开发者快速掌握如何在网络请求中处理数据并展示到页面上,减少开发中的摸索成本。
鸿蒙仓颉语言开发教程:网络请求和数据解析
|
8月前
|
人工智能 供应链 调度
|
6月前
|
监控 安全 网络协议
恶意软件无处逃!国内版“Manus”AiPy开发Windows沙箱工具,进程行为+网络传输层级监控! 头像 豪气的
NImplant.exe 是一款后渗透测试工具,可实现远程管理与持久化控制。其优点包括无文件技术、加密通信和插件扩展,但也存在被检测风险及配置复杂等问题。为深入分析其行为,我们基于 aipy 开发了 Windows 沙箱工具,针对桌面上的 NImplant.exe 进行多维度分析,涵盖进程行为、网络连接(如 TCP 请求、目标 IP/域名)、文件控制等,并生成传输层监控报告与沙箱截图。结果显示,aipy 工具响应迅速,报告清晰易读,满足分析需求。
|
9月前
|
网络协议 物联网
VB6网络通信软件上位机开发,TCP网络通信,读写数据并处理,完整源码下载
本文介绍使用VB6开发网络通信上位机客户端程序,涵盖Winsock控件的引入与使用,包括连接服务端、发送数据(如通过`Winsock1.SendData`方法)及接收数据(利用`Winsock1_DataArrival`事件)。代码实现TCP网络通信,可读写并处理16进制数据,适用于自动化和工业控制领域。提供完整源码下载,适合学习VB6网络程序开发。 下载链接:[完整源码](http://xzios.cn:86/WJGL/DownLoadDetial?Id=20)
366 12

热门文章

最新文章