更新时间:2021-10-26 GMT+08:00
分享

配置AIPP

AIPP是Ascend 310提供的硬件图像预处理功能,包括色域转换,图像归一化(减均值/乘系数)和抠图(指定抠图起始点,抠出神经网络需要大小的图片)等功能。

AIPP区分为静态AIPP和动态AIPP:
  • 静态AIPP:在模型转换时设置参数,模型推理过程采用固定的AIPP预处理(无法修改),静态AIPP的关键字含义和配置文件模板请参考《模型转换指导》中的“配置文件模板”章节。
  • 动态AIPP:在模型转换时,设置AIPP为动态模式,每次模型推理前,根据需求,设置AIPP预处理参数。动态AIPP在根据业务要求改变预处理参数的场合下使用(如不同摄像头采用不同的归一化参数,输入图片格式需要兼容YUV420和RGB等)。动态AIPP的使用方法请参考《Matrix API参考》中的“AIPP配置接口”章节。
  • AIPP的输入格式为“YUV420SP_U8”(默认为“YUV420SP_UV”格式),若格式为“YUV420SP_VU”,请修改参数“rbuv_swap_switch”,否则会影响输出结果。
  • 模型输入为“RGB_U8”“BGR_U8”,对应不同的色域转换矩阵。

DVPP模块输出的图片多为对齐后的YUV420SP类型,不支持输出RGB图片。因此,业务流需要使用AIPP模块转换对齐后YUV420SP类型图片的格式,并抠出模型需要的输入图片。

例如:模型要求输入为300*300的RGB图片,用户调用DVPP接口处理(如Jpeg解码和缩放)后,由于对齐要求,输出的图片为384*304(图片有效区域为300*300,向右向下填充零补齐)的YUV420SP_UV格式图片。

静态AIPP的配置如下所示,文件配置了抠图的起始坐标,抠图的长宽默认为模型输入,图像归一化参数,即均值和方差的倒数(减均值后,乘以该系数)。

aipp_op{
# AIPP为静态模式
aipp_mode: static
# 使能抠图
crop: true
# 输入图片的格式及大小
input_format : YUV420SP_U8
src_image_size_w : 384
src_image_size_h : 304
# 抠图的起始坐标,抠图的宽与高默认为模型输入
load_start_pos_h : 0
load_start_pos_w : 0

# 使能格式转换,该转换矩阵将YUV420SP_UV转换为RGB888
csc_switch : true
matrix_r0c0 : 298
matrix_r0c1 : 516
matrix_r0c2 : 0
matrix_r1c0 : 298
matrix_r1c1 : -100
matrix_r1c2 : -208
matrix_r2c0 : 298
matrix_r2c1 : 0
matrix_r2c2 : 409
input_bias_0 : 16
input_bias_1 : 128
input_bias_2 : 128

#开启数据归一化,配置均值和方差的倒数
mean_chn_0 : 125
mean_chn_1 : 125
mean_chn_2 : 125
var_reci_chn_0 : 0.0039
var_reci_chn_1 : 0.0039
var_reci_chn_2 : 0.0039
}
分享:

    相关文档

    相关产品