Efficientdet: Scalable and efficient object detection

论文地址:https://arxiv.org/abs/1911.09070

代码地址:(1)https://github.com/google/automl/tree/master/efficientdet(官方)(2)https://github.com/signatrix/efficientdet

论文主要工作和模型表现:

     在2020年CVPR会议上,谷歌大脑团队提出一款新型单阶段目标检测器--- EfficientDet,类似于SSD和RetinaNet。该模型从提高模型效率的角度切入,提出了双向金字塔网络(BiFPN)和复合缩放方法。

      BiFPN从骨干网络(这里是EfficientNet)获取{P3,P4,P5,P6,P7}特征,并构造自上而下和自下而上的双向通道(特征融合)形成BiFPN单元,BiFPN单元可以串联形式被反复使用;而复合缩放方法,可以联合缩放骨干、特征网络和框/类预测网络的分辨率、深度和宽度。

      将ImageNet预训练的EfficientNet作为骨干网络,结合上述优化方法,形成EfficientDet检测器,在资源限制下可获得最先进的效率。EfficientDet-D7只使用了52M的参数量、325B的FLOPs(模型每秒计算量),在COCO测试集上实现了当前最优的52.2mAP,比之前的检测器参数量少4-9倍,FLOPs少13-42倍。

 

提出模型的出发点:

1. 目标检测模型快速发展,但实际部署仍有困难。往往,模型的大尺寸和昂贵的计算成本阻碍了检测器的实际应用。最新的NAS-FPN检测器达到最先进的精度需要167M的参数量和3045B的FLOPs(比RetinaNet高30倍)。实际的机器人、自动驾驶汽车等对模型大小和延迟都有着严格的限制,考虑到这些现实世界的限制,就要考虑进一步优化模型效率。

2. 现有研究虽然可以做到优化效率,但通常牺牲了准确性。并且在优化时,只关注了特定或小范围的资源需求,换言之,没有考虑到广泛的资源限制。而从移动设备到数据中心,各种实际应用,有着不同的资源约束条件。

3. 该论文的目标:可应对广泛资源限制(模型可伸缩)、具有更高的精度和更好的效率。为此,研究了检测器的各种设计选择,基于单阶段检测器范式,从骨干网、特征融合和框/类网络的设计选择角度,确定了达到目标会遇到的挑战:(1)高效的多尺度特征融合(BiFPN,特征加权,双向,反复应用);(2)模型缩放(复合缩放,联合提升骨干网、特征网、框/类回归的分辨率、深度、宽度)。

4. EfficientNet比其余骨干模型效率高,在这里以其作为骨干网络,形成EfficientDet。

 

实验理解(部分):

1. 在COCO2017检测集上的结果

(1)实验配置:

     COCO 2017 检测数据集,包含118k张训练图像。每个模型都采用SGD进行优化,动量0.9,权重衰减4e-5。第一个训练周期,学习率由0线性增加到0.16,之后就用余弦衰减规则进行退火。在每次卷积后,添加同步批次正则化,批次衰减是0.99,epsilon是1e-3。采用swish激活,以及衰减是0.9998的指数移动平均。采用focal loss,其中alpha=0.25,gema=1.5,宽高比为{1/2,1,2}。每个模型在32的TPUv3核上训练300个周期,批次总大小是128。使用RetinaNet预处理训练时的多分辨率裁剪/缩放和翻转增强。没有对任何模型进行自动增强。

(2)结果:表2。

没有增强测试时间,单模型、单尺度的设置下,EfficientDet模型和其它目标检测器的比较。test-dev是20k张无真值框的测试集,val是5k张有真值框的验证集。EfficientDet和之前的检测器相比有着4-9倍更小的模型尺寸,13-42倍更少的FLOPs,在各种精度或资源限制下,有着更好的效率。

理解1---较低精度:

EfficientDet-D0达到了和YOLO-v3相似的精度,有28倍更少的FLOPs。

EfficientDet-D1和RetinaNet、Mask R-CNN达到了相似的精度,参数减少了8倍,FLOPs减少了21倍。

高精度:

超过了NAS-FPN和NAS-FPN的增强版本,我们的模型在参数量和FLOPs方面要小的多。

EfficientDet-D7达到了单模型、单尺度的当前最优,在test-dev上有52.2的AP,在val上有51.8的AP。

与AmoebaNet+NAS-FPN+AutoAugment 模型不同,这些都需要特殊设置(例如,将锚框从3*3改为9*9,使用模型并行进行训练,依赖昂贵的自动增强),所有的EfficientDet模型试验相同的3*3锚框,在没有模型并行或自动增强的情况下进行训练。

2.为了证实在现实硬件上可用。除了比较参数量和FLOPs,还比较了在Tian-V  GPU和Xeon CPU上的实际延迟。

(1)实验设置:我们将批次大小为1的每个模型运行10次,并报告平均值和标准差。为了公平比较,这些数字仅包括在同一台机器上使用相同设置测量的结果。

(2)结果:图4演示了模型大小、GPU延迟和单线程CPU延迟的比较。与以前的检测器相比,EfficientDet模型在GPU上的速度提高了4.1倍,在CPU上提高了10.8倍,这表明它们在现实世界的硬件上也很有效。

 

3. 消融实验

(1)骨干网络vsBiFPN:哪个对模型效率影响大?

结论:都重要。替换骨干提升了3个AP,替换BiFPN提升了4个AP,同时参数量和计算量少得多。

(2)BiFPN这种跨尺度连接是最优吗?比较了不同跨尺度连接特征网络模型的精度和模型复杂度。

值得注意的是,原来的FPN[20]和PANet[23]只有一个自上而下或自下而上的流程,但为了公平比较,我们在这里将每一个都重复多次,并将所有卷积替换为深度可分离的卷积,和BiFPN一样,我们使用相同的主干网和类/框预测网络,所有实验都使用相同的训练设置。

结论:BiFPN更少的参数量,更少的FLOPs,最佳精度。传统的自顶向下的FPN固有地受到单向信息流的限制,因此精度最低。虽然重复的FPN+PANet比NAS-FPN获得的精度稍好,但它也需要更多的参数量和FLOPs。BiFPN实现了与重复FPN+PANet类似的精度,但是使用的参数和FLOPs要少得多。通过附加的加权特征融合,我们的BiFPN进一步以更少的参数和更少的失败次数达到最佳的精度。

(3)Softmax和快速归一化融合?使用的快速归一化融合方法可行吗?

结论:与softmax类似行为,但更快。我们的快速归一化融合方法与基于softmax的融合方法具有相似的精度,但在GPU上运行速度快了1.26-1.31倍。

图5是在EfficientDet-D3中从BiFPN层随机选择的三个特征融合节点的学习权重。值得注意的是,标准化权重(softmax和fast)对于所有输入,总和始终为1。训练过程中归一化权值变化很快,说明不同的特征对特征融合的贡献是不均衡的。尽管变化很快,我们的快速归一化融合方法始终表现出与基于softmax的融合非常相似的学习行为。

(4)复合缩放和其他缩放的比较?其他缩放允许单独缩放分辨率、宽度、高度中的一项。

结论:从同一基线检测器开始,复合缩放方法获得了更好的效率,说明了通过更好地平衡不同的体系结构尺维度的联合缩放的好处。

 

模型主要内容介绍

BiFPN

(1)结构

结构的特色:双向、残差特征连接、加权特征融合、分析去除了并非必要的节点(特征图)。

(2)加权特征融合(快速归一化融合)

复合缩放

(1)骨干网络:EfficientNet-B0到B6

(2)BiFPN网络:

宽度和深度

(3)框/类预测网络:

(4)分辨率

 

虽然不是启发式的,但这种联合缩放策略可以显著提高效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值