论文阅读笔记 | 目标检测算法——EfficientDet(EfficientNet+BiFPN)

本文涉及的产品
文件存储 NAS,50GB 3个月
简介: 论文阅读笔记 | 目标检测算法——EfficientDet(EfficientNet+BiFPN)

paper:EfficientDet: Scalable and Efficient Object Detection


第一次看见这个目标检测算法的时候觉得名字有点熟悉,然后找回之前的论文一看,果然作者是同一个人,都是来自Mingxing Tan。


在之前的学习笔记中,我同样的介绍了两个backbone:EfficientNetv1,EfficientNetv2,这两个backbone的主要解决的问题就是如何统一缩放神经网络的深度,宽度与分辨率,如何统筹好这三个因素从而在一些列不同的移动设备的限制上获得最佳的选择方案。


之前的两篇学习笔记链接如下:

轻量级网络——EfficientNet

轻量级网络——EfficientNetV2


简答回顾:

1)EfficientNetv1

在EfficientNet中,作者将网络层抽象成了一个数学公式使之成为一个优化问题,对卷积网络按深度,宽度与分辨率三个因素进行一系列的缩放,获得了b0-b7一共8个基准。


2)EfficientNetv2

而在v2的版本中,作者稍稍改变了每层网络堆叠的block,使用Fused-MBConv与MBConv的结合版本。但是主要的优化对象是精准度,参数效率与训练效率,并使用Progressive Learning优化训练过程。


而此paper的名字同样是EfficientDet,也就是作者将之前的思想用在了目标检测任务上。


1. Introduction


paper中指出,EfficientDet想要解决的问题是:是否有可能在广泛的资源限制范围内(例如,从3B到300B FLOPs)构建一个既具有更高精度又具有更好效率的可扩展检测架构?当设计网络结构时主要存在以下两个挑战:


Challenge 1:高效的多尺度特征融合

在融合不同输入特征的同时,以往的大部分作品都是简单的不加区分的进行相加;然而,由于这些不同的输入特征具有不同的分辨率,我们观察到它们通常对融合输出特征的贡献是不相等的。为了解决这个问题,我们提出了一种简单而高效的加权双向特征金字塔网络(BiFPN),它引入了可学习的权重来学习不同输入特征的重要性,同时重复应用自顶向下和自底向上的多尺度特征融合。


Challenge 2:模型的缩放

以往的一些工作主要依赖于更大的backbone网络,或者是更大的输入图像尺寸以获得高精度。但是,在考虑准确性和效率时,缩放特征网络和类/边界框预测网络也很关键。然后作者提出了一种用于目标检测的复合缩放方法,该方法联合缩放所有主干、特征网络、盒/类预测网络的分辨率/深度/宽度。

image.png


可以看见,EfficientDet的准确率确实达到了那时的SOTA。不仅仅是准确率是最高,而且模型的参数,与浮点运算也要比其他的检测网络要小。同时在GPU/CPU上的速度也比以前的检测器快4倍至11倍。paper中还指出,通过简单的修改,EfficientDet用于语义分割的表现也要比DeepLabV3+要好。


在之后yolov4登场时,EfficientDet的准确率还是不逊色与yolov4的。虽然,在检测的速度上是远比不过yolov4.各有各的优缺点。

image.png


2. BiFPN


BiFPN的本文中提出的最重要的一个结构。在此之前介绍一下其他的特征金字塔网络(FPN)结构:


  • FPN:提出了一种自上而下的方法来组合多尺度特征
  • PANet:在FPN之上增加了一个额外的自下而上的路径聚合网络
  • STDL:提出了一个利用跨尺度特征的尺度转换模块
  • M2det:提出一种融合多尺度特征的U形模块
  • G-FRNet:介绍用于控制要素间信息流的门单元
  • NAS-FPN:利用神经架构搜索来自动设计特征网络拓扑结构
  • BiFPN:高效的双向跨尺度连接和加权特征融合


2.1 Cross-Scale Connections

传统的自上而下的FPN本质上受到单向信息流的限制。为了解决这个问题,PANet增加了一个额外的自下而上的路径聚合网络。PANet取得了比FPN和NAS-FPN更好的精度,但代价是更多的参数和计算。所以,BiFPN会在PANet的基础上进行一些改动:

image.png


  1. 移除那些只有一条输入边的节点,这是因为如果一个节点只有一条输入边而没有特征融合,那么它对以融合不同特征为目标的特征网络的贡献就比较小。这可以简化我们的双向网络。


  1. 如果原始输入节点和输出节点处于同一水平,我们会在它们之间增加一条额外的边,以便在不增加太多成本的情况下融合更多的特征。


  1. 与PANet只有一条自上而下和一条自下而上的路径不同,BiFPN将每条双向(自上而下&自下而上)路径视为一个特征网络层,并多次重复同一层,以实现更高级别的特征融合。如何确定层数数量是另外一个问题。


所以,总的网络结构如下所示,不断堆叠BiFPN层的EfficientDet模型:(注意注释:基于不同的资源约束,BiFPN层和分裂类与回归参数网络预测层被重复多次)

image.png


2.2 Weighted Feature Fusion

当融合不同分辨率的要素时,一种常见的方法是首先将它们调整到相同的分辨率,然后对它们进行求和。所有以前的方法都一视同仁地对待所有输入特征。


然而,作者观察到,由于不同的输入特征具有不同的分辨率,因此它们对输出特征的贡献通常是不相等的。为了解决这个问题,paper建议为每个输入增加一个额外的权重,并让网络学习每个输入特征的重要性。


作者提出了三种加权融合的方法:


  1. Unbounded fusion

image.png


其中wi 是一个可学习的权重,可以是标量(每个特征)、矢量(每个通道)或多维张量(每个像素)。


作者发现了一个在最小计算成本下,可以媲美其他精确度的参数。但由于标量权重是无界的,它可能会导致训练不稳定。因此,我们采用权重归一化来限定每个权重的取值范围。


  1. Softmax-based fusion

image.png


另一个直观的想法是将softmax应用于每个权重,这样所有权重都被归一化为一个概率,其值范围从0到1,表示每个输入的重要性。然而,额外的softmax会导致GPU硬件速度显著下降。


  1. Fast normalized fusion

image.png

其中w i ≥ 0是通过在每个wi后应用Relu来确保的。以及∈ = 0.0001是避免数值不稳定的小数值。


类似地,每个归一化权重的值也落在0和1之间,但是由于这里没有softmax操作,所以效率要高得多。实验结果研究表明,这种快速融合方法具有与基于softmax的融合非常相似的学习行为和准确性,但在图形处理器上运行速度高达30%


总结:

最终的BiFPN集成了双向跨尺度连接和快速归一化融合(Fast normalized fusion)。作为一个具体的例子,这里描述了图2(d)所示的BiFPN的两个融合特征:

image.png

image.png


3. EfficientDet


paper提出了一种新的用于目标检测的复合缩放方法,该方法使用简单的复合系数φ 来联合缩放主干、BiFPN、类/盒网络和分辨率的所有维度。


  1. Backbone network

将EfficientNet B0-B6的相同宽度/深度缩放系数重用

image.png


  1. BiFPN network

线性增加BiFPN深度。对一系列值{1.2、1.25、1.3、1.35、1.4、1.45}执行网格搜索,并选择最佳值1.35作为BiFPN宽度比例因子。形式上,BiFPN的宽度和深度通过以下等式进行缩放。

image.png


  1. Box/class prediction network

将它们的宽度固定为始终与BiFPN相同,但是根据层数的增加会线性的增加。

image.png


  1. Input image resolution

image.png


根据以上的公式,只使用了一个参数ϕ ,对整个目标检测网络的backbone,BiFPN,分类预测与边界框回归预测,以及图像的分辨率进行联合缩放。


φ是控制所有其他缩放尺寸的复合系数;BiFPN、箱/类网和输入大小分别使用以上等式按比例放大。

image.png

其中D7和D7x具有相同的BiFPN和head,但D7使用更高的分辨率,D7x使用更大的主干网络和多一个功能级别(从P3 to P8)。值得注意的是,我们的复合缩放是基于启发式的,可能不是最优的,但是我们将展示这个简单的缩放方法可以在一定程度上提高效率。

image.png


可以看见,EfficientDet在准确度上的提升还是很高。


4. Ablation Study


除了以上的对比试验,paper中还提到了一些其他的实验


4.1 Disentangling Backbone and BiFPN

paper中还探讨了backbone与特征提取部分BiFPN对准确度的作用如何。

image.png

可以看见,可以说是强强联合,backbone与BiFPN对准确度的提高均有作用。


4.2 BiFPN Cross-Scale Connections

paper还进行对BiFPN 特征融合的对比,分别与FPN,PANet,NAS-FPN进行对比。为了公平比较,这里我们重复它们中的每一个多个。这与BiFPN相同。我们使用相同的主干和类/盒预测网络,并且对所有实验使用相同的训练设置。

