Bounding Box Regression with Uncertainty for Accurate Object Detectiom, 对精准目标检测的含不确定性的边界框回归 转自https://blog.csdn.net/weixin_42662134/article/details/88967206
写在前面
之前我在开源中国,感觉对latex公式的不支持让我在输入公式的时候不舒服,就只能截图,但是影响整体观感。了解到CSDN支持公式,就来了这里。(都是废话,下面正文)
摘要
大尺度的目标检测数据集(如:MS-COCO)会试着将边界框框的非常清晰。但是,我们发现标注边界框的时候仍然有不确定性。本文中,我们提出了一种新的边界框回归损失,来同时学习边界框变换和定位差异。我们的损失在没有额外计算量的前提下,极大程度上提升了各种结构的定位精度。学到的定位偏差可以让我们用NMS来归并相邻的边界框,进一步提升了定位的准确性。在MS-COCO数据集上,我们将VGG-16 Faster R-CNN的AP从23.5%提升到了29.1%。而且,对于ResNet-50-FPN Mask R-CNN,我们的方法分别提高了AP和AP901.8%和6.2%,比其他sota的边界框微调的方法要更加出色。我们的代码和模型放在github.com/yihui-he/KL-Loss。
![图1](https://img-blog.csdnimg.cn/20190402115522578.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjY2MjEzNA==,size_16,color_FFFFFF,t_70#pic_center)
图1: 在目标检测数据集中,ground-truth边界框在一些情况下存在固有的不确定性。边界框回归器会用我们的KL Loss来从不确定的边界框中获得更小的损失。(a)© 标注的不确定性。(b) 遮挡带来的不确定性。(d) 目标自身边界是不确定的。由于树的遮挡,火车的左边界是不清晰的。
引言
大尺度目标检测数据集,如ImageNet、MS-COCO、CrowdHuman,都会尽量把边界框标清晰。
但是我们发现边界框在有些情况下会不可避免的存在不确定性。不确定性会使标注和边界框回归函数的学习变得困难。MS-COCO中一些不精确的标注展示在图1(a)©中。当物体被部分遮挡了,边界将更加难以区分,比如图1(d),来自YouTube-BoundingBoxes。
目标检测是一项多任务的学习问题,由目标定位和目标分类组成。当前最好的目标检测器(如:Faster R-CNN, Cascade R-CNN, Mask R-CNN)都依赖于边界框回归来定位目标。
然而,传统的边界框回归损失(如smooth L1 loss)并没有将边界框的不确定性考虑进去。而且边界框回归当分类分数很高的情况下被假定是准确的,但事实并不总是这样,如图2。
![图2](https://img-blog.csdnimg.cn/20190402120431817.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjY2MjEzNA==,size_16,color_FFFFFF,t_70#pic_center)
图2:VGG-16 Faster R-CNN在MS-COCO数据集上错误的案例。(a) 两个框都是不准的。(b) 分类分数高的边界框反而是错误的。
为了解决这个问题,我们提出了新的边界框回归损失,叫做KL Loss,旨在同时学习边界框回归和定位不确定性。具体来说,为了获得预测框的不确定性,我们首先为边界框预测和ground-truth框建模为高斯分布和狄拉克函数。接着定义了预测分布和真实分布的KL散度。采用KL Loss学习有三个好处:(1) 数据集中的不确定性可以被很好的捕获到,边界框回归器会从不确定边界框中计算出更小的损失;(2) 学习到的方差在后处理阶段非常有用。我们提出了方差投票(var voting),在NMS阶段使用预测方差来加权候选框相邻的位置,最后得到投票出候选框的最终定位。(3) 学到的概率分布是可解释的,因为它反映了边界框预测的不确定度,可以对自动驾驶和机器人上的应用有潜在的帮助。
为了证明KL Loss和var voting的泛化能力,我们在PASCAL VOC2007、MS-COCO上验证了多种CNN目标检测器,包括VGG-CNN-M-1024、VGG-16、ResNet-50-FPN和Mask R-CNN。我们的实验表明了我们方法在目标定位上有更好的准确性。对于MS-COCO数据集上的VGG-16 Faster R-CNN我们将AP从23.6%提高到了29.1%,GPU(GTX 1080Ti)上前向预测时间仅增加了2ms。而且,对于ResNet-50-FPN Mask R-CNN,我们分别提高了AP和AP901.8%和6.2%,超越了目前最先进的边界框精调算法。
相关文献
双阶段检测器
尽管单阶段检测算法十分高效,但是目前最先进的目标检测器都是基于双阶段+提议框的模式。双阶段检测器会生成大量目标提议框。但是在NMS阶段,就算定位是准确的,分类分数较低的提议框还是会被丢弃。我们的var voting基于定位置信度并利用相邻的边界框来获得更好的定位效果。
目标检测损失
为了更好地学习目标检测任务,学界提出不同的损失。UnitBox介绍了一种交并比损失函数来预测边界框。Focal Loss通过改变标准的交叉熵损失来处理样本类别不平衡的问题,也就是对于分类较好的样本会被赋予较低的权重。[39]通过梯度策略针对mAP优化,来直接学习全局优化的目标检测器。[28]介绍了深度估计的不确定性,这个想法被用在了3D目标检测中。[29]根据各个人物的不确定性,提出了在场景理解上给多任务损失加权的思想。借助KL Loss,我们的模型可以自适应的调整训练阶段每个目标边界的方差,使我们能更好的的学到有判别力的特征。
非极大值抑制
NMS数十年来都是计算机视觉领域非常重要的一部分。它被广泛使用在边缘检测、特征点检测、目标检测中。近期,soft NMS和learning NMS被提出用于提高NMS的性能。soft NMS根据和有更高分数的相邻边界框的重叠面积作为一个连续函数来衰减当前框的分数,而不是直接将除最高分框外的其他框直接丢弃。learning NMS通过学习一个新的神经网络,仅通过框和分类分数来处理NMS。
边界框精调(Bounding Box Refinement)
MR-CNN第一个提出在迭代定位阶段融合边界框。Relation network提出学习边界框之间的相关性。最近,IoU-Net提出了学习预测框和gt框之间的IOU的方法。受到learned IoU启发,IoU-NMS应用在检测框中。这使我们能学到预测边界框的四个坐标方差,而不是IoU。只有我们的var voting能够决定当前框的新的定位,基于KL Loss学到的边界框方差,而且我们的方法可以和soft NMS一起使用。
方法
在这一章节中,我们介绍了边界框参数化的内容,然后提出采用定位置信度的用于训练检测网络的KL Loss。最后,我们介绍了一种新的NMS方法来提升定位的准确性,用我们的置信度评估方法。
边界框参数化
基于图3所示的双阶段目标检测器Faster R-CNN或Mask R-CNN,我们认为可以分别回归边界框的各个边界。令 ( x 1 , y 1 , x 2 , y 2 ) ∈ R 4 ( x 1 , y 1 , x 2 , y 2 ) ∈ R 4 ( x 1 , y 1 , x 2 , y 2 ) ∈ R 4 (x1,y1,x2,y2)∈R4(x1,y1,x2,y2)∈R4 (x_1,y_1,x_2,y_2)\in R^4 (x1,y1,x2,y2)∈R4(x1,y1,x2,y2)∈R4(x1,y1,x2,y2)∈R4