EfficientNet🍭EfficientDet

Reading List:

EfficientNet FPN EfficientDet DetNAS

EfficientNet

balance all dimensions of network width/depth/resolution

uniformly scaling each of them with constant ratio

Result: EfficientNet models generally use an order of magnitude fewer parameters and FLOPS than other ConvNets with similar accuracy.

compound scaling method

Necessity

Scaling Methods

Intuitively, the compound scaling method makes sense because if the input image is bigger, then the network needs more layers to increase the receptive field and more channels to capture more fine-grained patterns on the bigger image.

直观地说,复合缩放方法是有意义的,因为如果输入图像更大,那么网络需要更多的层来增加感受野,需要更多的通道来捕捉更大图像上更细粒度的模式。事实上,之前的理论和实证结果都表明网络宽度和深度之间存在一定的关系,但据作者所知,作者是第一个对网络宽度、深度和分辨率三个维度之间的关系进行实证量化的人

Compound Model Scaling

Problem Formulation

ConvNet
ConvNet Function
Optimization
Constricts
Scaling Dimensions
  • Depper ConvNet : capture richer & more complex features & generalize well on new tasks
  • Wider networks: capture more fine-grained features & easier to train
  • Resolution: capture .. & improve accuracy
Parameters

CAM-EfficientNet

FPN - Feature Pyramid Network

  • 核心亮点:提出了多尺度的特征金字塔结构

    最后一层特征图谱进行不断进行上采样, 并与每一个金字塔阶级的特征图谱进行加法合并操作, 得到新的表征能力更强的不同金字塔层次的特征图谱, 然后按照尺寸分别映射到这些特征图谱上, 再在每个特征图谱上进行类别和位置预测

  • 基本思想: 利用不同level的feature map预测不同尺度的目标

    • 尺寸小的物体因不断的池化会在较深的层消失,所以利用浅层检测小目标
    • 浅层不如深层具备丰富的语义特征,所以还需要浅层融合深层的特征
    • FPN = top-down的融合(skip layer) + 在金字塔各层进行prediction
Featureized image pyramid

multi-scale feature fusion

SSD较早尝试了使用CNN金字塔形的层级特征。理想情况下,SSD风格的金字塔 重利用了前向过程计算出的来自多层的多尺度特征图,因此这种形式是不消耗额外的资源的。但是SSD为了避免使用low-level的特征,放弃了浅层的feature map,而是从conv4_3开始建立金字塔,而且加入了一些新的层。因此SSD放弃了重利用更高分辨率的feature map,但是这些feature map对检测小目标非常重要。这就是SSD与FPN的区别

FPN是为了自然地利用CNN层级特征的金字塔形式,同时生成在所有尺度上都具有强语义信息的特征金字塔。所以FPN的结构设计了top-down结构和横向连接,以此融合具有高分辨率的浅层layer和具有丰富语义信息的深层layer。这样就实现了从单尺度的单张输入图像,快速构建在所有尺度上都具有强语义信息的特征金字塔,同时不产生明显的代价。

EfficientDet

EfficientDet-D7 achieves state-of-the-art accuracy with an order-of-magnitude fewer parameters and FLOPS than the best existing detector.

EfficientDet is also up to 3.2x faster on GPUs and 8.1x faster on CPUs.

† BiFPN & † Compound Scaling

可学习的权重来学习不同输入特征的重要性,同时重复应用自上而下和自下而上的多尺度特征融合

^†^ BiFPN

BiFPN(weighted bi-directional feature pyramid network) 加权双向特征金字塔网络

Our final BiFPN integrates both the bidirectional cross- scale connections and the fast normalized fusion.

BiFPN 引入两个主要想法:高效的双向跨尺度连接加权特征融合

bidirectional (top-down & bottom-up) & cross-scale connections & weighted feature fusion.

Problem Formulation

FPN Unit

注:其中 Resize 通常表示分辨率匹配时的上采样或者下采样,Conv 通常表示特征处理时的卷积网络

Cross-Scale Connections

Evolution to BiFPN

b)PANet 在 FPN 的基础上额外添加了自下而上的路径

c)NAS-FPN 使用神经架构搜索找出不规则特征网络拓扑

d) 在所有输入特征和输出特征之间添加成本高昂的连接;

e ) 移除只有一个输入边的节点,从而简化 PANet;

if a node has only one input edge with no feature fusion, then it will have less contribution to feature network that aims at fusing different features.移除仅具备一个输入边的节点。其背后的想法很简单:如果一个节点只有一个输入边没有特征融合,则它对特征网络的贡献较小。这样就得到了简化版 PANet

f ) 是兼顾准确和效率的 BiFPN

add an extra edge from the original input to output node if they are at the same level, in order to fuse more features without adding much cost为同级原始输入到输出节点添加额外的边,从而在不增加大量成本的情况下融合更多特征

treat each bidirectional (top-down & bottom-up) path as one feature network layer, and repeat the same layer multiple times to enable more high-level feature fusion.与只有一条自上而下和自下而上路径的 PANet 不同,将每个双向路径(自上而下和自下而上)作为一个特征网络层,并多次重复同一个层,以实现更高级的特征融合

Weighted Feature Fusion 加权融合特征

Previous feature fusion methods treat all input features equally without distinction.

由于不同输入特征的分辨率不同,它们对输出特征的贡献也不相等

different input features are at different resolutions, they usually contribute to the output feature

add an additional weight for each input during feature fusion, and let the network to learn the importance of each input feature unequally

Fast normalized fusion Function

similar learning behavior and accuracy as the softmax-based fusion

runs up to 30% faster on GPUs

$P_{6}^{t d}$ : intermediate feature at level 6 , $P_{6}^{out}$ is the output feature at level 6 on the bottom-up pathway

BiFPN Unit

Notably, to further improve the efficiency, we use depthwise separable convolution for feature fusion, and add batch normalization and activation after each convolution.

EfficientDet Network

EfficientDet Architecture

EfficientDet Architecture

​ Backbone network - -feature network - shared class/box prediction network

基于 BiFPN,开发了新型检测模型 EfficientDet。上图展示了 EfficientDet 的整体架构,遵循one-stage范式

使用 EfficientNet 作为主干网络,使用 BiFPN 作为特征网络,并使用共享的边界框/类别预测网络

在 ImageNet 数据集上预训练的 EfficientNet 作为主干网络,将 BiFPN 作为特征网络,接受来自主干网络的 level 3-7 特征 {P3, P4, P5, P6, P7},并重复应用自上而下和自下而上的双向特征融合。然后将融合后的特征输入边界框/类别预测网络,分别输出目标类别和边界框预测结果

^†^ Compound Scaling

A key challenge here is how to scale up a baseline EfficientDet model.

scaling up all dimensions

jointly scale up all dimensions of backbone network, BiFPN network, class/box network, and resolution

同时对所有主干网络 & 特征网络 & 边界框/类别预测网络 & 分辨率 执行统一缩放

使用简单的复合系数 φ 统一扩大主干网络、BiFPN 网络、边界框/类别预测网络的所有维度

DetNas

自动化神经架构搜索

One-Shot 只完整训练一个超网,主张权重共享,对不同路径进行采样作为子模型训练,并基于此对模型排名,这样就可以更快速判断模型性能,提高搜索效率

和DetNet目的相似,寻找更合适的目标检测backbone网络


   Reprint policy


《EfficientNet🍭EfficientDet》 by David Qiao is licensed under a Creative Commons Attribution 4.0 International License
  TOC