FCOS: Fully Convolutional One-Stage Object Detection

参考    FCOS: Fully Convolutional One-Stage Object Detection - 云+社区 - 腾讯云

目录

摘要

1、Introduction

2、Related Work

3、Our Approach

3.1、全卷积一阶段检测器

3.2、用FPN和FCOS结合起来进行多层预测

3.3、FCOS的中心凸端

4、实验

4.1、消融研究

4.1.1、用FPN进行多层预测

4.1.2、有或者没有中心

4.1.3、FCOS和基于anchor的检测器

4.2、和最先进的检测器的比较

5、扩展到区域建议

6、结论


摘要

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

1、Introduction

目标检测是一项基本的计算机视觉任务,需要算法为图像中的每个感兴趣的目标预测一个带有类别标记的外接框。所有现在的检测机制,比如Faster R-CNN、SSD和YOLO v2等依赖于一组预定义的锚框,并且在很长一段时间内我们认为锚框的使用是目标检测能够成功的关键因素之一。尽管取得了巨大的成功,需要注意的是基于锚框的检测器有一些缺点:

(1)、例如RetinaNet和Faster R-CNN所示,锚的尺寸、宽高比和数量对检测性能有很重要的影响。例如,在RetinaNet中,在COCO数据集上,改变这些超参数对性能有4%的影响。因此,基于锚框的检测器需要精细的调节超参数。

(2)、尽管精细设计了,因为锚的尺度和宽高比是固定的,检测器处理形状变换比较大的目标是比较困难,特别是对于小目标。预定义的锚框也妨碍检测器的泛化能力。在新的检测任务上,对不同的尺寸和宽高比的目标需要重新设计。

(3)、为了达到较高的召回率,检测器需要密集的覆盖输入图像(例如,在FPN中对宽为800个像素的图像有超过180k的锚框)。在训练过程中这些锚框大多数被标记为负样本。在训练过程中这些过多的负样本加剧了正负样本的不平衡。

(4)、锚框也包含复杂的计算,例如计算锚框和ground-truth的IoU。

最近全卷积网络在密集预测任务上取得了巨大的成功,例如语义分割、深度估计、关键点检测和计数等。由于锚框的使用,目标检测可能是唯一一个偏离简洁的全卷积逐像素预测高级计算机视觉任务。一个很自然的问题是:我们能否以简洁的逐像素方式,类似语义分割中的FCN,来解决目标检测问题?因此这些基本的计算机视觉任务能在统一的单框架中解决,答案是肯定的。更重要的是,我们首先证明了基于FCN的更简洁的目标检测器取得了比基于锚的同类检测器更好的性能。

在以前的文献中,一些方法尝试使用基于FCN的方法,例如,DenseBox。特别地,在每层特征图上,对每个空间位置,这些基于FCN的框架直接预测一个4维的向量加上一个类别。如图1的左边所示,这个4维向量描述了bounding box的4个边到Feature Map的相对补偿。除了每个位置需要回归一个4维的连续向量之外,这些框架和语义分割中的FCN类似。然而,为了处理不同尺寸的bounding box。DenseBox将训练图像剪裁和变换到一个相同的尺度。因此,DenseBox必须在FPN上执行,这违反了FPN在所有卷积上计算一次的思想。此外,更显著的是,这些方法主要在特殊空间目标使用,例如场景文字检测或人脸检测,因为它相信当这些方法应用到具有高度重叠的Bounding Box的通用目标检测时效果不好。如图1右边所示,高度重叠的Bounding Box会导致棘手的模糊:对重叠区域的像素不清楚回归到哪个Bounding Box。

                                 

在后续中,我们将进一步研究这个问题,并说明使用FPN可以在很大程度上消除这种模糊性。结果表明,该方法与传统的基于锚框的检测方法具有相当的检测精度。此外,我们注意到我们的方法可能会在远离目标目标中心的位置产生大量低质量的预测框。为了抑制这些低质量的检测,我们引入一个新的“center-ness”分支(只有一层)来预测一个像素和它对应的bounding box中心的偏差,如式(3)所示。然后用这个分数来降低低质量预测框的权重,合并NMS中的检测结果。简单而有效的中心度分支允许基于FCN的检测器在完全相同的训练和测试设置下比基于锚框的检测器效果更好。

