You Only Look One-level Feature

1 篇文章 0 订阅
1 篇文章 0 订阅

You Only Look One-level Feature

翻译:You Only Look One-level Feature - 追风赶月的少年 - 博客园 (cnblogs.com)

目标检测算法YOLOF:You Only Look One-level Feature - 云+社区 - 腾讯云 (tencent.com)

YOLOF:You Only Look One-level Feature(CVPR 2021) - 知乎 (zhihu.com)

代码:https://github.com/megvii-model/YOLOF

摘要:

​ 本文重新审视了用于一级检测器的特征金字塔网络 (FPN),并指出 FPN 的成功在于其对目标检测中的优化问题的分而治之的解决方案,而不是多尺度特征融合 。从优化的角度来看,本文引入了一种替代方法来解决该问题,而不是采用复杂的特征金字塔,仅利用一级特征进行检测。 基于简单高效的解决方案,本文提出了 You Only Look One-level Feature (YOLOF)。 在本文的方法中,提出了两个关键组件,扩张编码器均匀匹配,并带来了相当大的改进。

提出的目的:

解决FPN在单阶段和多阶段的目标检测器中已经成为一个基础模块,FPN之所以能如此受欢迎原因可能有两点:

  1. 多尺度特征融合:融合高分辨率和低分辨率的特征可以获得更强的表现;

  2. 分而治之:在不同大小的特征图上预测不同大小的物体;

作者为了论证以上两点,设计了如下四种结构:

image-20210605222223796

YOLOF由如下三部分组成:

  1. Backbone:ResNet和ResNeXt系列,C5特征图下采样32倍的特征图,2048个通道。所有的BN层均冻结。

  2. Encoder:1x1卷积,将通道减少为512,再接3x3卷积,然后接4个Residual Blocks,其中的3x3卷积使用不同的dilation rates。

  3. Decoder:借鉴了RetinaNet的结构,由classification head 和 regression head构成,有两个小改动。

  • (1)、借鉴了DETR的FFN,classification head 和 regression head有不同数量的卷积层,分别为2个和4个。
  • (2)、借鉴Autoassign,在regression head上添加了objectness预测(没有直接的监督信号)

FPN主要带来两个好处:(1)多尺度特征融合:融合多个低分辨率和高分辨率特征输入以获得更好的陈述;

(2)分而治之:检测不同层次的对象。

FPN 的成功依赖于多级特征的融合,从而引发了一系列手动设计复杂融合方法的研究,或通过神经架构搜索 (NAS) 算法 。然而,这种信念忽略了 FPN 中分而治之的功能。

令人惊讶的是,只有一个输入特征 C5 且不进行特征融合的 SiMo 编码器可以实现与 MiMo 编码器(即 FPN)相当的性能。
性能差距小于 1 mAP。 相比之下,MiSo 和 SiSo 编码器的性能急剧下降(≥ 12 mAP)。 这些现象说明了两个事实:(1) C5 特征携带足够的上下文来检测各种尺度上的对象,这使得 SiMo 编码器能够达到可比的结果; (2) 多尺度特征融合的好处远没有分治的好处那么重要,因此多尺度特征融合可能不是 FPN 最显着的好处,ExFuse 也证明了这一点 [50 ] 在语义分割中。 再深入思考,分而治之,与目标检测中的优化问题有关。 它将复杂的检测问题按对象尺度划分为多个子问题,从而促进优化过程。
上述分析表明,FPN 成功的关键因素是它解决了目标检测中的优化问题。 分而治之的解决方案是一个很好的方法。 但它带来了内存负担,减慢了检测器的速度,并使检测器的结构在像 RetinaNet [23] 这样的单级检测器中变得复杂。 鉴于 C5 特征带有足够的检测上下文,我们展示了一种解决优化问题的简单方法。
我们提出了 You Only Look One-level Feature (YOLOF),它只使用一个 C5 特征(下采样率为 32)进行检测。 为了弥合 SiSo 编码器和 MiMo 编码器之间的性能差距,我们首先适当地设计了编码器的结构,以提取各种尺度对象的多尺度上下文,弥补多级特征的缺失; 然后,我们采用统一的匹配机制来解决单个特征中稀疏锚引起的正锚不平衡问题。
在没有花里胡哨的情况下,YOLOF 实现了与其特征金字塔对应的 Reti naNet [23] 相当的结果,但速度提高了 2.5 倍。 以单一特征的方式,YOLOF 与最近提出的 DETR [4] 的性能相匹配,同时收敛得更快(7 倍)。 使用 608 × 608 的图像大小和其他技术 [1, 47],YOLOF 在 2080Ti 上以 60 fps 的速度运行达到 44.3 mAP,比 YOLOv4 [1] 快 13%。 简而言之,本文的贡献是:

