news 2026/5/9 12:52:32

华为CANN/ops-cv AIPP算子文档

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
华为CANN/ops-cv AIPP算子文档

Aipp

【免费下载链接】ops-cv本项目是CANN提供的图像处理、目标检测相关的算子库,实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-cv

产品支持情况

产品是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品×
Atlas A2 训练系列产品/Atlas A2 推理系列产品×
Atlas 200I/500 A2 推理产品×
Atlas 推理系列产品×
Atlas 训练系列产品×

功能说明

  • 算子功能:

    AIPP(Artificial Intelligence Pre-Processing)人工智能预处理,用于在AI Core上完成数据预处理,包括改变图像尺寸、色域转换(转换图像格式)、减均值/乘系数(改变图像像素),数据预处理之后再进行真正的模型推理。目前支持使能动态AIPP和静态AIPP功能,全量的AIPP功能介绍请参考 《ATC离线模型编译工具》中“高级功能 > AIPP使能”章节。

  • 计算流程:

    1. 根据传入的裁剪参数计算输入和输出的对应关系,对图片进行裁剪。

    2. 根据传入的图片格式和转换参数,对图片进行色域转换,计算公式如下:

      • YUV 转 RGB:

        | R | | matrix_r0c0 matrix_r0c1 matrix_r0c2 | | Y - input_bias_0 | | G | = | matrix_r1c0 matrix_r1c1 matrix_r1c2 | | U - input_bias_1 | >> 8 | B | | matrix_r2c0 matrix_r2c1 matrix_r2c2 | | V - input_bias_2 |
      • RGB 转 YUV:

        | Y | | matrix_r0c0 matrix_r0c1 matrix_r0c2 | | R | | output_bias_0 | | U | = | matrix_r1c0 matrix_r1c1 matrix_r1c2 | | G | >> 8 + | output_bias_1 | | V | | matrix_r2c0 matrix_r2c1 matrix_r2c2 | | B | | output_bias_2 |
    3. 对数据进行归一化,计算公式如下:

      pixel_out_chx(i) = [pixel_in_chx(i) - mean_chn_i - min_chn_i] * var_reci_chn_i

参数说明

参数名输入/输出/属性描述数据类型数据格式
images输入原始图片输入。UINT8NHWC
params输入可选参数,用于动态AIPP接收预设参数。UINT8ND
aipp_config_path可选属性存放配置参数的文件地址,默认值为"./aipp.cfg"。该文件配置方法参见约束说明。STRING-
features输出处理后的图片。UINT8、FLOAT16NCHW、NHWC

