你好我的一个模型,使用相同的校准数据集在x86平台上分别利用bgr和nv12为板端输入格式进行量化部署,nv12格式有的图片会出现无法检测到目标,有的置信度大幅度降低,也有部分正常输出结果,想问是什么原因如何排查(图片均采用校准数据集)。
你好我的一个模型,使用相同的校准数据集在x86平台上分别利用bgr和nv12为板端输入格式进行量化部署,nv12格式有的图片会出现无法检测到目标,有的置信度大幅度降低,也有部分正常输出结果,想问是什么原因如何排查(图片均采用校准数据集)。


可能是NV12和RGB两条链路的预处理结果没有完全对齐,可以选择一张能稳定复现的图片先按RGB链路执行resize、letterbox/padding、BGR/RGB 通道转换等公共预处理,保存此时的rgb_preprocess。再将其转换为NV12,并按实际推理输入的Y plane+UV plane格式组织数据,之后将这个NV12再转回RGB去和rgb_preprocess去进行逐元素对比。还有一点需要注意就是BGR转NV12时不能直接把I420数据当作NV12使用,I420 的U、V是分平面排列,而NV12的UV是交错排列。生成NV12时需确认U、V的交错顺序。顺便一问,你使用的是bc模型在x86推理还是onnx呢?