我们表明 FPN 最显着的好处是它对密集目标检测中的优化问题的分而治之的解决方案,而不是多尺度特征融合;

我们提出了YOLOF,这是一个不使用FPN 的简单有效的基线。 在 YOLOF 中,我们提出了两个关键组件,Dilated Encoder 和 Uniform Matching,弥合了 SiSo 编码器和 MiMo 编码器之间的性能差距。 ;

COCO 基准测试的大量实验表明每个组件的重要性。 此外,我们与RetinaNet [23],DETR [4]和YOLOv4 [1]进行了比较。 我们可以在 GPU 上以更快的速度获得可比的结果。

单级特征检测器。 在早期,R-CNN 系列 [11, 10, 31] 和 R-FCN [6] 仅提取单个特征的 RoI 特征,而它们的性能落后于它们的多个特征对应物 [22]。 此外,在一级检测器中,YOLO [29] 和 YOLOv2 [30] 仅使用主干的最后一个输出特征。 它们可以非常快,但必须承受检测性能的下降。
CornerNet [19] 和 CenterNet [51, 7] 遵循这种方式并在使用下采样率为 4 的单个特征来检测所有对象的同时取得了有竞争力的结果。 使用高分辨率的特征图进行检测会带来巨大的内存成本,并且不利于部署。 最近,DETR [4]将变压器[39]引入到检测中,并表明仅使用一个C5功能就可以实现最新的结果。 由于完全无锚机制和变压器学习阶段,DETR 需要很长的训练计划才能收敛。

较长的训练时间表特性对于进一步改进来说是麻烦的。 与这些论文不同,我们研究了多级检测的工作机制。 从优化的角度来看,我们为广泛使用的 FPN 提供了一种替代解决方案。 此外,YOLOF 收敛速度更快并取得了可喜的性能; 因此,YOLOF 可以作为快速准确检测器的简单基线。

3. MiMo编码器成本分析

如第 1 节所述,FPN 在密集目标检测中的成功归功于它对优化问题的解决方案。 然而,多级特征范式不可避免地会使检测器变得复杂,带来内存负担,并减慢检测器的速度。 在本节中,我们对 MiMo 编码器的成本进行了定量研究。
我们设计了基于 RetinaNet [23] 和 ResNet-50 [14] 的实验。 具体来说,我们将检测任务的管道格式化为三个关键部分的组合:主干、编码器和解码器(图 2)。 在这个视图中,我们展示了图 3 中每个组件的 FLOP。与 SiSo 编码器相比,MiMo 编码器给编码器和解码器带来了巨大的内存负担(134G 与 6G)(图 3)。 此外,带有 MiMo 编码器的检测器的运行速度比带有 SiSo 编码器的检测器慢得多(13 FPS 与 34 FPS)(图 3)。 速度慢是由于使用 MiMo 编码器在检测器中检测高分辨率特征图上的对象造成的,例如 C3 特征(下采样率为 8)。 鉴于 MiMo 编码器的上述缺点,我们的目标是找到一种替代方法来解决优化问题,同时保持检测器的简单、准确和快速。

