【论文阅读】YOLO v11-13
0 GELAN Block
GELAN(generalized efficient layer aggregation network),其核心理念是参考了ELAN中的“多梯度流路径”的思想。使得梯度在回传的时候,能够有更多的路径向前回传,令每一层都尽可能有一个“残差路径”使得更多有效的梯度回传回来进而做有效的参数更新。
不难发现,ELAN中的3×3卷积其实可以进一步使用一些更加复杂的模块来替代,例如残差模块、CSP模块等,由此,也就设计出了更加通用的GELAN模块,其中的“G”便是英文单词generalized的首字母。
# yolov9/models/common.py
class RepNCSPELAN4(nn.Module):
# csp-elan
def __init__(self, c1, c2, c3, c4, c5=1): # ch_in, ch_out, number, shortcut, groups, expansion
# c1:输入通道数 c2:输出通道数 c3:中间层通道数 c4:分支网络的通道数 c5:用于控制RepNCSP模块的内部结构
super().__init__()
self.c = c3//2
self.cv1 = Conv(c1, c3, 1, 1)
self.cv2 = nn.Sequential(RepNCSP(c3//2, c4, c5), Conv(c4, c4, 3, 1))
self.cv3 = nn.Sequential(RepNCSP(c4, c4, c5), Conv(c4, c4, 3, 1))
self.cv4 = Conv(c3+(2*c4), c2, 1, 1)
def forward(self, x):
y = list(self.cv1(x).chunk(2, 1))
y.extend((m(y[-1])) for m in [self.cv2, self.cv3])
return self.cv4(torch.cat(y, 1))
def forward_split(self, x):
y = list(self.cv1(x).split((self.c, self.c), 1))
y.extend(m(y[-1]) for m in [self.cv2, self.cv3])
return self.cv4(torch.cat(y, 1))
1 YOLO11
1.1 C3K2模块
1.2 C2PSA模块
1. PSA
Pyramid Squeeze Attention (PSA) 是一种高效的注意力机制,旨在提升卷积神经网络在多尺度特征提取中的表现。PSA 模块通过引入不同大小的卷积核来提取多尺度的空间信息,同时结合 Squeeze-and-Excitation (SE) 模块对特征通道进行加权,从而增强网络对不同尺度目标的注意力聚焦。
PSA 模块使用不同大小的卷积核(如 3x3、5x5、7x7 等),并行处理输入特征图。每个卷积核能够在不同的感受野上提取特征,从而捕捉多尺度信息。卷积核越大,感受野越大,适合检测大物体;卷积核越小,适合捕捉小物体的细节。
2. C2PSA
CSP与PSA的结合,用于提升网络多尺度特征提取能力。
2 YOLO12
2.1 R-ELAN
R-ELAN 引入了残差连接,通过在输入和输出之间添加直接的梯度路径,增强了模型的优化能力。
这种设计有助于缓解梯度消失问题,提高模型的训练稳定性。
2.2 Area Attention (A2)
3 YOLO13
3.1 HyperACE
HyperACE 是一种基于超图的自适应关联增强机制,旨在突破现有方法仅能建模成对关联的局限,实现全局多对多高阶关联的自适应捕捉,提升复杂场景下的特征融合与感知能力。
基于 C3AH 模块,通过自适应超图计算以线性复杂度建模高阶视觉关联。
自适应超边生成:以多尺度特征图像素为顶点,通过可学习的超边原型(结合全局偏移量)和多头相似度计算,动态生成连续的参与度矩阵(而非手动设置阈值),自适应建模顶点间的高阶关联。
超图卷积:先通过超边聚合顶点特征并线性投影形成超边特征,再将超边特征分发回顶点更新表示,实现关联引导的特征增强。
**FullPAD:**将 HyperACE 生成的关联增强特征高效分配到网络全流程,实现细粒度信息流动与表示协同,提升整体检测性能。
HyperACE 输出的增强特征 Y 经尺寸调整和通道适配后,通过三个独立隧道分发至:
backbone 与 neck 的连接处;
neck 的内部层;
neck 与 head 的连接处。
对于每个阶段的特征图,采用门控融合(,其中 为可学习标量)平衡原始特征与增强特征的贡献,确保信息有效融合。
评论 (0)
暂无评论,来发表第一条评论吧!