分享

DyFPN:浙大&华为诺亚&西湖大学等提出用于目标检测的动态特征金字塔,减少40%的FLOPs!

 我爱计算机视觉 2021-11-02

 写在前面

特征金字塔网络(FPN)是目标检测框架的重要组成部分。大多数现有FPN变体的性能提高主要归因于计算负担的增加。增强FPN的一种方法是通过扩展感受野来丰富空间信息 ,能够大大提高检测精度。

在本文中,作者首先研究了扩大感受野会如何影响FPN的准确性和计算成本,并提出了一种baseline模型 inception FPN,在这个模型中,每个横向连接包含具有不同卷积核大小的卷积滤波器。
此外,作者指出并非所有对象都需要如此复杂的计算,因此提出了一种新的动态FPN(DyFPN)DyFPN的特征将会根据输入来动态计算,因此可以提供更有效的动态推理,从而在精度和计算成本之间实现更好的平衡。 
在MS-COCO基准数据集上进行的大量实验表明,所提出的DyFPN在优化计算资源分配的同时显著提高了性能。比如,用DyFPN替换inception FPN可以减少大约40%的FLOPs,同时保持相似的性能。

 1. 论文和代码地址

Dynamic Feature Pyramid Networks for Object Detection

论文:https:///abs/2012.00779

代码:https://github.com/Mingjian-Zhu/DyFPN

 2. Motivation

目标检测是计算机视觉领域的一项基本任务,近年来受到越来越多的关注,最近在目标检测方面的进展很大程度上源于深度卷积神经网络(CNN)的发展。现有的检测框架可分为单阶段方法两阶段方法 :YOLO、SSD、FCOS和CenterNet等单阶段方法直接将提取的特征用于预测对象的类别和位置;

相比之下,两阶段方法,例如Faster R-CNN和Cascade R-CNN,首先通过区域建议网络(region proposal network)获得region of interests(ROI),然后根据ROI进一步生成细化的目标框和类别。近年来,这两种方法都取得了很大进展。
目前,许多方法都扩展了多尺度特征学习的感受野 ,并取得了不错的性能。例如,RFB用多分支卷积块替换SSD的卷积层,以增强多尺度的特性。虽然这些方法扩大了目标检测模型的感受野,但不同种类的卷积核对FPN的影响尚未得到充分的研究。

为了探索由不同卷积生成的特征的表示能力,作者将inception嵌入到了FPN中,如上图所示,inception FPN中包含1×1, 3×3, 5×5的卷积。通过组合不同的卷积可以有效地生成更好的特征。与传统FPN相比,inception FPN通过充分扩展感受野来丰富空间信息,显著提高了检测精度。
然而,不同卷积核大小的滤波器组合明显增加了总体计算成本。此外,在不同的自然图像中检测对象的难度是不同的,这意味着并非所有对象都需要如此复杂的计算才能进行正确的预测。这一现象促使作者将动态机制引入了inception  FPN中,以平衡性能和总体计算负担
如上图所示,在每个横向连接的inception块之前插入一个计算成本可以忽略的可学习动态门(dynamic gate) 。动态门根据输入自适应地确定是否执行整个inception 块。实验结果表明,动态门可以大大降低baseline模型(即inception FPN)的计算成本,同时保持高检测精度。
在本文中,作者首先进行了大量的实验来研究不同卷积组合对FPN的影响。虽然利用这些卷积可以通过丰富空间信息来提高检测精度,但也会带来巨大的计算负担。因此,作者进一步提出了DyFPN来克服这个问题,DyFPN根据输入图像自适应地确定是否进行多重卷积。在MS-COCO数据集上的实验结果表明,用DyFPN替换inception  FPN在保持高精度的同时,可以节省大量计算成本。

 3. 方法

3.1 Inception FPN

目前,特征融合方法被广泛的用于提高网络性能,其中一种有效的特征融合方法是构建特征金字塔(FPN)。FPN输入的特征为,输出的特征为,建模如下:
其中,代表特征金字塔的层数,代表调整大小的操作,是 1×1卷积,缺乏足够的空间信息来识别物体。为此,作者提出了一种称为inception FPN的模型,该模型通过扩展感受野来丰富特征金字塔的空间信息。
inception FPN在横向连接中使用inception ,并在检测精度方面取得显著提升。如上图所示,inception 块由一组核大小为1×1、3×3和5×5的卷积组成,并将不同卷积的特征相加如下:
其中,。由于横向连接中存在不同大小的核卷积,因此在每个级别提取的特征受益于不同的感受野。实验证明,用更多的卷积(即1×1、3×3、5×5及其扩展变体)替换1×1卷积可以获得更丰富的空间信息并获得更好的性能。

3.2 Dynamic Feature Pyramid Network

