Bounding-box regression详解(边框回归)

目录

1、为什么要做Bounding-box regression?

2、回归/微调的对象是什么(问题的数学表达)?

3、Bounding-box regression(边框回归怎么做)

4.      测试阶段

5、为什么宽高尺度会设计这种形式?


1、公式(1)-(4)的推导    https://blog.csdn.net/u014433413/article/details/78194855

1、为什么要做Bounding-box regression?

      如上图所示,绿色的框为飞机的Ground Truth,红色的框是提取的Region Proposal。那么即便红色的框被分类器识别为飞机,但是由于红色的框定位不准(IoU<0.5),那么这张图相当于没有正确的检测出飞机。如果我们能对红色的框进行微调,使得经过微调后的窗口跟Ground Truth更接近,这样岂不是定位会更准确。确实,Bounding-box regression 就是用来微调这个窗口的。

2、回归/微调的对象是什么(问题的数学表达)?

边框回归的目的:

3、Bounding-box regression(边框回归怎么做)

那么经过何种变换才能从图11中的窗口P变为窗口呢?比较简单的思路就是:平移+尺度放缩

说明:指的是长和宽放大的倍数,是指数形式。

注意:只有当ProposalGround Truth比较接近时(线性问题),我们才能将其作为训练样本训练我们的线性回归模型,否则会导致训练的回归模型不work(当ProposalGT离得较远,就是复杂的非线性问题了,此时用线性回归建模显然不合理)。这个也是G-CNN: an Iterative Grid Based Object Detector多次迭代实现目标准确定位的关键。

      线性回归就是给定输入的特征向量X,学习一组参数W,使得经过线性回归后的值跟真实值Y(Ground Truth)非常接近。即Y≈WX。那么Bounding-box中我们的输入以及输出分别是什么呢?

4.      测试阶段

   根据3我们学习到回归参数,对于测试图像,我们首先经过 CNN 提取特征,预测的变化就是,最后根据以下4个公式对窗口进行回归:

5、为什么宽高尺度会设计这种形式?

       无论是在RPN还是RoIHead中,回归结果都不是bounding box的坐标,而是相对(正样本anchor、RoI)中心点坐标的位移和长宽比。为方便叙述,这里把两者分别称之为offset和scale。

直观地看,直接回归bounding box的坐标更方便,免去了传参(RPN中需要传入anchor,RoIHead中需要传入RoI)与坐标计算。

但是,如果回归的是坐标,那么在计算损失时,大尺寸bbox的坐标误差占的比重可能就会比小尺寸bbox之间的坐标误差大得多,从而使得模型更偏向于学习大bbox,从而导致小目标的检测效果不佳。

那么如何计算offset和scale呢?如下面公式 6 - 7 展示:

offset等于其中心点与anchor中心点坐标差除以anchor边长,scale等于两者的长宽比,并且使用log函数,log函数的作用也是一定程度上抑制了大bbox之间的误差占比盖过小bbox(拉近了大、小bbox之间的误差水平),log形式也保证了宽高比例大于0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值