出于上述目的以及 C5 特征包含足够的上下文来检测大量对象的发现,我们尝试在本节中用简单的 SiSo 编码器替换复杂的 MiMo 编码器。 但是这种替换很重要,因为根据图 3 中的结果应用 SiSo 编码器时性能大幅下降。 鉴于这种情况,我们仔细分析了阻止 SiSo 编码器获得可比性的障碍MiMo编码器的性能。我们发现SiSo编码器带来的两个问题是导致性能下降的原因。第一个问题是与C5特征感受野匹配的尺度范围有限,这阻碍了对不同尺度目标的检测性能。第二个问题是单级特征中稀疏锚引起的正锚不平衡问题。接下来,我们将详细讨论这两个问题并给出解决方案。

基于上述目的以及C5特征包含足够的上下文来检测大量对象的发现,在本节中,我们尝试用简单的SiSo编码器替换复杂的MiMo编码器。但是这种替换是非常重要的,因为根据图3中的结果应用SiSo编码器时性能会大幅度下降

在目标检测中,识别不同尺度的目标是一个有趣的挑战。解决这一难题的一个可行方法是利用多层次的特性。在使用MiMo或SiMo编码器的检测器中,它们用不同的感受野(P3-P7)构造多个层次的特征,并在感受野与其尺度匹配的层次上检测对象。但是,单级功能设置会改变游戏。SiSo编码器只有一个输出特性,其接收场是一个常数。

我们首先通过堆叠标准卷积和扩张卷积来扩大 C5 特征的感受野 [45]。
虽然覆盖的尺度范围扩大到一定程度,但它仍然不能覆盖所有物体尺度,因为扩大过程对所有原始覆盖尺度乘以大于1的因子。 我们说明了图 4(b) 中的情况,与图 4(a) 相比,整个尺度范围转移到更大的尺度。 然后,我们通过添加相应的特征将原始尺度范围和扩大的尺度范围结合起来,产生具有覆盖所有对象尺度的多个感受野的输出特征(图 4(c))。
通过在中间的 3 × 3 卷积层上构造带有膨胀的残差块 [14],可以轻松实现上述操作。

**Dilated Encoder:**基于上述设计,我们在图 5 中提出了我们的 SiSo 编码器,命名为 Dilated En coder。 它包含两个主要组件:投影仪和残差块。 投影层首先应用一个 1×1 卷积层来降低通道维度,然后添加一个 3×3 卷积层来细化语义上下文,这与 FPN [22] 中的相同。 之后,我们在 3 × 3 卷积层中堆叠四个具有不同扩张率的连续扩张残差块,以生成具有多个感受野的输出特征,覆盖所有对象的尺度。

图5: Dilated Encoder 结构示意图。 图中,1×1和3×3表示1×1和3×3卷积层,×4表示四个连续的残差块。 Residual Blocks 中的所有卷积层后跟一个 batchnorm 层 [15] 和一个 ReLU 层 [27],而在 Projector 中,我们只使用卷积层和 batchnorm 层 [15]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nrbUtYWu-1623659765601)(file:///D:\QQfile\1727439300\Image\C2C\0Z1L3ENMCUO52K5{1XR%O8V.png)]

**讨论:**扩张卷积 [45] 是一种在目标检测中扩大特征感受野的常用策略。
如第 2 节所述,TridentNet [20] 使用扩张卷积来生成多尺度特征。

通过多分支结构和权重共享机制解决目标检测中的尺度变化问题,这与我们的单级特征设置不同。 并且,Dilated Encoder 将扩张的残差块一一堆叠,没有权重共享。 尽管 DetNet [21] 也成功地应用了扩张的残差块,但其目的是保持特征的空间分辨率并在主干输出中保留更多细节,而我们的目的是生成具有多个感受野的特征的骨干。
Dilated Encoder 的设计使我们能够检测单级特征上的所有对象,而不是像 TridentNet [20] 和 DetNet [21] 等多级特征。

4.2. 正锚的不平衡问题

正锚的定义对于目标检测中的优化问题至关重要。 在基于锚的检测器中,定义正面的策略主要是通过测量锚和地面实况框之间的 IoU 来实现的。 在 RetinaNet [23] 中,如果锚和地面实况框的最大 IoU 大于阈值 0.5,则该锚将设置为正。 我们称之为 Max-IoU 匹配。
在 MiMo 编码器中,anchors 以密集铺砌的方式在多个级别上预定义,地面实况框在与其尺度相对应的特征级别中生成正锚点。 鉴于分而治之的机制,Max-IoU 匹配使每个尺度中的真实框能够生成足够数量的正数。 然而,当我们采用 SiSo 编码器时,与 MiMo 编码器中的锚点数量相比,锚点的数量大幅减少,从 100k 到 5k,导致 chors1 稀疏。 在应用 Max-IoU 匹配时,稀疏锚会引发检测器的匹配问题,如图 6 所示。 大的真实值框比自然中的小真实值框产生更多的正值,这会导致不平衡问题对于正锚。 这种不平衡使得检测器在训练时关注大的真值框而忽略小的 。

图 6. 生成的正锚在具有单一特征的各种匹配方法中的分布。 该图旨在显示生成的正锚的平衡性。 Max-IoU 中的正锚点由大的真实值框主导,导致对象尺度之间的巨大不平衡。 ATSS alle 通过在训练时自适应地采样正和 chors 来解决不平衡问题。 Top1和Ours采用统一匹配,不分小、中、大对象均衡生成正锚

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WaCwjjwC-1623659765603)(C:\Users\rose\AppData\Roaming\Typora\typora-user-images\image-20210601112544420.png)]

