代码地址:EfficientDet.Pytorch

1. 概述

导读:这篇文章的总体思想上借鉴了EfficientNet的设计思路:使用缩放的思想按照需求的网络性能缩放网络大小,在性能与网络大小上获取权衡,可以看作是EfficientNet在检测领域的延伸。针对与检测领域这篇文章提出了两个改进的地方:
1)提出了BiFPN的特征融合结构,使用加权特征融合(特征的权值是可以学习的)的方式替换了原有FPN同等权值融合的方式,并且借鉴了ResNet中跳跃连接与多次多方向连接,极大增强特征的表达能力;
2)统一化的方式缩放网络中的分辨率、网络深度宽度方式获取不同的性能表现。
从文章的结果来说在性能与网络大小上获得了不错的效果,达到了sota。

文章的网络结构与其它典型检测网络的性能对比:

2. 方法设计

2.1 网络结构

2.2 BIFPN

在BiFPN结构中的两个要点是:高效多方向的跨尺度连接与加权特征融合方式,下面的内容也是按照这样的思路来进行分解的。

2.2.1 FPN特征融合问题描述

在于FPN特征融合的问题中使用Pin=(Pl1in,Pl2in,…)P^{in}=(P_{l1}^{in},P_{l2}^{in},\dots)Pin=(Pl1in​,Pl2in​,…),其中PliinP_{li}^{in}Pliin​分别代表在iii个层次的特征,对应的stride=2istride=2^istride=2i。则经过FPN的输出的可以描述Pout=f(Pin)P^{out}=f(P^{in})Pout=f(Pin),而对应的转换部分可以描述为:

2.2.2 跨尺度的连接

在这篇文章之前已经有了很多对于FPN的改进工作,改进之后的结构见下图2所示:

上图中的这些结构的实际性能见下表所示:

可以看出PANet的结果是优于FPN与NAS-FPN的,但是它需要占据大量的参数与计算量,(文章提出的BiFPN也是参考了PANet结构来对其进行改进的)对此文章对于跨尺度的连接提出了几点优化:

  • 1)移除那些输入只有一个的节点,之所以这样做是因为文章认为只有一个输入的节点对于特征融合的贡献度是比较低的,因而可以将其删掉,这样得到的改进结构见图2中的e图
  • 2)在同一个层次上使用shortcut连接的方式连接前后的特征,这样在引入更多特征的情况下不会带来额外的参数与计算量,得到的结构见图2中的f图
  • 3)上面得到的改进结构(从上到下再从下到上算是一个单元)是可以重复的,这样通过级联的形式来提取特征,从而增强backbone的特征表达,文中提到像这样的重叠操作是以2为初始的,后面根据网络大小的scale来累加,参见图3

2.2.3 加权的特征融合方法

由于参与特征融合的特征是来自于不同分辨率的特征,因而这些不同分辨率特征融合的权重是一致的。基于此,文章的思想就是根据特征的重要性重新分配特征的权值分布,从而文章提出了如下解决方案:

  • 1)无约束的融合方式:O=∑iwi⋅IiO=\sum_iw_i\cdot I_iO=∑i​wi​⋅Ii​,这里不同的特征使用参数wiw_iwi​来确定,但是这样是无约束的加权方式,可能会导致训练的稳定;
  • 2)基于Softmax的融合方式:O=∑iewi∑jewj⋅IiO=\sum_i\frac{e^{w_i}}{\sum_je^{w_j}}\cdot I_iO=∑i​∑j​ewj​ewi​​⋅Ii​,上面的方法没有对范围做约束,这里就引入softmax做归一化操作,但是这样会带来运算速度慢的问题;
  • 3)快速归一化融合方式:O=∑iewiϵ+∑jwj⋅IiO=\sum_i\frac{ew_i}{\epsilon+\sum_jw_j}\cdot I_iO=∑i​ϵ+∑j​wj​ewi​​⋅Ii​,这里去掉了对应的指数运算,文中提到会快上30%;

下面是两种融合方式的对比:

对应的从上到下与从下到上的特征构建,参考下面的方式(以特征层级6举例):

2.3 根据所需性能进行网络组合缩放

这里组合缩放是根据需要的网络性能在backbone、BiFPN、prediction network、input image resolution上进行的。缩放的范围是从ϕ∈[0,6]\phi \in[0,6]ϕ∈[0,6](对于大于等于7的场景就装不下了,需要调整其它的参数设置了,文章对此也没有过多讨论)

  • 1)backbone network:这部分参考EfficientNet-Bx的设置;
  • 2)BiFPN network:在这个维度上会缩放参与融合的channel个数(WbifpnW_{bifpn}Wbifpn​)与这个网络重叠的次数(DbifpnD_{bifpn}Dbifpn​),则他们的缩放的关系为:
    Wbifpn=64∗1.35ϕ,Dbifpn=2+ϕW_{bifpn}=64*1.35^{\phi},D_{bifpn}=2+\phiWbifpn​=64∗1.35ϕ,Dbifpn​=2+ϕ
  • 3)Box/class prediction network:这里根据缩放的力度适当增加参与预测的卷积层数:
    Dbox=Dclass=3+⌊ϕ/3⌋D_{box}=D_{class}=3+\lfloor \phi/3\rfloorDbox​=Dclass​=3+⌊ϕ/3⌋
  • 4)Input image resolution:输入图像的尺寸关系为:
    Rinput=512+ϕ⋅128R_{input}=512+\phi \cdot 128Rinput​=512+ϕ⋅128

