论文阅读 Bounding Box Regression with Uncertainty for Accurate Object Detection

论文地址:https://arxiv.org/abs/1809.08545
代码地址:https://github.com/yihui-he/KL-Loss
单位:旷视研究院
主要创新点:KL损失 + 方差投票(variance voting)

1.背景

在目标检测数据集中存在标注边界模糊的现象,如下图中,ac标注不准确;b物体被遮挡;d本身物体的边界存在歧义。所以本文针对这个问题提出一种KL loss来学习边界框变换和定位方差。结论:该方法在不增加计算量的情况下既提高了定位准确率,又在NMS过程中合并相邻的候选框。
论文阅读:Bounding Box Regression with Uncertainty for Accurate Object Detection

传统的目标检测中的回归框方法的问题:

  1. 没有考虑回归框歧义的情况,如下图a,两个框都不准;
  2. 认为分类得分的候选框越准确,可能与现实不相符,如下图b,长外框准确率比小框低;
    论文阅读:Bounding Box Regression with Uncertainty for Accurate Object Detection

相关工作

目标检测:one-stage: yolov, ssd,two-stage: R-CNN序列

损失函数:
IoU loss(常用);
focal loss:解决正负样本不平衡问题;

NMS:消除重复候选框
变种:soft-NMS

候选框优化:
MR-CNN[11]: 在位置迭代过程中合并候选框;
Relation-network[25]: 学习候选框之间的关系,attention 机制;
IoU-net[27]:IoU,IoU-NMS

本文方法

边界框参数化

如图3所示,本文方法是在两阶段方法的基础上,例如Faster R-CNN、Mask R-CNN;原本的回归框参数是(x,y,w,h)四个参数,即中心点(x,y)、宽度w、高度h,改成回归(x1,y1,x2,y2),即一个思维向量,这样就可以每个维度单独优化。
论文阅读:Bounding Box Regression with Uncertainty for Accurate Object Detection

为了在预测位置的同时给出置信度,网络通过预测候选框的概率分布来代替固定的候选框。概率可以更复杂,例如是多变量高斯分布或高斯混合分布,但该论文为了简单起见假设坐标是相互独立的且使用了单变量高斯分布。
如下公式,其中θ\theta表示要学习的参数;xex_e表示预测的位置,即xe(x1,y1,x2,y2)x_e\in(x1,y1,x2,y2)σ\sigma方差表示位置估计的置信度,即不确定程度,越大置信度越低,它由fc7全连接层输出。
论文阅读:Bounding Box Regression with Uncertainty for Accurate Object Detection
ground-truth bounding box框可以用一个δ\delta接近于0的高斯函数来表示:狄拉克函数
PD(x)=δ(xxg)P_D(x) = \delta (x-x_g)
其中 xgx_g表示ground-truth的位置。

补充:狄拉克δ函数:在除了零以外的点函数值都等于零,而其在整个定义域上的积分等于1

基于KL loss的边框回归

传统方法(Faster R-CNN):损失=位置回归损失 + 分类损失
本 文: 损失=KL损失 + 分类损失
位置定位的目标:找到θ\theta,最小化预测分布Pθ(x)P_\theta (x)和基本 ground truth 分布PD(x)P_D(x)之间的 KL 距离,即:
论文阅读:Bounding Box Regression with Uncertainty for Accurate Object Detection
对于单个样本,可以表示为:
论文阅读:Bounding Box Regression with Uncertainty for Accurate Object Detection
xex_e表示预测的位置。如图4所,当xex_e预测不准时,希望网络能够预测较大的σ2\sigma^2(蓝色线)值,使得LregL_reg值较小。
论文阅读:Bounding Box Regression with Uncertainty for Accurate Object Detection

后面两项和参数$\theta $没有关系;因此有:
论文阅读:Bounding Box Regression with Uncertainty for Accurate Object Detection

当方差=1时,KL 损失就变成标准的欧式距离。公式(6)对xex_eδ\delta求偏导得:
论文阅读:Bounding Box Regression with Uncertainty for Accurate Object Detection
δ\delta在分母,为避免在训练初期其值很小时,产生梯度爆炸现象,网络通过预测α=log(σ2)\alpha =log(\sigma^2)来代替,公式(7)就可以转化为公式(9),如下
论文阅读:Bounding Box Regression with Uncertainty for Accurate Object Detection
又因为xgxe>1|x_g-x_e|>1,我们采用类似Fast R-CNN中的L1损失,最终的损失函数为:
论文阅读:Bounding Box Regression with Uncertainty for Accurate Object Detection

方差投票

在获得预测位置的方差后,可根据所学习到的邻近边界框的方差直观地投票选择候选边界框位置。
论文阅读:Bounding Box Regression with Uncertainty for Accurate Object Detection
本文是在NMS基础上实现的(绿色三行为方差投票):

  1. 选择最大分数的检测框bmb_m
  2. 根据它及其邻近边界框计算它的新位置(绿色三行);
  3. 邻近框中更近的(IoU更大)、确定性更大的(方差更小),对应权重更大;

下图是方差投票的结果,白色文本框表示分类得分,绿色文本框表示预测方差;a中两个框都不准确问题,b中框不准、得分更高问题,cd优化框位置。
论文阅读:Bounding Box Regression with Uncertainty for Accurate Object Detection

实验

Ablation Study

每新增一项改进,都能实现结果的进一步提升,两次明显提升:

  1. KL Loss 明显提升
  2. KL loss + soft-NMS + var voting 明显提升
    论文阅读:Bounding Box Regression with Uncertainty for Accurate Object Detection
    时间:和VGG-16 的Faster R-CNN相比,基本上没差别。
    论文阅读:Bounding Box Regression with Uncertainty for Accurate Object Detection
    方差(σt\sigma_t)对方差投票的影响:
  3. AP75,AP80,AP90受σt\sigma_t影响较大
  4. σt\sigma_t范围0.005-0.05,本文取σt\sigma_t=0.02

论文阅读:Bounding Box Regression with Uncertainty for Accurate Object Detection

目标检测精度

Base line:ResNet-50-FPN Mask R-CNN ;
在coco上的精度:相对baseline大概提升2个百分点;
AP90AP^ 90上的精度提升最明显
论文阅读:Bounding Box Regression with Uncertainty for Accurate Object Detection
Base line:FPN ResNet-50;在coco上的精度比较;相对M,L,反而S提升不是很明显,与预期结果不太一样?
论文阅读:Bounding Box Regression with Uncertainty for Accurate Object Detection

结论

传统方法存在两个问题:

  1. 数据集中的标注不确定性会影响目标检测器的性能;
  2. 分类置信度并不总是与定位置信度强烈相关。

相关文章: