论文:EfficientDet: Scalable and Efficient Object Detection 来源:2019
1. 贡献
提出了简单且高效的多尺度特征融合方法:双向特征金字塔网络(bi-directional feature pyramid network,BiFPN)。BiFPN通过引入可学习的权重来衡量不同输入特征的重要程度,并重复使用top-down和bottom-up方式来融合多尺度特征。
对目标检测器的各个部分(如backbone, feature network, box/class prediction network)的分辨率、深度、宽度进行了统一缩放,得到多个具有不同准确度和速度的目标检测器EfficientDet-D0~D7。
2. Motivation
现有的多尺度特征融合方法主要有以下几种:
(a) FPN introduces a top-down pathway to fuse multi-scale features from level 3 to 7 (P3 - P7);
(b) PANet adds an additional bottom-up pathway on top of FPN;
( c c c ) NAS-FPN uses neural architecture search to find an irregular feature network topology and then repeatedly apply the same block;
这些方法在进行多尺度特征融合时,对不同输入特征采用直接相加的操作,并未考虑不同输入特征对输出的重要程度(直接相加可认为重要程度相等)。
假设不同尺度的输入特征为 P ⃗ i n = ( P l 1 i n , P l 2 i n , . . . ) \vec P^{in}=(P_{l_1}^{in},P_{l_2}^{in},...) P
i n = ( P l 1 i n , P l 2 i n , . . . ) ,其中 P l i i n P_{l_i}^{in} P l i i n 表示第 l i l_i l i 层的特征,多尺度特征融合要寻找合适的函数 f ( ) f() f ( ) ,使得 P ⃗ o u t = f ( P ⃗ i n ) \vec P^{out}=f(\vec P^{in}) P
o u t = f ( P
i n ) 。
以FPN为例,其输入特征为 P ⃗ i n = ( P 3 i n , . . . , P 7 i n ) \vec P^{in}=(P_3^{in},...,P_7^{in}) P
i n = ( P 3 i n , . . . , P 7 i n ) ,则输出特征为
但是从分辨率或者不同层级的反向传播路径可以看出,不同层级的特征对输出的重要程度应该是不同的,所以BiFPN为不同输入特征设置了可学习的权重。
3. EfficientDet
3.1 overview
3.2 Cross-Scale Connections
PANet在FPN的基础上再添加bottom-up pathway,取得比FPN更好的效果;虽然NAS-FPN使用网络结构搜索的方式得到比PANet更好的效果,但其搜索出的拓扑结构缺乏解释性,所以本文选择PANet为基础模块,并加以修改。
移除所有单输入特征的结点,原因是:与多输入特征相比,单输入特征对多尺度特征融合的贡献较小,移除所有单输入特征的结点可以简化网络结构。
在同级特征中添加一条输入输出直接通道。
以上述2步得到的结构为BiPFN layer,并重复使用该结构。
BiPFN的3处网络结构修改应该是以NAS-FPN为先验的。
3.3 Weighted Feature Fusion
3种特征加权融合方法:Unbounded fusion,Softmax-based fusion,Fast normalized fusion
Unbounded fusion : O = ∑ i w i I i O=\sum_iw_iI_i O = i ∑ w i I i 其中, w i w_i w i 表示第 i i i 个输入特征 I i I_i I i 所对应的可学习权重, w i w_i w i 可以是标量(per-feature)、向量(per-channel)、矩阵(per-pixel)。作者发现这3个类型的 w i w_i w i 的效果很接近,但是标量型 w i w_i w i 的计算量较小,所以将 w i w_i w i 确定为标量。但由于标量是无界的,为使模型比较稳定,应该对 w i w_i w i 进行归一化。
Softmax-based fusion : 采用softmax归一化至[0,1],但是softmax在GPU中的计算速度比较慢,所以提出第3种方法:快速归一化。
Fast normalized fusion : 实验发现,Fast normalized fusion与Softmax-based fusion具有相近的准确度,但Fast normalized fusion比Softmax-based fusion快30%。
以 P 6 P_6 P 6 为例,采用Fast normalized fusion进行多尺度特征融合的公式为:
3.4 Compound Scaling
在目标检测器中,使用更深的backbone(VGG → \to → ResNet → \to → ResNeXt)或提高输入图像的分辨率( 512 × 512 → 1536 × 1536 512\times512\to1536\times1536 5 1 2 × 5 1 2 → 1 5 3 6 × 1 5 3 6 )均可显著提高目标检测性能,但目前很多研究只是单独增大某一方面。
目标检测框架包括backbone, feature network, box/class prediction network,这些子网络又可以在分辨率、深度、宽度进行缩放,所以本文研究了统一对各个方面进行缩放的效果。
Backbone network :直接选取EfficientNet-B0~B6,EfficientNet的各个版本具有不同的网络深度和网络宽度
BiFPN network :BiFPN的深度指BiFPN layer的个数,记为 D b i f p n D_{bi\ fpn} D b i f p n ,而BiFPN的宽度指BiFPN layer中特征的通道数,记为 W b i f p n W_{bi\ fpn} W b i f p n
Box/class prediction network :令 W p r e d = W b i f p n W_{pred}=W_{bi\ fpn} W p r e d = W b i f p n ,且
Input image resolution :最大下采样率为128,所以输入图像分辨率应该是128的倍数
4. 实验
将RetinaNet的ResNet-50换成EfficientNet-B3, A P AP A P 提高 3.3 % 3.3\% 3 . 3 % ,表明EfficientNet-B3效果更好;
将EfficientNet-B3+FPN的FPN换成BiFPN, A P AP A P 再次提高 4.1 % 4.1\% 4 . 1 % ,表明BiFPN效果更好。
相比于Softmax Fusion,Fast Fusion的 A P AP A P 稍低,但速度更快
最终性能