ICLR2022系列解读之三:一个新的目标检测网络结构范式GiraffeDet

本文解读我们ICLR2022上发表的论文《GiraffeDet: A Heavy-Neck Paradigm for Object Detection》。我们提出了一个新的目标检测网络结构范式:GiraffeDet,它具有极轻量级计算量的backbone和大计算量的neck,使得网络更关注于高分辨率特征图中空间信息和低分辨率特征图中语义信息的信息交互。同时这个设计范式允许检测网络在网络早期阶段就以相同优先级处理高层语义信息和低层空间信息,使其在检测任务上更加有效。大量实验表明,在相同head及同量级Flops下,GiraffeDet能够取得比之前SOTA模型更优的结果。

论文地址:https://arxiv.org/abs/2202.04256

开源代码:https://github.com/jyqi/GiraffeDet

一、背景

ICLR2022系列解读之三:一个新的目标检测网络结构范式GiraffeDet_第1张图片

图1. COCO和ImageNet数据集中前景目标分布[1]

目标检测任务面临的主要挑战在于尺度差异(Scale Variance)。图1 给出了ImageNet和COCO数据集中的前景目标在scale的分布,横轴(Relative Scale)为前景目标尺度相对于图片尺度的相对scale,竖轴(CDF)为当前scale下的前景目标数量占整个数据集中所有前景目标数量的百分比。可以看到:

  1. COCO数据集中的前景目标scale跨度大:10%的小前景目标的scale(0.024)和10%的大前景目标的scale(0.472)相差足足20倍;
  2. COCO数据集和ImageNet数据集的前景目标scale分布存在偏移:COCO数据集中小目标占比更大,有一半的目标的relative scale<0.106;相比之下ImageNet数据集中前景目标scale分布比较均匀,一半的前景目标的relative scale<0.556;

基于以上观察,在论文中,我们提出了两个问题:

  1. 如何解决scale variance的挑战,获得针对目标检测任务有效的多尺度的表征(multi-scale representation);
  2. 目标检测网络的backbone基本都为scale-decreased的模型,使用ImageNet数据集进行Pretrain,这类设计的backbone是否在目标检测任务上不可或缺;

针对上述问题,我们在文章中提出了创新性的轻计算量backbone重计算量neck的GiraffeDet模型。

二、方法

解决Scale Variance这个问题,常用的两大种策略就是Image Pyramid或者Feature Pyramid。Image Pyramid在deep learning时代比较经典的有MTCNN, SNIP等;另外一大类方法是Feature Pyramid,也就是在neck上进行不同尺度特征的融合,代表工作主要有FPN、PANet、BiFPN,具体实现见图2。考虑到Image Pyramid带来的训练和测试时间成本,我们使用Feature Pyramid。

ICLR2022系列解读之三:一个新的目标检测网络结构范式GiraffeDet_第2张图片

图2. Feature Pyramid不同设计

从Feature Pyramid的演进我们能看到,BiFPN设计了更多的不同层的连接以及跳跃连接来增加更多的特征融合。然而,单层的BiFPN能否达到充分的特征融合,输出multi-scale representation呢?为了回答这个问题,我们做了一个对比实验,控制整个网络在同一FLOPs量级下,调整backbone和neck的计算量比例,观察哪种设计在目标检测任务上更有效,结果见图3。

ICLR2022系列解读之三:一个新的目标检测网络结构范式GiraffeDet_第3张图片

图3. 不同backbone/neck计算量比例

从图3可以看到,scratch 3x训练下,轻计算量backbone重计算量neck的网络(R18+BiFPN*9)能够取得比重计算量backbone轻计算量neck的网络(R101+BiFPN)更优的精度,因此将更多计算量放在特征融合上对于解决scale variance问题是有所帮助的。

然而BiFPN的简单堆叠并非最优的,每个BiFPN block都是彼此独立,而且堆叠过深可能存在梯度消失的风险。基于此,我们提出了GFPN的neck结构。

1、GFPN

ICLR2022系列解读之三:一个新的目标检测网络结构范式GiraffeDet_第4张图片

图4. GFPN结构

图4为我们提出的GFPN结构,主要有以下模块:

1) Skip Layer

ICLR2022系列解读之三:一个新的目标检测网络结构范式GiraffeDet_第5张图片

图5. Skip Layer

借鉴DenseNet ,在每一层中,我们设计了dense-link,以增加更多的特征复用。然而由于额外连接带来的计算量提升,无法将GFPN设计的非常深。考虑到dense-link存在信息冗余,同时希望将GFPN设计的更深,我们将dense-link改进为log2n-link。相比于dense-link的 O(l2) 复杂度,log2n-link的复杂度为 O(l∗log2l) 。同时,在反向传播的过程中,log2n-link将最短距离从1提升到了 1+log2l 。因此,在同等计算量约束下,log2n-link能够将GFPN扩展的更深,并保留有效的特征复用,具体连接细节见图5。

