[Paper Reading Note]EfficientDet: Scalable and Efficient Object Detection
Paper Reading Note
URL: https://arxiv.org/pdf/1911.09070.pdf
TL;DR
Google Brain团队基于EfficientNets的后续工作,提出了改进版的FPN, BiFPN, 该结构在PANet的基础上进行了重新设计,并引入了对特征的加权,另外,加入compound scaling方法,形成了EfficientDet。如图1所示,EfficientDet在减少计算量的同时,大幅提升了准确率
Dataset/Algorithm/Model/Experiment Detail
作者认为,为了构建一个在各种资源限制条件下,构建具有高精度和高效率的可缩放的检测结构,需要面临两个挑战,其一是高效的多尺度特征融合,其二则是模型缩放
针对第一个问题,FPN被广泛应用于多尺度特征融合的问题,在此基础之上衍生出了PANet和NAS-FPN等方法,通过实验,作者发现PANet在计算量更大的基础上,比FPN和NAS-FPN具有更高的性能,因此,在PANet上进行改进,来提升模型的效率,具体做出的改进如下:
- 删除只有一条输入边的点,这种点对于feature fusion的贡献较小,得到的模型如图1(e)所示
- 如图1(f)所示,在同一层的原始输入节点和输出节点之间加入一条shortcut, 目的是在不大量增加计算量的前提下,融合更多信息
- 和PANet中仅包含一组top-down和bottom-up的结构不同,BiFPN把每个双向路径视为一个特征网络层,并多次重合相同的层以融合更高层的信息
对于多尺度特征融合,之前的做法是所有的特征权重相同,没有区分,然而,作者发现不同分辨率的特征对于输出特征的贡献是不同的,因此提出在特征融合过程中加入一个额外的权重,这里也提出了三种方式:
- 通过学习一个权重对不同分辨率下的特征加权,然而这种方式没有限制,会降低模型稳定性
- 使用softmax进行归一化,然而这种方式带来了额外的计算量
- 线性归一化,如表5所示,在ablation study中,也证明了在大幅提升速度的前提下,使用该方法,精度几乎不损失
基于BiFPN,提出的EfficientDet如图3所示,其中backbone部分使用EfficientNets,针对模型缩放的问题,延续了EfficientNets中的工作,不同的是,检测任务具有更多的需要放缩的维度
实验部分,在多个accuracy/resource constraints区间上都有提升:BiFPN和Weighted Feature Fusion的ablation studies如表3和表4所示
Thoughts
延续EfficientNets的工作,解决检测领域中feature fusion和model scaling的问题,提出了BiFPN和新的compound model scaling,并基于此提出EfficientDet,其研究思路还是很值得借鉴的