VarifocalNet: An IoU-aware Dense Object Detector

论文链接: https://arxiv.org/abs/2008.13367
源码:https://github.com/hyz-xmaster/VarifocalNet
准确地对大量候选框进行排序对于密集物体检测器实现高性能至关重要。之前的工作使用分类分数或分类和预测定位分数的组合来给候框排序。但是,这两种选择都不会产生可靠的排名,从而降低了检测性能。在本文中,作者提出IACS (IACS)作为目标在置信度和定位精度的联合表示。本文证明了密集物体检测器可以在IACS的基础上实现更精确的候选框的排序。设计了一种新的损失函数Varifocal loss,训练密集目标检测器来预测IACS,并提出了一种新的星形锚框特征表示用于IACS预测和锚框细化。结合这两个新组件和预测框细化分支,构建了一个基于FCOS+ATSS架构的iou感知密集物体检测器,作者将其简称为VarifocalNet或VFNet。

一、研究背景

现有的物体检测器,无论是两阶段方法还是一阶段方法,通常都是先生成一组带有分类分数的冗余预测框,然后使用非极大抑制(non-maximum suppression, NMS)去除同一物体上的重复包围盒。在NMS中,通常使用分类分数对边界框进行排序。然而,这损害了检测性能,因为分类评分并不总是很好地估计预测框定位精度,准确的定位检测与低分类评分的预测框可能被错误地删除。
为了解决这一问题,现有的密集物体检测器预测一个额外的IoU评分或中心度评分作为定位精度估计,并乘以分类评分在NMS中对检测进行排序。这些方法可以缓解分类分数与目标定位精度不匹配的问题。然而,它们是次最优的,因为将两个不完美的预测结果相乘可能会导致更差的预测框的排序。此外,增加一个额外的网络分支来预测本地化得分并不是一种很好的解决方案,并且会带来额外的计算负担。
为了克服这些缺点,我们自然会问:与其预测一个额外的定位精度评分,我们是否可以将其合并到分类评分中?也就是说,预测一个定位分类分数联合感知IACS (IACS),同时代表某一对象类的存在和生成的边界框的定位精度。
在本文中,作者回答了上述问题,并作出了以下贡献。
(1)证明了精确的候选检测排序对于高效的密集目标检测器来说是至关重要的,而IACS能够获得比其他方法更好的排序。
(2)提出了一种新的Varifocal Loss用于训练密集目标检测器来回归IACS。
(3)设计了一种新的星形锚框特征表示,用于计算IACS和细化预测框。
(4)利用IACS的优势,基于FCOS+ATSS和提出的组件开发了一种新的密集目标检测器,并将其命名为VarifocalNet或VFNet。其核心思想如下图所示:

在这里插入图片描述

二、实现细节:

变焦损失(Varifocal Loss)是一种动态缩放的二元交叉熵损失,其灵感来自于焦点损失(focal loss)。但是,它监督密集目标检测器对连续的IACSs进行回归,更明显的是,它采用了一种非对称训练示例加权方法。它只降低了解决训练过程中类不平衡问题的负样本的权重,而增加了生成高质量的正样本的权重。这将训练重点放在高质量的正样本上,这对于实现高检测性能很重要。
星形锚框特征表示使用9个固定采样点(图1中的黄色圆圈)的特征来表示具有可变形卷积的包围框。与现有的大多数密集物体检测器使用的点特征相比,这种特征表示可以捕获锚框的几何形状及其附近的上下文信息,这对于准确预测IACS至关重要。它还使我们能够在不损失速度的情况下,有效地细化最初生成的粗糙预测框。
最近,无预置锚框检测器因其新奇和简单操作方式而引起了广泛关注。其中一种将对象检测问题表述为关键点或语义点检测问题,包括:CornerNet、CenterNet、ExtremeNet、ObjectsAsPoints和RepPoints。另一种则是将特征金字塔上的每个点分类为前景类或背景类,并直接预测从前景点到真值边界框四边的距离,产生检测。常用的方法有DenseBox、FASF、FoveaBox、FCOS、SPAD。
候选检测框的排名措施:除了可以按照分类评分进行排序外,还提出了其他检测排序措施。IoU- net采用额外的网络对IoU进行预测,并在NMS中使用它对边界框进行排序,但仍然选择分类评分作为最终的检测评分。Fitness NMS , IoU-aware的RetinaNe在本质上与IoU- net相似,只是它们将预测的IoU或基于IoU的排名分数与分类分数相乘作为排名依据。FCOS不是预测基于iou的分数,而是预测中心分数来抑制低质量的预测样本。相反,本文只预测IACS作为排名分数。这避免了额外网络的开销,以及由不完美的定位和分类分数相乘导致的可能更糟糕的排名基础。
边界框的设定:在目标检测中提取判别特征来表示边界框对于后续的分类和回归具有重要意义。在两阶段和多阶段方法中,提取边界框特征的方法多采用RoI Pooling或RoIAlign。但将它们应用于密集物体检测器是非常耗时的。考虑到效率,单级检测器一般使用点特征作为边界框描述符。然而,这些局部特征无法捕获边框的几何形状和基本的上下文信息。另外,HSD和RepPoints通过可变形卷积提取学习到的语义点上的特征来编码一个边界框。然而,由于缺乏强有力的监督,学习定位语义点具有挑战性,并且语义点的预测也加重了计算负担。相比之下,本文提出的星形锚框表示使用9个固定采样点的特征来描述一个锚框。它简单、高效,并且能够捕捉边界框的几何形状和周围的空间上下文信息。
Generalized Focal Loss:与我们的研究最相似的是广泛性焦性损失(GFL)。GFL将焦点损失扩展到连续版本,并训练检测器预测定位质量和分类的联合表示。
本文的varifocloss是一个不同于GFL的功能。该算法对正、负样本的权重不对称,而GFL算法对正、负样本的权重相等,实验结果表明,该算法的变焦损失性能优于GFL算法。此外,本文提出了一种星形包围盒特征表示,以促进IACS的预测,并通过锚框细化步骤进一步提高目标定位精度,这是GFL中没有考虑的。

