论文笔记:(IOU-Net) Acquisition of Localization Confidence for Accurate Object Detection

论文地址:https://arxiv.org/abs/1807.11590
代码地址:https://github.com/vacancy/PreciseRoIPooling
本文指出定位置信度与分类置信度不匹配的问题,并把定位问题从回归的方式改为基于优化的方式,从而提升定位精度。

Motivation

当前two-stage的目标检测任务流程为:
1. RPN找出一系列候选框,区分前景背景
2. 对前景框进行分类和回归,得到每个框的分类置信度及回归坐标
3. 通过NMS,以分类置信度排序,过滤掉IoU大于一定阈值的框,得到最终的结果
可以看到,在这个过程中,对于定位置信度没有考虑。这样会出现两个问题:
论文笔记:(IOU-Net) Acquisition of Localization Confidence for Accurate Object Detection
(1)分类置信度高不代表IoU大,如上图(a)所示,以分类置信度当做这个框的置信度做NMS, 会把与ground-truth的IoU大,但是分类分数低的框给抑制
(2)边界框回归算法的可解释性较差,在Cascade RCNN论文中指出:边界框回归不是单调的,如上图(b)所示,如果边界框回归次数过多,结果可能会退化。
论文笔记:(IOU-Net) Acquisition of Localization Confidence for Accurate Object Detection
基于上述观察,本文探索将IoU置信度加入到目标检测的流程中,并以一种新的思路:基于优化的方法来进行边界框修正

Contribution

IoU-Net

论文笔记:(IOU-Net) Acquisition of Localization Confidence for Accurate Object Detection
IoU-Net网络结构如上图所示,与Faster RCNN的主要区别在RoI-Pooling 换成了PrRoI-Pooling, 加入了一个IoU预测器。
1. IoU predictor
本文IoU预测器的输入不是用RPN产生的RoIs,而是对Ground Truth框随机扰动,得到Jittered RoIs,过滤掉与GT的IoU<0.5的框,剩下的作为输入,经过PrRoI Pooling给IoU predictor。
2. IoU-guided NMS
分类置信度与定位置信度不是对齐的。本文提出了IoU-guided NMS,将IoU与分类置信度结合在一起。算法如下图所示。
论文笔记:(IOU-Net) Acquisition of Localization Confidence for Accurate Object Detection
对于一类的所有检测出的bbox B:
  取出定位置信度最大的框bm, 得分为s
    对于与bm的IoU大于阈值的框,将其过滤,若分类置信度高于bm,则更新bm的分类置信度。
不断迭代进行,直到B中所有bbox都处理完毕。
之前的NMS是以bbox的分类置信度排序,然后按IoU过滤。得到分类置信度最高的框
IoU-guided NMS则是以bbox的定位置信度排序,然后按IoU过滤,并更新分类置信度。得到定位置信度最高的框,并且分类置信度变成最高了
3. Bounding box refinement as an optimization procedure
Bounding box的优化问题可以定义为下面这个公式的最优解:

c=argminccrit(trainsform(boxdet,c),boxgt)

比如在Fast RCNN框架中, crit是用smooth-L1距离。
用回归的方式估计c,得到的结果受输入分布影响大,而且如Cascade RCNN指出,回归次数增加,效果会越来越差。本文提出一种基于优化的方式,用IoU-Net来估计c, 算法如下所示:
论文笔记:(IOU-Net) Acquisition of Localization Confidence for Accurate Object Detection
这里的PrPool为本文新提出的一种RoI-pooling方式,在后面介绍。
算法大致流程是:
for i=1 to T(最大迭代次数) :
 -迭代输入 bjbjB(检测出的所有bbox),
  -用PrPool来抽bj特征,然后通过IoU分支,可以得到梯度grad,以及分数PrevScore,
  -通过反向传播,更新bj
  -用新的bj计算出新的分数NewScore
  -如果更新前后分数变化小于阈值,则将bj标记,存入A中,不进入下一次迭代
-直到B中所有bbox被存入A中,或者迭代到一定次数T才终止迭代

