查看原文
其他

ICLR 2022 | 达摩院灵瞳实验室:目标检测网络结构新范式——GiraffeDet

达摩院AI Earth PaperWeekly 2022-10-14



©作者 | 达摩院AI Earth

单位 | 达摩院灵瞳实验室


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

大量实验表明,在相同 head 及同量级 Flops 下,GiraffeDet 能够取得比之前 SOTA 模型更优的结果。


论文标题:

GiraffeDet: A Heavy-Neck Paradigm for Object Detection

收录会议:

ICLR 2022

论文链接:

https://arxiv.org/abs/2202.04256




背景


▲ 图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。

▲ 图2. Feature Pyramid不同设计

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

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

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

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

1.1 GFPN


▲ 图4. GFPN结构

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


1)Skip Layer



▲ 图5. Skip Layer

借鉴 DenseNet ,在每一层中,我们设计了 dense-link,以增加更多的特征复用。然而由于额外连接带来的计算量提升,无法将 GFPN 设计的非常深。考虑到 dense-link 存在信息冗余,同时希望将 GFPN 设计的更深,我们将 dense-link 改进为 log2n-link。

相比于 dense-link 的 复杂度,log2n-link 的复杂度为 。同时,在反向传播的过程中,log2n-link 将最短距离从 1 提升到了 。因此,在同等计算量约束下,log2n-link 能够将 GFPN 扩展的更深,并保留有效的特征复用,具体连接细节见图 5。

2)Queen Fusion


▲ 图6. Queen Fusion


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


2.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 将更多的空域信息移动到深度维度,同时可以起到无参下采样作用。然后采用卷积提供通道维度池化以生成固定通道数的特征。


▲ 图7. S2D Chain


2.3 GiraffeDet Pipeline


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


▲ 图8. GiraffeDet Pipeline

2.4 GiraffeDet Family


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


▲ 图9. GFPN缩放信息



实验


3.1 超参设置


▲ 图10. 实现细节


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


3.2 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% 提升。


▲ 图11. SOTA表


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

▲ 图12. 不同目标尺度对比


3.3 消融实验


1)GFPN连接对比


▲ 图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深度、宽度对比


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


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


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


▲ 图15. Backbone/neck不同比例


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


4)GFPN+DCN


▲ 图16. S2D Chain+GFPN_DCN

▲ 图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比较


▲ 图18. 推理时间比较


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


6)standard backbone + GFPN


▲ 图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.


更多阅读



#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编




🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧


·

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存