三、算法研究支撑

FCOS建立在FPN上,其检测头有三个分支。一个预测特征图上每个点的分类分数,一个回归点到边界框四周的距离,另一个预测中心分数乘以分类分数,从而在NMS中对边界框排名。下图显示了FCOS头部输出的示例。本文实际研究的是FCOS的ATSS版本(FCOS+ATSS),在训练过程中,使用自适应训练样本选择(Adaptive Training Sample Selection, ATSS)机制在特征金字塔上定义前景点和背景点。在这里插入图片描述
为了研究FCOS+ATSS(在COCO train2017上训练)的性能上界,对NMS前的前景点用相应的真值替换预测的分类评分、距离偏移和中心度评分,并在COCO val2017上以AP评价检测性能。对于分类得分向量,实现了两种选择,即用1替换其ground-truth标签位置的元素,或者用预测边界框和ground-truth边界框之间的IoU(称为gt IoU)替换。除了中心度的真实值,还考虑用gt IoU替换中心度的分数。
结果如下所示。我们可以看到原来的FCOS+ATSS达到了39.2 AP。在推理中使用ground-truth center score (gt ctr)时,出乎意料的是,只增加了大约2.0 AP。同样,用gt IoU (gt ctr IoU)替换预测中心度评分也只能达到43.5 AP。这表明,无论是用预测中心度评分还是IoU评分与分类评分的乘积来进行排名检测,都肯定不能带来显著的性能提升。
在这里插入图片描述
相比之下,FCOS+ATSS的真值边界框(gt bbox)在推理中即使没有中心度评分(无w/ctr),也能达到56.1 AP。但是如果在ground-truth标签位置(gt cls)将分类分数设置为1.0,是否使用中心分数就变得很重要(43.1 AP vs 58.1 AP)。因为中心度分数可以在一定程度上区分准确和不准确的锚框。
最令人惊讶的结果是用gt IoU (gt cls IoU)替换ground-truth类的分类分数得到的结果。在没有中心分数的情况下,这个结果取得了令人印象深刻的74.7 AP,明显高于其他案例。这实际上揭示了在大多数对象的大候框中已经存在精确的局部边界框。实现优良检测性能的关键是准确地从这些框中选择那些高质量的检测,这些结果表明,用gt IoU代替ground-truth类的分类分数是最有好的选择措施。我们将这种得分向量的元素称为IACS (IACS)。

四、VarifocalNet

(一)、IACS - IoU-Aware Classification Score

将IACS定义为分类得分向量的标量元素,其中,真值类别标签位置的值为预测边界框与其真值之间的IoU,其他位置为0。

(二)、Varifocal Loss

