一、本文介绍
本文记录的是利用CloFormer
中的Clo block
优化YOLOv11
的网络模型。Clo block
的作用在于采用双分支结构,同时包含了局部分支和全局分支,克服了现有轻量级模型在处理高频局部信息时的不足。相比一些只注重设计稀疏注意力来处理低频全局信息或仅使用单一类型权重处理局部信息的方法,能更好地表达网络特征。本文将其加入到v11
中,并进行二次创新,来综合高低频信息,更好地突出重要特征,从而提升模型在各种视觉任务中的性能。
专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:YOLOv11改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、CloFormer模块介绍
Rethinking Local Perception in Lightweight Vision Transformer
2.1 设计出发点
现有轻量级模型在处理高频局部信息时存在不足。大多数方法只注重设计稀疏注意力来处理低频全局信息,处理高频局部信息的方法相对简单。例如,一些模型只用原始卷积提取局部表示,仅使用全局共享权重;另一些模型虽在窗口内使用注意力获取高频信息,但只使用特定于每个token的上下文感知权重。
CloFormer
旨在同时利用共享权重和上下文感知权重的优势,更好地处理高频局部信息,所以设计了Clo block
。
2.2 原理
Clo block
采用双分支结构,一个分支用于捕捉高频信息,另一个分支用于捕捉低频信息,然后将两个分支的输出融合,使模型能够同时感知高频和低频信息。
2.3 结构
2.3.1 局部分支(Local Branch)
采用精心设计的AttnConv算子
。
首先对输入进行线性变换得到Q
、K
、V
,然后对V
使用深度可分离卷积(DWconv)
进行局部特征聚合,其权重是全局共享的。接着对Q
和K
分别使用DWconv
聚合局部信息,计算Q
和K
的哈达玛积,并进行一系列线性或非线性变换生成在[-1, 1]
范围内的上下文感知权重,最后用这些权重增强局部特征。
2.3.2 全局分支(Global Branch)
- 对
K
和V
进行下采样,然后执行标准的注意力过程($X{global }=Attntion\left(Q{g}, Pool\left(K{g}\right), Pool\left(V{g}\right)\right)$)来提取低频全局信息。
2.4 优势
- 更好的局部感知能力:与传统卷积相比,
AttnConv
利用上下文感知权重,能更好地适应输入内容进行局部感知;与局部自注意力相比,引入共享权重能更好地处理高频信息,且生成上下文感知权重的方法引入了更强的非线性,提高了性能。 - 同时捕捉高低频信息:双分支结构使模型能够同时捕捉高频和低频信息,这是现有很多轻量级模型所不具备的优势。
论文:https://arxiv.org/pdf/2303.17803
源码: https://github.com/qhfan/CloFormer
三、实现代码及YOLOv11修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: