边界框回归 Bounding-Box Regression

文章目录

边界框回归(Bounding-Box Regression)


本篇博客实际上参考了CSDN另一篇博客写的 这是链接。但那篇博客的排版和语言表达实在是太烂了,公式错误也很多,以至于我花了很多时间才看明白。我将自己的思考结果记录下来,供大家参考。

一、边界框回归简介

那么边界框回归所要做的就是利用某种映射关系,使得候选目标框(region proposal边界框回归 Bounding-Box Regression的映射目标框无限接近于真实目标框(ground-truth)。将上述原理利用数学符号表示如下:在给定一组候选目标框 ,寻找到一个映射边界框回归 Bounding-Box Regression ,使得边界框回归 Bounding-Box Regression 。其中边界框回归 Bounding-Box Regression表示真实值,边界框回归 Bounding-Box Regression表示预测值。

图1 边界框回归过程

边界框回归过程图像表示如图1所示。在图1红色框代表候选目标框,绿色框代表真实目标框,蓝色框代表边界框回归算法预测目标框。红色圆圈代表选候选目标框的中心点,绿色圆圈代表选真实目标框的中心点,蓝色圆圈代表选边界框回归算法预测目标框的中心点。


二、边界框回归细节

RCNN论文里指出,边界框回归是利用平移变换和尺度变换来实现映射 。平移变换的计算公式如下:
边界框回归 Bounding-Box Regression

尺度变换的计算公式如下:

边界框回归 Bounding-Box Regression
其中 边界框回归 Bounding-Box Regression边界框回归 Bounding-Box Regression代表边界框回归 Bounding-Box Regression),是基于边界框回归 Bounding-Box Regression的四个线性函数。在这里,我们将特征记作边界框回归 Bounding-Box Regression,那么边界框回归 Bounding-Box Regression。因此,我们可以利用最小二乘法或者梯度下降算法进行求解 ,RCNN论文中给出了 的求解表达式:
边界框回归 Bounding-Box Regression
其中:
边界框回归 Bounding-Box Regression
边界框回归 Bounding-Box Regression边界框回归 Bounding-Box Regression是中心点的平移移动,边界框回归 Bounding-Box Regression边界框回归 Bounding-Box Regression是尺度放缩量。

可以看出,上述模型就是一个Ridge回归模型。在RCNN中,边界框回归要设计4个不同的Ridge回归模型分别求解 边界框回归 Bounding-Box Regression

回归模型的输入是什么?是边界框回归 Bounding-Box Regression这个四维张量吗?

真正的输入是这个窗口对应的 CNN 特征,也就是 R-CNN 中的边界框回归 Bounding-Box Regression(特征向量)。训练阶段也会用到Ground Truth的坐标数据,也就是式边界框回归 Bounding-Box Regression提到的边界框回归 Bounding-Box Regression


三、相关问题思考

1. 为什么使用相对坐标差?

在式边界框回归 Bounding-Box Regression中 ,那么为什么要将真实框的中心坐标与候选框的中心坐标的差值分别除以宽高呢?

图2 尺寸不同的图片

接下来的讨论中,我们假设边界框的回归使用绝对坐标。

首先我们假设两张尺寸不同,但内容相同的图像,图像如图2所示。我们假设经过CNN提取的特征分别为边界框回归 Bounding-Box Regression边界框回归 Bounding-Box Regression。同时,我们假设边界框回归 Bounding-Box Regression为第边界框回归 Bounding-Box Regression个真实目标框的边界框回归 Bounding-Box Regression坐标, 边界框回归 Bounding-Box Regression为第边界框回归 Bounding-Box Regression个候选目标框的边界框回归 Bounding-Box Regression 坐标,边界框回归边界框回归 Bounding-Box Regression坐标的映射关系为边界框回归 Bounding-Box Regression。那么我们可以得出:
边界框回归 Bounding-Box Regression
理论上来说,CNN得出的特征边界框回归 Bounding-Box Regression边界框回归 Bounding-Box Regression是相似的,那么线性函数映射的结果也应该是接近的。但显然边界框回归 Bounding-Box Regression。由于尺寸的变化,候选目标框和真实目标框坐标之间的偏移量也随着尺寸而成比例缩放,即这个值不是恒定不变的。但是归一化的比例值可以认为是近似相同的。

关于CNN是否有尺度不变性,这篇论文有说明过Object Detection in 20 Years: A Survey

因此,我们必须对边界框回归 Bounding-Box Regression坐标的偏移量除以候选目标框的宽,边界框回归 Bounding-Box Regression坐标的偏移量除以候选目标框的高。只有这样才能得到候选目标框与真实目标框之间坐标偏移量值的相对值。同时使用相对偏移量的好处可以自由选择输入图像的尺寸,使得模型灵活多变。也就说,对坐标偏移量除以宽高就是在做尺度归一化,即尺寸较大的目标框的坐标偏移量较大,尺寸较小的目标框的坐标偏移量较小。


2. 为什么宽高比要取对数?

类比问题1,我们不禁要问为什么不直接使用宽高的比值作为目标进行学习,非得“多此一举”取对数?

线性函数输出的是一个实数,因为宽和高乘的倍数必须大于0,所以要取指数的形式,反过来就是取对数。


3. 为什么IoU较大时边界框回归可视为线性变换?

‘Rich feature hierarchies for accurate object detection and semantic segmentation’文章中曾经提到,IoU必须大于边界框回归 Bounding-Box Regression时,才可以使用线性回归,否则边界框回归将是一个复杂的非线性问题。


知乎上一篇博客曾经尝试解释过这个问题 这是链接

但我觉得是不合理的,当边界框回归 Bounding-Box Regression边界框回归 Bounding-Box Regression时候,式边界框回归 Bounding-Box Regression的后两项确实可以视为某种线性的变换。但我们要理解到,我们回归的输入量是边界框回归 Bounding-Box Regression窗口对应的 CNN 特征,而不是四维张量边界框回归 Bounding-Box Regression。所以这里分析原边界框的坐标和Ground-truth的边界框坐标是否是线性关系是没有意义的。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2023年9月19日
下一篇 2023年9月19日

相关推荐