IoU-Net 笔记

IoU-Net 论文:Acquisition of Localization Confidence for Accurate Object Detection

旷视联合北大发的一篇论文,主要指出了目标检测方法中,非极大值抑制(NMS) 存在的问题。NMS 以分类置信度为基准执行,而分类置信度并不能很好地反映边框定位的准确程度,这导致一些更准确的定位在 NMS 过程中被抑制。IoU-Net 通过预测一个定位置信度(以 IoU 为预测目标),将定位置信度作为 NMS 的指标,以提升边框的准确度。此外,提出了一种基于优化的边框 refine 方法,代替边框回归。


分析

NMS

非极大值抑制算法:

0. 对于一张图像的目标检测,其结果为个边界框,其集合记为;选取 NMS 的评估指标(依照基于 R-CNN 的方法,评估指标为边界框的分类置信度);预设重合度阈值(重合度实际上是 IoU,为了防止和与 GT 的 IoU 混淆,此处写为重合度);NMS结果集合预设为空集。

1. 对于中最大者而言,将所有与它重合度大于的边界框从中移出,这些边界框被永久地舍弃。将从中移出,放入结果集合。

2. 重复步骤 1 直到成为空集。

3. 中的所有边界框为 NMS 的输出。

NMS 几乎是所有目标检测算法不可或缺的一步,它能防止冗余的边界框堆叠在同一个目标上。

存在的问题

1. 用分类置信度做 NMS 的指标缺乏一致性

一般而言,Two-stage 网络结构中,(1)首先由 RPN(或其它类似方法)提出 RoI 建议,这个过程中对 anchor 做一次边框回归,和判断内部有无目标;(2)然后 RoI 中的内容经过 RoI Pooling(或其它类似方法)后,输入一个分类网络做分类和边框回归;(3)对输出结果,以分类置信度为标准,进行 NMS 剔除冗余边界框。作者认为,在这个过程中,缺少一种评估 RoI 的“定位置信度”,它应当和分类置信度地位相似,用于当作 NMS 的标准。

NMS 最初被应用于边界框筛选时,就是用分类置信度作为评估指标的,毕竟这是网络的一个现成输出。但是,根据作者的实验,分类置信度最高的边界框,其 IoU 并不一定是最高的。如下图所示,存在很多反例。

IoU-Net 笔记_第1张图片
分类置信度最高的结果,其边框的 IoU 并不一定最高

统计所有边界框的分类置信度与 IoU 的关系(左下),能够发现它们并没有很好的相关性,尽管它们仍在一定程度上显示出正相关,但在分类置信度低的区域,仍有很多 IoU 较高的边界框,而在分类置信度较高的区域,也有不少边界框的 IoU 只有大概 60%~70%。而作者提出的定位置信度,则与 IoU 呈较好的线性关系(右下),定位置信度的高低能够更好地反映边界框的真实 IoU 大小。评估这两个分布的皮尔森相关系数,可知后者相关性更高。

IoU-Net 笔记_第2张图片
(左)IoU 与分类置信度的相关性  (右)IoU 与定位置信度的相关性

2. 多次迭代的边框回归并不能单调提升边框定位结果

作者还观察到,有些方法做了多次的边框回归。以 Faster R-CNN 为例,这个过程中有两次边框回归,它们的意义很大程度上是重合的,第二次边框回归起到了 refine 的作用;另外也有一些方法——比如 Cascade R-CNN,采用了更多次数的边框回归。

基于实验性目的,作者在 FPN 框架下和 Cascade R-CNN 框架下,评估了取不同边框回归迭代次数时,最终输出的边框的 AP 指标。不论是基于 FPN 还是 Cascade R-CNN,在一定迭代次数后,边框的准确度都不增反降。数学上,它们的关系是非单调的。

IoU-Net 笔记_第3张图片
蓝线:基于回归的边框 refine 方法    红线:作者提出的基于优化的边框 refine 方法


IoU-Net

基于定位置信度的 NMS

所谓定位置信度,其实就是在网络的 R-CNN 部分,额外引入了一个支路,预测边界框和 GT 之间的 IoU。

IoU-Net 笔记_第4张图片
IoU-Net

然后是 IoU-guided NMS 算法,和原始的 NMS 算法几乎一样,只是评估指标改成网络预测的定位置信度。在保留定位置信度最大的边框的同时,如果该边框的分类置信度不如与它高度重叠的(但定位置信度较低的)边界框高,则将该边框的分类置信度记为更高的那个值。

IoU-Net 笔记_第5张图片
IoU-guided NMS

基于优化的边框回归

Refine 边界框的问题可以被归纳为一个寻找最优变换参数的问题:

其中是 RPN 预测到的边界框,是 GT 边界框;是以为参数的边界框变换函数;是评估两个边界框之间的距离的指标,这里采用 IoU。

R-CNN 中提出的边框回归方法——称之为基于回归的方法——采用一个前馈的神经网络直接预测参数,但多次的迭代预测对输入分布的变换不具有鲁棒性,因此会形成前述的不单调的优化曲线。

作者提出的方法——称之为基于优化的方法——将 IoU 预测支路作为优化的目标函数,并提出了 Precise RoI Pooling 方法(后面讲)替代原来的 RoI Pooling 层,优化 RoI Pooling 层的可导性。因为 IoU 预测支路内部是可导的,所以可以简单地通过梯度上升算法寻找最优的。

IoU-Net 笔记_第6张图片
基于优化的边界框 refine 算法

采样

训练 R-CNN 时的采样策略和 Faster R-CNN 原文中略有不同。当选择 RoI 时,不再选择由 RPN 生成的 RoI Proposal,而是对 GT 应用几个随机的变换,舍去和原始 GT 重合度不足50%者,将剩下的作为 RoI。尽管并没有说明原因,但作者表示,从实验结果来看,这种采样方法优于将 RoI Proposal 用作训练 R-CNN 时的 RoI。个人感觉,训练刚开始 RPN 并没有学到 GT 的分布,输出的 RoI Proposal 和 GT 偏差很大,这使得基于 RoI Proposal 的 R-CNN 训练在这个阶段几乎是没有意义的,而作者的做法在一定程度上避免了这个问题。

你可能感兴趣的:(IoU-Net 笔记)