【MindStudio训练营第一季】基于mxVision的可视化AI应用开发初体验

一、前言

mxVision是MindX SDK软件开发套件的一个核心组件,其致力于简化昇腾 AI 处理器推理业务开发过程,降低使用昇腾AI处理器开发的门槛。主要功能如下:

  • 插件化开发模式,将整个推理流程“插件化”,每个插件提供一种功能,通过组装不同的插件,灵活适配推理业务流程。
  • 提供丰富的插件库,用户可根据业务需求组合 Jpeg 解码、抠图、缩放、模型推理、数据序列化等插件。
  • 基于 Ascend Computing Language(AscendCL),提供常用功能的高级API,如模型推理、编解码、预处理等,简化ACL编程开发。
  • 支持自定义插件开发,用户可快速地将自己的业务逻辑封装成插件,打造自己的应用插件。

这里我们主要体验一下使用mxVision的流程编排功能(Pipeline)实现可视化AI推理应用开发。

我们选择应用案例中的口罩识别项目:

mindxsdk-referenceapps: MindX SDK Reference Apps - Gitee.com

二、编辑Pipeline

使用Pipeline插件化开发模式,将整个推理流程“插件化”,每个插件提供一种功能,通过组装不同的插件,灵活适配推理业务流程。我们在工程中新建一个test.pipeline文件:
【MindStudio训练营第一季】基于mxVision的可视化AI应用开发初体验_第1张图片

在input、output和other栏中,我们可以看到许许多多的插件,它们都有对应的一个功能,我们将使用这些插件来实现业务逻辑,我们可以从左侧插件栏拖出想要的插件到编辑区,并自由地连接它们。

根据项目README文件中的业务逻辑,此项目的推理逻辑如图所示:
【MindStudio训练营第一季】基于mxVision的可视化AI应用开发初体验_第2张图片

1、图像输入

使用appsrc插件输入,参数为默认值。
【MindStudio训练营第一季】基于mxVision的可视化AI应用开发初体验_第3张图片

blocksize:每个buffer读取的大小(以字节为单位),默认值为4096。

2、图像前处理

使用mxpi_imagedecoder插件对图像进行解码,参数为默认值。
【MindStudio训练营第一季】基于mxVision的可视化AI应用开发初体验_第4张图片

deviceId:Ascend设备的芯片编号

status:异步

imageFormat:解码图像的格式

cvProcessor:使用Ascend或者Opencv

outputDataFormat:解码后数据的格式

dataType:解码数据的类型

formatAdaptation:是否进行色域转换

使用mxpi_imageresize插件对图像进行缩放成256*256,参数如图:
【MindStudio训练营第一季】基于mxVision的可视化AI应用开发初体验_第5张图片

重点关注resizeHeight和resizeWidth即可,这里我们都设置成256。

3、模型推理

使用mxpi_tensorinfer插件进行模型推理,参数如图:
【MindStudio训练营第一季】基于mxVision的可视化AI应用开发初体验_第6张图片

设置modelPath模型路径即可,其他参数默认,注意模型需是om格式,可以先使用ATC工具将模型转成om离线模型格式。

4、输出推理

使用mxpi_dataserialize插件输出推理结果,将结果组装成json字符串输出,参数如图。
【MindStudio训练营第一季】基于mxVision的可视化AI应用开发初体验_第7张图片

outputDataKeys:指定需要输出的数据的索引,(通常情况下为元件名称),我们输入上一个插件的名字mxpi_tensorinfer。

5、输出图像

使用appsink插件输出图像,参数为默认值。
【MindStudio训练营第一季】基于mxVision的可视化AI应用开发初体验_第8张图片

6、编排Pipeline

进行最终Pipeline编排,连接各个插件,效果图如下:
【MindStudio训练营第一季】基于mxVision的可视化AI应用开发初体验_第9张图片

具体各插件的功能与使用可以查看官方文档:

插件总体介绍-已有插件介绍-mxVision 用户指南-智能视频分析-3.0.RC3-MindX SDK-文档首页-昇腾社区 (hiascend.com)

三、运行image.py

打开image.py脚本,修改pipeline的路径为刚刚所配置的test:
【MindStudio训练营第一季】基于mxVision的可视化AI应用开发初体验_第10张图片

设置测试的图片的路径:
【MindStudio训练营第一季】基于mxVision的可视化AI应用开发初体验_第11张图片

运行成功!
在这里插入图片描述
【MindStudio训练营第一季】基于mxVision的可视化AI应用开发初体验_第12张图片

四、总结

使用mxVision套件的pipeline功能,我们可以可视化的编辑AI推理应用的逻辑,插件化开发模式,将整个推理流程“插件化”,每个插件提供一种功能,通过组装不同的插件,灵活适配推理业务流程,从而实现可视化推理应用开发,降低了AI开发的门槛。其实,MindX SDK还有其他三个核心组件针对不同的应用场景:制造质检mxManufacture、检索聚类mxIndex和大模型微调套件mxTuningKit。感兴趣的小伙伴值得一试~

你可能感兴趣的:(人工智能,深度学习)