一、本文介绍
本文记录的是利用Strip Pooling
模块优化RT-DETR
的目标检测网络模型。Strip Pooling
结合了长而窄的卷积核形状在一个空间维度上的长程关系捕捉能力和在另一个空间维度上的局部细节捕捉能力,有效地处理复杂的场景信息。这一机制通过采用$1×N$或$N×1$的池化核形状来适应不同的图像特征,提高模型对目标形状和分布的适应性。在场景解析网络中,Strip Pooling
可以被用于提升对具有长程带状结构或离散分布目标的解析能力,特别是在复杂场景或不同对象布局条件下效果更好。
专栏目录:RT-DETR改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:RT-DETR改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、Strip Pooling 介绍
2.1 设计出发点
- 解决传统空间池化局限性:传统空间池化通常采用固定形状的$N×N$核,在处理具有不规则形状的对象或现实场景中广泛存在的各向异性上下文时存在局限性。
例如,在一些情况下,目标对象可能具有长程带状结构(如草地)或离散分布(如柱子),使用大的方形池化窗口无法很好地解决问题,因为它不可避免地会包含来自无关区域的污染信息。
- 更有效地捕获长程依赖:为了更有效地捕获长程依赖,作者提出利用空间池化来扩大卷积神经网络(CNNs)的感受野并收集有用的上下文信息,从而提出了
Strip Pooling
的概念。
2.2 原理
- 数学定义
- 标准空间平均池化:对于二维输入张量$x\in\mathbb{R}^{H×W}$,平均池化层需要一个池化的空间范围$(h×w)$。当$h$整除$H$且$w$整除$W$时,池化后的输出$y$是一个二维张量,高度为$H{o}=\frac{H}{h}$,宽度为$W{o}=\frac{W}{w}$,其计算公式为:$$y_{i_{o},j_{o}}=\frac{1}{h×w}\sum_{0\leq i{o}<H{o}$且$0\leq j{o}<W{o}$,每个$y$的空间位置对应一个大小为$h×w$的池化窗口。
- Strip Pooling:对于二维张量$x\in\mathbb{R}^{H×W}$,在
Strip Pooling
中,需要一个池化的空间范围为$(H,1)$或$(1,W)$。水平Strip Pooling
后的输出$y^{h}\in\mathbb{R}^{H}$计算公式为:$$y_{i}^{h}=\frac{1}{W}\sum_{0\leq j垂直Strip Pooling后的输出$y^{v}\in\mathbb{R}^{W}$计算公式为:$$y_{j}^{v}=\frac{1}{H}\sum_{0\leq i
- 长程依赖和局部细节捕捉:通过长而窄的核形状,能够在离散分布的区域之间建立长程依赖,并对带状形状的区域进行编码。同时,由于在另一个维度上保持窄核形状,也能够专注于捕捉局部细节。
2.3 结构
2.3.1 Strip Pooling Module (SPM)
整体结构:
如图所示,输入张量$x\in\mathbb{R}^{C×H×W}$首先被送入两个并行路径,每个路径包含一个水平或垂直Strip Pooling层
,后面跟着一个核大小为3的1D卷积层
用于调制当前位置及其邻域特征,得到$y^{h}\in\mathbb{R}^{C×H}$和$y^{v}\in\mathbb{R}^{C×W}$。
然后将$y^{h}$和$y^{v}$组合得到$y\in\mathbb{R}^{C×H×W}$($y{c,i,j}=y{c,i}^{h}+y_{c,j}^{v}$)。
最后输出$z\in\mathbb{R}^{C×H×W}$,计算方式为$z = Scale(x,\sigma(f(y)))$,其中$Scale(,)$是元素级乘法,$\sigma$是sigmoid函数,$f$是一个1×1卷积。
- 路径连接:在这个过程中,输出张量的每个位置都可以与输入张量的多个位置建立关系。例如,输出张量中由黑色框界定的正方形与具有相同水平或垂直坐标的所有位置相连。
2.3.2 Mixed Pooling Module (MPM)
整体结构:由两个子模块组成,用于同时捕获不同位置之间的短程和长程依赖。
对于长程依赖,采用水平和垂直Strip Pooling
操作;对于短程依赖,采用一个轻量级的金字塔池化子模块,它有两个空间池化层,后面跟着卷积层用于多尺度特征提取,还有一个2D卷积层
用于保留原始空间信息,池化后的特征图bin
大小分别为20×20
和12×12
,三个子路径通过求和
组合。
然后将两个子模块嵌套到具有瓶颈结构
的残差块中,在每个子模块之前,先使用一个1×1卷积层
进行通道缩减,两个子模块的输出连接在一起后再送入另一个1×1卷积层
进行通道扩展。
- 模块嵌套:基于上述两个子模块,将它们嵌套到具有瓶颈结构的残差块中进行参数减少和模块化设计。
2.4 优势
- 与全局平均池化相比
- 避免不必要连接:
Strip Pooling
考虑长而窄的范围,而不是整个特征图,避免了在相距较远的位置之间建立大多数不必要的连接。 - 注意力机制优势:与基于注意力的模块相比,
SPM
是轻量级的,可以很容易地嵌入到任何构建块中,以提高捕获长程空间依赖和利用通道间依赖的能力。
- 避免不必要连接:
- 与金字塔池化模块相比
- 更强大和适应性更强:所提出的
MPM
是一种模块化设计,可以很容易地以顺序方式使用,以扩展长程依赖收集子模块的作用。在相同的骨干网络下,只有两个MPMs(参数约为原始PPM的1/3)的网络性能甚至优于PSPNet。
- 更强大和适应性更强:所提出的
论文:https://arxiv.org/abs/2003.13328
源码: https://github.com/houqb/SPNet
三、实现代码及YOLOv11修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: