目标检测论文阅读:GiraffeDet算法笔记

标题:GiraffeDet: A Heavy-Neck Paradigm for Object Detection
会议:ICLR2022
论文地址:https://openreview.net/forum?id=cBu4ElJfneV
相比于其它文章对于neck的改进,这篇文章还指出目标检测中backbone并没有neck重要这一点。本文应该是第一个提出lightweight-backbone+heavy-neck范式检测算法的。文中还指出使用传统分类模型中的backbone会带来domain-shift的问题,也值得深思。很多实验和设计细节放在了附录,就不一一叙述了,核心部分都在正文(吐槽一下好多语句写的蛮拗口,甚至还有拼写错误)。

文章目录

  • Abstract
  • 1 Introduction
  • 2 Related Work
  • 3 The GiraffeDet
    • 3.1 Lightweight Space-to-Depth Chain
    • 3.2 Generalized-FPN
    • 3.3 GiraffeDet Family
  • 4 Experiments
    • 4.1 Dataset and Implementation Details
    • 4.2 Quantitative Evaluation on COCO Dataset
    • 4.3 Ablation Study
  • 5 Conclusion
  • Appendix

Abstract

传统的目标检测框架会沿袭图像识别模型中的backbone来提取深层的潜在特征,然后neck模块会融合这些潜在特征来获取不同尺度的信息。由于目标检测中的分辨率远大于图像识别中的分辨率,backbone的计算成本往往在总的推理成本中占主导地位。这种heavy-backbone的设计范式大多是由图像识别模型向目标检测发展时的历史遗留问题,而不是针对目标检测的端到端优化设计。在本文工作中,我们证明了这种范式确实只能产生次优的目标检测模型。为此,我们提出了一种新的heavy-neck的设计范式,GiraffeDet,一种形似长颈鹿的高效目标检测网络。GiraffeDet使用了一个非常轻量级的backbone和一个非常深且大的neck,促进不同空间尺度以及不同级别潜在语义的密集信息交换。这种设计范式使得检测器即使在网络的早期阶段也能以相同的优先级处理高级语义信息和低级空间信息,使其在检测任务中更加有效。多个流行的检测基准测试评估表明,GiraffeDet始终优于此前的SOTA模型。

1 Introduction

在过去的几年中,基于深度学习的目标检测方法取得了显著的进展。尽管目标检测网络在不同的结构设计、训练策略等方面变得更加强大,但检测所有大尺度变化物体的目标并未改变。例如,COCO数据集中最小和最大的10%目标实例的比例分别为0.024和0.472,缩放了近20倍。使用最近的方法来处理如此大尺度的变化是一个极大的挑战。为此,我们旨在通过设计一个尺度鲁棒的方法来解决这个问题。
为了缓解大尺度变化带来的问题,一个直观的方法是使用多尺度金字塔策略进行训练和测试。之前有工作在图像金字塔的相同尺度上训练和测试检测器,并选择性地将不同大小的目标实例的梯度作为关于图像尺度的函数进行反向传播。虽然这种方法提高了大多数现有的基于CNN方法的检测性能,但它并不实用,因为图像金字塔方法处理的是每一个尺度的图像,计算成本很大。此外,在使用预训练的分类主干时会产生另一个问题,分类和检测数据集之间的目标尺度的域偏移。
后来,提出了特征金字塔网络,以较低的计算成本近似图像金字塔。最近的方法仍然依赖于优秀的backbone设计,但这会使得高级特征与低级特征之间的信息交换不足。例如,一些工作通过自底向上的路径增强,用较低层中准确的定位信息来增强整个特征层次,然而这种自底向上的路径设计可能缺乏高级语义信息和低级空间信息的交换。根据上述挑战,本文提出以下两个问题:

  • 图像分类任务的backbone在检测模型中是不可缺少吗?
  • 什么类型的多尺度表示对检测任务是有效的?