inception FPN可以大大提高检测的精度,但会带来沉重的计算负担。为此,作者提出了DyFPN,其目的是通过引入一种动态块来解决inception FPN的问题,动态块由三个组件组成**:动态门(dynamic gate)** 、inception ** 块(inception block)skip连接( skip-connection)** 。与inception FPN相比,这些组件的组合在精度和计算成本之间实现了更好的权衡。

Dynamic Block

在inception FPN中,横向连接是静态的,这意味着它在推理阶段执行相同的卷积。然而,各种输入图像的检测难度是不同的,这意味着一些“容易”的图像可以在没有丰富的空间信息的情况下被正确检测。
因此,inception FPN包含了计算冗余。相比之下,DyFPN中提出的动态块,基于输入图像自适应地确定横向连接中的操作。上图展示了动态块的具体结构,其思想是利用one-hot向量来动态决定是否执行卷积操作。卷积分支和skip连接的特征通过求和进行融合,作者将动态块插入特征金字塔的所有横向连接。
在动态门中,作者首先在上使用非线性函数生成gate信号,如下所示:
其中,决定了第个Inception块的采样概率,然后one-hot形式的向量通过 Gumbel Softmax函数得到:
其中,是在Gumbel分布中随机采样的噪声,是Gumbel Softmax函数中的温度参数。与SE相似,本文的动态门由一个全局平均池化层、两个全连接层和一个ReLU层组成:
其中,代表全局池化,δ代表ReLU激活函数。池化操作大大降低了应用于输入特征的全连接层的计算成本,使得动态门的计算量可以忽略不计。

Resource Constraint

在现实场景中,物理设备通常会对模型会施加不同的计算资源约束,因此,DyFPN应考虑不同的计算开销。然而,如果仅使用检测的损失函数,动态门将倾向于提供次优的解决方案,该解决方案将采用尽可能多的Inception块,因为具有最丰富空间信息的特征通常会对应于相对较低的检测损失。

为了达到更好的效率-精度权衡,作者提出了一种新的损失函数来辅助指导训练。在训练模型之前,可以计算动态块的最大和最小计算成本,将它们表示为。对于DyFPN,在特征金字塔的所有横向连接中执行或跳过所有inception块的决策分别会导致最大或最小计算成本。因此,控制计算量的损失函数表示如下:
式中,表示动态块的实际计算成本。表示目标计算成本,可以通过设置超参数α来控制目标成本。如下所示:
最后,总的损失函数计算如下:
其中,分别表示检测损失和计算成本,作者利用λ分别平衡检测精度期望和计算成本约束。

 4.实验

4.1. Main Results

Effectiveness and Efficiency of DyFPN

上表展示了不同FPN的精度和计算量对比,可以看到,DyFPN在所有FPN模型变量中实现了最佳效率和精度权衡。

Extension to Different Backbones

作者在不同的主干网络上比较了DyFPN和Inception FPN,以证明DyFPN的有效性。可以看到,DyFPN在很大程度上节省了baseline的计算成本,而所有主干网络上的性能变化几乎可以忽略不计。

4.2. Ablation Study

Inception FPN

在上表中,作者进行了实验,以证明丰富的空间信息和扩大的感受野显著提高了检测性能。可以看到,逐渐聚合来自不同卷积的更多特征可以提高精度。

Computational Resource Budgets

为了获得更好的效率-精度权衡,作者提出了计算成本损失来限制模型的计算成本。通过调整超参数α和λ,可以获得不同计算资源约束的DyFPN变体,性能如上表所示。

Realistic Acceleration

基于Faster R-CNN框架和ResNet-50模型,作者计算了Inception FPN和DyFPN的延迟、FLOPs和AP,如上表所示。

Effectiveness of the Dynamic Gate

为了证明动态门的有效性,作者将其性能与随机数生成器进行了比较,结果如上表所示。

Number of the Executed Inception Blocks in DyFPN

作者可视化DyFPN中Inception数量及其相应的图像,如上图所示。可以看出,执行的Inception块数量越多,图像就越复杂。

 5. 总结

在这项工作中,作者证明了多重卷积的组合通过扩展感受野和丰富特征金字塔中的空间信息,能够提高检测精度。但是由于多次卷积会导致的大量计算成本,这些操作在处理一些简单的图像时其实是不需要的。

因此,作者提出了一种用于目标检测的DyFPN 。DyFPN中的动态门根据输入图像自适应地确定是否在特征金字塔中执行多重卷积。DyFPN可以在保持高精度的同时大大降低计算量,在各种主干网络上的实验证明了所提出的DyFPN的有效性。

▊ 作者简介

研究领域:FightingCV公众号运营者,研究方向为多模态内容理解,专注于解决视觉模态和语言模态相结合的任务,促进Vision-Language模型的实地应用。

知乎/众号:FightingCV

END

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多