[LAB 09 · 检测几何:框、匹配、NMS 与 AP](/course/notebooks/90d213b4e1e04c7e889ee6fc042b2358.html) # 1 · 坐标先说清:连续 xyxy,不加一 [独立阅读](/course/notebook-blocks/f4deca9d4809465288f3a8e07e5320ab.html) 并入相关学习路径 固定框匹配、PR/AP、NMS误删相邻对象反例 ## 1 · 坐标先说清:连续 xyxy,不加一 框写成 `(x1, y1, x2, y2)`,表示连续坐标边界。宽为 `max(0, x2-x1)`,高为 `max(0, y2-y1)`;面积计算不使用像素闭区间的 `+1`。本实验允许零面积框,其零并集 IoU 约定为 0;拒绝倒置坐标和非有限数。 两框交集的左上角是两组左上角的逐坐标最大值,右下角是两组右下角的逐坐标最小值;先把交集宽高截断到非负,再相乘。 $ \operatorname{IoU}(A,B)=\frac{|A\cap B|}{|A|+|B|-|A\cap B|}. $ GT1=`(0,0,2,2)`,GT2=`(3,0,5,2)`,面积均为 4。所有预测属于同一类别;分数用于排名,不是本例的真实正确概率。 | 预测 | 分数 | xyxy | 与 GT1 的 IoU | 与 GT2 的 IoU | | --- | --- | --- | --- | --- | | P1 | 0.90 | `(0,0,2,2)` | 1 | 0 | | P2 | 0.80 | `(0.2,0,2.2,2)` | 9/11 ≈ 0.818182 | 0 | | P3 | 0.70 | `(3.4,0,5.4,2)` | 0 | 2/3 ≈ 0.666667 | | P4 | 0.40 | `(7,7,8,8)` | 0 | 0 | 输入 shape 为 GT `(2,4)`、预测 `(4,4)`、分数 `(4,)`。广播计算得到 `(4,2)` IoU 矩阵:**行是预测,列是真值**。手算 P2:交集 `1.8×2=3.6`,并集 `4+4−3.6=4.4`,所以 IoU=`3.6/4.4=9/11`。P3 的交集为 `1.6×2=3.2`,并集为 `4.8`。 下方代码先核对 IoU 矩阵;最后的可视化代码格会显示坐标图。