[R-CNN]边界框回归

R-CNN算法中,使用SVM分类器对候选建议进行分类后,使用对应类别的边界框回归器(bounding-box regression)预测其坐标偏移值,这一操作能够进一步提高检测精度

定义

假定候选建议表示边界框中心坐标,分别表示其宽和高)都有一个对应的标注边界框可经过转换得到近似

$$
\hat{G}{x} = P{w}d_{w}(P) + P_{x} \
\hat{G}{y} = P{h}d_{y}(P) + P_{y} \
\hat{G}{w} = P{w}exp(d_{w}(P)) \
\hat{G}{h} = P{h}exp(d_{h}(P))
$$

所以关键在于如何得到转换参数(其中)。将CNN模型最后池化层输出的特征向量()作为输入函数,进行线性建模:

利用正则化最小二乘法(岭回归,就是均方误差+L2权重衰减)来求解该线性回归问题

$$
w_{\ast}=\argmin (\sum_{i}^{N}(t_{\ast}^{i} - \hat{w}{\ast}^{T} \varnothing{5}(P^{i})^{2})) + \lambda \left | \hat{w}_{\ast} \right |^{2}
$$

其中回归目标通过预先设定的计算得到

边界框回归器训练

  • R-CNN算法中,使用AlexNet作为CNN模型,其第5个池化层输出256*6*6大小特征向量,所以权重大小为

  • 文章设置了候选建议和标注边界框的IoU阈值为>0.6

  • 文章设置了超参数

使用随机梯度下降方法训练权重,其实现参考:R-CNN/py/bbox_regression.py

相关阅读