关注公众号,发现CV技术之美

 写在前面

特征金字塔网络(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://arxiv.org/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

欢迎加入「目标检测交流群

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

  1. 华为诺亚方舟加拿大实验室提出BANet,双向视觉注意力机制用于单目相机深度估计...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 这篇文章的作者是华为加拿大诺亚方舟实验室,是一篇将双向注意力机制用于弹幕深度估计的工作.主要的创新点在 ...

  2. TPAMI 2021 华为诺亚悉尼大学陶大程团队提出多功能卷积,助力轻量级网络

    关注公众号,发现CV技术之美 0 写在前面 在本文中,作者提出了一种用于构造高效卷积神经网络的多功能滤波器 ,并应用于各种视觉识别任务中.考虑到硬件上运行高效的深度学习模型的需求,研究者们已经开发了许 ...

  3. excel乘法公式怎么输入_深度学习可以不要乘法,北大、华为诺亚新论文:加法替代,效果不变,延迟大降...

    机器之心报道 参与:思.一鸣 深度学习对算力要求太高,怎么简化计算复杂度呢?北大.华为诺亚方舟实验室等提出完全用加法代替乘法,用 L1 距离代替卷积运算,从而显著减少计算力消耗. 和加法运算相比,乘法 ...

  4. 中科院华为诺亚提出ViG:一种全新的骨干网络,性能不输CNN、ViT!

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入-> CV 微信技术交流群 梦晨 发自 凹非寺 转载自:量子位(QbitAI) 用图神经网络( ...

  5. #今日论文推荐# 用GNN做CV三大任务的新骨干,同计算成本性能不输CNN、ViT与MLP|中科院华为诺亚开源

    #今日论文推荐# 用GNN做CV三大任务的新骨干,同计算成本性能不输CNN.ViT与MLP|中科院&华为诺亚开源 用图神经网络(GNN)做CV的研究有不少,但通常是围绕点云数据做文章,少有直接 ...

  6. #今日论文推荐#中科院华为诺亚提出ViG:一种全新的骨干网络,性能不输CNN、ViT

    #今日论文推荐#中科院&华为诺亚提出ViG:一种全新的骨干网络,性能不输CNN.ViT 用图神经网络(GNN)做CV的研究有不少,但通常是围绕点云数据做文章,少有直接处理图像数据的. 其实与C ...

  7. GNN论文周报 | 来自西湖大学、南京大学、国防科大、华为诺亚方舟实验室、莱斯大学等机构前沿论文研究...

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 图神经网络(GNN)是一类专门针对图结构数据的神经网络模型,在社交网络分析.知识图谱等领域中取得了不错的效果.近来,相关研究人员在GNN ...

  8. 华为诺亚方舟开源预训练模型“哪吒”,4项任务均达到SOTA

    出品 | AI科技大本营(ID:rgznai100) BERT之后,新的预训练语言模型XLnet.RoBERTa.ERNIE不断推出,这次,华为诺亚方舟实验室开源了基于BERT的中文预训练语言模型NE ...

  9. 华为诺亚加法网络再升级:精度提升,可以逼近任意函数

    转自:机器之心 深度卷积神经网络的计算常常需要巨大的能耗,因此难以在移动设备上实现.为此学界正在探索研究各式各样的新方法,本文要介绍的这项研究提出了使用加法替代 CNN 中的乘法(卷积),从而极大降低 ...

最新文章

  1. 选中文字改变默认颜色
  2. Android开发日常笔记
  3. U3D MonoBehaviour
  4. 【学习笔记】ODATA
  5. 前端学习(1776):前端调试之indexDB原理和查看
  6. 夜间模式html,夜间模式.html
  7. 计算机二级ps教程 百度云,全国计算机等级考试一级Photoshop模拟题及解析第六套(完整版).pdf...
  8. 【转】Java杂谈(九)--Struts
  9. POJ 1002 UVA 755 487--3279 电话排序 简单但不容易的水题
  10. Atitit ABI FFI 的区别与联系 attilax总结
  11. 介质天线的设计原理_以水为媒介的介质天线的制作方法
  12. 用友u8 php,php读取用友u8采购入库单列表及详细
  13. 用node+WebSocket+MySQL+vue仿做学习通的一些功能(一):用户登录和注册页面的实现
  14. 帝国cms 首页php,帝国CMS新增加专题页面
  15. 英雄联盟英雄技能总结
  16. 监听浏览器返回,可清除历史记录(移动端:手势返回)(vue)
  17. 仓库如何盘点?使用盘点机盘点有什么好处?仓库盘点方法?
  18. mtk audio笔记
  19. Excel文件导出,前端导出或者后端导出
  20. 关键词提取面临问题及挑战

热门文章

  1. TensorFlow第七步再试牛刀-自编BP代码解Mnist
  2. 诱导公式的本质【转载】
  3. Matlab--view函数详解
  4. 分别用雅可比(Jacobi)迭代法和高斯—塞德尔(Gauss—Seidel)迭代法求解线性方程组(转载)
  5. 深入认识Tigase XMPP Server(上)
  6. 个人博客系统--项目实战
  7. 微信小程序 - 基本学习资源
  8. ffmpeg编码越来越小_从ffmpeg源代码分析如何解决ffmpeg编码的延迟问题(5)
  9. linux 服务器鼠标右键失灵_【华鹏客服维修部】系统重置后,键盘失灵怎么办?...
  10. git 命令行忽略提交_git命令入门(本地仓库)