zl程序教程

您现在的位置是:首页 >  后端

当前栏目

《IoU-Net: Acquisition of Localization Confidence for Accurate Object Detection》论文笔记

Net论文笔记 for of object Detection
2023-09-11 14:22:29 时间

1. 前言

目前基于CNN的目标检测器是依赖于边界框回归与非极大值抑制去定位目标。但是预测框的分类反映的是分类的置信度,并不能反应定位的置信度,这就会掉之预测框在回归的过程中发生退化或者被NMS抑制。这篇文章提出了:(1)IoU_Net去预测检测框与GT框的IOU,从而使得网络获得定位置信度,(2)这样通过保持定位精度来改进NMS过程。还提出了一种基于优化的边界框优化方法,以预测IoU为目标。该方法在COCO数据集上展现了它的有效性,而且可以该方法可以迁移到当今目标检测方法中去(改动主要集中于给出IOU置信度、优化NMS方法、优化边界框)。
当前主要的目标检测方法是两阶段的检测方法,其分为如下几步:
1)区分前景与背景区域,并为它们分配一个合适的类别标签。
2)通过极大化与GT的IOU或是其它的度量手段来回归定位参数。
3)最后通过NMS去除多余的检测框,得到最后的结果。
在这里插入图片描述
但是在上面提到的两阶段检测方法中,会存在两点缺点:
1)多余的检测框抑制并不会考虑检测框的定位精度,而是以分类的概率作为度量。上面的a图中就展示了具有高的分类概率但是与GT有较低的IOU。这也就是定位的精度被NMS抑制。
2)缺失定位置信度是的被广泛采用的预测框回归解释性变差。一个现象就是使得定位框的回归随着迭代的进行变得“非单调曲线”,见下图所示:
在这里插入图片描述
那么,为了解决这样的问题。在这篇文章中引入IOU-Net,其预测检测框与GT的IOU,使得网络拥有类似于分类模块的定位置信度,为之前提到的问题提供了新的解决办法:
1)IOU本来就是很自然的定位准则。可以将NMS中的排序规则(分类概率)换成是定位置信度,从而排除分类置信度打来的错误引导。
2)与传统的回归方法相比提出了基于最优化的检测框优化方法。在推理的过程中预测的IOU被当作最优化的目标,作为定位的置信度。给出的精确ROI Pooling层是的可以通过梯度下降解决IOU的最优化问题。这个与传统的方法相比有了很大的提升,并且可以在其它基于CNN的检测器上集成。

2. 之前方法对于检测的影响

首先,来看一下经典论文中采用的IOU阈值对于检测精度的影响,看下面左图中IOU与分类置信度之间的关系:
在这里插入图片描述
从左图中可以看到在阈值0.5之前,分类的置信度被人为拉低(被作为负样本或是抛弃掉)。只有大于了0.5才算做是正类,才在网络中对其进行回归。但是可以看出,其分布并不是很聚中,而是呈现弥散状态。而右边的图就不是了,反映了IOU与定位置信度之间的天然联系。
NMS对网络检测的影响,NMS本来被引入是为了去除重复的多检区域。但是其排序的准则是预测框的分类置信度,这就是问题所在了。下图是使用NMS与文章中提出的NMS方法的对比,可以看到原始的方法对于预测框是存在抑制的。
在这里插入图片描述
最后,原有的预测框优化方法并不是“单调的曲线”,会随着迭代的进行出现下降的情况
在这里插入图片描述

3. IOU-Net

3.1 网络的整体结构

针对上面提到的这些问题,文章给出了新的网络模块IOU-Net,使用该模块对原有的网络进行修改得到的新的网络结构如下:
在这里插入图片描述
在网络中,生成IOU-Net的训练预测框与标注是通过增广GT,而不是在RPN的基础上选择候选。特别地,对于所有的GT框使用一些随机参数生成GT候选集,并且删除其中与原对应GT框IOU小于0.5的候选,然后训练的时候从这个集中均匀采样生成训练集。这样做的好处可以带来更好的性能以及更强的鲁棒性。对于每个边界框,特征是从Precise POI Pooling层上抽取出来的,这些特征被送入两层的前馈网络去预测IOU。为了获得更好的性能,这里使用了class-aware IOU预测器。且该IOU预测器与现存的基于ROI的检测器是适配的。

3.2 IOU-guided NMS

改进之后的NMS算法流程为:
在这里插入图片描述
很明显的改进体现在使用定位置信度作为预测框排序的准则,并使用求max的方法获得当前运算框的置信度。

3.3 基于优化的定位框细化算法

在这里插入图片描述

3.4 边界框细化的优化步骤

预测边界框的优化问题可以被数学定义为最优化如下算子:
在这里插入图片描述
b o x d e t box_{det} boxdet是检测框, b o x g t box_{gt} boxgt是GT框, t r a n s f o r m transform transform是一个使用参数c对 b o x d e t box_{det} boxdet进行的变换函数, c r i t crit crit是两个边界框的距离度量,使用的是smooth-L1距离。
基于回归的优化算法直接使用前馈神经网络去预估优化的参数 c ∗ c^* c,但是这样的方法在迭代的过程中对输入的分布是很敏感的,且可能会导致定位精度非单调地提升,之前的图也有展示。为了解决该问题这篇文章给出了基于最优化的边界框优化方法,它使用IOU-Net作为鲁棒定位精度预估。
这里要说一下论文中提到的PrROI Pooling,该ROI Pooling方法与Faster RCNN与Mask RCNN中使用的方法相比做了改进,可以从下图中进行体现(详细区别比较长,后序再写一篇):
在这里插入图片描述
对于特征图中位置在 ( i , j ) (i,j) (i,j)处的特征值 w i , j w_{i,j} wi,j,使用双线性插值算法下采样的特征图也可以认为在位置 ( x , y ) (x,y) (x,y)是连续的。
f ( x , y ) = ∑ i , j I C ( x , y , i , j ) ∗ w i , j f(x,y)=\sum_{i,j}IC(x,y,i,j)*w_{i,j} f(x,y)=i,jIC(x,y,i,j)wi,j
其中 I C ( x , y , i , j ) = m a c ( 0 , 1 − ∣ x − i ∣ ) ∗ m a x ( 0 , 1 − ∣ y − j ∣ ) IC(x,y,i,j)=mac(0,1-|x-i|)*max(0,1-|y-j|) IC(x,y,i,j)=mac(0,1xi)max(0,1yj)。对于每个ROI区域反向投影画出的区域使用一对角点表示 b i n = ( x 1 , y 1 ) , ( x 2 ) , y 2 bin={(x_1,y_1), (x_2),y_2} bin=(x1,y1),(x2),y2,分别代表左上角与右上角。然后使用积分的形式计算该区域的值。这样就避免了在量化过程中产生的误差,提升了精度。
在这里插入图片描述
然后是其梯度的传递计算:
在这里插入图片描述

4. 结果

在这里插入图片描述