使用AIPP后推理结果错误
收藏回复举报
使用AIPP后推理结果错误
发表于2023-03-13 16:22:05
0 查看

我在Ascend310,CANN版本6.0.0上进行目标检测,使用AIPP进行预处理之后YOLOV5检测结果错误,首先对官方yolov5n.pt转为onnx,再用ATC命令转为om进行检测推理,再尝试AIPP之后发现检测结果错误,而不使用AIPP的检测结果是对的。我仔细看了下文档,看不出到底哪有问题。相关文件已上传到百度网盘,还得请专业人士分析下,多谢。

链接: https://pan.baidu.com/s/13dtd3cG-40DzthrwrE9KYw 提取码: ra98   

其中yolov5n_1.onnx是由yolov5官方训练的6.0版本的yolov5n.pt转换得到的onnx模型,ba1.om是直接转换的模型,ba1_aipp.om是使用aipp转换的模型,insert_op.cfg是aipp的配置文件。

使用直接进行检测的结果。

atc --input_shape="images:1,3,640,640" --input_format=NCHW --output="ba1" --soc_version=Ascend310 --framework=5 --model="yolov5n_1.onnx" --output_type=FP32

%E5%8D%95batch.jpg

使用AIPP之后的检测结果如下图,出现明显错误。对应的ATC命令

atc --input_shape="images:1,3,640,640" --input_format=NCHW --output="ba1_aipp" --soc_version=Ascend310 --framework=5 --model="yolov5n_1.onnx" --output_type=FP32 --insert_op_conf=./insert_op.cfg

op.cfg文件内容如下:

    aipp_mode : static 

    related_input_rank : 0  # 标识对第1个输入进行AIPP处理 

    input_format : RGB888_U8 

    src_image_size_w : 640 

    src_image_size_h : 640 

    crop : false 

    csc_switch : false 

    rbuv_swap_switch : true #RGB 2 BGR 

    mean_chn_0 : 0 

    mean_chn_1 : 0 

    mean_chn_2 : 0 

    var_reci_chn_0 : 0.00393 #每个通道方差倒数,归一化则除以255 

    var_reci_chn_1 : 0.00393 

    var_reci_chn_2 : 0.00393 

}

错误的推理结果如下:

AIPP%E5%8D%95batch.jpg

本帖最后由 匿名用户2023/03/13 17:55:09 编辑

我要发帖子