检测器选型实验里最危险的时刻,不是模型表现差,而是"模型表现好得可疑"。一次车辆计数业务选型:四个 YOLO 系列模型、七个场景切片、两轮评测——第一轮的"最优"结论在第二轮被推翻,根因不是模型,是推理框架版本。这篇完整复盘这次翻车与纠正,教训对任何做模型选型的人都适用。
实验设计与切片原则
选型不能只看整体 mAP。按业务场景切了七个切片:白天、雾天、夜间、斜视角、侧视、俯仰视角,外加全量汇总。切片的意义在于暴露整体指标掩盖的短板——整体 mAP 相近的模型,夜间表现可能差出五倍。
指标选择跟着业务走:计数类业务的命门是 Recall(漏计率的上界是检测召回),而不是平均精度。验收线是"漏计率 ≤10%"时,选型排序就该按 Recall 权重来,这个权重不随个人偏好转移。
翻车现场:最优结论被一次重跑推翻
第一轮里 yolov10m 在多个切片领先 2-3 倍,几乎锁定主线。换推理框架版本复跑后,v10m 的数字大幅漂移(day 切片 0.254→0.083),而 v8m/v11m 几乎逐位不变。结论:第一轮 v10m 的领先来自旧版端到端解码行为 + 小样本切片的排序噪声,不是模型真实优势。
同时,yolo26m 在第一轮"灾难级"的表现(输出框数量异常)也被证实是框架版本 bug——升级后它直接统治榜单,7 个切片 6 个第一,且精度领先没有付速度税(18.9ms 与最快者持平)。
复盘提炼的四条铁律
- 先怀疑工具链,再怀疑模型。 "某个模型烂得离谱"时,第一反应该是它有没有被正确加载和解码。输出框数量异常就是典型的解码 bug 症状。
- 小切片排名的含金量很低。 17 张图 90 个框的切片,AP 排名被个位数 TP 的置信度排序左右——结论必须以大切片为准,小切片只当线索。
- 跨版本复跑是廉价保险。 一次重跑推翻一个"最优",成本半小时;按错误结论做微调和导出,浪费的是几周。
- 版本号写进实验报告。 NMS-free(端到端)模型对推理框架版本敏感,跨版本结论必须锁定版本复验。
数据侧的隐藏问题
切片分析还暴露了数据本身的问题:truck/bus 类别 GT 太少,任何模型都检不出(TP 接近 0)——这是类别不平衡问题,换模型救不了,解法是合并类别或补标注。day 切片四模型全部"名义失败"(90 个 GT 只有 1 个 TP),说明标注或切片定义有问题,per-image 诊断是下一步。模型选型实验经常顺带查出数据质量债,这部分发现的价值不亚于选型结论本身。
零样本置信度同样反直觉:预训练模型在本域数据上置信度普遍偏低,默认 conf=0.25 会漏掉约九成目标,工作点要按 maxF1 重新标定(本例落在 0.011-0.052)。
最终收敛与两道上线闸门
选型收敛为候选对:v8m 扛生态与导出链稳定性的底线,yolo26m 冲精度上限。v10m 降级为对照,v11m 的 8% 速度优势换不来夜间崩溃,降为观察项。
上线前两道闸门:ONNX/TensorRT 导出与 INT8 校准验证(部署链一致性);与下游跟踪计数的联调(yolo26m 略低的 precision 意味着更多低置信误检,需要跟踪侧消化)。选型报告的终点不是"选出谁",而是"谁在什么条件下、以什么验证状态入选"——把边界写清楚,后来者才能复用这份结论。

评论0