2) Queen Fusion

ICLR2022系列解读之三:一个新的目标检测网络结构范式GiraffeDet_第6张图片

图6. Queen Fusion

为了让GFPN能够克服大的尺度变化,我们设计了Queen-Fusion的结构以增加更多的特征融合。如图6,每一个节点不仅接收上一个节点的输入,同时还接收斜上方、斜下方节点的输入。并且,考虑到sum的方式进行特征融合会带来信息的丢失,我们使用concat方式进行特征融合,具体结构见图6。 Ω

2、Lightweight Space-to-Depth Chain

大多数目标检测范式中,特征金字塔网络以常规CNN-backbone提取的多尺度特征为基础上进行特征融合。然而,随着CNN的发展,backbone变得越来越大,计算量越来越高。此外,backbone基本采用ImageNet进行预训练。我们认为:这些预训练骨干并不适用于检测任务,仍存在域漂移(domain-shift)问题。另外,FPN更多聚焦于高层语义信息与底层空域信息的交互。因此,我们认为:相比常规骨干,FPN在检测模型中的作用更为重要。

受启发于PixelShuffle与FRVSR的工作,我们提出了Space-to-Depth Chain(S2D Chain)作为轻量级的backbone,结构见图7。它包含两个3x3卷积与五个堆叠的S2D-block模块。具体来说,卷积用于初始的下采样并引入更多非线性变换;每个S2D-block包含一个S2D层与一个1x1卷积。S2D将更多的空域信息移动到深度维度,同时可以起到无参下采样作用。然后采用卷积提供通道维度池化以生成固定通道数的特征。

ICLR2022系列解读之三:一个新的目标检测网络结构范式GiraffeDet_第7张图片

图7. S2D Chain

4、GiraffeDet Pipeline

GiraffeDet整体的框架见图8,包含轻量级space-to-depth chain作为backbone、Generalized-FPN作为neck以及head,它延续了一阶段检测设计范式。

ICLR2022系列解读之三:一个新的目标检测网络结构范式GiraffeDet_第8张图片

图8. GiraffeDet Pipeline

4、GiraffeDet Family

我们设计了一系列GiraffeDet模型以满足不同资源约束。相比于之前检测网络通过对backbone进行缩放来调整模型大小,我们聚焦于调整进行多尺度特征融合的Neck部分。具体来说,我们采用两个系数 ϕd 、 ϕw 来控制GFPN的深度与宽度,图9给出了本文所设计的不同大小的GiraffeDet缩放系数信息。

ICLR2022系列解读之三:一个新的目标检测网络结构范式GiraffeDet_第9张图片

图9. GFPN缩放信息

三、实验

0、超参设置

ICLR2022系列解读之三:一个新的目标检测网络结构范式GiraffeDet_第10张图片

图10. 实现细节

在具体实现方面,GiraffeDet采用了GFocalV2作为检测头,采用ATSS进行标签分配。为增强从头开始训练的稳定性,我们采用了多尺度训练。相关训练超参见图10。

1、SOTA对比

我们按照模型计算量的维度,调整GFPN的深度和宽度(通道数),给出了不同大小的GiraffeDet模型,并与同计算量级别的目标检测网络进行了对比,结果见图11。可以看到,1)与resnet-based的方法相比,我们的方法在检测小目标(AP_s)和大目标(AP_l)下具有显著的性能提升,说明GiraffeDet在应对large scale-variation的问题上具有更好的效果。2) 与大FLOPs量级的ResNext-based方法对比上,GiraffeDet具有更高的性能,这说明在目标检测上,一个好的heavy-neck设计比heavy-backbone的设计更重要。3) 在不同FLOPs量级下与其他方法相比,我们提出的GiraffeDet模型也能够取得更高的精度,达到SOTA。搭配Multi-Scale Testing, GiraffeDet能够取得54.1%mAP。其中小尺度AP提升2.8%,大尺度AP提升2.3%,均高于中尺度的1.9%提升。

ICLR2022系列解读之三:一个新的目标检测网络结构范式GiraffeDet_第11张图片

图11. SOTA表

我们也针对不同尺度的目标进行了对比,如图12所示。可以看到, GiraffeDet在不同像素尺度范围均取得了最佳性能,这意味着:轻骨干+重Neck的设计可以更有效的解决大尺度变化问题。同时,受益于跳层与跨尺度连接,高层语义信息与底层空域信息可以进行更充分的信息交互。

ICLR2022系列解读之三:一个新的目标检测网络结构范式GiraffeDet_第12张图片

图12. 不同目标尺度对比

2、消融实验

1)GFPN连接对比

ICLR2022系列解读之三:一个新的目标检测网络结构范式GiraffeDet_第13张图片

