既EfficientNet之后,Tan Mingxing等人再接再厉,在物体检测领域的特征融合和检测头等部分也采用了相似的方法进行研究和搜索,提出了EfficientDet的网络,在COCO数据集上吊打其他方法。EfficientDet主要有两个创新点,一个是FPN的加强版BiFPN,另一个是混合缩放。混合缩放和EfficientNet的思想高度相似,只是混合缩放的变量不一样。

方法

BiFPN

图1是几种常见的Neck特征融合方法。其中 ( a ) (a) (a)是最早的FPN的方法,就是把深层的特征信息从top-down的方向依次放大往浅层上融合; ( b ) (b) (b)是PANet的思想,和FPN的区别在于多了一层特征融合方式——在FPN的基础上,从down-top的方向将浅层的特征信息往深层上融合; ( c ) (c) (c)是NAS-FPN的融合方法,通过NAS的方法找到最好的融合路径,然后重复叠加几次; ( d ) (d) (d)就是本论文提出的BiFPN的思想,在PANet的基础上,去掉了只有一个输入边的节点(P3和P7的中间节点),增加了输入节点(左边)到输出节点(右边)的直接跳连,然后和NAS-FPN一样,也是重复叠加了几次这种block。

图1. 几种常见特征融合方法和BiFPN的对比

由于部分节点多加了一条输入边,这些节点的输入特征融合方法就很关键了,会影响到检测效果和检测速度。作者在论文中讨论了三种融合方法:第一种是加权和,可以从channel或者pixel的维度去加权,这种方式简单粗暴,但是训练的过程会导致加权系数不稳定;第二种是采用基于softmax的融合方法,这种方法需要进行很多指数运算,会影响运行效率;第三种快速归一化,公式如下所示。其中 w i > 0 w_i > 0 wi​>0(通过ReLU), ϵ = 0.0001 \epsilon=0.0001 ϵ=0.0001避免分母为0,这种方法计算速度比softmax快很多,又保证了融合系数加起来为1。所以论文选用了第三种方法。

O = ∑ i w i ϵ + ∑ j w j I i O=\sum_i\frac{w_i}{\epsilon+\sum_jw_j}I_i O=i∑​ϵ+∑j​wj​wi​​Ii​

论文还特别提到,为了进一步改进效率,在特征融合的卷积操作上改用可分离通道卷积(depth-wise conv),当然在卷积后面会相应加上BN和激活层。

混合缩放

和EfficientNet一样,EfficientDet也是先确定一个基本的网络结构,然后使用一个统一的混合缩放系数 ϕ \phi ϕ去放大和调整基本的网络结构参数。在Backbone的选择上,EfficientDet使用的是EfficientNet-B0到B7作为预训练模型,所以EfficientDet的系数 ϕ \phi ϕ的选择范围也是0~7。

除了Backbone,EfficientDet要调整的网络结构参数总共有以下几个:

  1. 在Neck上,要调整深度和宽度的参数,也就是BiFPN的堆叠个数和channels大小。调整的方式分别为: D b i f p n = 3 + ϕ D_{bifpn}=3+\phi Dbifpn​=3+ϕ、 W b i f p n = 64 ∗ ( 1.3 5 ϕ ) W_{bifpn}=64*(1.35^{\phi}) Wbifpn​=64∗(1.35ϕ)
  2. 在Head上,保持宽度和Neck的一致,要调整头部的深度,也就是卷积层的个数。调整的方式为: D b o x = D c l a s s = 3 + [ ϕ / 3 ] D_{box}=D_{class}=3+[\phi/3] Dbox​=Dclass​=3+[ϕ/3]
  3. 在输入图片的分辨率上,由于feature map的分辨率会缩小3-7次,所以输入的分辨率一定得是 2 7 = 128 2^7=128 27=128倍数。分辨率的线性增长调整公式为: R i n p u t = 512 + ϕ ∗ 128 R_{input}=512+\phi * 128 Rinput​=512+ϕ∗128

作者在论文中强调,之所以不采用网格搜索的方法去探寻这些公式,是因为检测网络相比分类网络更复杂,维度更多,搜索的代价会非常昂贵,所以只是采取启发式的缩放方法。表1是经过以上公式计算出来的EfficientDet D0~D7的相关网络参数。

表1.EfficientDet D0~D7的网络架构参数值

经过上面的描述后,我们做个简单的综合。图2是EfficientDet的整体网络架构,和YOLO相似,它也是一个one-stage的算法。在EfficientNet提取好P3~P7的特征信息后,输入到BiFPN模块里面去融合不同level之间的特征。最后再把融合的特征传给头部(Head)去预测检测框的类别和大小,Head部分不同level之间的网络权值是共享的。

图2.EfficientDet网络整体架构

实验

