华为云计算 云知识 数字视觉预处理机制介绍

数字视觉预处理机制介绍

当输入数据进入数据引擎时,引擎一旦检查发现数据格式不满足后续AI Core的处理需求,则可开启数字视觉预处理模块进行数据预处理。如图所示的数据流所示,以图片预处理为例:

昇腾AI软件栈DVPP功能架构

1、首先Matrix会将数据从内存搬运到DVPP的缓冲区进行缓存。

2、根据具体数据的格式,预处理引擎通过DVPP提供的编程接口来完成参数配置和数据传输。

3、编程接口启动后,DVPP将配置参数和原始数据传递给驱动程序,由DVPP驱动调用PNG或JPEG解码模块进行初始化和任务下发。

4、DVPP专用硬件中的PNG或JPEG解码模块启动实际操作来完成图片的解码,得到YUV或者RGB格式的数据,满足后续处理的需要。

5、解码完成后,Matrix以同样机制继续调用VPC进一步把图片转化成YUV420SP格式,因为YUV420SP格式数据存储效率高且占用带宽小,所以同等带宽下可以传输更多数据来满足AI Core强大计算吞吐量的需求。同时DVPP也可以完成图像的裁剪与缩放。

预处理机制改变图像尺寸逻辑架构图

上图展示了一种典型改变图像尺寸的裁剪和补零操作,VPC在原图像中取出的待处理图像部分,再将这部分进行补零操作,在卷积神经网络计算过程中保留边缘的特征信息。补零操作需要用到上、下、左、右四个填充尺寸,在补零区域中进行图像边缘扩充,最后得到可以直接计算的补零后图像。

6、经过一系列的预处理后的图像数据有以下两种处理方式:

-图像数据可以根据模型要求经过AIPP进行进一步预处理(可选,若DVPP输出的数据满足图像要求,则可以不经过AIPP的处理),然后将满足要求的图像数据在AI CPU的控制下进入AI Core进行所需的神经网络计算。

-将输出的图像数据统一通过JPEG编码模块进行编码,完成编码后处理,将数据放入DVPP的缓冲器中,最终由Matrix取出数据进行后续操作,同时也会释放DVPP的计算资源并回收缓存。

整个预处理过程中,Matrix完成不同模块的功能调用。DVPP作为定制化的数据补给模块,采用了异构或专用的处理方式来对图像数据进行快速变换,为AI Core提供了充足的数据源,从而满足了神经网络计算中大数据量、大带宽的需求。


上一篇:代码检查CodeCheck免费试用 下一篇:弹性伸缩组3