Uniform Matching:为了解决正锚中的这种不平衡问题,我们提出了一种统一匹配策略:采用 k 个最近的锚作为每个真值框的正锚,确保所有真值框都可以与 相同数量的正锚一致,无论它们的大小如何(图 6)。
正样本中的平衡确保所有真实值框都参与训练并做出同等贡献。 另一方面,在 Max-IoU 匹配 [23] 之后,我们在 Uniform Matching 中设置 IoU 阈值以忽略大 IoU (>0.7) 负锚点和小 IoU (<0.15) 正锚点。

讨论:与其他匹配方法的关系。 在匹配过程中应用topk 并不新鲜。 ATSS [48] 首先在 L 个特征级别上为每个地面实况框选择 topk 锚,然后通过动态 IoU 阈值在 k × L 候选日期中采样正锚。 然而,ATSS 侧重于自适应地定义正负,而我们的统一匹配侧重于在具有稀疏锚点的正样本上实现平衡。 尽管之前的几种方法在正样本上实现了平衡,但它们的匹配过程并不是针对这种不平衡问题而设计的。 例如,YOLO [29] 和 YOLOv2 [30] 将地面实况框与最佳匹配单元格或锚点匹配; DETR [4] 和 [36] 应用匈牙利算法 [18] 进行匹配。 这些匹配方式可以看作是top1匹配,这是我们统一匹配的一个特例。 更重要的是,统一匹配和学习匹配方法的区别在于:学习匹配方法,如 FreeAnchor [49] 和 PAA [16],根据锚点自适应地将锚点分为正负 学习状态,而统一匹配是固定的,不会随着训练而发展。 统一匹配是为了解决 SiSo 设计下正锚点上的特定不平衡问题而提出的。
上图 6 中的比较和表 5e 中的结果证明了 SiSo 编码器中正平衡的重要性。

4.3 YOLOF

基于上述解决方案,我们提出了一个快速而直接的具有单级特征的框架,称为 YOLOF。 我们将 YOLOF 格式化为三部分:主干、编码器和解码器。 YOLOF的草图如图9所示,本节我们简单介绍一下YOLOF的主要组成部分。

骨干。 在所有模型中,我们简单地采用 ResNet [14] 和 ResNeXt [43] 系列作为我们的主干。 所有模型都在 ImageNet 上进行了预训练。 主干的输出是 C5 特征图,它有 2048 个通道,下采样率为 32。为了与其他检测器进行公平比较,主干中的所有批标准化层在默认情况下都是冻结的。
编码器。 对于编码器(图 5),我们首先通过在主干之后添加两个投影层(一个 1 × 1 和一个 3 × 3 卷积)来遵循 FPN,从而产生具有 512 个通道的特征图。 然后,为了使编码器的输出特征能够覆盖各种尺度上的所有对象,我们建议添加残差块,它由三个连续的卷积组成:第一个 1 × 1 卷积应用减少率为 4 的通道减少,然后一个 3 × 3 卷积与扩张用于扩大感受野,最后,1 × 1 卷积恢复通道数。
解码器。 对于解码器,我们采用 RetinaNet 的主要设计,它由两个并行的特定任务头组成:分类头和回归头(图 9)。 我们只添加了两个小的修改。 第一个是我们沿用了DETR[4]中FFN的设计,让两个head的卷积层数不同。 回归头上有四个卷积,后面是批归一化层和 ReLU 层,而分类头上只有两个。 第二个是我们遵循 Autoassign [52] 并为回归头上的每个锚点添加一个隐式对象性预测(没有直接监督)。 所有预测的最终分类分数是通过将分类输出与相应的隐式对象相乘来生成的。

