Lecture 03 学习讲义
正文
工具
按问题查找
Lecture 03四个数怎样指向图像里的同一区域

四个数怎样指向图像里的同一区域

独立阅读

按问题继续

坐标、锚框偏移、训练/评价匹配、NMS/AP和真实检测训练连接

本册是检测单元的公式与结果解释,连接 P27–35 和 LAB 10 的图像到框训练。先按自己的问题读一段,不必在运行模型前读完全部。

读完后选一个预测,指出它被判错是因为重复、定位不足还是背景,并写明阈值和匹配协议。要亲手改坐标/分数,到附属工作台 LAB 09;要理解模型在何处出错,回到 检测学习证据。

“这张图有杯子”可以由一个整图类别分数回答;“两只杯子分别在哪里”需要对象数、类别和位置。分类器即便准确,也没有被要求把分数分配给具体区域。全局平均池化还可能把左右位置汇总掉。检测因此要改变输出参数化、训练目标和评价协议,而不是给分类结果补画一个框。

四个数怎样指向图像里的同一区域

轴对齐框可表示为 (xmin⁡,ymin⁡,xmax⁡,ymax⁡)(x_{\min},y_{\min},x_{\max},y_{\max}),也可表示为中心与宽高 (cx,cy,w,h)(c_x,c_y,w,h)。本册用连续边界、右下边界不额外加 1 的约定,并把坐标除以图像宽高归一化到 [0,1][0,1]。这与“像素编号含两端”的面积算法不同,混用会让小框 IoU 尤其失真。

真值 G=(0.2,0.2,0.6,0.6)G=(0.2,0.2,0.6,0.6),预测 P=(0.3,0.2,0.7,0.6)P=(0.3,0.2,0.7,0.6)。二者面积都为 0.16,交集宽 0.3、高 0.4,面积 0.12;并集为 0.16+0.16−0.12=0.200.16+0.16-0.12=0.20,所以

IoU(P,G)=∣P∩G∣∣P∪G∣=0.6.\mathrm{IoU}(P,G)=\frac{|P\cap G|}{|P\cup G|}=0.6.

IoU 对同时缩放两框不变,却对相对位移敏感。把同样 0.1 的横移施加到宽 0.2 的小框,重叠比例会比宽 0.4 的框更差。检测中“小目标难”有一部分来自几何尺度,不能只归因于类别识别。

框重叠的精确几何与检测排序

左图以相同坐标比例展示 IoU=0.6;右表是一类、两个真值对象的排序算例,第二个预测虽也盖住对象,却因重复而算假阳性。

锚框先给坐标一个起点,匹配再赋予训练身份

锚框是预设位置、尺度和长宽比的参考框,不是模型已经检测出的结果。输出头为每个锚框预测类别或 objectness,以及相对坐标改变量。一种不加额外尺度系数的参数化是

tx=(cxg−cxa)/wa,ty=(cyg−cya)/ha,tw=log⁡(wg/wa),th=log⁡(hg/ha).t_x=(c_x^g-c_x^a)/w^a,\quad t_y=(c_y^g-c_y^a)/h^a,\quad t_w=\log(w^g/w^a),\quad t_h=\log(h^g/h^a).

锚框中心 (0.4,0.4)(0.4,0.4)、宽高均为 0.4,真值中心移到 (0.45,0.4)(0.45,0.4) 且大小不变,目标就是 (0.125,0,0,0)(0.125,0,0,0)。解码时用 cxp=cxa+watxc_x^p=c_x^a+w^at_x、wp=waexp⁡(tw)w^p=w^a\exp(t_w) 等逆运算。具体实现可能乘 10、5 等尺度因子,例如 D2L 的一套约定;编码和解码必须成对,不可只复制一边公式。

训练时要把锚框分配为正例、负例或忽略项。常见方案先保障每个真值有匹配,再按 IoU 阈值增加正例,把远离真值的锚框设为背景,中间区域可忽略。两阈值的具体值是协议选择,不是 IoU 的定义。位置回归只对正例计损失;背景没有“应该回归到哪里”的真值。若一幅图没有对象,仍应通过负例分类损失学会不报框,回归项则安全地归零,避免除以零。

写成 L=Lcls+λLboxL=L_{cls}+\lambda L_{box} 仍不够:两个分母怎样归一化、负例是否筛选、ignore 如何 mask,都决定了优化问题。大量背景锚框可能淹没少数正例;hard-negative mining 和 focal loss 是改变贡献权重的不同办法。学生可以沿 D2L §14.4 锚框分配/偏移 与 §14.7 TinySSD 核对输出张量、分类标签和回归 mask。