论文阅读:FCOS:全卷积一阶段目标检测

论文地址:http://xxx.itp.ac.cn//pdf/1904.01355.pdf
论文代码:https://github.com/tianzhi0549/FCOS

摘要:

我们提出了一种完全卷积的一级目标检测器(FCOS),以模拟语义分割,以逐像素预测的方式解决目标检测问题。几乎所有最先进的目标探测器,如RetinaNet、SSD、YOLOv3和更快的R-CNN,都依赖于预定义的锚盒。相比之下,我们提出的探测器FCOS是无锚框,无推荐框的。通过消除预先定义的锚箱集合,FCOS完全避免了训练过程中锚箱计算重叠等与锚箱相关的复杂计算。更重要的是,我们还避免了与锚箱相关的所有超参数,这些参数通常对最终的检测性能非常敏感。ResNeXt-64x4d-101的FCOS在单模型单尺度的AP中,后处理仅采用非最大抑制(NMS),就达到了44.7%,大大超过了以往的单级检测器,具有简单的优点。第一次,我们展示了一个更加简单和灵活的检测框架,以提高检测精度。我们希望所提出的FCOS框架可以作为许多其他实例级任务的简单而强大的替代方案。

1.介绍

目标检测是计算机视觉中一项基本而又具有挑战性的任务,它要求算法为图像中的每个感兴趣的实例预测一个带有类别标签的边界框。目前主流的探测器如Faster R-CNN[24]、SSD[18]和YOLOv2、v3[23]都依赖于一组预定义的锚箱,人们长期认为锚箱的使用是探测器成功的关键。尽管它们取得了巨大的成功,但必须指出的是,基于锚的检测器存在一些缺点:
1)如[15,24]所示,检测性能对锚箱的大小、纵横比和数量敏感。例如,在RetinaNet[15]中,改变这些超参数会影响COCO上AP中高达4%的性能。因此,这些超参数需要在基于锚的探测器中仔细调整。
2) 即使经过精心设计,由于锚定盒的比例和长宽比是固定的,探测器在处理形状变化较大的候选对象时也会遇到困难,特别是对于小对象。预先定义的锚定盒也阻碍了检测器的泛化能力,因为它们需要在具有不同对象大小或纵横比的新检测任务中重新设计。
3) 为了获得较高的召回率,需要基于锚的检测器在输入图像上密集地放置锚盒(例如,对于短边为800的图像,特征金字塔网络(FPN)中的锚盒超过180K)[14]。大多数锚箱在培训期间被标记为阴性样本。负样本过多会加剧训练中正样本与负样本的不平衡。
4) 锚定框还涉及复杂的计算,例如计算与地面真值边界框相交的并集(IoU)分数。

近年来,全卷积网络(FCNs)[20]在语义分割[20,28,9,19]深度估计[17,31],关键点检测[3]和计数[2]等密集预测任务中取得了巨大的成功。作为一种高层次的视觉任务,目标检测可能是唯一一种偏离纯全卷积像素预测框架的方法,这主要是由于锚定盒的使用。这是一个自然的问题:例如,我们能以每像素预测的方式解决对象检测问题,类似于FCN的语义分割吗?因此,这些基本的视觉任务可以统一在(几乎)一个单一的框架中。我们证明答案是肯定的。此外,我们首次证明,基于FCN的检测器比基于锚的检测器具有更好的性能。