图 9. YOLOF 的草图,由三个主要组件组成:主干、编码器和解码器。 图中,‘C5/DC5’表示下采样率为32/16的主干的输出特征。 ‘Cout’ 表示特征的通道数。 我们将编码器和解码器中的特征图的通道数设置为 512。 H × W 是特征图的高度和宽度。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fUrbj6fL-1623659765604)(C:\Users\rose\AppData\Roaming\Typora\typora-user-images\image-20210601144452325.png)]

**其他细节。**如前一节所述,YOLOF中的预定义锚是稀疏的,降低了锚和地面真值框之间的匹配质量。我们在图像上添加了一个随机移位操作来避免这个问题。该操作在左、右、上、下方向上随机移动图像,最大值为32个像素,目的是将噪声注入图像中物体的位置,提高地面真值框与高质量锚匹配的概率。此外,我们发现在使用单一层级特徵时,对锚定中心位移的限制也有助于最终的分类。我们添加了一个限制,即所有锚点的中心偏移应小于32像素。

5.实验

我们在MS-COCO[24]基准上评估了我们的YOLOF,并与RetinaNet[23]和DETR[4]进行了比较。然后,我们对每个组件的设计进行了详细的烧蚀研究,并给出了定量的结果和分析。最后,为了对单电平检测的进一步研究提供启示,我们进行了误差分析,并指出了YOLOF与DETR相比的不足[4]。具体情况如下

实施细节。YOLOF使用同步SGD在8个GPU上进行训练,每个小批量总共有64个图像(每个GPU 8个图像)。所有模型的初始学习率均为0.12。此外,根据DETR[4],我们为主干设置了一个较小的学习率,即基本学习率的1/3。为了在开始时稳定训练,我们将预热迭代次数从500次延长到1500次×’ YOLOF中的进度设置总共是22.5k次迭代,在15k和20k次迭代中,基本学习率降低了10。其他时间表根据Detectron2[42]中的原则进行调整。对于模型推理,我们使用阈值为0.6的NMS对结果进行后处理。对于其他超参数,我们遵循RetinaNet的设置[23]。

烧蚀实验

我们进行了多次烧蚀来分析YOLOF。我们首先对提出的两个组成部分。

进行了全面分析。然后,给出了各部件详细设计的烧蚀实验。结果如表4、5所示,下面将详细讨论。

扩展编码器和均匀匹配:表4显示扩展编码器和均匀匹配对YOLOF是必要的,并且带来了相当大的改进。
具体而言,扩展编码器对大型对象有显著影响(43.8 vs.53.2),并略微改善了中小型对象的结果。结果表明,有限的尺度范围是C5有限元分析中的一个严重问题(第4.1节)。我们的扩展编码器提供了一个简单而有效的解决这个问题。另一方面,中小物体的表现明显下降(∼ 10AP)没有均匀匹配,而对大对象的性能影响很小。该发现与第4.2节分析的正锚不平衡问题一致。正锚点被大型物体占据,导致在中小型物体上效果不佳。最后,当我们去除相关编码器和均匀匹配时,单级特征检测器的性能下降到∼ 如图1和图3所示。

ResBlock数:SiSo编码器中剩余块的数目。表5a中的结果表明,叠加更多的块对大目标有很大的改善,这是由于特征尺度范围的增加。虽然我们观察到更多块的持续改进,但我们选择添加四个剩余块以保持简单和整洁。

