Lecture 033 · 评价先降序,再限制同一 GT 只用一次
3 · 评价先降序,再限制同一 GT 只用一次
并入相关学习路径
固定框匹配、PR/AP、NMS误删相邻对象反例
3 · 评价先降序,再限制同一 GT 只用一次
本例与 LAB10 统一使用 VOC 风格的贪心对应规则:对每个预测,先在该图像、该类别的全部 GT 中找 IoU 最大者,再检查它是否满足阈值且未被使用。若最大 IoU 的 GT 已被使用,就记为重复 FP,不转而匹配次高 IoU 的未用 GT。评价 IoU 阈值是 ≥,分别使用 0.50 与 0.75;平分时保留输入顺序。两个阈值独立评价,各自从空的已匹配集合开始。这里只借用该匹配思路,不声称复现完整 VOC 评估器。
| 排名/预测 | AP50 结果与理由 | 累计 precision | 累计 recall | AP75 结果 |
|---|---|---|---|---|
| 1 / P1 | TP:首次匹配 GT1 | 1 | 1/2 | TP |
| 2 / P2 | FP:符合几何阈值的 GT1 已被使用 | 1/2 | 1/2 | FP:重复 |
| 3 / P3 | TP:首次匹配 GT2 | 2/3 | 1 | FP:2/3 < 0.75 |
| 4 / P4 | FP:没有满足阈值的 GT | 1/2 | 1 | FP |
P2 不是因为框“不够像”而成为 FP;P3 在 AP75 中也不是因为分数低而失败。两类错误分别来自重复输出和定位精度。代码逐预测保存原因、匹配对象、累计 TP/FP、precision 与 recall,不能只凭最后一个 recall 代替 AP。
**协议不能混用。**另一种规则是“先排除已用 GT,再选剩余 IoU 最大者”,它在重叠对象场景可能给出不同结果。取 GT1=(0,0,2,2)、GT2=(0.5,0,2.5,2),预测 P1、P2 都完全复制 GT1,两预测对 GT 的 IoU 行均为 [1.0, 0.6]。在 IoU 阈值 0.50 下:
| 匹配规则 | P1 | P2 | AP50 | 最终 recall |
|---|---|---|---|---|
| 本册:先选最大 IoU GT,再检查是否已用 | TP→GT1 | 重复 FP,仍以 GT1 为最佳 | 0.5 | 0.5 |
| 对照:先排除已用 GT,再找最佳 | TP→GT1 | TP→GT2,IoU=0.6 | 1.0 | 1.0 |
后者把两个完全相同的预测分配给不同对象。这组可执行反例说明:同为“一对一”,贪心选择顺序仍然属于评价协议,必须与报告的指标一起说明。后面的相邻对象 NMS 反例则为每个 GT 各有一个准确预测,属于另一种情形。