什么是AIPP

AIPP(Artificial Intelligence Pre-Processing)人工智能预处理,用于在AI Core上完成数据预处理,包括改变图像尺寸、色域转换(转换图像格式)、减均值/乘系数(改变图像像素),数据预处理之后再进行真正的模型推理。

该模块功能与DVPP相似,都是用于图像数据预处理,但与DVPP相比,由于DVPP各组件基于处理速度和处理占有量的考虑,对输入、输出有特殊的限制,如对输出图片的宽高有对齐要求,且其输出格式通常为YUV420SP等格式。这样的设定虽在视频分析的场景下有非常广阔的输入,但深度学习模型的输入通常为RGB或BRG,且输入图片尺寸各异,因此ATC工具流程中提供了AIPP功能模块。

与DVPP不同的是,AIPP主要用于在AI Core上完成数据预处理,通过AIPP提供的色域转换功能,输出满足要求的图片格式;通过改变图像尺寸中的补边(Padding)功能,输出满足长宽对齐的图片等,AIPP的出现是对DVPP能力的有效补充。

AIPP根据配置方式不同 ,分为静态AIPP和动态AIPP;如果要将原始图片输出为满足推理要求的图片格式,则需要使用色域转换功能;如果要输出固定大小的图片,则需要使用AIPP提供的Crop(抠图)、Padding(补边)功能。

静态AIPP和动态AIPP

在使能AIPP功能时,您只能选择静态AIPP或动态AIPP方式来处理图片,不能同时配置静态AIPP和动态AIPP两种方式,使能AIPP时可以通过aipp_mode参数控制。具体配置示例请参见AIPP配置示例,关于参数解释请参见配置文件模板

AIPP支持的图像输入格式包括:YUV420SP_U8、RGB888_U8、XRGB8888_U8、YUV400_U8。

色域转换

色域转换,用于将输入的图片格式,转换为模型需要的图片格式,在使能AIPP功能时,通过csc_switch参数控制色域转换功能是否开启,参数解释请参见配置文件模板

一旦确认了AIPP处理前与AIPP处理后的图片格式,即可确定色域转换其他相关的参数值,本手册提供相关模板可以供用户使用,无需再次修改,配置示例请参见色域转换配置说明

改变图像尺寸

AIPP功能中的改变图像尺寸操作由Crop(抠图)、Padding(补边)完成,分别对应配置模板中的crop、padding参数。参数解释请参见配置文件模板

关于该功能的详细说明以及AIPP参数配置示例请参见Crop/Padding配置说明