约束说明

  • aipp_config_path配置文件说明:支持动态AIPP和静态AIPP配置,其中静态AIPP可配置图片裁剪参数配置(Crop)、色域转换参数配置(CSC)、输出类型转换参数配置(DTC);动态AIPP可配置输入处理标识(related_input_rank)参数和输入图像最大尺寸(max_src_image_size)参数。

  • aipp_config_path文件配置示例如下,具体参数说明参见下表。

    aipp_op { aipp_mode : static src_image_size_w : 608 src_image_size_h : 608 crop : false input_format : YUV420SP_U8 csc_switch : true matrix_r0c0 : 298 matrix_r0c1 : 0 matrix_r0c2 : 409 matrix_r1c0 : 298 matrix_r1c1 : -100 matrix_r1c2 : -208 matrix_r2c0 : 298 matrix_r2c1 : 516 matrix_r2c2 : 0 input_bias_0 : 16 input_bias_1 : 128 input_bias_2 : 128 padding : false left_padding_size : 0 right_padding_size : 0 top_padding_size : 0 bottom_padding_size : 0 padding_value : 0 mean_chn_0: 0 mean_chn_1: 0 mean_chn_2: 0 mean_chn_3: 0 min_chn_0: 0.0 min_chn_1: 0.0 min_chn_2: 0.0 min_chn_3: 0.0 var_reci_chn_0: 1.0 var_reci_chn_1: 1.0 var_reci_chn_2: 1.0 var_reci_chn_3: 1.0 } aipp_op { aipp_mode: dynamic related_input_rank: 0 max_src_image_size: 752640 }
    参数名输入/输出/属性描述数据类型
    全局设置aipp_mode必选属性AIPP算子运行模式,dynamic表示动态AIPP,static表示静态AIPP。ENUM
    静态AIPP参数设置input_format必选属性输入图片类型,目前只支持RGB888_U8、XRGB8888_U8、YUV420SP_U8、YUV400_U8。ENUM
    src_image_size_h可选属性输入图像高度,取值范围:[1,4096];当输入图片类型为YUV420SP_U8时,该值需为偶数。INT32
    src_image_size_w可选属性输入图像宽度,取值范围:[1,4096];当输入图片类型为YUV420SP_U8时,该值需为偶数。INT32
    动态AIPP参数设置related_input_rank可选属性标识对第几个输入进行AIPP处理,例如0表示对第1个输入进行AIPP处理,该值需不小于0。INT32
    max_src_image_size必选属性输入图像最大的size,动态AIPP配置时必填。INT32
    CROP参数设置crop可选属性裁剪使能开关,true表示支持,false表示不支持。BOOL
    load_start_pos_h可选属性抠图起始位置垂直方向坐标,取值范围:[0,4095];当输入图片类型为YUV420SP_U8时,该值需为偶数。INT32
    load_start_pos_w可选属性抠图起始位置水平方向坐标,取值范围:[0,4095];当输入图片类型为YUV420SP_U8时,该值需为偶数。INT32
    crop_size_h可选属性抠图后图像高度,取值范围:[1,4096]。INT32
    crop_size_w可选属性抠图后图像宽度,取值范围:[1,4096]。INT32
    CSC 参数设置csc_switch可选属性色域转换开关,静态AIPP配置,true表示开启色域转换,false表示关闭。BOOL
    rbuv_swap_switch可选属性R通道与B通道交换开关/U通道与V通道交换开关,true表示使能通道交换,false表示不使能。BOOL
    ax_swap_switch可选属性RGBA->ARGB交换开关,true表示使能交换,false表示不使能。BOOL
    matrix_r0c0 matrix_r0c1 matrix_r0c2 matrix_r1c0 matrix_r1c1 matrix_r1c2 matrix_r2c0 matrix_r2c1 matrix_r2c2可选属性3*3 CSC矩阵元素,取值范围:[-32677 ,32676]。INT16
    output_bias_0 output_bias_1 output_bias_2可选属性RGB转YUV时的输出偏移,取值范围:[0, 255]。UINT8
    input_bias_0 input_bias_1 input_bias_2可选属性YUV转RGB时的输入偏移,取值范围:[0, 255]。UINT8
    DTC参数设置mean_chn_0 mean_chn_1 mean_chn_2 mean_chn_3可选属性每个通道的均值,取值范围:[0, 255]。UINT8
    min_chn_0 min_chn_1 min_chn_2 min_chn_3可选属性每个通道的最小值,取值范围:[0, 255]。FLOAT16
    var_reci_chn_0 var_reci_chn_1 var_reci_chn_2 var_reci_chn_3可选属性每个通道方差的倒数,取值范围:[-65504, 65504]。FLOAT16
    padding参数设置padding可选属性AIPP处理图片时padding使能开关,取值范围:true/false。BOOL
    left_padding_size right_padding_size top_padding_size bottom_padding_size可选属性H和W的填充值,静态AIPP配置,取值范围:[0, 32]。INT32
    padding_value可选属性上下左右方向上padding的像素取值,静态AIPP配置。取值范围:[0, 255]/[-65504, 65504]。UINT8/FLOAT16

调用说明

调用方式样例代码说明
图模式test_geir_aipp通过算子IR构图方式调用Aipp算子。

【免费下载链接】ops-cv本项目是CANN提供的图像处理、目标检测相关的算子库,实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-cv

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 12:51:33

CANN/runtime简单Label示例

0_simple_label 【免费下载链接】runtime 本项目提供CANN运行时组件和维测功能组件。 项目地址: https://gitcode.com/cann/runtime 概述 本示例演示 CANN Runtime 的 Label 创建与按索引切换能力,适合作为基于模型运行实例的设备端流程控制最小示例。 产品…

作者头像 李华
网站建设 2026/5/9 12:51:31

CANN SANA-Video优化实践

NPU SANA-Video模型推理优化实践 【免费下载链接】cann-recipes-infer 本项目针对LLM与多模态模型推理业务中的典型模型、加速算法,提供基于CANN平台的优化样例 项目地址: https://gitcode.com/cann/cann-recipes-infer 本文档主要介绍SANA-Video模型基于NPU…

作者头像 李华
网站建设 2026/5/9 12:48:15

融合模糊规则与多任务学习的艺术图像分类与可解释性研究

1. 项目概述:当艺术遇见算法,我们如何“看懂”一幅画? 在艺术的世界里,评判一幅作品往往依赖策展人、评论家或资深藏家的“慧眼”。这种基于深厚学识和感性经验的判断,长久以来被认为是机器难以企及的领域。然而&#…

作者头像 李华
网站建设 2026/5/9 12:46:02

CANN运行时溢出检测示例

0_overflow_detection 【免费下载链接】runtime 本项目提供CANN运行时组件和维测功能组件。 项目地址: https://gitcode.com/cann/runtime 概述 本示例演示流级溢出检测开关、状态查询和重置流程。 功能说明 查询当前 Device 的浮点溢出模式,并切换为 ACL…

作者头像 李华