一、本文介绍
本文记录的是利用D-LKA
模块优化RT-DETR
的目标检测网络模型。D-LKA
结合了大卷积核的广阔感受野和可变形卷积的灵活性,有效地处理复杂的图像信息。本文将其应用到RT-DETR
中,并进行二次创新,使网络能够综合多种维度信息,更好地突出重要特征,从而提升对不同尺度目标和不规则形状目标的特征提取能力。
专栏目录:RT-DETR改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:RT-DETR改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、D-LKA介绍
2.1 设计出发点
- 解决传统卷积和注意力机制的局限性
- 传统卷积神经网络(CNN)在处理图像分割时,对于不同尺度的物体检测存在问题。如果物体超出对应网络层的感受野,会导致分割不足;而过大的感受野相比物体实际大小,背景信息可能会对预测产生不当影响。
Vision Transformer(ViT)
虽然能通过注意力机制聚合全局信息,但在有效建模局部信息方面存在局限,难以检测局部纹理。- 充分利用体积上下文并提高计算效率
- 大多数当前方法处理三维体积图像数据时采用逐片处理的方式(伪3D),丢失了关键的片间信息,降低了模型的整体性能。
- 需要一种既能充分理解体积上下文,又能避免计算开销过大的方法,同时还要考虑医学领域中病变形状经常变形的特点。
2.2 原理
2.2.1 Large Kernel Attention(LKA)原理
- 相似感受野的构建:大卷积核可以通过
深度可分离卷积(depth-wise convolution)
、深度可分离空洞卷积(depthwise dilated convolution)
和1×1卷积
来构建,其能提供与自注意力机制相似的感受野,但参数和计算量更少。 - 参数和计算量计算
- 对于二维输入(维度为$H×W$,通道为$c$),
深度可分离卷积核
大小$DW=(2d - 1)×(2d - 1)$,深度可分离空洞卷积核
大小$DW - D=\left\lceil\frac{K}{d}\right\rceil×\left\lceil\frac{K}{d}\right\rceil$($K$为目标卷积核大小,$d$为空洞率)。参数量:$P(K, d)=C(\left\lceil\frac{K}{d}\right\rceil^{2}+(2d - 1)^{2}+3 + C)$,浮点运算次数(FLOPs):$F(K, d)=P(K, d)×H×W$。 - 对于三维输入(维度为$H×W×D$,通道为$c$),参数量:$P{3d}(K, d)=C(\left\lceil\frac{K}{d}\right\rceil^{3}+(2d - 1)^{3}+3 + C)$,FLOPs:$F{3d}(K, d)=P_{3d}(K, d)×H×W×D$。
- 对于二维输入(维度为$H×W$,通道为$c$),
2.2.2 Deformable Large Kernel Attention(D - LKA)原理
- 引入可变形卷积:在LKA的基础上引入
可变形卷积(Deformable Convolutions)
,可变形卷积能够通过整数偏移量调整采样网格,实现自由变形。 - 自适应卷积核的形成:一个额外的卷积层从特征图中学习变形,创建一个偏移场,基于特征本身学习变形会产生一个自适应卷积核,这种灵活的核形状可以改善对变形物体的表示,从而增强对物体边界的定义。
2.3 结构
2.3.1 2D D - LKA模块结构
- 整体结构:包含
LayerNorm
、deformable LKA
和Multi - Layer Perceptron(MLP)
,并集成了残差连接,以确保有效的特征传播。- 计算公式
- $x{1}=D - LKA - Attn\left(LN\left(x{in}\right)\right)+x_{in}$
- $x{out}=MLP\left(LN\left(x{1}\right)\right)+x_{1}$
- $MLP=Conv{1}\left(GeLU\left(Conv{d}\left(Conv{1}(x)\right)\right)\right)$(其中$x{in}$为输入特征,$LN$为层归一化,$D - LKA - Attn$为可变形大核注意力,$Convd$为深度卷积,$Conv1$为线性层,$GeLU$为激活函数)
- 计算公式
2.3.2 3D D - LKA模块结构
- 整体结构:包括
层归一化
和D - LKA Attention
,后面跟着应用了残差连接的3×3×3卷积层
和1×1×1卷积层
。 - 计算公式
- $x{1}=D Attn\left(LN\left(x{in}\right)\right)+x_{in}$
- $x{out}=Conv{1}\left(Conv{3}\left(x{1}\right)\right)+x{1}$(其中$x{in}$为输入特征,$LN$为
层归一化
,$D Attn$为可变形大核注意力
,$Conv{1}$为线性层
,$Conv{3}$为包含两个卷积层和激活函数的前馈网络
,$x_{out}$为输出特征
)
2.3.3 基于D - LKA模块的网络结构
- 2D D - LKA Net
- 编码器:使用
MaxViT
作为编码器组件进行高效特征提取,首先通过卷积干将输入图像维度降低到$\frac{H}{4}×\frac{W}{4}×C$,然后通过四个阶段的MaxViT块进行特征提取,每个阶段后跟着下采样层。 - 解码器:包含四个阶段的
D - LKA
层,每个阶段有两个D - LKA
块,接着是patch - expanding层用于分辨率上采样和通道维度降低,最后通过线性层生成最终输出。
- 编码器:使用
- 3D D - LKA Net
- 编码器 - 解码器设计:使用patch embedding层将输入图像维度从$(H×W×D)$降低到$(\frac{H}{4}×\frac{W}{4}×\frac{D}{2})$,编码器内有三个
D-LKA
阶段,每个阶段包含三个D-LKA
块,每个阶段后进行下采样
,中央瓶颈包含两组D-LKA
块。 - 解码器结构与编码器对称,使用转置卷积来双倍特征分辨率并降低通道计数,每个解码器阶段使用三个
D-LKA
块促进长程特征依赖,最终通过3×3×3
和1×1×1卷积层
生成分割输出,并通过卷积形成跳连接。
- 编码器 - 解码器设计:使用patch embedding层将输入图像维度从$(H×W×D)$降低到$(\frac{H}{4}×\frac{W}{4}×\frac{D}{2})$,编码器内有三个
2.4 优势
- 有效处理上下文信息和局部描述符:
D-LKA模块
在架构中平衡了上下文信息处理和局部描述符保留,能够实现精确的语义分割。 - 动态适应感受野:基于数据动态调整感受野,克服了传统卷积操作中固定滤波器掩码的固有局限性。
- 适用于2D和3D数据:开发了2D和3D版本的
D-LKA Net
架构,3D模型的D-LKA
机制适合3D上下文,能够在不同体积之间无缝交换信息。 - 计算效率高:仅依靠
D-LKA
概念实现了计算效率,在各种分割基准测试中取得了优异性能,确立了该方法作为一种新的SOTA方法。同时,可变形LKA
虽然增加了模型的参数和FLOPs,但在批量处理时,由于其高效的实现方式,甚至可以观察到推理时间的减少。
论文:https://arxiv.org/pdf/2309.00121.pdf
源码: https://github.com/mindflow-institue/deformableLKA
三、实现代码及RT-DETR修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: