一、本文介绍
本文记录的是基于BiFPN结构的RT-DETR颈部网络改进方法研究。在RT-DETR
的Neck颈部网络中使用的FPN+PAN
的结构,但是FPN
在融合不同输入特征时简单地将它们相加,没有区分不同特征的重要性;PAN
虽然增加了额外的自底向上路径聚合网络,但参数和计算量较大。==为了解决这些问题,本文将颈部结构换成BiFPN
,利用多尺度特征融合网络,使模型既能考虑不同输入特征的重要性,又能提高模型效率。==
专栏目录:RT-DETR改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:RT-DETR改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、BiFPN介绍
EfficientDet
: 可扩展的高效物体检测
BiFPN(加权双向特征金字塔网络)
是该论文中提出的一种用于高效多尺度特征融合的网络结构,其设计原理和优势如下:
2.1、BiFPN原理
问题 formulation:多尺度特征融合的目标是聚合不同分辨率的特征,给定多尺度特征列表$\overrightarrow{P}{in} = (P{in}^1, P{in}^2, \ldots)$,其中$P{in}^i$代表第$i$级的特征,目标是找到一个变换$f$,使得$\overrightarrow{P}{out} = f(\overrightarrow{P}{in})$。以传统的
FPN
为例,它以自上而下的方式聚合多尺度特征,如$P{7}^{out} = Conv(P{7}^{in})$,$P{6}^{out} = Conv(P{6}^{in} + Resize(P_{7}^{out}))$等。2.1.1 跨尺度连接
为了改进传统
FPN
单向信息流的局限性,PANet
增加了自底向上的路径聚合网络,其他研究也进一步探讨了跨尺度连接。通过研究FPN
、PANet
和NAS-FPN
这三个网络的性能和效率,本文对跨尺度连接进行了优化:- 移除只有一个输入边缘的节点,因为这样的节点对旨在融合不同特征的特征网络贡献较小,从而得到简化的双向网络。
- 如果原始输入和输出节点在同一级别,添加一个额外的边缘,以便在不增加太多成本的情况下融合更多特征。
- 将每个双向(自上而下和自底向上)路径视为一个特征网络层,并多次重复该层以实现更多高级特征融合,从而命名为
双向特征金字塔网络(BiFPN)
。2.1.2 加权特征融合
当融合不同分辨率的特征时,常见的方法是先将它们调整到相同分辨率然后相加,但这种方法没有区分不同输入特征的重要性。为了解决这个问题,提出为每个输入添加一个额外的权重,让网络学习每个输入特征的重要性,并考虑了三种加权融合方法:- Unbounded fusion:$O = \sum{i} w{i} \cdot I{i}$,其中$w{i}$是可学习的权重,可以是标量(每个特征)、向量(每个通道)或多维张量(每个像素)。通过权重归一化来限制每个权重的值范围,以避免训练不稳定。
- Softmax - based fusion:$O = \sum{i} \frac{e^{w{i}}}{\sum{j} e^{w{j}}} \cdot I_{i}$,对每个权重应用Softmax,使所有权重归一化为0到1之间的概率,表示每个输入的重要性。但在GPU硬件上会导致显著的减速。
- Fast normalized fusion:$O = \sum{i} \frac{w{i}}{\epsilon + \sum{j} w{j}} \cdot I{i}$,通过在每个$w{i}$后应用Relu确保$w_{i} \geq 0$,$\epsilon = 0.0001$是一个小值以避免数值不稳定。这种方法的每个归一化权重的值也落在0和1之间,且没有Softmax操作,因此更高效。
最终的BiFPN集成了双向跨尺度连接和快速归一化融合。例如,对于图2(d)中BiFPN在级别6的两个融合特征,计算方式为:
- $P_{6}^{td} = Conv(\frac{w_{1} \cdot P_{6}^{in} + w_{2} \cdot Resize(P_{7}^{in})}{w_{1} + w_{2} + \epsilon})$
- $P_{6}^{out} = Conv(\frac{w_{1}' \cdot P_{6}^{in} + w_{2}' \cdot P_{6}^{td} + w_{3}' \cdot Resize(P_{5}^{out})}{w_{1}' + w_{2}' + w_{3}' + \epsilon})$
为了进一步提高效率,使用深度可分离卷积进行特征融合,并在每次卷积后添加批量归一化和激活。
2.2、优势
- 通过优化跨尺度连接和加权特征融合,
BiFPN
能够更好地融合多尺度特征,提高特征的表达能力。 - 与其他特征网络相比,
BiFPN
在实现相似精度的情况下,使用更少的参数和计算量,提高了模型效率。 - 快速归一化融合方法与Softmax-based融合相比,具有非常相似的学习行为和精度,但在GPU上运行速度更快。
论文:https://arxiv.org/pdf/1911.09070.pdf
源码: https://github.com/google/automl/tree/master/efficientdet
三、实现代码及RT-DETR修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: