一、本文介绍
本文记录的是利用Bottleneck Transformers (BoT)
优化YOLOv11
的目标检测网络模型。标准的卷积操作虽然能有效捕获局部信息,但在处理需要全局信息整合的任务时存在局限性,而自注意力机制能够有效地建模长距离依赖,因此考虑将其引入到视觉架构中。==本文利用BoT模块
将标准卷积和自注意力相结合,提高模型的全局感知能力。==
专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:YOLOv11改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、Bottleneck Transformers介绍
Bottleneck Transformers for Visual Recognition
Bottleneck Transformers(BoTNet)
是一种将自注意力(Self-Attention)融入计算机视觉任务的骨干架构,其设计的原理和优势如下:
2.1 原理
2.1.1 架构组成
BoT block
是通过将ResNet瓶颈块中的空间3×3卷积替换为Multi-Head Self-Attention(MHSA)层
来构建的(如图所示)。
2.2.2 MHSA层
MHSA层
在二维特征图上实现全局(all2all)自注意力(如图所示)。为了使注意力操作具有位置感知能力,使用了相对位置编码。注意力的计算逻辑为$qk^{T} + qr^{T}$,其中$q, k, r$分别代表查询、键和相对位置编码。此外,MHSA层还使用了多个头,并且相对位置编码和值投影是它与Non - Local Layer的主要区别。
2.1 优势
- 性能提升:
- 在COCO实例分割基准测试中,使用
BoTNet
显著提高了性能,如在不同训练配置和数据增强情况下,性能均有提升。 - 对小对象的检测性能有显著增强,在不同ResNet家族骨干网络上的实验也表明了其适用性。
- 与Non - Local Neural Networks相比,
BoTNet
中的BoT块设计更好,能够带来更高的性能提升。
- 在COCO实例分割基准测试中,使用
- 可扩展性:通过调整和扩展
BoTNet
的模型结构,可以在ImageNet验证集上达到较高的准确率,同时在计算效率上具有优势。 - 简单有效:
BoT block
的设计简单,基于已有的ResNet架构进行改进,易于实现和应用。尽管在构建上相对简单,但性能出色,为未来视觉架构中自注意力的应用提供了一个强有力的基线。
论文:https://arxiv.org/pdf/2101.11605
源码: https://github.com/tensorflow/tpu/tree/master/models/official/detection
三、实现代码及YOLOv11修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: