EfficientDet

EfficientDet#

标题: EfficientDet: Scalable and Efficient Object Detection

作者: Mingxing Tan, Ruoming Pang, Quoc V. Le (Google Research, Brain Team)

摘要:

  • 提出了一种新的对象检测网络架构,称为EfficientDet。

  • 动机是提高模型效率,特别是在资源受限的环境中(如机器人和自动驾驶汽车)。

  • 提出了加权双向特征金字塔网络(BiFPN)和复合缩放方法,用于统一缩放所有网络组件。

  • 通过系统地研究神经网络架构设计选择,提出了几个关键优化以提高效率。主要优化包括加权双向特征金字塔网络(BiFPN)和复合缩放方法,这些方法统一地缩放所有背景、特征网络和盒子/类别预测网络的分辨率、深度和宽度。

1. 引言:

  • 近年来,对象检测模型的准确性不断提高,但模型大小和计算成本也随之增加。

  • 现实世界的应用(如移动设备和数据中心)对资源有不同限制,需要同时考虑准确性和效率。

2. 相关工作:

  • 讨论了单阶段和双阶段检测器,多尺度特征表示,以及模型缩放的相关研究。

3. BiFPN(双向特征金字塔网络):

  • 提出了一种新的多尺度特征融合方法,具有高效的双向跨尺度连接和加权特征融合。

4. EfficientDet架构:

  • 基于BiFPN,提出了EfficientDet,遵循单阶段检测器范式,并使用了预训练的EfficientNet作为主干网络。

5. 实验:

  • 在COCO数据集上评估EfficientDet,并与其他对象检测器进行比较。

6. 消融研究:

  • 分析了EfficientDet中不同设计选择的影响。

7. 结论:

  • EfficientDet在各种资源限制下都能实现比现有技术更好的准确性和效率。


回答问题:

1. 这篇论文做了什么工作,它的动机是什么?

  • 论文提出了EfficientDet,一种新的可扩展且高效的对象检测网络架构。动机是在资源受限的环境中(如机器人和自动驾驶汽车)提高对象检测的模型效率。

2. 这篇论文试图解决什么问题?

  • 论文试图解决现有对象检测模型在准确性和效率之间平衡的问题,尤其是在资源受限的应用场景中。

3. 这是否是一个新的问题?

  • 这不是一个全新的问题,但论文提出了一种新的解决方案来改善现有问题。

**4. 这篇文章要验证一个什么科学假设?

  • 论文的科学假设是,通过提出加权双向特征金字塔网络(BiFPN)和复合缩放方法,可以开发出同时具有高准确性和高效率的对象检测模型。

**5. 有哪些相关研究?如何归类?谁是这一课题在领域内值得关注的研究员?

  • 相关研究包括单阶段和双阶段检测器、多尺度特征表示和模型缩放的研究。归类为对象检测和神经网络架构设计。领域内值得关注的研究员包括Kaiming He、Ross Girshick、Tsung-Yi Lin等。

**6. 论文中提到的解决方案之关键是什么?

  • 解决方案的关键是提出加权双向特征金字塔网络(BiFPN)和复合缩放方法,这些方法可以有效地融合多尺度特征并统一缩放网络的所有组件。

**7. 论文中的实验是如何设计的?

  • 实验设计包括在COCO数据集上训练和评估EfficientDet模型,并与其他对象检测模型进行比较。实验还包括消融研究来分析不同设计选择的影响。

**8. 用于定量评估的数据集上什么?代码有没有开源?

  • 用于定量评估的数据集是COCO数据集。代码已经在GitHub上开源:google/automl

**9. 论文中的实验及结果有没有很好地支持需要验证的科学假设?

  • 是的,实验结果表明EfficientDet在保持高准确性的同时显著减少了参数数量和计算量,从而很好地支持了论文的科学假设。

**10. 这篇论文到底有什么贡献?

  • 论文的主要贡献是提出了EfficientDet,这是一种新的、在资源受限环境中具有高效率和准确性的对象检测模型。

**11. 下一步呢?有什么工作可以继续深入?

  • 下一步的工作可以包括进一步优化EfficientDet架构,探索在不同应用场景中的性能,或者将EfficientDet应用于其他计算机视觉任务,如语义分割或实例分割。 此外,还可以研究如何将EfficientDet与其他先进的技术(如注意力机制、元学习等)结合,以进一步提高性能。


efficientdet-fig1

模型

COCO AP

FLOPs (Billions)

FLOPs (ratio)

EfficientDet-D0

33.8

2.5B

1.0x

YOLOv3

33.0

71B

28x

EfficientDet-D1

39.6

6.1B

2.5x

RetinaNet

39.1

97B

16x

EfficientDet-D7

52.2

410B

164x

AmoebaNet + NAS-FPN + AA

55.7

3048B

13x

总结:

  • EfficientDet系列在性能和计算复杂度之间取得了较好的平衡,特别是EfficientDet-D7在COCO AP和FLOPs方面表现出色。

  • YOLOv3的计算复杂度较低,但性能也相对较低。

  • AmoebaNet + NAS-FPN + AA虽然性能最好,但计算复杂度非常高,不适合计算资源有限的场景。


efficientdet-fig2

这个图表展示了四种不同的特征网络设计:FPN、PANet、NAS-FPN和BiFPN。以下是对每种网络模型结构及其输入输出流程的分析:

(a) FPN (Feature Pyramid Network)

  • 结构

    • FPN引入了一个自上而下的路径,用于融合从第3层到第7层(P3到P7)的多尺度特征。

    • 自上而下的路径通过跳跃连接(skip connections)将高层特征逐步传递到低层特征。

  • 输入输出流程

    1. 输入图像经过主干网络(如ResNet)提取多尺度特征(C3到C7)。

    2. 自上而下路径从最高层(C7)开始,通过上采样和跳跃连接将特征传递到低层。

    3. 最终输出多尺度特征图(P3到P7),用于后续的目标检测任务。

(b) PANet (Path Aggregation Network)

  • 结构

    • PANet在FPN的基础上增加了一个自下而上的路径。

    • 自下而上的路径通过跳跃连接将低层特征逐步传递到高层特征。

  • 输入输出流程

    1. 输入图像经过主干网络提取多尺度特征(C3到C7)。

    2. 自上而下路径从最高层(C7)开始,通过上采样和跳跃连接将特征传递到低层。

    3. 自下而上路径从最低层(P3)开始,通过下采样和跳跃连接将特征传递到高层。

    4. 最终输出多尺度特征图(P3到P7),用于后续的目标检测任务。

(c) NAS-FPN (Neural Architecture Search Feature Pyramid Network)

  • 结构

    • NAS-FPN使用神经架构搜索(NAS)找到一个不规则的特征网络拓扑结构。

    • 该拓扑结构通过重复应用相同的块来构建。

  • 输入输出流程

    1. 输入图像经过主干网络提取多尺度特征。

    2. 特征通过NAS找到的拓扑结构进行处理,重复应用相同的块。

    3. 最终输出多尺度特征图,用于后续的目标检测任务。

(d) BiFPN (Bidirectional Feature Pyramid Network)

  • 结构

    • BiFPN在PANet的基础上进行了改进,具有更好的准确性和效率权衡。

    • BiFPN通过重复应用相同的块来构建,具有双向特征融合路径。

  • 输入输出流程

    1. 输入图像经过主干网络提取多尺度特征。

    2. 特征通过双向路径进行融合,重复应用相同的块。

    3. 最终输出多尺度特征图,用于后续的目标检测任务。

总结

  • FPN:通过自上而下路径融合多尺度特征。

  • PANet:在FPN基础上增加自下而上路径,进一步融合特征。

  • NAS-FPN:使用NAS找到不规则拓扑结构,重复应用相同的块。

  • BiFPN:改进的双向特征融合路径,具有更好的准确性和效率权衡。

这些特征网络设计旨在提高目标检测任务中的特征融合效果,从而提升检测性能。


efficientdet-fig3

这个图表描述的是EfficientDet架构,EfficientDet是一种用于目标检测的深度学习模型。从图表中可以看出,EfficientDet架构包括以下几个主要部分:

  1. EfficientNet backbone:EfficientNet是一种轻量级的卷积神经网络,用于提取图像特征。它是EfficientDet的基础,负责生成初始的特征图(feature maps)。

  2. BiFPN (Bidirectional Feature Pyramid Network):BiFPN是一种特征金字塔网络,用于进一步增强特征图。它通过双向连接的方式,将不同分辨率的特征图进行融合,以获取更丰富的特征表示。

  3. Class prediction net:类别预测网络,用于预测图像中每个候选区域的类别。

  4. Box prediction net:边界框预测网络,用于预测图像中每个候选区域的位置(即边界框的坐标)。

  5. Input:输入图像。

  6. Output:输出包括类别预测和边界框预测。

从图表中可以看出,输入图像首先通过EfficientNet backbone进行处理,生成不同分辨率的特征图(P0, P1, P2, P3, P4, P5, P6, P7)。然后,这些特征图通过BiFPN层进行多次迭代,以增强特征表示。BiFPN层的输出(P/128, P/64, Ps/32, P4/16, Pa/8, P2/4, P1/2)将被送入共享的类别预测网络和边界框预测网络。

类别预测网络和边界框预测网络是共享的,这意味着它们使用相同的网络结构,但可能有不同的参数。这些网络将对BiFPN层的输出进行处理,以预测每个候选区域的类别和位置。

输出结果将包括:

  • 类别预测:每个候选区域可能属于的类别。

  • 边界框预测:每个候选区域的位置,通常表示为四个坐标值(x_min, y_min, x_max, y_max),分别代表边界框的左上角和右下角。

EfficientDet的设计允许根据不同的资源限制调整网络的深度和复杂度,这在图表中提到的Table 1中有所体现。通过调整BiFPN层和预测网络的重复次数,EfficientDet可以适应不同的计算资源和性能要求。


efficientdet-fig4

这个图表展示了不同网络模型在COCO数据集上的性能(COCO AP)与模型大小、GPU延迟和CPU延迟的关系。以下是对每个子图的分析:

(a) Model Size

  • 结构

    • 该子图展示了不同模型的COCO AP与模型大小(参数数量,单位为百万)的关系。

    • EfficientDet系列(D0-D6)用红色曲线表示,其他模型如RetinaNet、Mask R-CNN、AmoebaNet + NAS-FPN等用不同颜色表示。

  • 输入输出流程

    1. 输入图像经过主干网络和特征网络提取多尺度特征。

    2. 特征通过检测头进行目标检测,输出检测结果。

    3. EfficientDet系列在模型大小和性能之间取得了较好的平衡,特别是EfficientDet-D6在COCO AP和参数数量方面表现出色。

(b) GPU Latency

  • 结构

    • 该子图展示了不同模型的COCO AP与GPU延迟(单位为毫秒)的关系。

    • EfficientDet系列(D0-D6)用红色曲线表示,其他模型如RetinaNet、Mask R-CNN、AmoebaNet + NAS-FPN等用不同颜色表示。

  • 输入输出流程

    1. 输入图像经过主干网络和特征网络提取多尺度特征。

    2. 特征通过检测头进行目标检测,输出检测结果。

    3. EfficientDet系列在GPU延迟和性能之间取得了较好的平衡,特别是EfficientDet-D6在COCO AP和GPU延迟方面表现出色。

(c) CPU Latency

  • 结构

    • 该子图展示了不同模型的COCO AP与CPU延迟(单位为毫秒)的关系。

    • EfficientDet系列(D0-D6)用红色曲线表示,其他模型如RetinaNet、Mask R-CNN、AmoebaNet + NAS-FPN等用不同颜色表示。

  • 输入输出流程

    1. 输入图像经过主干网络和特征网络提取多尺度特征。

    2. 特征通过检测头进行目标检测,输出检测结果。

    3. EfficientDet系列在CPU延迟和性能之间取得了较好的平衡,特别是EfficientDet-D6在COCO AP和CPU延迟方面表现出色。

总结

  • Model Size:EfficientDet系列在模型大小和性能之间取得了较好的平衡,特别是EfficientDet-D6在COCO AP和参数数量方面表现出色。

  • GPU Latency:EfficientDet系列在GPU延迟和性能之间取得了较好的平衡,特别是EfficientDet-D6在COCO AP和GPU延迟方面表现出色。

  • CPU Latency:EfficientDet系列在CPU延迟和性能之间取得了较好的平衡,特别是EfficientDet-D6在COCO AP和CPU延迟方面表现出色。

这些图表展示了EfficientDet系列在不同方面的优势,特别是在模型大小、GPU延迟和CPU延迟方面都表现出色,适合在资源受限的环境中使用。


efficientdet-fig5

这个图表(Figure 5)展示了在EfficientDet架构中用于特征融合的两种方法:Softmax和fast normalized feature fusion(快速归一化特征融合)。图表通过三个示例节点(Example Node 1, Example Node 2, Example Node 3)来比较这两种方法在训练过程中的归一化权重(即特征的重要性)。

Softmax:Softmax是一种常用的归一化方法,它可以将输入的任意实数值转换成一个概率分布,使得所有输出值的和为1。在特征融合中,Softmax可以确保来自不同输入的特征权重总和为1,从而实现特征的平衡融合。

Fast normalized feature fusion:这是一种快速的特征融合方法,它通过一种简化的方式对特征权重进行归一化,使得不同输入的特征权重总和也为1。这种方法可能在计算上比Softmax更高效,但可能在特征融合的精度上有所折衷。

图表中的三个子图(a, b, c)分别展示了三个节点在训练过程中Softmax和fast normalized feature fusion的归一化权重变化情况。每个节点有两个输入(input1 & input2),它们的归一化权重总和始终为1。

  • (a) Example Node 1:展示了第一个节点在训练过程中,Softmax和fast normalized feature fusion方法的权重变化。Softmax的权重在0.525和0.50之间变化,而fast normalized feature fusion的权重在0.500和0.500之间变化,这表明在该节点上,两种方法的权重分配非常接近。

  • (b) Example Node 2:展示了第二个节点的权重变化,Softmax的权重在0.5和0.4之间变化,而fast normalized feature fusion的权重在0.175和0.150之间变化。这表明在该节点上,fast normalized feature fusion方法可能更倾向于分配更多的权重给input1。

  • (c) Example Node 3:展示了第三个节点的权重变化,Softmax的权重在0.3和0.175之间变化,而fast normalized feature fusion的权重在0.150和0.150之间变化。这表明在该节点上,fast normalized feature fusion方法分配给两个输入的权重是相等的,而Softmax则根据特征的重要性进行了不同的权重分配。

总体而言,这个图表说明了在EfficientDet架构中,Softmax和fast normalized feature fusion方法在特征融合过程中如何根据特征的重要性动态调整权重分配。Softmax提供了一种更精细的权重分配方式,而fast normalized feature fusion则提供了一种计算上更高效的替代方案。通过比较这两种方法,研究人员可以更好地理解它们在不同训练阶段的表现,并根据具体需求选择合适的特征融合策略。


efficientdet-fig6

这个图表展示了不同缩放方法在COCO数据集上的性能(COCO AP)与计算量(FLOPs,单位为十亿次操作)的关系。图表中比较了四种不同的缩放方法:复合缩放(Compound Scaling)、按图像大小缩放、按通道数缩放、按BiFPN层数缩放和按检测头层数缩放。

以下是对图表中关键信息的提取和结论: 关键信息提取

  1. 复合缩放(Compound Scaling)

    • 用红色圆点表示。

    • 在所有FLOPs范围内,复合缩放方法的COCO AP始终高于其他缩放方法。

    • 在FLOPs约为55B时,复合缩放方法的COCO AP达到了46.2。

  2. 按图像大小缩放(Scale by image size)

    • 用绿色三角形表示。

    • 在FLOPs较低时(约10B以下),按图像大小缩放方法的COCO AP增长较快,但在FLOPs增加后,增长趋于平缓。

    • 在FLOPs约为55B时,COCO AP约为42.5。

  3. 按通道数缩放(Scale by #channels)

    • 用蓝色叉号表示。

    • 在整个FLOPs范围内,按通道数缩放方法的COCO AP增长较为平缓。

    • 在FLOPs约为55B时,COCO AP约为41.5。

  4. 按BiFPN层数缩放(Scale by #BiFPN layers)

    • 用青色菱形表示。

    • 在FLOPs较低时(约10B以下),按BiFPN层数缩放方法的COCO AP增长较快,但在FLOPs增加后,增长趋于平缓。

    • 在FLOPs约为55B时,COCO AP约为42.0。

  5. 按检测头层数缩放(Scale by #box/class layers)

    • 用紫色五角星表示。

    • 在整个FLOPs范围内,按检测头层数缩放方法的COCO AP增长较为平缓。

    • 在FLOPs约为55B时,COCO AP约为41.0。

结论

  • 复合缩放方法(Compound Scaling) 在所有FLOPs范围内都表现出最佳的性能,显著优于其他缩放方法。这表明复合缩放方法在准确性和效率之间取得了更好的平衡。

  • 按图像大小缩放按BiFPN层数缩放在FLOPs较低时表现较好,但在FLOPs增加后,性能提升趋于平缓。

  • 按通道数缩放按检测头层数缩放在整个FLOPs范围内的性能提升都较为有限,表现不如复合缩放方法。

综上所述,复合缩放方法在提升模型性能的同时,保持了较高的计算效率,是最优的缩放策略。