Lecture 03 学习讲义
正文
工具
按问题查找
区域、像素与实例检测分数很高,错误究竟在哪里?

整理重复预测时还没有看到真值

解释、算例与证据

P34 · 三个框,并不代表三只杯子

三个重叠预测可能对应一只杯子。NMS 用预测之间的分数与重叠整理重复,评价匹配则使用真值,二者不是同一操作。先看三框算例,再看同一真实教学检测器放宽 NMS 后召回和精度的相反变化。

Lecture 03 课堂图解 P34保留 A;B、C 与它过度重叠教学分数 / IoU 阈值 0.5A 0.90 保留B 0.80 抑制C 0.60 抑制另一只杯子仍然保留拥挤对象也可能互相压制按同类别分数排序,抑制 IoU > 0.5 的重叠预测;分数是教学设定。

红杯上的 A、B、C 框分数为 0.90、0.80、0.60。IoU(A,B)≈0.90、IoU(A,C)≈0.88;阈值0.5时保留A、抑制B和C。蓝杯独立框与A不重叠,继续保留。

  • 保留 A;B、C 与它过度重叠
  • 教学分数 / IoU 阈值 0.5
  • A 0.90 保留
  • B 0.80 抑制
  • C 0.60 抑制
  • 另一只杯子仍然保留
  • 拥挤对象也可能互相压制
  • 按同类别分数排序,抑制 IoU > 0.5 的重叠预测;分数是教学设定。
红杯上的 A、B、C 框分数为 0.90、0.80、0.60。IoU(A,B)≈0.90、IoU(A,C)≈0.88;阈值0.5时保留A、抑制B和C。蓝杯独立框与A不重叠,继续保留。 查看对应图解状态
查看完整图解

课堂讲述

同一个对象可能被多个候选检测到,于是系统交付了多个重叠框。不能把这些框直接解释成多个物体。 常见的处理是先保留高分框,再抑制与它过度重叠的重复预测,这就是非极大值抑制的基本直觉。它不是重新训练表示,而是在整理已经产生的候选结果。 现在指着图里的 C:它也围着红杯,与 A 的 IoU 约为 0.88,所以阈值 0.5 时同样去掉;右边蓝杯的框是另一个对象,不是这里的 C。 如果两个真实对象非常靠近,过强的抑制也可能误删目标。于是检测效果不是只由骨干网络决定,候选、类别分数、位置和后处理都会影响交付。我们不在这里比较所有 NMS 变体,只看清一个系统事实:怎样组织输出,也是方法的一部分。

NMS 不看真值,评价匹配必须看真值

独立阅读

NMS 从预测框中整理重复。按类别与分数排序,保留最高分框 A,再抑制与 A 的 IoU 大于阈值的同类低分框,然后继续。输入只有预测框、分数和类别,不需要人工真值。

回到 P34 同一杯子上的三个框。A、B、C 的教学分数分别为 0.90、0.80、0.60;IoU(A,B)≈0.90,IoU(A,C)≈0.88。按分数先保留 A,在 NMS 阈值为 0.5 时,B 和 C 都与 A 过度重叠,因此都被抑制。蓝杯的另一个框与 A 不重叠,仍然保留。这里比较的是预测框彼此之间的重叠,还没有使用真值。

若把阈值放宽到 0.90,在本例原始坐标下,IoU(A,B)=0.8950778、IoU(A,C)=0.8774870,都没有超过阈值;重复框便可能继续留下。因此判定应使用未四舍五入的 IoU,图中 0.90 只是显示精度。下一步评价才用真值判断它们是在补漏检还是重复命中。

若两只真实杯子互相遮挡,两个正确框也可能高度重叠。将 (0,0,2,2) 与 (.5,0,2.5,2) 当作两只对象的框,交集 3、并集 5,IoU=.6;NMS=.5 就可能删掉较低分的真对象。它以几何重叠近似重复,没有直接知道对象身份。

评价再用保留下来的框与人工对象对应。重复命中同一真值只允许一次计为 TP,其余是 FP;漏掉的对象降低 recall。模型预测、后处理、评价三层分开,就能解释为什么“放宽 NMS 得到更多框”既可能补召回,也可能伤精度。

图示条件与公式约定

分数为教学设定。A=(177,238,390,351)、B=(190,246,390,351)、C=(161,252,410,352),此处框写作 xywh;IoU(A,B)=.8950778368≈.90,IoU(A,C)=.8774869809≈.88。同类 greedy NMS,阈值.5。没有报告模型或论文性能。

这条线索的展开与后续阅读

区域、像素与实例检测分数很高,错误究竟在哪里?

只改变 NMS,检查新增框究竟是什么

已有模型让我们能够固定输入与权重,只检查后处理带来的取舍。

同一检测器改变 NMS,召回为何变好而精度变差

独立阅读

LAB10 已保存一组更接近真实使用的对照:输入与训练后权重保持不变,只把 NMS IoU 阈值从 .35 放宽到 .65。展示/工作点的分数门槛固定 .4。

NMS IoU recall@工作点 precision@工作点 AP50
.35 .98311 .94175 .97303
.65 1.00000 .41926 .95866

放宽后,一些原来被抑制的候选重新出现,补到了最后少数对象;同时大量同一对象的重复框留在输出,所以 precision 大降。AP 的变化比这个固定工作点的 precision 小,因为 AP 汇总整个分数排序,而工作点只看分数至少 .4 的输出。

这组已有本地结果不是本轮新运行。它的价值是把 P34 的两种效应落实到同一模型:预测数量增加本身没有确定好坏,必须看新增的是哪个对象、是否重复,以及部署时怎样使用阈值。选阈值应使用验证集与任务成本;不能反复挑保留集最漂亮的数字再称泛化结果。

沿着图解追问

以下是备课用的模拟师生对话,不是课堂实录。

学生:为什么同一杯子上的 C 也要抑制,而蓝杯的框保留?

教师:C 围着红杯,与 A 的 IoU 约为0.88,超过0.5。蓝杯框是另一个框,与A不重叠,所以这轮保留。若把阈值提高到0.90,要用原始IoU计算,不能拿显示成0.90的近似数作严格大于判断。

沿这个问题继续

沿 CLS07 的公式定位疑问,再选 LAB09 解析练习或 LAB10 完整训练。

按问题回查的讲解与短练习(1)