pseudo-f值怎么计算出来的(Pseudo-IoU:改进无锚目标检测中的标签分配)(1)

论文收录于CVPR2021 Workshop,一个小改进,不错的想法,对于真实框内的每个特征映射点,映射到原始输入图像后,假设对应的伪框以点为中心,与真实框大小相同,计算伪框和真实框之间的iou,根据这个iou分配正负样本

论文题目:

Pseudo-IoU: Improving Label Assignment in Anchor-Free Object Detection

论文地址:

https://arxiv.org/pdf/2104.14082.pdf

摘要

目前的无锚对象检测器非常简单和有效,但缺乏精确的标签分配方法,这限制了它们与经典的基于锚的模型竞争的潜力,经典的基于锚的模型由设计良好的基于交叉-联合(IoU)度量的分配方法支持,在本文中,我们提出了Pseudo-IoU(pseudo-intersection-over-union, Pseudo-IoU):一种简单的度量方法,它为无锚对象检测框架带来了更标准化、更准确的分配规则,而不需要任何额外的计算成本或额外的训练和测试参数,使得在有效分配规则下利用良好的训练样本进一步改进无锚对象检测成为可能,而这些有效分配规则已经应用于基于锚的方法,通过将Pseudo-IoU度量合并到端到端单级无锚对象检测框架中,我们观察到它们在一般对象检测基准(如PASCAL VOC和MSCOCO)上的性能有一致的改进。我们的方法(单模型和单尺度)也达到了与其他最新的无锚方法相当的性能。

1. 简介

标签分配是训练精确目标检测模型的重要环节,近年来,基于锚点的对象检测方法在社区中非常流行,首先是Faster RCNN,通常,在训练过程中,使用深度卷积神经网络(deep convolutional neural networks, DCNN)进行特征提取后,为特征图上的每个点分配多个锚点,并根据其与数据集提供的真实标签的重叠程度为每个锚点分配一个正或负的标签,选取比例正负样本对网络进行训练,将整个过程定义为基于锚点的目标检测中的标签分配。

由于赋值过程选择训练样本进行回归和分类,改进赋值方法可以通过分配准确的训练样本来显著提高检测结果,最近在Cascade RCNN上的工作使用了级联分类器和回归器,并改进了交叉联合阈值(IoU),以分配更好的正训练样本,OHEM采用在线困难样本采样,将更多损失较大的困难负样本带入训练,Libra RCNN使用基于iou的采样方法,实现更平衡的训练,所有这些工作都证明了训练样本的更好分配在基于锚点的目标检测中是必不可少的和有效的。

最近,目标检测方法的另一个流行分支是无锚模型,该模型在整个训练过程中不假设预定义锚,这减少了许多使用锚的超参数,需要启发式调优才能获得良好性能,无锚模型FCOS和FSAF等直接从真值框的左、右、上、下侧面的点预测边界框,然而,由于缺乏准确的分配,他们都使用其他方法来弥性能效差距,对于FCOS,它将真实框内所有点视为阳性样本,并添加中心度分支来重新权衡检测输出,减少一些假阳性,对于FSAF,它采用了在线特征选择和无锚和基于锚的方法的组合。

pseudo-f值怎么计算出来的(Pseudo-IoU:改进无锚目标检测中的标签分配)(2)

在本文中,我们提出了一种伪交叉过并(Pseudo-Intersection-overUnion, Pseudo-IoU)度量,它为当前的无锚对象检测器带来了精确的标签分配规则,如图1所示,对于真实框内的每个特征映射点,映射到原始输入图像后,假设对应的伪框以点为中心,与真实框大小相同,这样我们就可以很容易地计算居中伪框和真实框之间的iou,由于IoU是基于分配给每个点的伪框,我们将该度量命名为伪交叉-并集(伪IoU)。

在iou计算之后,可以给每个点分配一个iou值v,就像锚的方法中每个锚都有一个iou供分配一样,现在特征图金字塔上的每个点都有一个iou值v∈[0,1],它们可以根据iou阈值T∈[0,1]标记为正的或负的训练样本,其中

pseudo-f值怎么计算出来的(Pseudo-IoU:改进无锚目标检测中的标签分配)(3)