image.png

如图所示,传统的自上而下的FPN固有地受到单向信息流的限制,因此具有最低的精度。虽然重复的FPN+PANet实现了比NAS-FPN稍好的精度,但它也需要更多的参数和FLOPs。我们的BiFPN实现了与重复的FPN+PANet相似的精度,但使用的参数和FLOPs少得多。通过额外的加权特征融合,我们的BiFPN进一步用更少的参数和FLOPs达到了最好的精度。


总结:


EfficientDet使用了一个高效的backbone,既创造了一个新的多尺度特征融合网络BiFPN,并通过额外的可学习行的加权特征处理,实现了精确度上的提高。


相关实践学习
基于ECS和NAS搭建个人网盘
本场景主要介绍如何基于ECS和NAS快速搭建个人网盘。
阿里云文件存储 NAS 使用教程
阿里云文件存储(Network Attached Storage,简称NAS)是面向阿里云ECS实例、HPC和Docker的文件存储服务,提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。 产品详情:https://www.aliyun.com/product/nas
目录
相关文章
|
1月前
|
监控 算法 数据安全/隐私保护
基于三帧差算法的运动目标检测系统FPGA实现,包含testbench和MATLAB辅助验证程序
本项目展示了基于FPGA与MATLAB实现的三帧差算法运动目标检测。使用Vivado 2019.2和MATLAB 2022a开发环境,通过对比连续三帧图像的像素值变化,有效识别运动区域。项目包括完整无水印的运行效果预览、详细中文注释的代码及操作步骤视频,适合学习和研究。
|
1月前
|
机器学习/深度学习 安全 算法
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-23(下)
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-23(下)
39 0
|
1月前
|
安全 搜索推荐 算法
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-23(上)
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-23(上)
32 0
|
1月前
|
自然语言处理 搜索推荐 算法
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-21(下)
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-21(下)
33 0
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-21(上)
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-21(上)
26 0
|
1月前
|
算法 安全 数据安全/隐私保护
基于game-based算法的动态频谱访问matlab仿真
本算法展示了在认知无线电网络中,通过游戏理论优化动态频谱访问,提高频谱利用率和物理层安全性。程序运行效果包括负载因子、传输功率、信噪比对用户效用和保密率的影响分析。软件版本:Matlab 2022a。完整代码包含详细中文注释和操作视频。
|
8天前
|
算法 数据安全/隐私保护 索引
OFDM系统PAPR算法的MATLAB仿真,对比SLM,PTS以及CAF,对比不同傅里叶变换长度
本项目展示了在MATLAB 2022a环境下,通过选择映射(SLM)与相位截断星座图(PTS)技术有效降低OFDM系统中PAPR的算法实现。包括无水印的算法运行效果预览、核心程序及详尽的中文注释,附带操作步骤视频,适合研究与教学使用。
|
16天前
|
算法 数据挖掘 数据安全/隐私保护
基于FCM模糊聚类算法的图像分割matlab仿真
本项目展示了基于模糊C均值(FCM)算法的图像分割技术。算法运行效果良好,无水印。使用MATLAB 2022a开发,提供完整代码及中文注释,附带操作步骤视频。FCM算法通过隶属度矩阵和聚类中心矩阵实现图像分割,适用于灰度和彩色图像,广泛应用于医学影像、遥感图像等领域。
|
17天前
|
算法 调度
基于遗传模拟退火混合优化算法的车间作业最优调度matlab仿真,输出甘特图
车间作业调度问题(JSSP)通过遗传算法(GA)和模拟退火算法(SA)优化多个作业在并行工作中心上的加工顺序和时间,以最小化总完成时间和机器闲置时间。MATLAB2022a版本运行测试,展示了有效性和可行性。核心程序采用作业列表表示法,结合遗传操作和模拟退火过程,提高算法性能。
|
18天前
|
存储 算法 决策智能
基于免疫算法的TSP问题求解matlab仿真
旅行商问题(TSP)是一个经典的组合优化问题,目标是寻找经过每个城市恰好一次并返回起点的最短回路。本文介绍了一种基于免疫算法(IA)的解决方案,该算法模拟生物免疫系统的运作机制,通过克隆选择、变异和免疫记忆等步骤,有效解决了TSP问题。程序使用MATLAB 2022a版本运行,展示了良好的优化效果。
下一篇
无影云桌面