下面表1展示了上面的几个维度缩放的对应表:

3. 实验结果

性能比较:

《EfficientDet:Scalable and Efficient Object Detection》论文笔记相关推荐

  1. 论文笔记之Understanding and Diagnosing Visual Tracking Systems

    Understanding and Diagnosing Visual Tracking Systems 论文链接:http://dwz.cn/6qPeIb 本文的主要思想是为了剖析出一个跟踪算法中到 ...

  2. 《Understanding and Diagnosing Visual Tracking Systems》论文笔记

    本人为目标追踪初入小白,在博客下第一次记录一下自己的论文笔记,如有差错,恳请批评指正!! 论文相关信息:<Understanding and Diagnosing Visual Tracking ...

  3. 论文笔记Understanding and Diagnosing Visual Tracking Systems

    最近在看目标跟踪方面的论文,看到王乃岩博士发的一篇分析跟踪系统的文章,将目标跟踪系统拆分为多个独立的部分进行分析,比较各个部分的效果.本文主要对该论文的重点的一个大致翻译,刚入门,水平有限,如有理解错 ...

  4. 目标跟踪笔记Understanding and Diagnosing Visual Tracking Systems

    Understanding and Diagnosing Visual Tracking Systems 原文链接:https://blog.csdn.net/u010515206/article/d ...

  5. 追踪系统分模块解析(Understanding and Diagnosing Visual Tracking Systems)

    追踪系统分模块解析(Understanding and Diagnosing Visual Tracking Systems) PROJECT http://winsty.net/tracker_di ...

  6. ICCV 2015 《Understanding and Diagnosing Visual Tracking Systems》论文笔记

    目录 写在前面 文章大意 一些benchmark 实验 实验设置 基本模型 数据集 实验1 Featrue Extractor 实验2 Observation Model 实验3 Motion Mod ...

  7. Understanding and Diagnosing Visual Tracking Systems

    文章把一个跟踪器分为几个模块,分别为motion model, feature extractor, observation model, model updater, and ensemble po ...

  8. CVPR 2017 SANet:《SANet: Structure-Aware Network for Visual Tracking》论文笔记

    理解出错之处望不吝指正. 本文模型叫做SANet.作者在论文中提到,CNN模型主要适用于类间判别,对于相似物体的判别能力不强.作者提出使用RNN对目标物体的self-structure进行建模,用于提 ...

  9. ICCV 2017 UCT:《UCT: Learning Unified Convolutional Networks forReal-time Visual Tracking》论文笔记

    理解出错之处望不吝指正. 本文模型叫做UCT.就像论文题目一样,作者提出了一个基于卷积神经网络的end2end的tracking模型.模型的整体结构如下图所示(图中实线代表online trackin ...

  10. CVPR 2018 STRCF:《Learning Spatial-Temporal Regularized Correlation Filters for Visual Tracking》论文笔记

    理解出错之处望不吝指正. 本文提出的模型叫做STRCF. 在DCF中存在边界效应,SRDCF在DCF的基础上中通过加入spatial惩罚项解决了边界效应,但是SRDCF在tracking的过程中要使用 ...

最新文章

  1. excel两个表格数据对比_Office 2010如何在桌面显示两个独立Excel表格
  2. @Bean+@Component+@Configuration+@Autowired的配合使用与区别(转载+整理+完整实验)
  3. cannot resolve symbol ‘springframework‘
  4. 如何查询oracle最近报警信息,教你怎样用Oracle方便地查看报警日志错误
  5. imap服务器appleimap.163.com没有响应,163smtp
  6. CSS3表达式calc( )
  7. 3dmax快捷键大全
  8. pdf417条码解码(下)——译码
  9. Wechall Wireup(一)
  10. 预测股票涨跌看什么指标,如何预测明天股票走势
  11. 汉语语法和英语语法的区别
  12. centos:/usr/bin/perl is needed by mysql-community-server
  13. 深度操作系统 deepin V23 Beta 发布
  14. java 乘法 位移_Java 使用位移运算实现乘法
  15. 技术出身能做好管理吗?——能!
  16. 「迁怒」也许不只是没忍住
  17. 掌财社:将鳄鱼的特性完全运用到期货战场中
  18. MTU MSS 设置对网络环境的影响
  19. matlab接触刚度编程,关于接触刚度的定义
  20. JAVA-List排序-Collections.sort()-对象数组(集合)根据某一属性排序

热门文章

  1. 运维就是一场没有硝烟的战争
  2. 创建图片外链——“极简图床”
  3. vue使用mavon-editor编辑器,外链保存到本地,且A标签外链和图片外链的处理
  4. 使用 Ubuntu 搭建 Minecraft 官方或Mod(Forge)服务器
  5. ubuntu20.04安装并运行ORB_SLAM3(一路顺风版)
  6. 多轴机械人运动学正逆解,简单粗暴!!!!!!
  7. 双机热备的概念双机热备的概念
  8. 计算机特定用户共享文件夹,局域网共享给特定用户、文件夹共享给指定用户访问方法...
  9. 【计算机组织与体系结构】实验二:给定指令系统的处理器设计
  10. esxi能直通的显卡型号_最便宜能高画质“吃鸡”的显卡是这个型号:RX470矿卡!...