【论文阅读笔记】EfficientDet:Scalable and Efficient Object Detection

论文地址:EfficientDet

论文总结

  本文是基于EfficientNet展开的检测网络,其提出了一种新的特征融合手段(BiFPN),以及检测器上的缩放方案(如EfficientNet一样的多维度组合缩放方案),可以得到一个高效率又高性能的网络。
  BiFPN通过对FPN添加一个bottom-up的路径以及做了一些修改,之后又对每一个特征融合的特征添加了权重的影响,这与传统的相同大小feature map直接相加不同。

  网络性能展示如下:

论文介绍

  BiFPN是一个有效的双向的同尺度连接(cross-scale connections),如下图的(d)所示。

  有效的跨尺度连接方案如下:

  1. 移除只有一个输入的边;作者认为如果一个结点只有一个输入,没有特征融合,则其可以认为是相对没那么重要的;
  2. 特征融合的时候添加多一个同一尺寸大小的输入,这样就可以在没有增加太多计算量的情况下融合更多的特征信息;
  3. 不像PANet只有一个top-down和一个bottom-up路径,EfficientNet将这个组合作为一个基本block,可重复多次来获得更高层次的特征融合。

  同时,作者认为特征融合不同输入的权重应该不一样,所以本文提出增加学习特征融合的Input对应的weight。一般来说,增加权重有几种方式:(1)标量,即每一个输入对应一个标量的权重;(2)向量,即每一个输入的每一个channel都对应一个权重;(3)张量,即每一个元素都有其对应的权重。经过实验,作者发现标量的权重可以达到和向量、张量一样的效果。

  但张量是无边界的,可能会带来训练的不稳定,所以作者打算通过归一化使得权重限制在 0 0 0~ 1 1 1之间。一开始使用softmax,但那会带来性能的降低(速度慢),后来直接用权值进行归一化 ∑ i w i ε + ∑ j w j \sum_i \frac{w_i}{\varepsilon+\sum_jw_j} iε+jwjwi,也获得了差不多的结果;

  一般特征融合之后会使用一个conv操作。为了进一步提升性能,EfficientDet使用depthwise conv用于特征融合后的操作。

网络架构

组合缩放

  Backbone network使用EfficientNet一样的缩放策略,即EfficientNet-B0~B6,这样就可以简单利用ImageNet预训练好的checkpoint。
  BiFPN network,宽度 W b i f p n W_{bifpn} Wbifpn(channel)使用指数增长的缩放: W b i f p n = 64 ∗ ( 1.3 5 ϕ ) W_{bifpn}=64*(1.35^\phi) Wbifpn=64(1.35ϕ)文中 ϕ \phi ϕ在{1.2,1.25,1.3,1.35,1.4,1.45}中使用网格搜索,最终选择使用1.35作为width的缩放系数;深度 D b i f p n D_{bifpn} Dbifpn(layer)使用线性增长的方案: D b i f p n = 3 + ϕ D_{bifpn}=3+\phi Dbifpn=3+ϕ  Box/class prediction network,使用的channel数与BiFPN一致,但layers数以如下方式增长: D b o x = 3 + ⌊ ϕ ⌋ D_{box}=3+\lfloor \phi \rfloor Dbox=3+ϕ  Input image resolution,因为网络最后下采样 128 128 128,所以以 128 128 128作为系数: R i n p u t = 512 + ϕ ∗ 128 R_{input}=512+\phi*128 Rinput=512+ϕ128

  需要注意的是,缩放方案是基于启发式的,但并不是最优的。

论文实验

  损失函数使用Focal Loss,其系数 α = 0.25 \alpha=0.25 α=0.25 γ = 1.5 \gamma=1.5 γ=1.5。使用RetinaNet的训练预处理:多分辨率crop/scale 和 flip;没有使用自动增强(数据增强)策略。

  性能对比:

  softmax归一化和普通归一化的实验对比:

  从图5中的三个随机结点的权重学习可以看出,两种方案的学习曲线是相似的。最后的性能(AP)也相差不大,却有不小的速度差异。

猜你喜欢

转载自blog.csdn.net/qq_19784349/article/details/107215668
今日推荐