论文阅读 You Only Look One-level Feature

You Only Look One-level Feature

Abstract

本文重新审视了特征金字塔网络(FPN)在单阶段检测器中的应用,并指出FPN的成功在于其对目标检测优化问题的divide-and-conquer解决方案,而不是多尺度特征融合。从优化的角度出发,我们介绍了一种替代性的方法来解决这个问题,而不是采用复杂的特征金字塔 ,我们仅利用一个级别的特征进行检测。基于简单高效的解决方案,我们提出了YOLOF,在我们的方法中,提出了两个关键组成部分,即扩张编码器(Dilated Encoder)和均匀匹配(Uniform Matching)。


1. Introduction

在最先进的两阶段检测器和单阶段检测器中,特征金字塔成为一个关键组件。构建特征金字塔最流行的方法是特征金字塔网络(FPN),它主要带来两个好处:multi-scale feature fusion,将多个低分辨率和高分辨率的特征输入融合以获得更好的表示和divideand-conquer,针对不同尺度的目标在不同层级上进行检测。对于FPN,普遍认为其成功依赖于多级特征的融合。然而,这种观点忽视了FPN中divideand-conquer的作用,导致较少的研究关注这两个好处对于FPN成功的贡献。

本文研究了FPN在单阶段检测器中的两个好处的影响,具体而言,我们将FPN视为一个多输入多输出(MiMo)编码器,它从骨干网中编码多尺度特征,并为解码器(检测头)提供特征表示。我们在图1中对多输入多输出(MiMo)、单输入多输出(SiMo)、多输入单输出(MiSo)和单输入单输出(SiSo)编码器进行了对比实验。
在这里插入图片描述
令人惊讶的是,只具有一个输入特征C5并且不执行特征融合的SiMo编码器可以达到与MiMo编码器(即FPN)相当的性能,性能差距小于1 mAP。相比之下,MiSo和SiSo编码器的性能下降明显(≥ 12 mAP)。这些现象表明了两个事实:

  • (1)C5特征对于检测不同尺度的对象具有足够的上下文信息,这使得SiMo编码器能够获得可比较的结果;
  • (2)多尺度特征融合的好处远不及分而治之的好处重要

因此多尺度特征融合可能不是FPN最重要的好处。更深入地思考,divideand-conquer与目标检测中的优化问题相关。它通过对象尺度将复杂的检测问题划分为几个子问题,从而促进了优化过程。

上述分析表明,FPN成功的关键因素是它对目标检测优化问题的解决方案。divideand-conquer的解决方案是一个好的方式。但它会增加内存负担,减慢检测器的速度,并使单阶段检测器(如RetinaNet)的结构变得复杂。鉴于C5特征具有足够的上下文信息用于检测,我们提出了一种简单的方法来解决优化问题。

我们提出了You Only Look One-level Feature(YOLOF),它只使用单个C5特征(下采样率为32)进行检测。为了弥补缺乏多级特征的不足,我们首先适当设计编码器的结构,以提取适用于不同尺度对象的多尺度上下文信息;然后,我们采用统一matching mechanism来解决单个特征中稀疏锚点引起的正样本锚点不平衡问题,从而缩小SiSo编码器和MiMo编码器之间的性能差距。

YOLOF实现了与其特征金字塔对应的RetinaNet 相当的结果,但速度快2.5倍。在单个特征的方式下,YOLOF的性能与最近提出的DETR相当,但收敛速度更快(7倍)。在图像尺寸为608×608且采用其他技术的情况下,YOLOF在2080Ti上以60fps的速度实现了44.3的mAP,比YOLOv4 快13%。简言之,本文的贡献包括:

• We show that the most significant benefits of FPN is its divide-and-conquer solution to the optimization problem in dense object detection rather than the multiscale feature fusion.
• We present YOLOF, which is a simple and efficient baseline without using FPN. In YOLOF, we propose two key components, Dilated Encoder and Uniform Matching, bridging the performance gap between the SiSo encoder and the MiMo encoder.
• Extensive experiments on COCO benchmark indicates the importance of each component. Moreover, we conduct comparisons with RetinaNet, DETR and YOLOv4. We can achieve comparable results with a faster speed on GPUs.


2. Related Works

略过


3. Cost Analysis of MiMo Encoders

我们对MiMo编码器的成本进行了定量研究。我们基于RetinaNet 和ResNet-50设计了实验。具体而言,我们将检测任务的流程格式化为三个关键部分的组合:骨干网络、编码器和解码器(图2)。
在这里插入图片描述

我们在图3中展示了每个组件的FLOPs。与SiSo编码器相比,MiMo编码器给编码器和解码器带来了巨大的内存负担(134G vs. 6G)。此外,使用MiMo编码器的检测器运行速度比使用SiSo编码器的检测器慢得多(13 FPS vs. 34 FPS)。慢速是由于在使用MiMo编码器的检测器中在高分辨率特征图上检测对象,例如C3特征(下采样率为8)。鉴于MiMo编码器的上述缺点,我们旨在找到一种替代方法来解决优化问题,同时保持检测器的简单性、准确性和速度。

在这里插入图片描述


4. Method

受到上述实验中C5特征包含足够上下文信息用于检测大量对象的启发,我们在本节中尝试用简单的SiSo编码器替代复杂的MiMo编码器。但是,根据图3的结果显示,应用SiSo编码器会导致性能显著下降,因此这种替换并不简单。在这种情况下,我们仔细分析了阻碍SiSo编码器达到与MiMo编码器相当性能的障碍。我们发现,SiSo编码器引入了两个问题,导致性能下降。第一个问题是与C5特征的感受野相匹配的尺度范围受限,这阻碍了对不同尺度对象的检测性能。第二个问题是在单级特征中由于稀疏anchors而引起的 imbalance problem on positive anchors。接下来,我们详细讨论这两个问题并提供我们的解决方案。

4.1. Limited Scale Range

在目标检测中,识别具有巨大尺度差异的对象是一个基本挑战。解决这个挑战的一个可行方案是利用多级特征。在具有MiMo或SiMo编码器的检测器中,它们构建具有不同感受野(P3-P7)的多级特征,并在感受野与对象尺度匹配的级别上进行对象检测。然而,单级特征的设置改变了这个情景。在SiSo编码器中只有一个输出特征,其感受野是固定的。
在这里插入图片描述
C5特征的感受野只能覆盖有限的尺度范围,如果对象的尺度与感受野不匹配,性能就会较差。为了实现使用SiSo编码器检测所有对象的目标,我们必须找到一种方法生成具有不同感受野的输出特征,弥补多级特征的缺失。

我们首先通过堆叠标准卷积和扩张卷积(dilated convolutions)来扩大C5特征的感受野。尽管扩大了覆盖的尺度范围,但仍然无法覆盖所有的对象尺度,因为扩大过程将原本覆盖的所有尺度乘以一个大于1的因子。我们在图4(b)中说明了这种情况,整个尺度范围与图4(a)中的尺度范围相比向更大尺度移动。然后,我们通过将原始尺度范围和扩大的尺度范围的特征进行相加,生成一个具有多个感受野的输出特征,涵盖所有对象的尺度范围(图4©)。上述操作可以通过在中间的3×3卷积层上构建具有扩张操作的残差块轻松实现。

Dilated Encoder 我们提出了图5中的SiSo编码器,命名为Dilated Encoder。它包含两个主要组件:Projector和 Residual Blocks。Projector首先应用一个1×1卷积层来减少通道维度,然后添加一个3×3卷积层来改善语义上下文,这与FPN中的操作相同。之后,我们堆叠了四个连续的带有不同扩张率的残差块,用于在3×3卷积层中生成具有多个感受野的输出特征,覆盖所有对象的尺度。
在这里插入图片描述
Discussion: Dilated convolution是目标检测中扩大receptive field的常用策略,TridentNet[20]使用Dilated convolution来生成多尺度特征。它处理基于多分支结构和权值共享机制的目标检测尺度变化问题,不同于我们的单层次特征设置。此外,Dilated Encoder对残差块逐个进行扩张,没有权值共享。虽然DetNe也相继应用了扩展残块,但其目的是保持特征的空间分辨率,并在主干的输出中保留更多细节,而我们的目的是在主干外生成具有多个receptive fields 的特征。Dilated Encoder的设计使我们能够在单级特征上检测所有对象,而不是像TridentNet和DetNet那样在多级特征上检测所有对象。

4.2. Imbalance Problem on Positive Anchors

positive anchors的定义对于目标检测中的优化问题至关重要。在基于anchors的检测器中,定义positive的策略主要是通过测量anchors和ground-truth之间的IoUs。在RetinaNet中,如果anchors和ground-truth的最大IoU大于阈值0.5,则将该锚点设置为正。我们称之为Max-IoU匹配。

在MiMo编码器中,anchors以密集的方式在多个级别上预先定义,并且ground-truth boxes 在与其尺度对应的特征级别中生成positive anchors。考虑到 divide-and-conquer mechanism,Max-IoU匹配使每个尺度中的 ground-truth boxes能够产生足够数量的正锚点。然而,当我们采用SiSo编码器时,与MiMo编码器相比,锚点的数量大幅减少,从100k减少到5k,导致锚点稀疏。在应用Max-IoU匹配时,sparse anchors会给检测器带来匹配问题,如图6所示。大的 ground-truth boxes比小的 ground-truth boxes诱导出更多的positive anchors,这就造成了positive anchors的不平衡问题。这种不平衡使得检测器在训练时关注大的ground-truth boxes而忽略了小的。

在这里插入图片描述

Uniform Matching: 为了解决positive anchors中的这种不平衡问题,我们提出了一种均匀匹配策略:采用k个最近的anchor作为每个ground-truth box的positive anchors,确保所有ground-truth box都可以均匀地与相同数量的positive anchors匹配,而不管它们的大小(图6)。根据Max-IoU匹配,我们在Uniform matching中设置了IoU阈值,以忽略大IoU(>0.7)的负锚点和小IoU(<0.15)的positive anchors。

Discussion: relation to other matching methods: 匹配过程中应用topk并不新鲜。ATSS首先在L个特征水平上为每个ground-truth box选择top个anchors,然后通过动态IoU阈值在k × L个候选锚点中对 positive anchors进行采样。然而,ATSS侧重于自适应地定义positives和negatives,而我们的Uniform Matching侧重于使用稀疏锚点实现positives的平衡。虽然以前的几种方法在正样本上实现了平衡,但它们的匹配过程不是针对这种不平衡问题设计的。

4.3. YOLOF

我们提出了一个快速、直观的single-level feature框架,记为YOLOF。我们将YOLOF格式分成三部分:主干、编码器和解码器。如图9所示:
在这里插入图片描述
Backbone 在所有模型中,我们简单地采用ResNet和ResNeXt系列作为我们的Backbone。所有模型都在ImageNet上进行预训练。Backbone的输出是C5特征图,它有2048个通道,下采样率为32。为了与其他检测器进行公平的比较,默认情况下主干中的所有batchnorm layers都是冻结的。

Encoder 我们首先通过在主干后添加两个 projection layers(一个1 × 1和一个3 × 3卷积)来遵循FPN,从而得到具有512通道的特征图。然后,为了使编码器的输出特征覆盖各种尺度的所有对象,我们提出添加残差块,残差块由三个连续的卷积组成:第一个1 × 1卷积进行channel reduction,reduction rate为4,然后使用一个3 × 3扩展卷积来扩大 receptive field,最后进行1 × 1卷积来恢复通道数。

Decoder 对于解码器,我们采用了RetinaNet的主要设计,它由两个并行的 task-specific heads组成:分类头部和回归头部。我们只添加了两个小的修改。第一种是我们遵循DETR中FFN的设计,使两个头部的卷积层数不同。在回归头上有四个卷积,然后是批处理归一化层和ReLU层,而在分类头上只有两个。第二种是我们遵循Autoassign,并为回归头上的每个锚添加implicit objectness prediction(没有直接监督)。通过将分类输出与相应的implicit objectness相乘,生成所有预测的最终分类分数。

Other Details 如前一节所述,YOLOF中预定义的锚点是稀疏的,这降低了锚点与ground-truth box之间的匹配质量。我们在图像上添加一个随机移位操作来规避这个问题。该操作在左、右、上、下四个方向随机移动图像,最大移动32像素,目的是在图像中物体的位置注入噪声,增加 ground-truth boxes匹配高质量anchors的概率。此外,我们发现,当使用单级特征时,对锚点中心移动的限制也有助于最终classification。我们添加了一个限制,即所有锚点的中心位移应小于32像素。


5. Experiments

我们在MS COCO基准上评估了我们的YOLOF,并与RetinaNet和DETR进行了比较。然后,我们对每个component’s design进行了详细的ablation study,并进行了quantitative results and analysis。最后,为了对单级检测的进一步研究提供见解,我们进行了误差分析,并展示了与DETR相比,YOLOF的弱点。

Implementation Details YOLOF使用超过8个GPU的同步SGD进行训练,每个minibatch总共64张图像(每个GPU 8张图像)。所有模型的初始学习率为0.12。此外,根据DETR,我们为骨干网络设置了较小的学习率,即基础学习率的1/3。为了在开始时稳定训练,我们将warmup iterations的次数从500次扩展到1500次。对于训练计划,当我们增加batch size时,YOLOF中的“1x”计划设置为总共22.5k迭代,并且在15k和20k迭代中基本学习率降低了10。对于模型推理,我们使用阈值为0.6的NMS对结果进行后处理。对于其他超参数,我们遵循RetinaNet的设置。

5.1 && 5.2

略过

5.3. Error Analysis

我们在本节中增加了对YOLOF的误差分析,为未来 single-level检测的研究提供见解。我们采用最近提出的工具TIDE来比较YOLOF和DETR。如图7所示,DETR在定位上的误差比YOLOF要大,这可能与其回归机制有关。DETR以完全anchor free的方式对目标进行回归,并在图像中全局预测位置,这给定位带来了困难。相比之下,YOLOF依赖于预定义的锚点,这在预测中比DETR造成了更高的 missing error。根据4.2节的分析,在推理阶段,YOLOF的锚点比较稀疏,不够灵活。直观地说,在某些情况下,没有高质量的锚预先定义在ground-truth box周围。因此,引入anchor free机制加入到YOLOF中可能有助于缓解这个问题,我们把它留给以后的工作。

在这里插入图片描述


6. Conclusion

In this work, we identify that the success of FPN is due to its divide-and-conquer solution to the optimization problem in dense object detection. Given that FPN makes network structure complex, brings memory burdens, and slows down the detectors, we propose a simple but highly efficient method without using FPN to address the optimization problem differently, denoted as YOLOF. We prove its efficacy by making fair comparisons with RetinaNet and DETR. We hope our YOLOF can serve as a solid baseline and provide insight for designing single-level feature detectors in future research.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值