在文献中,一些工作试图利用基于FCNs的框架进行目标检测,如DenseBox[12]。具体地说,这些基于FCN的框架直接预测4D向量加上特征映射层上每个空间位置的类类别。如图1(左)所示,4D向量描绘从边界框的四面到位置的相对偏移。这些框架类似于FCNs的语义分割,只是每个位置都需要回归一个4D连续向量。但是,为了处理不同大小的边界框,DenseBox[12]会将训练图像裁剪并调整大小到固定的比例。因此,DenseBox必须对图像金字塔进行检测,这违背了FCN一次计算所有卷积的原理。此外,更重要的是,这些方法主要用于特殊领域的目标检测,如场景文本检测[33,10]或人脸检测[32,12],因为人们认为,当这些方法应用于边界框高度重叠的一般对象检测时,效果并不好。如图1(右)所示,高度重叠的边界框导致难以处理的模糊性:不清楚w.r.t.要为重叠区域中的像素回归哪个边界框。
在这里插入图片描述
接下来,我们将更深入地研究这个问题,并表明使用FPN可以在很大程度上消除这种模糊性。因此,我们的方法已经可以获得与传统的基于锚的检测器相当的检测精度。此外,我们观察到我们的方法可能会在远离目标对象中心的位置产生一些低质量的预测边界框。为了抑制这些低质量检测,我们引入一个新的“中心度”分支(仅一层)来预测像素到其相应边界框中心的偏差,如等式(3)所定义。然后,该分数用于降低低质量检测边界框的权重,并将检测结果合并到NMS中。简单而有效的中心分支允许基于FCN的检测器成为在完全相同的训练和测试设置下优于基于锚的检测器。

这种新的检测框架具有以下优点:
• 现在,检测已与许多其他可解决的任务(如语义分割)统一起来,从而更容易重用这些任务中的思想。
• 检测成为无建议和无锚,这大大减少了设计参数的数量。设计参数通常需要启发式调整,为了获得良好的性能,需要使用许多技巧。因此,我们的新检测框架使得检测器,特别是它的训练,变得相当简单。
• 通过消除锚箱,我们的新探测器完全避免了与锚箱相关的复杂计算,如IOU计算以及训练期间锚箱与地面真值箱之间的匹配,从而比基于锚的探测器更快地进行训练和测试,并减少训练内存占用。
• 在没有钟声和哨声的情况下,我们可以在一级探测器中获得最新的结果。我们还证明了所提出的FCOS可以作为两级检测器中的区域建议网络(RPN),并且可以获得比基于锚的RPN更好的性能。考虑到更简单的无锚检测器的更好性能,我们鼓励社区重新考虑锚箱在目标检测中的必要性,目前锚箱被视为检测的事实标准。
• 提出的检测器可以立即扩展到解决其他视觉任务,只需进行最小的修改,包括实例分割和关键点检测。我们相信这种新方法可以作为许多实例预测问题的新基线。

2.相关工作

**基于锚的探测器:**基于锚的检测器继承了传统滑动窗口和基于推荐的检测器的思想,如Fast R-CNN[6]。在基于锚定的检测器中,锚定盒可以看作是预先定义的滑动窗口或建议,这些窗口或建议被划分为正或负的面片,并带有额外的偏移回归来改进边界盒位置的预测。因此,这些探测器中的锚箱可被视为训练样本。与以往的快速RCNN算法不同,锚箱算法利用CNNs的特征映射,避免了重复的特征计算,大大加快了检测速度。锚箱的设计在其RPNs[24]、SSD[18]和YOLOv2[22]中得到了快速R-CNN的推广,并已成为现代探测器的惯例。
但是,如上所述,锚定框会导致过多的超参数,这些参数通常需要仔细调整来达到良好的性能。除了上述描述锚形状的超参数外,基于锚的检测器还需要其他超参数将每个锚箱标记为正样本、忽略样本或负样本。在以前的工作中,他们经常使用锚箱和地面真值箱之间的交集over union(IOU)来确定锚箱的标签(例如,如果其IOU在[0.5,1]中,则为正锚)。这些超参数对最终精度有很大影响,需要启发式调整。同时,这些超参数是特定于检测任务的,使得检测任务偏离了用于语义分割等密集预测任务的整洁的完全卷积网络结构。
**无锚探测器:**最流行的无锚检测器可能是YOLOv1[21]。YOLOv1没有使用锚定框,而是预测对象中心附近的点处的边界框。只使用靠近中心的点,因为它们被认为能够产生更高质量的检测。然而,由于只有靠近中心的点被用来预测边界框,YOLOv1的召回率很低,如YOLOv2[22]所述。因此,YOLOv2[22]也使用锚箱。与YOLOv1算法相比,FCOS算法利用真实标记框中的所有点来预测包围盒,并通过提出的“中心度”分支来抑制低质量的检测包围盒。因此,FCOS能够提供与锚基检测器相当的召回率,如我们的实验所示。

CornerNet[13]是最近提出的一种单级无锚检测器。它检测边界框的一对角并将其分组以形成最终检测到的边界框。CornerNet需要更复杂的后处理才能将属于同一实例的角对分组。为了分组,学习了一个额外的距离度量。另一类无锚探测器(如[32])基于DenseBox[12]。由于难以处理重叠的边界盒和召回率相对较低,这类检测器被认为不适合于一般的目标检测。在这项工作中,我们证明了多层次的FPN预测可以在很大程度上缓解这两个问题。此外,我们还证明,与我们提出的中心度分支相比,更简单的检测器可以获得更好的检测性能。

3.我们的方法

在本节中,我们首先以每像素预测的方式重新构造对象检测。接下来,我们展示了如何利用多级预测来提高召回率,并解决边界框重叠造成的歧义。最后,我们提出了我们的“中心度”分支,这有助于抑制低质量的检测包围盒,并大幅度提高整体性能。

3.1 全卷积一级目标检测器

设Fi∈RH×W×Cbe为主干CNN第一层的特征图,s为直至该层的总步幅。输入图像的真值边界框是定义为{Bi},其中Bi=(x(i)0,y(i)0,x(i)1y(i)1,c(i))∈R4×{1,2。。。C} 是的。这里(x(i)0,y(i)0)和(x(i)1y(i)1)表示边框左上角和右下角的坐标。c(i)是边界框中的对象所属的类。C是类的数目,对于MS-COCO数据集是80。
对于特征图Fi上的每个位置(x,y),我们可以将其映射回输入图像(bs 2c+xs,?第二集?+这是靠近位置(x,y)接收野中心的。不同于基于锚定的检测器,它将输入图像上的位置作为多个锚定盒的中心,并以这些锚定盒为参考对目标边界盒进行回归,我们直接对目标边界盒的位置进行回归。换言之,我们的检测器直接将位置视为训练样本,而不是基于锚的检测器中的锚箱,这与用于语义分割的FCNs相同[20]。
具体来说,如果位置(x,y)落入任何地面真值盒中,则将其视为正样本,并且该位置的类标签c是地面真值盒的类标签。否则为阴性样本,c0(背景类)。除了分类标签外,我们还有一个4D实向量t∗=(l∗,t∗,r∗,b∗)作为该位置的回归目标。这里ltr和b是从位置到边界框四面的距离,如图1(左)所示。如果某个位置落入多个边界框中,则将其视为不明确的示例。我们只选择面积最小的边界框作为回归目标。在下一节中,我们将说明,通过多级预测,模糊样本的数量可以显著减少,因此它们几乎不会影响检测性能。形式上,如果位置(x,y)与边界框Bi相关联,则该位置的训练回归目标可以表示为,
在这里插入图片描述
值得注意的是,FCOS可以利用尽可能多的前景样本来训练回归器。它不同于锚定检测器,锚定检测器只考虑具有足够高IOU的锚定盒和地面真值盒作为正样本。我们认为,这可能是FCOS表现优于锚定对手的原因之一。
**网络输出:**与训练目标相对应,网络的最后一层预测分类标签的80D向量p和4D向量t t=(l,t,r,b)包围盒坐标。参考[15](Focal loss for dense object detection)之后,我们不再训练多类分类器,而是训练C个二进制分类器。与[15]类似,我们在骨干网的特征映射之后分别添加了四个卷积层用来分类与回归。此外,由于回归目标总是正的,我们使用exp(x)将任何实数映射到回归分支顶部的(0,∞)。值得注意的是,FCOS的网络输出变量比流行的基于锚的检测器(15,24)少9倍,每个位置有9个锚箱。
**损失函数:**我们对培训损失函数的定义如下:
在这里插入图片描述
其中,Lcls为[15]中的焦点损耗,Lreg为UnitBox[32]中的IOU损耗。Npos为标记到的正样本数量,本文中的λ为1是Lreg的平衡权。求和是在功能图Fi上的所有位置上计算的。1{cx,y>0}是指示函数,如果cx,y>0则为1,否则为0。
**推论:**FCOS的推论很简单。在给定输入图像的情况下,通过网络进行前向传播,得到特征图Fi上每个位置的分类得分px、回归预测tx,y。参考[15],我们选择分类得分>0.05的位置作为正样本,并反转等式(1)以获得预测的边界框。

3.2 基于FPN的FCOS多级预测

在这里,我们展示了如何用FPN的多级预测来解决所提出的FCOS的两个可能的问题[14]。
1) CNN中最终特征图的大步幅(例如,16×)可导致相对较低的最佳可能召回(BPR)1。对于基于锚的检测器,通过降低正锚定盒所需的IOU分数,可以在一定程度上补偿由于步幅过大而导致的低召回率。对于FCOS,乍一看,人们可能会认为BPR比基于锚的检测器低得多,因为由于步幅过大,不可能召回最终特征地图上没有位置编码的对象。在这里,我们的经验表明,即使在一个大的步伐,基于FCN的FCOS仍然能够产生一个良好的BPR,它甚至可以比正式实现的Detectron[7]中基于锚的检测器RetinaNet[15]的BPR更好(参见表1)。因此,BPR实际上不是FCOS的问题。此外,通过多级FPN预测[14],可以进一步改进BPR来赶上锚定式retinaNet可以实现的最佳BPR。
2) 地面真值框中的重叠会导致难以处理的歧义,即重叠中的某个位置应该回归哪个边界框?这种模糊性导致基于FCN的检测器性能下降。在这项工作中,我们证明了多级预测可以很好地解决模糊问题,并且基于FCN的检测器与基于锚的检测器相比可以获得同等甚至更好的性能。
在这里插入图片描述
在FPN[14]之后,我们在不同级别的特征地图上检测不同大小的对象。具体来说,我们使用定义为{P3,P4,P5,P6,P7}的五个级别的特征映射。P3、p4和p5由主干cnn的特征映射C3、c4和c5生成,随后是具有自顶向下连接的1×1卷积层,如图2所示。P6和p7是通过在P5和P6上分别应用一个步长为2的卷积层来产生的。因此,特性级别P3、P4、P5、p6和p7分别具有8、16、32、64和128的跨步。