这个新的检测框架有如下的优势:

  • 检测现在与许多其他FCN可解决的任务(如语义分割)统一起来,使得重用来自这些任务的思想更加容易。
  • 检测变得无建议、无锚,大大减少了设计参数的数量。设计参数通常需要启发式调整和许多技巧,以实现良好的性能。因此,我们新的检测框架使检测器,特别是它的训练,变得相当简单。
  • 通过消除锚框,我们的新检测器完全避免了与锚框相关的复杂计算,如训练期间的IoU计算和训练期间的锚盒和ground-truth之间的匹配,使得训练和测试更快,并且比基于锚框的版本需要更少的内存。
  • 没有附加的功能,我们可以在单阶段检测器中实现最先进的结果。结果表明,该算法可以作为两级检测器的区域建议网络,其性能明显优于基于锚点的区域建议网络。考虑到更简单的无锚检测器的性能甚至更好,我们鼓励社区重新考虑在目标检测中使用锚盒的必要性,目前锚框被认为是检测的实际标准。
  • 该检测器可立即扩展到解决其他视觉任务,只需进行最小的修改,包括实例分割和关键点检测。我们认为,这种新方法可以作为许多实例预测问题的新基线。

2、Related Work

Anchor-based Detectors:

基于锚点的检测器继承了传统滑动窗口和基于建议的检测器(如Fast R-CNN)的思想。在基于锚点的检测器中,锚框可以看作是预先定义的滑动窗口或建议,这些滑动窗口或建议被划分为正补丁或负补丁,并通过额外的偏移量回归来细化边界框位置的预测。因此,这些检测器中的锚框可视为训练样本。与之前的Fast RCNN等检测器反复计算每个滑动窗口/建议的图像特征不同,锚框利用CNNs的特征图,避免了重复的特征计算,大大加快了检测过程。Faster R-CNN在其RPNs、SSD和YOLOv2中推广了锚框的设计,成为现代检测器的约定。

但是,如上所述,锚框会导致过多的超参数,为了获得良好的性能,通常需要仔细地调整这些超参数。除了上述描述锚框形状的超参数外,基于锚框的检测器还需要其他超参数将每个锚框标记为正样本、忽略样本或负样本。在以前的工作中,他们经常使用锚框和ground truth框之间的交集(IOU)来确定锚框的标签(例如,如果锚框的IOU在[0.5,1])。这些超参数对最终精度有很大影响,需要进行启发式调优。同时,这些超参数是针对检测任务的,使得检测任务偏离了用于语义分割等其他密集预测任务的整洁的全卷积网络架构。

Anchor-free Detectors:

最流行的无锚检测器可能是YOLOv1。YOLOv1预测的是物体中心附近点的边界框,而不是锚框。只有靠近中心的点被使用,因为它们被认为能够产生更高质量的检测。但是,由于只使用靠近中心的点来预测边界盒,YOLOv1的召回率较低,正如YOLOv2中所提到的那样。因此,YOLOv2也使用了锚框。与YOLOv1相比,FCOS利用ground truth框中的所有点来预测外接框,并通过提出的“中心度”分支来抑制低质量的检测到的外接框。因此,如我们的实现所示,与基于锚框的检测器相比,FCOS能提供比较高的召回率。

CornerNet是最近提出的一种单级无锚检测器,它检测外接框的一对角,并将它们分组形成最终检测到的边界框。CornerNet需要更复杂的后处理,来对属于同一实例的角进行分组。为了分组,我们学习了一个额外的距离度量。

另一类基于DenseBox的无锚检测器。由于处理外接框框的困难和召回率相对较低,检测器家族被认为不适合通用目标检测。在这项工作中,我们证明了这两个问题可以大大缓解与多层次的FPN预测。此外,我们也一起展示我们的中心度分支,与机遇锚的同类相比,更简单的检测器能获得更好的性能。

3、Our Approach

在本节中,我们首先以逐像素预测的方式重新规划目标检测。接下来,我们展示了如何利用多级预测来提高召回率并解决由于重叠边界框而产生的歧义。最后,我们提出了我们的“中心”分支,它有助于抑制低质量的检测边界框,并大大提高了整体性能。

3.1、全卷积一阶段检测器

F_i \in R^{H\times W \times C}为主干CNN第i层上的特征图,s为直到该层的总步幅。输入图像的Ground Truth边界框定义为\{B_i\},其中B_i = (x_0^{(i)},y_0^{(i)},x_1^{(i)},y_1^{(i)},c^{(i)}) \in R^4 \times \{ 1,2,...,C\}(x_0^{(i)},y_0^{(i)})(x_1^{(i)},y_1^{(i)})表示边界框的左上角和右下角的坐标。c^{(i)}是外接框中的目标所属的类。C是类的数量,对于MS-COCO数据集是80。

在特征图F_i上的每个位置(x,y),我们可以将它映射回输入图像(\left \lfloor \frac{s}{2} \right \rfloor + xs, \left \lfloor \frac{s}{2} \right \rfloor + ys)和位置(x,y)感受野的中心靠近。与基于锚框的检测器不同,基于锚框的检测器将输入图像上的位置作为(多个)锚框的中心,并将这些锚框作为参考对边界框进行回归,而我们则直接对该位置的目标框目标框。也就是说,在基于锚框的检测器中,我们的检测器直接将位置视为训练样本,而不是锚锚框,这与语义分的FCNs是一样的。

具体来说,如果位置(x,y)落入任何ground-truth box被认为是正样本,位置的类标签c^*是ground-truth框的类标签。否则就是一个负样本,并且c^* = 0(背景类)。除了用于分类的标签外,我们还有一个4D的实向量t^* = (l^*, t^*, r^*, b^*)被显示为位置的回归目标。这里显示的是l^{*}, t^{*}, r^{*}b^{*}从位置到边界框的四个边的距离,如图1(左)所示。如果一个位置落在多个边界框中,它被认为是一个模糊的样本。我们简单地选择最小面积的边界框作为它的回归目标。在下一节中,我们将展示多级预测可以显著减少模糊样本的数量,从而几乎不影响检测性能。形式上,如果位置(x,y)与边界框B_i相关联,则该位置的训练回归目标可以表示为:

                            

 值得注意的是,FCOS可以利用尽可能多的前景样本来训练回归器。与基于锚框的检测器不同,基于锚框的检测器只考虑与Ground truth有足够高IoU的锚框作为正样本。我们认为,这可能是FCOS表现优于基于锚框方法的原因之一。

网络输出:对应于训练目标,我们的网络的最后一层预测分类标签的80D向量\boldsymbol{p}和4D向量\boldsymbol{t}=(l, t, r, b)边界框坐标。在RetinaNet之后,我们不再训练多类分类器,而是训练C个二进制分类器。与RetinaNet类似,我们在骨干网的特征图之后分别添加了四个卷积层来进行分类和回归。此外,由于回归目标经常是正的,在回归分支的顶部我们使用exp(x)将任意实数映射到为0到无穷大。值得注意的是,FCOS的网络输出变量是每个位置有9个锚框检测器的9倍。

损失函数:

我们将训练损失函数定义如下:

                                  

其中L_{\mathrm{cls}}为Focal Loss,L_{reg}是UnitBox定义的IOU loss。N_{pos}代表正样本的数量,\lambda取为1来作为L_{reg}的平衡权重。求和是对特征图F_i上的所有位置进行计算。是指示函数,如果c_i^*>0就取为1。

推断:

FCOS的推断很简单。对于给定的输入图像,通过网络进行转发,得到特征图中每个位置的分类分数\boldsymbol{p}_{x, y}和回归预测\boldsymbol{t}_{x, y}。在RetinaNet之后,我们选择p_{x,y} > 0.05作为正样本的位置,并将式(1)转化为预测的边界框。

3.2、用FPN和FCOS结合起来进行多层预测

在这里,我们提出使用FPN时,FCOS能解决的两个潜在问题:(1)、在CNN中,最终特征图的大跨度(如16×)会导致相对较低的BPR(Best Possible Recall)。对于基于锚框的检测器,由于大跨度而导致的低召回率可以通过降低正锚框所需的IOU分数得到一定程度的补偿。对于FCOS,乍一看,人们可能会认为BPR比基于锚框的检测器低得多,因为不可能召回在最终特征图上没有位置的目标,因为距离太大。这里,我们经验表明,即使是一个大跨度,基于FCN的FCOS仍能够产生良好的BPR,它甚至可以产生比的基于锚框的检测器RetinaNet还好的BPR。因此,对FCOS来讲BRP确实不是一个问题。此外,利用多级FPN预测,BPR可以进一步改进,以达到基于锚框的RetinaNet所能达到的最佳BPR。(2)、ground-truth框中的重叠会导致难以处理的歧义,即,在重叠区域内,应该回归哪个bounding box。这种模糊性导致基于FCN的检测器性能下降。在本文工作中我们展示,这种模糊能用多层预测很好的处理。

在FPN之后,我们在不同层次的特征图上检测不同大小的目标。具体来说,我们使用了五个层次的特征图,分别定义为\left\{P_{3}, P_{4}, P_{5}, P_{6}, P_{7}\right\}P_{3}, P_{4}P_{5}由主干CNNs的特征图C_{3}, C_{4} \text { and } C_{5}生成,然后是一个1×1的卷积层,在FPN中采用自顶向下的连接方式,如图2所示。P_6P_7分别在P_5P_6上应用一个stride为2的卷积层生成。因此,P_3P_4P_5P_6P_7的特征层分别有8、16、32、64和128个跨度。

与基于锚框的检测器将不同大小的锚框分配到不同的特征层不同,我们直接限制每个层的边界框回归范围。更具体地说,我们首先计算出各个位置在所有特性级别上的回归目标l^*,t^*,r^*,b^*。接下来,如果一个位置满足max(l^*,t^*,r^*,b^*)>m_imax(l^*,t^*,r^*,b^*)<m_{i-1},它被设置为一个负样本,因此不再需要返回一个边界框。这里m_i是feature level i需要回归的最大距离。在本工作中,分别将m_2m_3m_4m_5m_6m_7设置为0、64、128、256、512、\infty因为不同大小的目标被分配到不同的特征层,并且大部分重叠发生在大小相当不同的目标之间。如果一个位置,即使使用了多层预测,仍然被分配给一个以上的ground-truth,我们简单地选择面积最小的ground-truth作为它的目标。实验结果表明,多层预测可以在很大程度上缓解上述模糊性,使无锚检测器达到与基于锚框的检测器相同的水平。