在实验上肯定不用说了,基本上吊打之前的检测算法。训练的参数和方法其实也很普通,没有什么改进之处,也是集众算法之长,有兴趣的读者可以自行阅读论文5.1部分的第一段。直接贴出实验的结果吧,表2是各级别的EfficientDet在COCO数据集上的检测精度和性能数据。

表2.EfficientDet-D0到D7在COCO数据集上的实验结果

从表中可以看出,在相同检测精度级别的条件下,EfficientDet无论上是在参数量、计算量和时延上,相比其他算法都有不小的领先优势。也许从这张pareto曲线上能更清晰地展现出EfficientDet的优势,在左上的位置表示这个算法模型的计算量越少,检测mAP越高。

图3.EfficientDet和其他算法模型的pareto(mAP-FLOPS)曲线对比

EfficientDet论文解析相关推荐

  1. 地图构建两篇顶级论文解析

    地图构建两篇顶级论文解析 一.基于声纳的密集水下场景重建 标题:Dense, Sonar-based Reconstruction of Underwater Scenes 作者:Pedro V. T ...

  2. 传感器标定两篇顶会论文解析

    传感器标定两篇顶会论文解析 一.在城市环境中的多个3D激光雷达的自动校准 标题:Automatic Calibration of Multiple 3D LiDARs in Urban Environ ...

  3. 机器人导航两篇顶级会议论文解析

    机器人导航两篇顶级会议论文解析 一.一种用于四旋翼无人机室内自主导航的卷积神经网络特征检测算法 标题:A Convolutional Neural Network Feature Detection ...

  4. SLAM架构的两篇顶会论文解析

    SLAM架构的两篇顶会论文解析 一.基于superpoint的词袋和图验证的鲁棒闭环检测 标题:Robust Loop Closure Detection Based on Bag of SuperP ...

  5. 将视频插入视频:CVPR2019论文解析

    将视频插入视频:CVPR2019论文解析 Inserting Videos into Videos 论文链接: http://openaccess.thecvf.com/content_CVPR_20 ...

  6. 全景分割:CVPR2019论文解析

    全景分割:CVPR2019论文解析 Panoptic Segmentation 论文链接: http://openaccess.thecvf.com/content_CVPR_2019/papers/ ...

  7. 结构感知图像修复:ICCV2019论文解析

    结构感知图像修复:ICCV2019论文解析 StructureFlow: Image Inpainting via Structure-aware Appearance Flow 论文链接: http ...

  8. 面部表情视频中进行远程心率测量:ICCV2019论文解析

    面部表情视频中进行远程心率测量:ICCV2019论文解析 Remote Heart Rate Measurement from Highly Compressed Facial Videos: an ...

  9. 人脸标记检测:ICCV2019论文解析

    人脸标记检测:ICCV2019论文解析 Learning Robust Facial Landmark Detection via Hierarchical Structured Ensemble 论 ...

最新文章

  1. File not found 错误 nginx
  2. Raevo最近疯狂迷上了WP
  3. XML外部实体注入漏洞——XXE简单分析
  4. 手机端适应_不轻易透露的超强技巧!详解iVX中怎样做设备自适应
  5. 在Finder标题栏上显示完整路径
  6. CoreAnimation编程指南(十)KVC
  7. CTSC2017APIO2017
  8. Linux查看版本信息及CPU内核、型号等
  9. web电商、商城pc端、商城、购物车、订单、线上支付、web商城、pc商城、登录注册、人工客服、收货地址、现金券、优惠券、礼品卡、团购订单、评价晒单、消息通知、电子产品商城、手机商城、电脑商城
  10. artcam2008 stp 教程_ArtCAM_中文版使用教程
  11. 结构体内存对齐(如何计算结构体的大小)
  12. 数学建模优化模型简单例题_数学建模例题.doc
  13. Java进阶篇设计模式之五-----外观模式和装饰器模式
  14. 中国移动物联网开放平台OneNET学习笔记(1)——设备接入(MQTT协议)OneNET Studio篇
  15. Hypergraph Neural Networks HGNN
  16. 思维导图Java篇(一)
  17. github上操作部署
  18. Docker 镜像仓库 -- Harbor 搭建
  19. docker在浏览器里为你提供深度学习系统!
  20. 2023北方民族大学计算机考研信息汇总

热门文章

  1. 谈谈中小企业ERP实施的现状
  2. Mat与BufferedImage相互转换
  3. 基于MATLAB/SIMULINK的双馈风力发电机(DFIG)并网模型
  4. 边坡安全监测系统 浅谈方案分享
  5. 新版Edge 浏览器的禁用扩展提示
  6. 数据分析求职系列_简历篇
  7. DS树--二叉树高度
  8. sublime Text 3配置Maple编译运行
  9. 一条sql是怎么执行的
  10. 总结下linux中一些入门级shell编程实例