这两个问题促使我们设计一个新的框架,其包括两个子任务,高效的特征下采样和充分的多尺度融合。首先,用于提取尺度敏感特征的传统backbone计算成本大,且存在域偏移的问题。一种可替代的轻量级backbone可以解决这些问题。其次,对于检测器来说,学习足够高级语义和低级空间特征之间的融合信息至关重要。基于上述动机,我们设计了一个形似长颈鹿的网络,命名为GiraffeDet,其具有以下特点:①一个替代的轻量级backbone可以提取多尺度特征变换而不需要任何额外的计算成本。②一种充分的跨尺度连接,Queen-Fusion,用于处理不同层的特征融合,就像国际象棋中的Queen Piece路径。③根据设计的轻量级backbone和灵活的FPN,我们为不同的FLOPs级别提出了一个GiraffeDet系列。
综上所述,本文的主要贡献如下:

  • 据我们所知,我们提出了第一个由轻量级的替代backbone和灵活的FPN组成的检测器。所提出的GiraffeDet系列由轻量级S2D-chain和Generalized-FPN组成,展现了SOTA的性能。
  • 我们设计了轻量级的空间到深度链(S2D-chain)来代替传统的基于CNN的backbone,并通过对照实验证明了FPN在目标检测模式中比传统的backbone更加关键。
  • 在我们提出的Generalized-FPN(GFPN)中,一种新颖的queen-fusion作为我们的跨尺度连接方式,融合了前一层和当前层的两级特征,并且 l o g 2 n log_2n log2n跳跃层连接提供了更高效的信息传输,可以扩展到更深的网络。

基于轻主干重颈部的范式,GiraffeDet系列模型在广泛的FLOPs性能权衡中表现良好。尤其是通过多尺度测试技术,GiraffeDet-D29在COCO数据集上达到了54.1%的mAP,优于其它SOTA方法。

2 Related Work

本文主要基于单阶段检测方法进行实验。本文关注特征金字塔(不是图像金字塔)策略,提出了高级语义信息和低级空间信息充分融合的方法。最近有很多研究设计了新的、不基于“backbone-neck-head”的结构,不过GiraffeDet还是按照“backbone-neck-head”的结构设计的,因为这种典型的结构在检测任务中被广泛使用并且被证明是有效的。

3 The GiraffeDet

大尺度变化依然是一个挑战。图1是GiraffeDet的整体结构,遵循单阶段检测器范式,包括轻量级的space-to-depth chain、generalized-FPN和预测网络。
目标检测论文阅读:GiraffeDet算法笔记_第1张图片

3.1 Lightweight Space-to-Depth Chain

大多数特征金字塔网络使用传统的CNN-based网络作为backbone,提取多尺度特征图,甚至学习信息交换。然而,随着CNN的发展,backbone变得越来越沉重,使用它们的计算成本很高。此外,近年来使用的backbone主要是在分类数据集上预训练的,例如在ImageNet上预训练的ResNet50。我们认为这些预训练的backbone用于检测任务是不合适的,会导致域偏移的问题。相比之下,FPN更强调高级语义和低级空间信息交换。因此,我们假设FPN在目标检测模型中比传统的backbone更加关键。
目标检测论文阅读:GiraffeDet算法笔记_第2张图片
我们提出用Space-to-Depth Chain(空间到深度链,S2D Chain)作为我们的轻量级backbone,它包含2个3 × 3卷积网络和堆叠的S2D块。具体地,使用3 × 3卷积进行初始的下采样,并引入更多的非线性变换。每个S2D块由一个S2D层和一个1 × 1卷积组成。S2D层通过固定间隔的均匀采样和重组特征,将空间维度信息转移到深度维度,从而在不增加额外参数的情况下对特征进行下采样。然后使用1 × 1卷积提供一个通道池化来生成固定维度的特征图。
为了验证我们的假设,我们在第4节中对相同FLOPs的不同目标检测方法中的backbone和neck计算比例进行了控制实验。结果表明,在目标检测任务中,neck比传统的backbone更重要。

3.2 Generalized-FPN