从图1可以看出,边界框边缘附近的一些点被指定为负样本,如果将这些iou较低的点作为阳性样本,则会导致更多的假阳性和不准确的边界框,为了证明伪iou度量的有效性,我们以ResNet-101为骨干,FPN为颈构建无锚基线,在增强特征图金字塔上进行密集无锚预测,此外,我们添加伪iou度量进行赋值,并在Pascal VOC和MSCOCO数据集上进行了大量的实验,具体而言,基于伪iou分配的无锚方法在Pascal VOC 2007测试集上的平均平均精度(mAP)比基线高出2.1%,在MSCOCO小集上的平均精度(mAP)为3.0%,在MSCOCO测试开发集上的平均精度(mAP)为3.1%,它也达到了最近最先进的方法效果且没有花里胡哨的技巧。

综上所述,我们的贡献如下:

•我们研究和分析了当前无锚对象检测器存在的问题和瓶颈,即在基于锚的方法中缺乏定义和设计良好的精确标签分配过程。

•我们提出了伪交叉过并(PseudoIoU)度量,它将精确的标签分配规则带入无锚框架,在训练或测试过程中不增加任何额外成本,通过改进分配过程来改善无锚检测。

•我们的单比例尺模型大大提高了基线的性能,达到了与其他最新的最先进检测方法相当的性能。

2. 相关工作

Anchor-based目标检测器 在过去的几年里,基于锚点的目标检测器已经成为目标检测领域的主流,首先是Faster R-CNN,它是之前R-CNN和Fast R-CNN的最高版本,它首次提出了使用anchor作为预定义的边界框的想法,用于后续回归,在Faster RCNN之后,大多数两级目标检测器继承了基于锚点的方法,如FPN、Mask RCNN、Cascade RCNN、DCR、GFR等方法,有些方法采用有效的训练,如SNIP和SNIPER,它们将图像剪辑用于训练,有一些方法可以提高像GA-RPN这样的锚的质量,它学习锚的设置来进行有效的训练,此外,一些流行的一级目标检测器也采用锚点进行更好的回归,直接从锚点到最终边界框进行预测,如SSD、YOLOv2、RetinaNet、RefineDet和GHM,引入梯度协调损失函数实现平衡训练过程。

Anchor-Free目标检测器 与基于锚定的对象检测器不同,预测边界框的另一种方法是从点直接回归,从Densebox和YOLO开始,他们通过直接从中心点回归边界框到最终边界框来进行预测,此外,利用特征金字塔网络的力量,最近的论文如FCOS和FSAF构建了一个完整的无锚检测管道,其结果非常类似于单级对象检测器如RetinaNet,另一个分支是基于关键点的无锚对象检测,在关键点预测之后进行边界框预测,包括Cornernet, Centernet和Extremenet,由于关键点预测稀疏且准确,在这些方法中可以去除NMS等后处理。

分配规则 最近,研究人员注意到,标签分配对于平衡和稳定的训练过程至关重要,对于基于锚点的物体检测器,根据锚点的IoU,给锚点分配正或负标签,为了提高阳性样本的质量,Cascade RCNN采用提高IoU阈值的方法筛选阳性样本,训练级联分类器,OHEM采用困难样本挖掘分支,选取损失较大的样本较多作为负训练样本,Libra RCNN进一步提出了基于IoU的采样方法,而PISA则专注于训练的主要样本,ATSS的重点是根据对象的统计特征自适应选择正样本和负样本,弥合无锚方法和基于锚的方法之间的差距,SAPD采用软锚点进行标签分配,AutoAssign在无锚探测器中采用自动标签分配策略。

3.我们的方法

在本节中,我们首先回顾了基于锚点检测器的分配过程,然后提出了如何在无锚点检测器中使用伪iou度量来实现训练过程中的精确分配,接下来,我们展示了基于伪iou值的无锚检测器的整个管道,并介绍了管道中的每个组件。

3.1. Pseudo-Intersection-over-Union

交叉过并(IoU)已经被定义并应用于基于锚点的方法中,用于比较任意形状A和B之间的相似度,两者之间的iou为:

