从一次深夜调试说起
上周三凌晨两点,客户发来紧急邮件:“你们的检测模型把产线上的螺丝刀识别成了手机,产线停了三个小时。”
我盯着这个离谱的错误,第一反应是数据标注出了问题。但检查标注文件后发现,标注质量很高,边界框精准,类别正确。
问题显然出在模型本身——但mAP指标明明达到了92.3%,为什么会出现这种低级错误?
这就是我们今天要聊的核心问题:只看宏观指标,你永远不知道模型在哪些地方悄悄犯错。
mAP、F1-score这些数字会掩盖很多细节,而混淆矩阵就是那把手术刀,能帮你切开模型的表现,看到每一类别的真实情况。
混淆矩阵:不只是个表格
很多人把混淆矩阵当成“统计表格”来看,这太浪费了。在我眼里,它是模型的“体检报告”,每一行每一列都藏着模型的行为模式。
defanalyze_confusion_matrix(cm,class_names):