不同的扩展:根据第4.1节中的分析,为了使C5特性能够覆盖大范围,我们替换了标准3× 3剩余块中的卷积层及其扩张对应物。我们在表5b中显示了剩余块中不同膨胀的结果。对残存块进行扩张可以改善YOLOF,但当扩张过大时,这种改善是饱和的。我们推测造成这种现象的原因是2,4,6,8的膨胀足以匹配所有图像中的物体尺度。
添加或不添加快捷方式:表5c显示了快捷方式在扩展编码器中的重要作用。如果删除剩余块中的快捷方式,所有对象的性能都会显著下降。根据第4.1节,快捷键组合不同的标度范围。特征所覆盖的大范围、密集的尺度范围是以单级特征方式检测所有目标的关键因素。
阳性数量:地面真值箱诱导阳性锚数量的比较见表5d。直观地说,更多的积极锚可以获得更好的表现,因为当给予更多的样本时,学习会更容易。因此,在我们的统一匹配方式中,我们根据经验增加了每个基本真值框所诱导的正锚的数量。如表5d所示,当k大于1时,超参数k对性能非常鲁棒,这可能表明最重要的是YOLOF中的一致匹配方式。我们为我们的均匀匹配设置了top4,因为根据结果它是最佳选择。

图7.DETR-R101和YOLOF-R101的误差分析。根据潮汐[2],该图显示了六种类型的误差(Cls:分类误差;Loc:定位错误;两者:cls和loc错误;Dupe:复制错误;Bkg:背景误差;Miss:缺少错误)。饼图显示了每个误差的相对贡献,而条形图显示了它们的绝对贡献。
FP和FN分别表示假阳性和假阴性。
均匀匹配与其他匹配:我们将均匀匹配与YOLOF的其他匹配策略进行了比较,结果如表5e所示。所提出的单一形式匹配策略可以获得最佳的结果,与图6中的不平衡分析相吻合。值得注意的是,匈牙利匹配策略可以粗略地视为Top1匹配(表5d),从而获得相似的性能。它们之间的区别在于,在匈牙利匹配中,锚只匹配一个对象,而Top1匹配没有这个约束,实验表明这并不重要。原始ATSS发现top9锚是最好的选择,而我们发现在单级特征检测器中top15锚要好得多。通过使用top15锚,ATSS获得了36.5 mAP的良好结果,但仍然落后于我们的统一匹配1.2 mAP差距。

5.3. 误差分析

我们在本节中添加了YOLOF的误差分析,为单级特征检测的未来研究提供了见解。我们采用最近提出的工具潮[2]来比较YOLOF和DETR[4]。如图7所示,DETR比YOLOF具有更大的定位误差,这可能与其回归机制有关。DETR以完全无锚的方式对目标进行回归,并全局预测目标在图像中的位置,这给定位带来了困难。相比之下,YOLOF依赖于预定义的锚点,这导致了预测中比DETR[4]更高的缺失错误。根据第4.2节的分析,YOLOF的锚在推理阶段是稀疏的,不够灵活。直观地说,在某些情况下,地面真值框周围没有预先定义的高质量锚。因此,在YOLOF中引入无锚机制可能有助于缓解这一问题。

6.结论

在这项工作中,我们发现FPN的成功是由于它对密集目标检测中的优化问题的分而治之的解决。鉴于FPN使网络结构复杂,带来内存负担,降低了检测器的速度,我们提出了一种不使用FPN的简单而高效的方法来解决优化问题,称为YOLOF。我们通过与视黄碱和DETR的比较来证明其有效性。我们希望我们的YOLOF可以作为一个坚实的基线,为将来的研究设计单级特征检测器提供启示。

测中的优化问题的分而治之的解决。鉴于FPN使网络结构复杂,带来内存负担,降低了检测器的速度,我们提出了一种不使用FPN的简单而高效的方法来解决优化问题,称为YOLOF。我们通过与视黄碱和DETR的比较来证明其有效性。我们希望我们的YOLOF可以作为一个坚实的基线,为将来的研究设计单级特征检测器提供启示。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值