最后,根据FPN和RetinaNet,我们在不同的特征层之间共享头部,不仅使检测器的参数效率更高,而且提高了检测性能。然而,我们观察到需要不同的特征层来回归不同的尺寸范围(例如,对P3的范围是[0,64]。因此,对于不同的特征层使用相同的head是不合理的。因此,我们不使用标准exp(x),而是使用\exp \left(s_{i} x\right)和一个可训练的标量s_i来自动调整特征级别P_i的指数函数的基数,这稍微提高了检测性能。  

3.3、FCOS的中心度

在FCOS中使用多级预测后,其性能与基于锚框的检测器仍有一定差距。我们观察到,这是由于许多低质量的预测边界盒产生的位置远离一个物体的中心。

我们提出了一个简单而有效的策略来抑制这些低质量的检测边界框,而不引入任何超参数。具体来说,我们添加一个单层分支,与分类分支并行(如图2所示),以预测位置的“中心度”。中心度描述了该位置所负责的目标到中心的归一化距离,如图7所示。已知在一个位置上的回归目标l^*, t^*, r^*, b^*,中心度目标被定义为,

                            

我们用平方根来减缓中心的衰减。中心度范围从0到1,因此用二进制交叉熵(BCE)损失进行训练。将损失添加到损失函数式(2)中,在进行测试时,将预测的中心度与相应的分类分数相乘,计算最终得分(用于对检测到的边界框进行排序)。因此,中心度可以降低远离目标中心的边界框的得分。最终的非最大抑制(non-maximum suppression, NMS)过程可能会过滤掉这些低质量的边界框,从而极大地提高检测性能。

中心度的另一种选择是仅使用ground-truth边界框的中心部分作为正样本,并附加一个额外超参数的代价。在我们提交之后,在[1]中已经显示,这两种方法的结合可以获得更好的性能。实验结果见表3。

               

4、实验

我们的实验是在大尺度检测基准COCO上进行的。按照惯例FPN和RetinaNet,我们使用COCO trainval35k split (115K图像)进行训练,使用minival split (5K图像)作为消融研究的验证。我们通过将检测结果上传到评估服务器来报告我们在测试dev split (20K图像)上的主要结果。

                              

训练细节:除非特别说明,我们使用ResNet-50作为骨干网络,并使用与RetinaNet相同的超参数。具体来说,我们的网络使用随机梯度下降(SGD)进行90K迭代训练,初始学习率为0.01,最小批量为16张图像。在迭代60K和80K时,学习率分别降低了10倍。重量衰减和动量分别设置为0.0001和0.9。我们用在ImageNet上预先训练的权值初始化我们的骨干网络。对于新添加的层,我们在ReitaNet中初始化它们。除非指定,否则将把输入图像的大小调整为其短边为800,长边小于或等于1333。

推断细节:首先通过网络对输入图像进行转发,得到带有预测类的预测边界框。除非特别说明,以下的后处理与RetinaNet完全相同,我们直接利用了与RetinaNet相同的后处理超参数。我们使用与训练中相同大小的输入图像。我们假设,如果我们仔细调整超参数,检测器的性能可能会进一步提高。

4.1、消融研究

4.1.1、用FPN进行多层预测

如前所述,基于FCN的检测器的主要关注点是较低的召回率和由于ground-truth边界框重叠而导致的模糊样本。在本节中,我们证明了这两个问题都可以通过多级预测来解决。

                       

最佳的可能召回:

基于FCN的检测器的第一个问题是,它可能无法提供良好的最佳可能召回(BPR)。在本节中,我们将说明这种关注是不必要的。在这里,BPR被定义为一个检测器最多能召回的Ground Truth框数与所有Ground Truth框数之比。如果一个ground-truth框被分配给至少一个样本,则认为该框被召回。在训练期间,在FCOS中的一个位置或在基于锚框的检测器中的一个锚框)。如表1所示,只有特征层P_4, stride为16(即, FCOS已经可以获得95.55%的BPR。BPR远远高于官方实施检测器中基于锚定的检测器RetinaNet的90.92%的BPR,其中仅使用IOU≥0.4的低质量匹配。在FPN的帮助下,FCOS可以实现98.40%的BPR,非常接近基于锚框的检测器通过使用所有低质量的匹配所能实现的最佳BPR。由于目前检测器的最佳召回率远低于90%,FCOS与锚框的检测器之间的小BPR差距(小于1%)实际上并不会影响检测器的性能。表3也证实了这一点,在相同的训练和测试设置下,FCOS的AR效果甚至比基于锚框的同类更好。因此,对低BPR的关注可能是不必要的。

           

模糊不清的样本:

基于FCN的检测器另一个问题是,由于ground-truth边界框的重叠,可能会产生大量的模糊样本,如图1(右)所示。在表2中,我们给出了模糊样本与所有正样本在最小分割上的比值。从表中可以看出,如果不使用FPN,只使用特征层P_4,确实存在大量的二义性样本(23.16%)。但是,使用FPN,这个比率可以显著降低到7.14%,因为大多数重叠的目标被分配到不同的特性级别。此外,我们认为由同类物体重叠而产生的模糊样本无关紧要。例如,如果具有相同类的目标A和B有重叠,那么无论重叠中的哪个目标的位置预测都是正确的,因为它总是与相同的类别匹配。丢失的目标可以通过只属于它的位置来预测。因此,我们只计算不同类别的边界框重叠中的模糊样本。如表2所示,多级预测将模糊样本的比例从17.84%降低到3.75%。为了进一步证明在基于FCN的FCOS中,ground truth框的重叠不是一个问题,我们在推断有多少检测到的边界框来自于模糊位置时进行了计数。我们发现只有2.3%检测到的边界框是由模糊的位置产生的。进一步只考虑不同类别之间的重叠,比例降低到1.5%。注意,这并不意味着有1.5%的地方FCOS不能工作。如前所述,这些位置与面积最小的ground truth框相关联。因此,这些位置只承担丢失一些较大目标的风险。在接下来的实验中,它们并没有使我们的FCOS比基于锚的检测器差。

                         

4.1.2、有或者没有中心

如前所述,我们提出“中心度”来抑制由远离目标中心的位置产生的低质量检测到的边界框。如表4所示,中心度分支可以将AP从33.5%提升到37.1%,使得无锚FCOS的表现优于基于锚的RetinaNet(35.9)。请注意,基于锚点的RetinaNet使用两个IoU阈值将锚点框标记为阳性/阴性样本,这也有助于抑制低质量的预测。提出的中心度可以消除两个超参数。然而,在我们最初提交之后,它表明同时使用中心度和阈值可以获得更好的性能,如行“+ ctr”所示。“抽样”见表3。可以注意到,不用引入额外的中心度分支,也可以用预测的回归向量计算中心度。但是,如表4所示,由回归向量计算得到的中心度并不能提高性能,因此需要分离中心度。

4.1.3、FCOS和基于Anchor的检测器

上述的FCOS与标准的RetinaNet有两个小的不同。1)除了最后的预测层外,我们在新增的卷积层中使用了Group Normalization (GN),这使得我们的训练更加稳定。2)我们使用P_5来生产标准的RetinaNet中的P_6P_7,而不是C_5。我们注意到,使用P_5可以略微提高性能。

为了证明我们的FCOS可以作为基于锚点的检测器的简单而强大的替代品,为了公平的比较,我们去掉了GN(为了防止其爆炸,对梯度进行了裁剪),并在我们的检测器中使用C_5。如表3所示,在完全相同的设置下,我们的FCOS仍然优于基于anchor的检测器(36.3% vs 35.9%)。此外,值得注意的是,我们直接使用的所有超参数(如学习率,NMS阈值等)从RetinaNet,这是优化了基于锚的检测器。我们认为,如果对超参数进行调整,FCOS的性能还可以进一步提高。

值得注意的是,通过表3所示的一些几乎免费的改进,我们的无锚检测器的性能可以大幅度提高。鉴于无锚检测器的优越性能和优点(例如,它比基于锚框的检测器更简单、超参数更少),我们鼓励社区重新考虑在目标检测中使用锚框的必要性。

          

                                          

4.2、和最先进的检测器的比较

在MS-COCO基准的test - dev split上,我们将FCOS与其他最先进的目标检测器进行了比较。在这些实验中,我们在训练期间随机缩放图像的短边,范围从640到800,迭代次数翻倍到180K(学习速率变化点按比例缩放)。其他设置与表3中AP 37.1%的模型完全相同。如表5所示,在使用ResNet-101-FPN时,我们的FCOS在AP中的表现要比具有相同主干的RetinaNet高出2.4%。据我们所知,这是第一次没有任何附加功能的无锚检测器比基于锚的检测器表现出更大的优势。FCOS的性能也远远超过了其他基于两级主播的检测器,比如Faster R-CNN。以ResNeXt-64x4d-101-FPN为基干,FCOS的AP达到43.2%,大大超过目前最先进的无锚检测器的RetinaNet,同时也简单得多。注意,角落网需要将角落与嵌入向量分组,这需要对检测器进行特殊设计。因此,我们认为FCOS更有可能成为目前主流基于锚的检测器的强大而简单的替代品。此外,表3中改进的FCOS在单模型和单尺度测试下,AP达到了44.7%,大大超过了之前的检测器。

5、扩展到区域建议

到目前为止,我们已经证明,在一个单级检测器,我们的FCOS可以实现甚至更好的性能比锚基的同行。直观地说,FCOS还应该能够用两级检测器中Faster RCNN中的FPN替换区域建议网络(RPN)中的锚框。在这里,我们通过实验证实了这一点。

与FPN的RPN相比,我们用FCOS中的方法代替了锚框。在FPN头的层中加入GN,使训练更加稳定。所有其他设置与官方代码中带有FPN的RPN完全相同。如表6所示,即使没有提出的中心度分支,我们的FCOS已经显著地改进了AR100和AR1k。通过提出的中心度分支,FCOS进一步将\mathrm{AR}^{100}\mathrm{AR}^{1 k}分别提高到52.8%和60.3%,相对于FPN的RPNs AR100提高了18%,相对于FPN的RPNs AR1k提高了3.4%。

6、结论

我们提出了一个无锚和无提议的单阶段检测器FCOS。实验结果表明,FCOS与目前流行的基于锚框的单阶段检测器(包括RetiaNet、YOLO和SSD)相比,具有较好的性能,但设计复杂度要低得多。FCOS完全避免了与锚框相关的所有计算和超参数,以逐像素预测的方式解决了目标检测,类似于语义分割等其他密集预测任务。FCOS还在单阶段检测器中实现了最先进的性能。我们也证明了FCOS可以作为RPNs在两级检测器中Faster R-CNN中使用,并且在很大程度上优于其RPNs。鉴于其有效性和高效性,我们希望FCOS能够成为目前主流检测器的一个强大而简单的替代品。我们也相信FCOS可以扩展到解决许多其他的实例级识别任务。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wanderer001

ROIAlign原理

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值