PyTorch 能检出,INT8 上板就漏检?我做了一个 YOLO 无标签校准集构建器,征集真实项目测试

发布时间:2026/7/24 6:36:47
PyTorch 能检出,INT8 上板就漏检?我做了一个 YOLO 无标签校准集构建器,征集真实项目测试 很多 YOLO 工业缺陷检测、安防监控、车流统计项目,都会遇到一个非常现实的落地问题:服务器上 PyTorch FP32 跑得很漂亮,一上边缘端 INT8 就开始漏检。训练时置信度 0.90+,Demo 框稳如老狗; 导出到 ONNX / TensorRT / RKNN / Hailo / 地平线 NPU 后,突然出现:置信度整体下降;微小瑕疵框消失;边缘目标漏检;同一个目标类别翻转;tracking 轨迹开始断裂;客户现场验收直接卡住。这时候最难受的不是“模型不好”,而是没人说得清楚:到底是训练集问题、导出问题、量化问题,还是校准集选错了?官方和老工程师通常会说一句:"换一批更贴近生产域的 calibration dataset 试试"但真正的问题是:现场几万张无标签图片,到底该选哪些图做 INT8 PTQ 校准?现在很多团队的做法还是随机抽图:从训练集随机抽 100 张从现场视频随机截 500 张扔给导出工具然后祈祷 INT8 不要掉点这本质上是在“抽签”。为了解决这个问题,我做了一个开源工具:NARH-YOLO Align,简称 NYA。它的目标不是重新训练模型,也不是自动标注缺陷,而是把 INT8 量化校准从“随机抽图”变成“残差制导”筛选:自动找出那些让 PyTorch FP32 和 ONNX / INT8 后端表现不一致的现场图片,并把它们打包成更有价值的 calibration set。NYA 的核心原理:自动比对两个模型的预测残差NYA 不需要人工标签。 它不是拿预测结果去和 ground truth 比,而是让两个后端在同一批现场图片上“左右互搏”:PyTorch FP32 reference backend vs.ONNX / INT8 target backend