图13. 不同skip连接对比

Skip-Layer Connection: 从图13可以看到,GFPN-log2n取得了最优的结果,同时GFPN-dense略优于GFPN w/o skip。表明log2n-link能够提供更有效的信息传输和特征复用,而dense-link可能存在冗余的信息传输,并且,log2n-link能够在相同FLOPs量级下提供相比于dense-link更深的GFPN。值得注意的是,不同连接的GFPN都能够取得比FPN、PANet、BiFPN简单堆叠更高的性能,说明我们提出的GFPN在目标检测任务上是更有效的。

Cross-Scale Connection: 从图13可以看到,具有双向信息传输的PANet、BiFPN相比于单向信息传输的FPN能够取得更高的性能,表明在neck中充分的信息交互是必要的。而GFPN取得了更好的性能,这证明我们提出的Queen-Fusion可以做到充分的不同尺度特征图的信息交互,值得注意的是,在没有skip-layer connection的情况下,我们的GFPN仍然优于其他方法。

2)GFPN深度、宽度对比

ICLR2022系列解读之三:一个新的目标检测网络结构范式GiraffeDet_第14张图片

图14. 不同深度、宽度对比

从图14能够看到,保证网络同量级FLOPs下,我们提出的GFPN在深度、宽度两个层面均优于其他的neck结构,表明log2n-link和Queen-fusion能够有效地提供信息传输和不同尺度特征信息的融合。

3)不同backbone和neck计算量比例

ICLR2022系列解读之三:一个新的目标检测网络结构范式GiraffeDet_第15张图片

图15. Backbone/neck不同比例

在同FLOPs量级下,图15比较了不同backbone/Neck计算量比例设置下的模型性能,可以看到:1)S2D-chain+GFPN的组合取得了优于其他骨干的性能,这验证了我们的假设:相比常规骨干,FPN对于检测性能更重要;2)ResNet+GFPN组合时,伴随骨干部分变大,模型的性能会下降。我们认为:这可能源自于域漂移问题。

4)GFPN+DCN

ICLR2022系列解读之三:一个新的目标检测网络结构范式GiraffeDet_第16张图片

图16. S2D Chain+GFPN_DCN

ICLR2022系列解读之三:一个新的目标检测网络结构范式GiraffeDet_第17张图片

图17. R2-101-DCN + GFPN

Deformable Convolution Network(DCN)[3]被广泛应用在backbone上来提升检测性能。从图16实验中我们能够看到,DCN应用在GFPN上也能够显著提升检测网络的性能,表明GFPN也能够和目前通用可提升检测性能的toolkits组合。图17实验给出了强backbone+GFPN的实验,结果表明单纯使用GFPN替换原始FPN也能在原有SOTA baseline上取得性能提升,且随着GFPN深度提升,模型性能可进一步增加。

5)latency比较

ICLR2022系列解读之三:一个新的目标检测网络结构范式GiraffeDet_第18张图片

图18. 推理时间比较

图18给出了同等FLOPs水平下所提GiraffeDet与ResNet-FPN-GFocalV2的速度-性能对比,从中可以看到:1)GiraffeDet取得了显著性能提升,同时具有相近的推理速度;2)以FPS作为参考,GiraffeDet的性能下降更慢。

6)standard backbone + GFPN

ICLR2022系列解读之三:一个新的目标检测网络结构范式GiraffeDet_第19张图片

图19. Standard backbone + GFPN对比

图19对比了backbone为ResNet18时不同Neck的性能,可以看到:1) 在同等FLOPs水平下,所提GFPN具有比BiFPN更优的性能;2) 检测器性能会随GFPN的深度增加而进一步提升。

7)Qualitative Results

图20. 可视化结果

图20给出了不同检测网络检测结果的可视化对比,从中可以看到:GiraffeDet可以检测到更多实例,尤其在小目标检测方面表现更佳。这进一步验证了所提Light-backbone、Heavy-Neck架构在目标大尺度变化方面的优秀处理能力

四、结语

我们在本篇文章提出了GiraffeDet这一新的目标检测框架,将更多的计算量和关注度放在了进行特征融合的neck上,并极大缩减仅进行scale-decrease的backbone的计算量,大量对比实验证明了这一结构的有效性。希望我们的工作能够给目标检测领域提供一个新的模型设计的视角,并在此基础上做出更多的改进。

参考

[1] Singh B, Davis L S. An analysis of scale invariance in object detection snip[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 3578-3587.

[2] Huang G, Liu Z, Van Der Maaten L, et al. Densely connected convolutional networks[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 4700-4708.

[3] Dai J, Qi H, Xiong Y, et al. Deformable convolutional networks[C]//Proceedings of the IEEE international conference on computer vision. 2017: 764-773.

你可能感兴趣的:(目标检测,深度学习,计算机视觉,云计算,阿里云)