本文设计了一种新型的变焦损失训练密集物体检测器来预测IACS。它的灵感来自于Focal Loss
焦点损失是为了解决密集物体探测器训练过程中前景和背景类之间的极端不平衡问题。定义为:
在这里插入图片描述
其中 y ∈ { ± 1 } y\in\{\pm1\} y{ ±1}指定ground-truth类, p ∈ [ 0 , 1 ] p\in[0,1] p[0,1]是前景类的预测概率。如公式1所示,前景类的调制因子 ( 1 − p ) γ (1-p) ^γ (1p)γ和背景类的调制因子 p γ p ^γ pγ可以减少简单例子的损失贡献,相对增加误分类例子的重要性。
在训练密集物体检测器回归连续IACS时,借用焦点损失中的示例加权思想来解决类不平衡问题。然而,不同于Focal Loss对正负样本的处理是一样的,我们对它们的处理是不对称的。我们的变焦损失也是基于二元交叉熵损失,定义为:
在这里插入图片描述
其中p为预测IACS, q为目标得分。对于前景点,其ground-truth类的q被设为生成的边界框与其ground-truth (gt IoU)之间的IoU,否则设为0,而对于背景点,所有类的目标q都设为0。参见图1。
如上式所示,Varifocal Loss仅通过将负样本(q=0)的损失以 p γ p^γ pγ比例化来减少其损失贡献,而不会以同样的方式降低正样本的权重。这是因为与负样本相比,正样本是极其罕见的,我们应该保留它们宝贵的学习信号。另一方面,受到PISA的启发,我们用训练目标q对正样本进行加权。如果正样本的gt IoU很高,那么它对损失的贡献就会比较大。这就把训练的重点放在了那些高质量的正样本上,它们比那些低质量的正样本对获得更高的AP更重要。
为了平衡正例和反例之间的损失,在负损失项中加入一个可调节的比例因子α。

(三)、Star-Shaped Box Feature Representation

设计了一种用于IACS预测的星形包围框特征表示。它使用9个固定采样点的特征(图1中的黄色圆圈)表示一个具有可变形卷积的边界框。这种新的表示方法可以捕获边界框的几何形状及其附近的上下文信息,这对于编码预测边界框与真实边界框之间的不对齐是至关重要的。具体来说,给定图像平面上的一个采样位置(x, y)(或特征映射上的一个投影点),我们首先通过3x3卷积从它回归一个初始边界框。该边界框由4D向量 ( l , t , r , b ) (l, t, r, b) (l,t,r,b)编码来表示位置(x, y)到边界框左侧、顶部、右侧和底部的距离。利用这个距离向量,我们启发式地选取9个采样点(x, y), (x-l, y), (x, y), (x+r, y), (x, y+b), (x-l, y-t), (x+l, y-t), (x-l, y+b)和(x+r, y+b),然后将它们映射到feature map上。它们与(x, y)投影点的相对偏移量作为与可变形卷积的偏移量,然后将这9个投影点的特征用可变形卷积卷积来表示一个边界框。
下图为VFNet的网络架构。VFNet的骨干网络和FPN部分与FCOS相同。不同之处在于头部结构。VFNet头部由两个子网组成。定位子网络执行边界框回归和随后的细化。它将FPN的每一层的特征图作为输入,首先应用3个3x3 conv层与ReLU。这将产生一个具有256个通道的特征图。定位子网的一个分支再次对特征映射进行卷积,然后输出每个空间位置的4D距离向量(l, t, r, b),表示初始包围框。给定初始框和特征图,另一个分支对9个特征采样点进行星形可变形卷积,产生距离缩放因子(l, t, r, b),乘以初始距离向量,生成细化的边界框(l, t, r, b)。
在这里插入图片描述
另一个子网用于预测IACS。它具有与定位子网络(细化分支)相似的结构,不同之处在于它输出一个C向量(类别数量)元素,其中每个元素联合表示目标存在置信度和定位精度。

(四)、Loss Function and Inference

在这里插入图片描述
其中 p c , i p_{c,i} pc,i q c , i q_{c,i} qc,i分别表示FPN每层特征图上位置i的类别c的预测IACS和目标IACS。 L b b o x L_{bbox} Lbbox为GIoU损失, b b o x x i ′ bbox_{x_i}^{'} bboxxi b b o x x i bbox_{x_i} bboxxi b b o x x i ∗ bbox_{x_i}^{*} bboxxi分别表示初始边界框、精化边界框和ground truth边界框。我们用训练的权重是 L b b o x L_{bbox} Lbbox它包括训练目标的 q c ∗ , i q_{c^{*},i} qc,i,它是前景点的gt IoU,否则为0。 λ 0 λ_0 λ0 λ 1 λ_1 λ1 L b b o x L_{bbox} Lbbox的平衡权值,本文经验分别设为1.5和2.0。 N p o s N_{pos} Npos是正样本的数量,用于归一化总损失。如第3节所述,我们在训练时使用ATSS来定义正样本和负样本。

五、实验细节

猜你喜欢

转载自blog.csdn.net/qq_52302919/article/details/125272717