简单来说,就是不断将经过PrPool的检测框输入到IoU分支,通过计算与GT的IoU分数来计算梯度,从而更新IoU分支的参数
4. Precise RoI Pooling
论文笔记:(IOU-Net) Acquisition of Localization Confidence for Accurate Object Detection
如图,绿色点为feature map的值,虚线为1个bin的实际位置,
-RoI Pooling: 虚线框的坐标不是整数,RoI Pooling操作会将其量化成整数,得到实线框,然后再作池化。边界框位置由虚线框变成实线框,产生量化误差
-RoI Align: 为了避免RoI Pooling的量化误差,保持浮点数边界不变,取这个bin中四个固定位置,如红点所示,通过双线性插值,由绿点值得到四个红点的值,然后再做池化
论文笔记:(IOU-Net) Acquisition of Localization Confidence for Accurate Object Detection
-PrRoI Pooling: 因为RoI Align对于每个bin取出固定的点来做池化,这样对于bin的大小不具有适应性。PrRoI Pooling则使用二阶积分来做池化
论文笔记:(IOU-Net) Acquisition of Localization Confidence for Accurate Object Detection
不同于RoI Align用双线性插值求4个红点的值,PrRoI Pooling把整个区域看做连续的,对于bin中白色的区域,都可以用双线性插值通过绿色的已知值得到。(x,y)坐标的值f(x,y)计算规则如下
论文笔记:(IOU-Net) Acquisition of Localization Confidence for Accurate Object Detection
论文笔记:(IOU-Net) Acquisition of Localization Confidence for Accurate Object Detection
IC是插值系数,wi,j为点(i,j)的值
PrPooling另一个好处是反向传播时求导连续。
RoI Pooling反向传播:论文笔记:(IOU-Net) Acquisition of Localization Confidence for Accurate Object Detection
这里,xi代表池化前特征图上的像素点;yrj代表池化后的第r个候选区域的第j个点;i*(r,j)代表点yrj像素值的来源(最大池化的时候选出的最大像素值所在点的坐标)。由上式可以看出,只有当池化后某一个点的像素值在池化过程中采用了当前点Xi的像素值(即满足i=i*(r,j)),才在xi处回传梯度。
RoI Align反向传播:论文笔记:(IOU-Net) Acquisition of Localization Confidence for Accurate Object Detection
在ROIAlign中,xi*(r,j)是一个浮点数的坐标位置(前向传播时计算出来的采样点),在池化前的特征图中,每一个与 xi*(r,j) 横纵坐标均小于1的点都应该接受与此对应的点yrj回传的梯度。
PrRoI Pooling:论文笔记:(IOU-Net) Acquisition of Localization Confidence for Accurate Object Detection
由于PrRoI Pooling在前向传播时是连续可导的,其反向传播也是连续可导的。避免了任何量化
5. Joint training
IoU预测器分支可集成到标准的FPN的网络架构中,与分类分支同时训练。
具体细节可参照论文,现在指出一些特殊的地方
IoU预测器的loss选用smooth-L1,训练数据为上文所说的Jittered RoIs。
在inference阶段,对于anchor box先用bbox regression修正,然后用IoU-guided NMS取出置信度最高的100个bbox,最后使用基于优化的算法优化bbox。

Experiment

在COCO数据集中trainval35k共8万张图片上训练,在minival共5000张图片上评估,结果如下
论文笔记:(IOU-Net) Acquisition of Localization Confidence for Accurate Object Detection
因为IoU-NMS保留的是IoU最大的框,所以在高IoU threshold上结果是最优的
论文笔记:(IOU-Net) Acquisition of Localization Confidence for Accurate Object Detection
可以看出基于优化的bbox修正效果也挺显著

论文笔记:(IOU-Net) Acquisition of Localization Confidence for Accurate Object Detection

Conclusion

本文提出一篇新颖的修正目标定位的网络IoU-Net,指出了分类与定位置信度不匹配的问题,提出IoU-NMS来获取位置更精确的bbox,并将定位的回归问题重新定义为优化问题,提升了定位的精度。同时IoU预测器可方便集成到别的网络。

参考

https://www.jiqizhixin.com/articles/2018-08-01-4
http://blog.leanote.com/post/[email protected]/b5f4f526490b