在特征金字塔网络中,多尺度特征融合旨在聚合从backbone中提取到的不同分辨率的特征。图3显示了特征金字塔网络设计的演变过程。传统的FPN引入自顶向下方式来融合第3层到第7层的多尺度特征。考虑到单向信息流的局限性,PANet增加了一个额外的自底向上的路径聚合网络,但计算成本更大。除此之外,BiFPN移除了只有一条输入边的结点,并在同一层从原始输入添加了额外的边。然而我们观察到,以前的方法只关注特征融合,而缺乏内部块的连接。因此,我们设计了一种包含跳跃层和跨尺度连接的新型路径融合,如图3d所示。
目标检测论文阅读:GiraffeDet算法笔记_第3张图片
Skip-layer Connection。 与其它连接方法相比,跳跃连接在反向传播过程中特征层之间的距离较短。为了减少这种沉重的“giraffe” neck上的梯度消失,我们在GFPN中提出两种特征连接方法:密集连接和 l o g 2 n log_2n log2n连接,如图4所示。
目标检测论文阅读:GiraffeDet算法笔记_第4张图片
dense-link: 受DenseNet启发,第 k k k层每个尺度特征的 P k l P_k^l Pkl,第 l l l层接收此前所有层的特征图:
P k l = C o n v ( C o n c a t ( P k 0 , . . . , P k k − 1 ) ) P_k^l=Conv(Concat(P_k^0,...,P_k^{k-1})) Pkl=Conv(Concat(Pk0,...,Pkk1))其中, C o n c a t ( ) Concat() Concat()表示此前所有层生成的特征图的堆叠, C o n v ( ) Conv() Conv()表示一个3 × 3卷积。
l o g 2 n log_2^n log2n-link: 具体来说,对于每一层 k k k,第 l l l层接收此前至多 l o g 2 l + 1 log_2l+1 log2l+1层的特征图,这些输入层与深度 i i i是以底数为2的指数间距间隔的,记为:
P k l = C o n v ( C o n c a t ( P k l − 2 n , . . . , ( P k l − 2 1 , ( P k l − 2 0 ) ) P_k^l=Conv(Concat(P_k^{l-2^n},...,(P_k^{l-2^1},(P_k^{l-2^0})) Pkl=Conv(Concat(Pkl2n,...,(Pkl21,(Pkl20))其中, l − 2 n ≥ 0 l-2^n≥0 l2n0 C o n c a t ( ) Concat() Concat() C o n v ( ) Conv() Conv()分别表示concatenation和3 × 3卷积。对于深度 l l l,相比于dense-link的时间复杂度 O ( l 2 ) O(l^2) O(l2) l o g 2 n log_2^n log2n-link的时间复杂度只有 O ( l ⋅ l o g 2 l ) O(l·log_2l) O(llog2l)。此外, l o g 2 n log_2^n log2n-link仅在 1 1 1 1 + l o g 2 l 1+log_2l 1+log2l的反向传播过程中增加了层间的短距离,因此 l o g 2 n log_2^n log2n-link可以扩展到更深的网络。
Cross-scale Connection。 基于此前的假设,我们所设计的充分信息交换不仅应包含跨层连接,还应该包含跨尺度连接,以克服大尺度变化。以往的工作在连接相邻层之间的特征时,只考虑同层特征或上一层特征。因此,我们提出了一种新的跨尺度融合,称为Queen-fusion,它同时考虑了图3d所示的同层和相邻层特征,就像国际象棋中的皇后一样。如图5b所示,P5的Queen-fusion堆叠包括前一层的P4下采样、前一层的P6上采样、前一层的P5和当前层的P4。在本文中,我们的上采样和下采样函数分别是双线性插值和最大池化。
目标检测论文阅读:GiraffeDet算法笔记_第5张图片
在极端的大尺度变化场景下,要求模型具有充分高级和低级信息的交换。基于我们的跳跃层和跨尺度连接机制,generalized-FPN可以尽可能地扩展,就像“长颈鹿脖子”一样。如此的“heavy neck”和轻量级backbone可以使我们的GiraffeDet实现更高精度与更好效率的权衡。

3.3 GiraffeDet Family

根据S2D-chain和Generalized-FPN,可以开发出一系列不同的GiraffeDet缩放模型,来克服广泛的资源限制。此前工作扩展检测器很低效,如使用更大的主干网络,如ResNeXt,或堆叠FPN块,如NAS-FPN。特别的,EfficientDet开始使用复合系数 ϕ \phi ϕ来同时缩放backbone的所有维度。和EfficientDet不同,我们只关注GFPN层的缩放,而不是包含轻量级backbone在内的整个框架。具体来说,我们使用两个系数 ϕ d \phi_d ϕd ϕ w \phi_w ϕw来灵活缩放GFPN的深度和宽度。
基于GFPN和S2D chain,我们开发了GiraffeDet系列。此前的工作大都通过使用更大的主干网络来缩放baseline检测器,他们的模型主要关注单个或有限的缩放维度。由于我们假设backbone对于目标检测任务并不重要,因此GiraffeDet系列只关注generalized-FPN的缩放。用下面两个乘法来控制GFPN的深度(层数)和宽度(通道数):
D g f p n = ϕ d , W g f p n = 256 ∗ ϕ w D_{gfpn}=\phi_d, W_{gfpn}=256*\phi_w Dgfpn=ϕd,Wgfpn=256ϕw根据上述设置和公式,我们开发了6种不同结构的GiraffeDet,如表1所示。GiraffeDet-D7/D11/D14/D16与基于ResNet系列的模型具有相同级别的FLOPs,下一节将把GiraffeDet系列与SOTA模型进行性能比较。注意GFPN的层数与其它FPN设计不同,如图3所示。在GFPN中,每一层只代表一个深度,而PANet和BiFPN的每一层包含两个深度。
目标检测论文阅读:GiraffeDet算法笔记_第6张图片

4 Experiments

4.1 Dataset and Implementation Details

介绍了使用的数据集和实现细节,其中head和anchor assigner分别是GFocalV2和ATSS,所有模型都是从头训练。

4.2 Quantitative Evaluation on COCO Dataset

目标检测论文阅读:GiraffeDet算法笔记_第7张图片
和SOTA相比,GiraffeDet取得了更好的检测性能,尤其是对小目标和大目标的提升要比中目标更明显,具体的实验结论可以参照原文。
目标检测论文阅读:GiraffeDet算法笔记_第8张图片
GiraffeDet可以克服大尺度变化问题,具体的实验结论可以参照原文。

4.3 Ablation Study

目标检测论文阅读:GiraffeDet算法笔记_第9张图片
GFPN连接方式的有效性,其skip-layer和cross-scale连接方式是最佳的,具体的实验结论可以参照原文。
目标检测论文阅读:GiraffeDet算法笔记_第10张图片GFPN深度和宽度的有效性,具体的实验结论可以参照原文。
目标检测论文阅读:GiraffeDet算法笔记_第11张图片
S2D-chain作为backbone的有效性,证明FPN比传统的backbone更加重要,而且更大的backbone甚至会降低性能,可能是由于域偏移问题更严重导致的,具体的实验结论可以参照原文。
目标检测论文阅读:GiraffeDet算法笔记_第12张图片
DCN可以提高GiraffeDet的性能,并且由于GFPN的设计,GiraffeDet更适合从头训练,具体的实验结论可以参照原文。

5 Conclusion

在本文中,我们提出了一个新的heavy-neck范式框架,GiraffeDet,一个形似长颈鹿的网络,以解决大尺度变化的问题。特别地,GiraffeDet使用轻量级的spatial-to-depth chain作为主干,而提出的generalized-FPN则作为heavy neck。以轻量级的方式将spatial-to-depth chain用于多尺度图像特征的提取,并提出generalized-FPN来学习足够的高级语义信息和低级空间信息交换。实验结果表明,提出的GiraffeDet系列具有更高的准确率和效率,特别是在检测小目标和大目标实例时。

Appendix

目标检测论文阅读:GiraffeDet算法笔记_第13张图片
目标检测论文阅读:GiraffeDet算法笔记_第14张图片
目标检测论文阅读:GiraffeDet算法笔记_第15张图片
目标检测论文阅读:GiraffeDet算法笔记_第16张图片
目标检测论文阅读:GiraffeDet算法笔记_第17张图片
目标检测论文阅读:GiraffeDet算法笔记_第18张图片
目标检测论文阅读:GiraffeDet算法笔记_第19张图片
目标检测论文阅读:GiraffeDet算法笔记_第20张图片

你可能感兴趣的:(目标检测,目标检测,论文阅读,深度学习,计算机视觉,神经网络)