在Faster RCNN等基于锚点的对象检测器中,锚点是预定义的边界框,周围围绕着滑动窗口的中心,即特征图上的点,对于面积为SA的锚点A和面积为SB的真实框B,它们的IoU为

pseudo-f值怎么计算出来的(Pseudo-IoU:改进无锚目标检测中的标签分配)(4)

通常情况下,iou超过0.5的锚点将被指定为正样本,而iou低于0.4的锚点将被指定为负样本,大多数两级检测器,部分单级检测器如SSD和RetinaNet采用基于iou的处理,然而,目前的无锚目标检测器在训练过程中还没有相应的处理,主要原因是,如果没有锚点,回归器就无法从锚点回归到实值框。

我们将指定的伪框与真实框之间的IoU命名为pseudo-intersection-over- union,即pseudo-IoU, pseudo -IoU的阀值为v∈[0,1],使得在无锚管道中选择具有特定伪IoU阈值的训练例成为可能,如算法1所示

pseudo-f值怎么计算出来的(Pseudo-IoU:改进无锚目标检测中的标签分配)(5)

3.2. Anchor-Free架构

大多数最先进的无锚检测器遵循RetinaNet的架构,使用ResNet-101作为骨干,FPN作为颈部,然后是具有两个分支的检测头:一个用于具有focal loss的图像分类,另一个用于边界框平滑L1损失函数回归,我们使用基于伪iou的赋值器的无锚检测架构如图2所示。

pseudo-f值怎么计算出来的(Pseudo-IoU:改进无锚目标检测中的标签分配)(6)

Detection Backbone and Neck 我们采用ResNet-101作为骨干提取特征,并使用FPN通过自上而下的路径和横向连接来增强特征映射,用单一分辨率的输入图像构建了一个丰富的多尺度特征金字塔,并被证明是一个强大的检测组件,如图2 Part(a)所示,与RetinaNet相似,在下采样阶段,我们在ResNet中使用5个阶段生成特征映射C1, C2, C3, C4, C5, Cl特征映射的下采样率为2l,在上采样阶段,我们去掉P2以减少计算量,使用P3, P4, P5, P6和P7特征映射,P3、P4和P5由C3、C4和C5通过上采样和横向连接生成。P6和P7通过对P5的步幅2卷积计算,用于对大目标的检测,从P3到P7的所有特征映射都有一个输出通道C=256,合并检测头用于后续的训练过程。

Pseudo-IoU based Assignment 通过ResNet-101和FPN进行特征提取后,我们可以在P3到P7的特征图中为点分配正标签或负标签,对于特征图Pl上的点,其位置可以投影回原始输入图像,上采样率为2l,假设它在输入图像上的位置为(x, y),如果它落入一个带有标签(xc, yc, w, h)的地真值框中,(xc, yc)为框的中心,w, h分别表示它的宽度和高度,然后,我们可以计算l, r, t, b,它们是从(x, y)到框(xc, yc, w, h)的左,右,上,下的距离

pseudo-f值怎么计算出来的(Pseudo-IoU:改进无锚目标检测中的标签分配)(7)

然后按照算法1的流程图计算伪iou,在基于锚点的方法中,通常以iou超过特定阈值的锚点为正样本,我们也按照设计设置伪iou阈值T,因此,所有Pseudo-IoU大于T的点都被指定为正样本,其他的点被指定为负样本,由于focal loss 在平衡训练中表现良好且稳定,FCOS进一步证明了无锚检测器的一个主要优势是全样本用于训练,因此我们使用所有标记样本进行后续训练,例如,在图2中,在所有的H × W × 256特征图上,存在一个黑色矩形的地面真值区域,其中的红色区域包含了所有对训练过程有贡献的正样本。

检测头 从FPN中提取出所有特征图,并将特征图上的所有点标记为阳性或阴性后,检测头是一个FCN,附加到FPN的每个输出特征映射,它包含两个子集:分类器和回归器,对于图2 (b)所示的分类器子网,它遵循4个带有256个滤波器的堆叠3 × 3卷积层,最后附加一个带有C滤波器的3 × 3卷积层,C为每个点最终分类的类数,对于回归子网,在图2 (c)部分,它也遵循4个堆叠的3 × 3卷积层,带有256个滤波器,最后附加一个3 × 3卷积层,每个空间位置有4个滤波器,在每个位置,这4个输出代表一个预测(l, r, t, b),此外,两个子集在4个连续堆叠的3 × 3卷积层上不共享权值。

损失函数 在我们的无锚架构的损失函数是

pseudo-f值怎么计算出来的(Pseudo-IoU:改进无锚目标检测中的标签分配)(8)

推理过程 对于无锚检测器,推断过程是简单明了的,输入图像经过骨干ResNet-101和FPN生成P3到P7的特征图,然后回归器和分类器对所有点进行预测,并将其组合起来进行后处理,一般来说,后处理包括置信阈值化和非最大抑制(NMS)以实现最终的预测。

4. 实验

我们主要在Pascal VOC和MSCOCO基准上进行实验,对于Pascal VOC基准,我们遵循常见的07 12,使用Pascal VOC 2007和2012训练,使用2007测试。对于MSCOCO基准测试,我们使用trainval35k进行训练,使用普通minival 5k图像在test-dev集上进行验证和测试,我们首先展示了这两个基准的训练和测试设置,然后,我们展示了伪iou在消融研究中的有效性,并将我们的模型与MSCOCO数据集上的其他先进探测器进行了比较,所有的代码都是基于mmdetection工具箱。

4.1. 训练和测试

Pascal VOC 我们使用ImageNet预训练的ResNet101作为骨干,使用固定的批处理归一化层,构建如图2所示的整个网络,其中类的数量为C=21,组归一化用于稳定训练,我们的网络使用随机梯度下降(SGD)训练12个周期,热身训练500次迭代,初始学习率为0.01,在第8和10个周期时降低10倍,权重衰减和动量设置为0.0001和0.9,输入图像的大小被调整为较短的边为600,较长的边小于或等于1000,由于大多数Pascal VOC的实验都是消融研究,我们只使用图像翻转作为唯一的数据增强方法,模型在4 × 1080 Ti GPU上训练,总批大小为16,损失函数是focal loss损失和IoU损失的相加,IoU损失的权重平衡参数λ = 1,在测试过程中,我们只对训练过程使用相同的单一分辨率进行推理,对于后处理,将评分阈值和NMS的阈值分别设置为0.05和0.5。

MSCOCO 我们用如图2所示的图来构建整个网络,其中类的数量C=81,组归一化用于稳定训练,我们的网络采用ResNet-101作为骨干网,采用特征金字塔网络,采用随机梯度下降(SGD)训练24周期,并进行1500次迭代的热身训练,初始学习率为0.01,在第16和22个周期分别降低了10倍,权重衰减和动量设置为0.0001和0.9,输入图像的大小被调整为较短的边为800,较长的边小于或等于1333,用于单尺度训练。,模型在4 × V100 GPU上训练,总批大小为16,损失函数设置不变,在测试过程中,我们只对训练设置使用相同的单一分辨率进行推理,与Pascal VOC的模型使用相同的后处理。

4.2. 消融实验

Pseudo-IoU至关重要 在表1中,我们仔细地展示了所有的消融研究实验与伪iou的有效性在Pascal VOC 2007测试集,基线模型如图3所示,没有基于Pseudo-IoU的赋值,它将ground truth内的所有点都作为正样本,从表1 (a)可以看出,当伪iou阈值为0.4时,基线模型的mAP提高了2.1%,证明了训练过程中精确分配的重要性,研究还表明,较高的伪iou阈值会由于选择的正训练样本不足而导致性能下降,从表1 (b)和(c)中可以看出,基于Pseudo-IoU分配的无锚模型在不同训练周期和批规模下都能带来一致的2%左右的mAP改进,这说明扩展训练和更大的批规模无法弥补训练样本分配不平衡造成的性能差距。

pseudo-f值怎么计算出来的(Pseudo-IoU:改进无锚目标检测中的标签分配)(9)

pseudo-f值怎么计算出来的(Pseudo-IoU:改进无锚目标检测中的标签分配)(10)

与其他分配指标 在目前最先进的无锚目标检测器中,FCOS和FSAF也实现了与基于锚的检测结果相当的检测结果,在FCOS中,它添加了一个中心度分支来重估输出结果,在FSAF中,它采用ground truth box中的中心部分作为正样本,这两项最新工作促使我们将一种基于伪iou的分配方法引入到无锚管道中。

此外,还有其他一些分配选项可能与伪iou一样有效,我们从FSAF和FCOS中提出了另外两个选项,它们可能是伪iou度量的替代方案,第一种方法称为缩放框,它将缩放的真值框内的所有点作为正样本,给定一个落在框(xc, yc, w, h)中的点(x, y)和一个缩放参数s,如果符合该条件,则该点为正

pseudo-f值怎么计算出来的(Pseudo-IoU:改进无锚目标检测中的标签分配)(11)

另一个叫做中心度,在对缩放框相同的设置下,我们可以根据3.2节的算法计算l, r, t, b,那么中心度阈值为

pseudo-f值怎么计算出来的(Pseudo-IoU:改进无锚目标检测中的标签分配)(12)

这与FCOS中中心的表达是一致的,然而,这里我们使用中心度来选择正样本,而不是重新权衡输出检测,我们比较了表2中这两种新指标和伪iou下Pascal VOC 2007测试集的检测结果,结果表明,在不同的分配方法下,无锚模型可以获得不同的结果,总体而言,使用Pseudo-IoU的结果(79.0% mAP)略好于中心度(78.7% mAP)和标度箱(78.3% mAP)度量,更重要的是,使用基于度量的伪iou可以将之前对iou的研究如Cascade RCNN或Libra RCNN引入无锚方式,为无锚对象检测带来更多可能性。

pseudo-f值怎么计算出来的(Pseudo-IoU:改进无锚目标检测中的标签分配)(13)

4.3. 与先进检测器的比较

MSCOCO minival集 首先,在MSCOCO小集上验证了模型的有效性,基线模型采用具有固定批处理归一层的ResNet-50-FPN骨干和一个无锚检测头,该检测头将真实框内的特征金字塔中的所有点作为正样本,输入图像的短边被调整为800,长边小于或等于1333,用于单尺度训练,图像翻转是数据增强的唯一策略,在测试过程中,我们只对训练过程使用相同的量表设置,所有结果如表3所示。如果没有精确的分配,我们的无锚基线和retinanet之间就会存在性能差距,使用伪iou分配后,其mAP性能比retinanet提高约1.1%,mAP性能比基线模型提高2.9%,此外,使用GIoU和中心度分支可以进一步提高性能,这意味着我们的伪iou与其他目标检测方法兼容。

pseudo-f值怎么计算出来的(Pseudo-IoU:改进无锚目标检测中的标签分配)(14)

MSCOCO test-dev集 我们也报告我们的test-dev集结果,我们用ResNet-101-FPN骨干和如图2所示的无锚检测头来训练所有模型,输入图像的大小被调整,以保持较长的边为1333,短的边随机选择从640到800,而不需要图像翻转或其他数据增强方法,所有检测结果如表4所示,为了进行公平的比较,我们只从他们的原始出版物中选择单模型和单尺度推理的结果,一些结果基于多尺度检验或更好的主干如ResNeXt不包括在内。

pseudo-f值怎么计算出来的(Pseudo-IoU:改进无锚目标检测中的标签分配)(15)

4.4. 可视化

我们在图3中可视化了无锚基线和采样训练的基线的一些检测结果,值得注意的是,基线模型有许多假阳性和不准确的边界框预测,相反,基于PIoU的采样模型产生的误报更少,定位更准确,这大大提高了性能。

5. 结论

在本文中,我们首先指出当前的无锚对象检测器缺乏精确和标准化的赋值过程,这限制了它与许多先进的基于锚的方法竞争的潜力,为了解决这一问题,我们提出了一种简单的伪交联度量(PseudoIoU),通过计算以点为中心的伪框之间的IoU,为无锚框架带来了更精确和标准化的分配规则,此外,我们在PASCAL VOC和MSCOCO数据集上进行了大量的实验,结果表明基于Pseudo-IoU赋值的无锚模型可以带来一致的改进,而不需要附加的附加功能,它减少了许多假阳性检测,使边界框的定位更加准确,此外,在未来,基于伪iou分配度量的无锚模型也有可能改进一些近期研究基于锚的分配方法。

,