不同于将不同大小的锚定盒分配给不同的特征级别的基于锚的检测器,我们直接限制了每个级别的边界盒回归范围。更具体地说,我们首先计算所有特征级别上每个位置的回归目标l∗、t∗、r∗和b∗。接下来,如果一个位置满足max(l∗,t∗,r∗,b∗)>mi或max(l∗,t∗,r∗,b∗)< mi−1,它被设置为负样本,因此不再需要回归边界框。这里Mi是我需要回归的特征级别的最大距离。本文将m2、m3、m4、m5、m6和m7分别设为0、64、128、256、512和∞。因为具有不同大小的对象被分配到不同的特征级别,并且大多数重叠发生在具有相当不同大小的对象之间。如果一个位置,即使使用了多级预测,仍然被分配给多个地面真值框,我们只需选择面积最小的地面真值框作为目标。实验表明,多层次预测可以有效地消除上述模糊性,并将基于FCN的检测器提高到与基于锚的检测器相同的水平。

最后,在文[14,15]的基础上,我们在不同的特征层之间共享头部,不仅提高了检测参数的效率,而且提高了检测性能。然而,我们观察到,不同的特征级别需要回归不同的大小范围(例如,p3的大小范围为[0,64],P4的大小范围为[64,128]),因此对于不同的特征级别使用相同的头部是不合理的。因此,我们没有使用标准的exp(x),而是使用带有可训练标量si的exp来自动调整特征级Pi的指数函数的基,这稍微提高了检测性能。

3.3FCOS中心度

在FCOS中使用多层次预测后,FCOS与基于锚的检测器仍存在性能上的差距。我们观察到,这是由于许多低质量的预测边界框产生的位置远离一个对象的中心。
我们提出了一个简单而有效的策略来抑制这些低质量的检测包围盒而不引入任何超参数。具体地说,我们添加与分类分支并行的单层分支(如图2所示)来预测位置的“中心度”。中心度描绘了从位置到该位置负责的对象的中心的标准化距离,如图7所示。考虑到某一位置的回归指标l∗、t∗、r∗和b∗,中心度指标的定义是:
在这里插入图片描述
我们在这里使用sqrt来减缓中心的衰退。中心度在0到1之间,因此用二元交叉熵(BCE)损失进行训练。损失被加到损失函数公式(2)中。测试时,通过将预测的中心度与相应的分类分数相乘来计算最终分数(用于对检测到的边界框进行排序)。因此,中心度可以降低远离对象中心的边界框的分数。因此,这些低质量的边界盒很可能被最终的非最大值抑制(NMS)过程过滤掉,从而显著提高检测性能。
中心度的另一种选择是,仅使用地面真值边界框的中心部分作为正样本,价格为一个额外的超参数,如works[12,33]所示。在我们提交后,在[1]中已经表明,这两种方法的结合可以获得更好的性能。实验结果见表3。
在这里插入图片描述

4.实验

我们的实验是在大规模检测基准COCO上进行的[16]。按照常规做法[15,14,24],我们使用COCO trainval35k分割(115K图像)进行训练,并使用minival分割(5K图像)作为消融研究的验证。通过将检测结果上传到评估服务器,我们在test dev split(20K个图像)上报告主要结果。
**训练细节:**除非特别说明,否则ResNet-50[8]用作我们的骨干网络,并且使用与RetinaNet[15]相同的超参数。具体地说,我们的网络使用随机梯度下降(SGD)训练90K次迭代,初始学习率为0.01,最小16幅图像。在迭代60K和80K时,学习率分别降低了10倍。重量衰减和动量分别设为0.0001和0.9。我们用ImageNet上预先设定的权重初始化骨干网[4]。对于新添加的层,我们将其初始化为[15]。除非指定,否则将调整输入图像的大小,使其短边为800,长边小于或等于1333。
**推理细节:**首先通过网络对输入图像进行前向传播,得到预测的包围盒类。除此之外,下面的后处理与RetinaNet[15]完全相同,我们直接使用RetinaNet的相同后处理超参数。我们使用与训练中相同大小的输入图像。我们假设,如果我们仔细地调整超参数,我们的检测器的性能可能会进一步提高。

4.1烧蚀研究

4.1.1 基于FPN的多级预测

如前所述,基于FCN的检测器的主要关注点是低召回率和由于地面真值边界框重叠而产生的模糊样本。在本节中,我们展示了这两个问题都可以通过多级预测在很大程度上解决。
在这里插入图片描述
**Best Possible Recalls:**基于FCN的检测器的第一个问题是,它可能无法提供良好的最佳召回(BPR)。在这一节中,我们表明不必担心。这里BPR的定义是一个检测器最多能召回的地面真相盒的数量除以所有地面真相盒的比率。如果在训练期间,将一个地面真相盒分配给至少一个样本(即,在FCOS中的一个位置或在基于锚的探测器中的锚盒),则认为该盒被召回。如表1所示,只有步幅为16(即没有FPN)的特征级p4,FCOS才能获得95.55%的BPR。在正式实现的Detectron中,BPR远远高于90.92%的锚定探测器RetinaNet的BPR,后者只使用了IOU≥0.4的低质量匹配。在FPN的帮助下,FCOS可以达到98.40%的BPR,非常接近锚定检测器通过使用所有低质量匹配所能达到的最佳BPR。由于当前检测器的最佳召回率远低于90%,FCOS与锚定检测器之间的小BPR间隙(小于1%)实际上不会影响检测器的性能。表3也证实了这一点,在表3中,FCOS实现了更好的基于anitsanchor的counterpartsunderthesame培训和测试设置。因此,对低BPR的担忧可能是没有必要的。
在这里插入图片描述
**Ambiguous Samples:**基于FCN的探测器的另一个问题是它可能有大量的由于地面真值边界框重叠而产生的模糊样本,如图1(右)所示。在表2中,我们显示了minival拆分时模糊样本与所有正样本的比率。如表所示,如果不使用FPN并且只使用特征级p4,则确实存在大量的不明确样本(23.16%)。然而,使用FPN,由于大多数重叠对象被分配到不同的特征级别,该比率可以显著降低到只有7.14%。此外,我们认为,由于同一类别的对象之间的重叠而产生的歧义样本并不重要。例如,如果具有相同类的对象A和B具有重叠,则无论重叠中的位置预测的是哪个对象,该预测都是正确的,因为它总是与同一类别匹配。丢失的目标只能由属于它的位置来预测。因此,我们只计算具有不同类别的边界框之间重叠的模糊样本。如表2所示,多级预测将模糊样本的比率从17.84%降低到3.75%。为了进一步证明基于FCN的FCOS在地面真值框中的重叠不是问题,我们计算了从模糊位置推断出多少检测到的边界框。我们发现只有2.3%的边界框是由不明确的位置产生的。通过进一步只考虑不同类别之间的重叠,这一比率降低到1.5%。请注意,这并不意味着有1.5%的位置FCOS无法工作。如前所述,这些位置与最小面积的地面真相盒相关联。因此,这些位置只承担丢失一些较大物体的风险。如下面的实验所示,它们不会使我们的FCOS劣于基于锚的检测器。

4.1.2 有无中心度

如前所述,我们提出“中心度”来抑制由远离对象中心的位置产生的低质量检测边界框。如表4所示,中心神经分支可以将AP从33.5%提高到37.1%,使无锚FCOS的性能优于无锚RetinaNet(35.9%)。注意,基于锚定的RetinaNet使用两个IoU阈值将锚定框标记为正/负样本,这也有助于抑制低质量的预测。提出的中心度可以消除这两个超参数。然而,在我们的初始提交之后,它已经表明,使用中心度和阈值可以获得更好的性能,如“+ctr”行所示。表3中的“取样”。可以注意到,中心度也可以用预测的回归向量来计算,而无需引入额外的中心度分支。然而,如表4所示,从回归向量计算出的中心度不能改善性能,因此需要单独的中心度。
在这里插入图片描述

4.1.3 FCOS与基于锚的探测器

上述的FCOS与标准的RetinaNet有两个小的区别:
1) 我们在新增加的卷积层中使用组规范化(GN)[29],除了最后的预测层,这使得我们的训练更加稳定。
2) 我们使用p5来生产p6和p7,而不是标准视网膜网中的c5。我们观察到使用p5可以稍微提高性能。
为了证明我们的FCOS可以作为一个简单而强大的锚基探测器的替代品,为了公平的比较,我们去掉了GN(为了防止它们爆炸,对梯度进行了剪裁)并在我们的探测器中使用了c5。如表3所示,在完全相同的设置下,我们的FCOS仍然优于锚定检测器(36.3%比35.9%)。此外,值得注意的是,我们直接使用了RetinaNet中的所有超参数(如学习率、NMS阈值等),这些参数已经为基于锚的检测器进行了优化。我们认为,如果对FCOS的超参数进行调整,可以进一步提高其性能。
值得注意的是,通过一些几乎无成本的改进,如表3所示,我们的无锚检测器的性能可以大幅度提高。鉴于无锚检测器的优越性能和优点(例如,比基于锚的检测器更简单和更少的超参数),我们鼓励社区重新考虑锚箱在目标检测中的必要性。

4.2 与最新探测器的比较

在MS-COCO基准测试开发划分上,我们将FCOS与其他最先进的目标检测器进行了比较。对于这些实验,我们在训练过程中随机缩放图像的较短边,范围从640到800,将迭代次数加倍到180K(学习率变化点按比例缩放)。其他设置与表3中AP为37.1%的型号完全相同。如表5所示,使用ResNet-101-FPN,我们的FCOS在AP中的性能比使用相同主干ResNet-101-FPN的RetinaNet好2.4%。据我们所知,这是第一次一个无锚检测器,没有任何钟声和口哨,在很大程度上优于基于锚的检测器。FCOS的性能也大大优于其他经典的两级锚定检测器,如更快的R-CNN。以ResNeXt-64x4d-101-FPN[30]为骨干,FCOS在AP中达到43.2%。它比最新的无锚探测器CornerNet[13]有很大的优势,同时也简单得多。注意,CornerNet需要使用嵌入向量对角点进行分组,这需要对检测器进行特殊设计。因此,我们认为,FCOS更有可能成为当前主流的基于锚的检测器的一个强大而简单的替代品。此外,表3中改进的FCOS在单模型单尺度测试AP中达到44.7%,大大超过了以往的检测器。
在这里插入图片描述

5.区域建议网络的扩展

到目前为止,我们已经证明,在一级检测器中,我们的FCOS可以获得比锚定的同类更好的性能。直观地说,FCOS还应该能够在两级检测器中用FPN[14]替换区域建议网络(RPNs)中的锚箱,使RCNN速度更快。在这里,我们通过实验证实了这一点。
与FPN[14]中的RPNs相比,我们用FCOS中的方法替换锚箱。另外,在FPN头层中加入GN,使训练更加稳定。所有其他设置与官方代码[7]中带有FPN的RPNs完全相同。如表6所示,即使没有拟议的center-ness分支,我们的FCOS已经显著提高了ar100和ar1k。在提出的中心ness分支的基础上,FCOS进一步将ar100和ar1k分别提高到52.8%和60.3%,这是ar100的18%相对提高和ar1k相对于FPN的3.4%绝对提高。

6.结论

我们提出了一种无锚和无提案的单级探测器FCOS。实验表明,FCOS与目前流行的基于锚的单级检测器(RetinaNet、YOLO和SSD)相比具有优势,但设计复杂度要低得多。FCOS完全避免了与锚定盒相关的所有计算和超参数,并以每像素预测的方式解决目标检测问题,类似于语义分割等其他密集预测任务。FCOS还实现了一级探测器的实时性能。我们还表明,FCOS可以作为两级检测器中的rpn,R-CNN的速度更快,性能大大优于its-rpn。鉴于FCOS的有效性和高效性,我们希望它能成为目前主流的基于锚的探测器的一个强大而简单的替代品。我们还相信,FCOS可以扩展到解决许多其他即时级别的识别任务。

附录

7.类不可知精度召回曲线

在图4、图5和图6中,我们给出了在IOU阈值下分割最小值上的类不可知精度召回曲线:分别为0.50、0.75和0.90。表7显示了对应于三条曲线的APs。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如表7所示,我们的FCOS比基于锚的RetinaNet具有更好的性能。此外,值得注意的是,在IOU阈值更严格的情况下,FCOS比RetinaNet有更大的改进,这表明FCOS具有更好的边界盒回归器,可以更准确地检测出目标。其中一个原因应该是FCOS有能力利用更多的前景样本来训练回归函数。
在这里插入图片描述
最后,如所有的精确召回曲线所示,这些检测器在精确召回曲线中的最佳召回率远低于90%。这进一步表明,FCOS与RetinaNet的最佳召回率(BPR)之间的小差距(98.40%对99.23%)对最终的检测性能几乎没有影响。

8.中心度可视化

正如我们在论文中提到的,通过抑制低质量的检测包围盒,提出的中心度分支大大提高了检测性能。在本节中,我们确认这一点。
我们期望中心度可以降低低质量边界框的得分,以便在后续的非最大抑制(NMS)后处理中过滤掉这些边界框。如果检测到的边界框具有与其对应的地面真值边界框的低IOU分数,则将其视为低质量边界框。一个低IOU但高置信度的包围盒很可能成为假阳性并损害精确度。
在图7中,我们将检测到的边界框视为2D点(x,y),x为其分数,y为检测到的框与其相应的地面真值框的IOU。如图7(左)所示,在应用中心度之前,有大量低质量的边界框,但具有高的置信度(即,y=x线下的点)。这些低质量的包围盒由于其分数高,在后处理中无法消除,从而降低了检测器的精度。将分类分数与中心度分数相乘后,这些分数被推到绘图的左侧(即,它们的分数被降低),如图7(右)所示。因此,这些低质量的包围盒在后处理中更容易被过滤掉,最终的检测性能也可以得到提高。
在这里插入图片描述

9.定性结果

一些定性结果如图8所示。如图所示,我们提出的FCOS可以探测到各种各样的物体,包括拥挤、遮挡、高度重叠、非常小和非常大的物体。
在这里插入图片描述

10.更多结论

Center-ness vs. IoUNet:
蒋等人关于centerness与IoUNet的说法:“获取精确目标检测的定位置信度”与不同的方法有着相似的目的(即抑制低质量预测)。IoUNet训练一个单独的网络来预测预测边界框和地面真值框之间的IoU分数。中心度作为探测器的一部分,只有一层,与探测器联合训练,因此简单得多。此外,“中心度”不作为预测边界框的输入。相反,它有直接通过位置预测高质量边界框的能力。
BPR in Section 4.1 and ambiguity analysis:
我们不打算将“特定IoU召回”与“框内像素召回”进行比较。表1的主要目的是表明FCOS的召回上界与锚定视网膜的召回上界非常接近(98.4%对99.23%)。其他IoU阈值列出的BPR与RetinaNet的官方代码中使用的阈值相同。此外,没有证据表明,FCOS的回归目标是很难学习的,因为它们更分散。FCOS实际上产生了更精确的边界框。
在训练过程中,我们通过选择最小面积的地面真值盒来处理同一FPN水平上的模糊问题。测试时,如果同一类的两个对象A和B有重叠,无论重叠中的位置预测的是哪一个对象,预测都是正确的,漏掉的预测只能由属于它的位置来预测。在A和B不属于同一个类的情况下,重叠中的一个位置可能会预测A的类,但会回归B的边界框,这是一个错误。这就是为什么我们只计算不同类之间的模糊性。此外,如表8所示,这种模糊性似乎不会使FCOS比AP中的RetinaNet更糟。
在这里插入图片描述
Additional ablation study:
如表8所示,vanilla 型FCOS的性能与RetinaNet相当,设计简单,网络输出少9×9。此外,FCOS比单锚的RetinaNet更有效。对于testdev上的2%增益,除了表8中的组件带来的性能增益外,我们推测不同的训练细节(例如,学习率计划)可能会导致性能上的轻微差异。
RetinaNet with Center-ness:
中心度不能在RetinaNet中直接使用,每个位置有多个锚定框,因为特征地图上的一个位置只有一个中心度得分,但同一位置上的不同锚定框需要不同的“中心度”(请注意,中心度也用作正/负样本的“软”阈值)。
对于基于锚的RetinaNet,锚箱和地面真值箱之间的IoU分数可以作为“中心度”的替代。
Positive samples overlap with RetinaNet:
我们想强调的是,中心性只有在测试时才起作用。训练时,地面真相框中的所有位置都标记为阳性样本。因此,FCOS可以使用更多的前景位置来训练回归器,从而产生更精确的边界框。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值