目标检测(yolo)中锚框的w和h用对数形式表示原因分析
在阅读YOLO_v2的论文时,发现在计算锚框在图像原本位置的过程中,对tw和th做了e的幂指运算(如图)。这说明这两个参数是按照对数形式保存的,可是为什么要这样呢?
理论上讲,对线性的尺度做了一次非线性变换应该是为了解决锚框尺度的问题。正如论文中处理不同大小锚框的偏移时可能会选择开根号或者直接用IoU的计算来代替绝对数值的计算。
YOLO将图像用规定大小和数量的网格划分开来,每个网格检测网格内部自己的目标。而且每个网格可能预不止一个锚框,表示可能存在的目标位置和尺寸。
如果用绝对的像素表示位置,对于不同尺度的目标不绝对公平。小目标与大目标相比,其坐标和尺寸的变化幅度可能很小,这样模型难以准确地预测小尺度目标。
如果用对数形式来表示宽高。即便是小尺度的锚框也拥有了和大尺度锚框差别不大的敏感度。
这样,大家遵循类似的分布,在训练时可能利于提高网络的性能以及回归收敛的速度。