OE版本:OE3.2.0
我使用相同的校准数据集,分别以nv12和rgb进行量化编译;在x86上用python端模拟板端c++进行测试推理时,nv12的推理结果部分会出现置信度低和小部分的漏检情况,想问一下可能是什么原因如何排查。
我使用相同的校准数据集,分别以nv12和rgb进行量化编译;在x86上用python端模拟板端c++进行测试推理时,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呢?