YOLOv11改进策略【SPPF】| NeuralPS-2022 Focal Modulation : 使用焦点调制模块优化空间金字塔池化SPPF

简介: YOLOv11改进策略【SPPF】| NeuralPS-2022 Focal Modulation : 使用焦点调制模块优化空间金字塔池化SPPF

一、本文介绍

本文记录的是利用焦点调制模块Focal Modulation改进YOLOv11的方法研究Focal Modulation利用深度可分离卷积层实现的焦点语境化来编码从短到长范围的视觉语境,通过门控聚合有选择性地为每个查询标记收集语境到调制器中,并利用逐元素仿射变换将调制器注入查询,优化了对视觉任务中标记交互的建模能力,提高模型性能。


专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:YOLOv11改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!

二、Focal Modulation结构详解

Focal Modulation Networks

2.1 设计出发点

  • 对自注意力机制的思考:自注意力(SA)机制在视觉任务中虽有优势,但存在计算复杂度高的问题,尤其是对于高分辨率输入。许多研究通过各种方法改进SA,但作者思考是否存在比SA更好的方式来建模输入相关的长程交互。
  • 现有相关工作的启发:一些研究通过在SA中增加卷积操作来捕捉长程依赖并兼顾局部结构,但作者希望探索一种全新的机制。受焦点注意力的启发,作者尝试先聚集每个查询周围的上下文,然后用聚集的上下文自适应地调制查询,从而提出Focal Modulation机制。

2.2 原理

2.2.1 从自注意力到焦点调制

  • 自注意力(SA):使用晚期聚合程序,先计算查询和目标之间的注意力分数,然后对上下文进行聚合。
  • 焦点调制(Focal Modulation):采用早期聚合程序,先在每个位置聚合上下文特征,然后查询与聚合后的特征进行交互。

在这里插入图片描述

2.2.2 上下文聚合

  • 分层语境化(Hierarchical Contextualization):通过一系列深度可分离卷积层,从局部到全局范围提取不同粒度级别的上下文,每层的输出通过线性层投影和激活函数得到。

    • 门控聚合(Gated Aggregation):根据查询内容,使用线性层获取空间和层级感知的门控权重,对不同粒度级别的上下文特征进行加权求和,得到单个特征图,再通过另一个线性层得到调制器。

    在这里插入图片描述

    2.2.3 焦点调制操作

  • 在得到调制器后,通过查询投影函数和元素级乘法将调制器注入到查询中,实现焦点调制。

2.3 结构

  • 网络架构:使用与Swin和Focal Transformers相同的阶段布局和隐藏维度,但将SA模块替换为Focal Modulation模块。通过指定焦点级别数量和每个级别的内核大小来构建不同的Focal Modulation Network(FocalNet)变体。
  • 模块组成
    • 深度可分离卷积层:用于分层语境化,提取不同层次的上下文特征。
    • 线性层:用于投影、获取门控权重以及生成调制器等操作。

2.4 优势

  • 计算效率
    • 参数数量:整体可学习参数数量主要由几个线性投影和深度可分离卷积决定,相较于一些对比模型,模型大小可通过调整相关参数得到控制。
    • 时间复杂度:除了线性投影和深度可分离卷积层,元素级乘法对每个视觉标记引入的复杂度相对较低,相比Swin Transformer的窗口注意力和ViT的普通自注意力,具有一定优势。
  • 性能优势
    • 在多个任务上超越对比模型:在图像分类、目标检测和语义分割等任务上,FocalNets始终显著优于SoTA SA相关模型(如Swin和Focal Transformers),在不同的数据集和评估指标上均有体现。
    • 模型解释性强:通过可视化调制器、门控权重等,可以直观地看到模型对不同区域的关注和信息聚合方式,为模型解释提供了新的途径。

论文:https://arxiv.org/pdf/2203.11926

三、实现代码及YOLOv11修改步骤

模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址:

https://blog.csdn.net/qq_42591591/article/details/143305492

目录
打赏
0
7
13
1
25
分享
相关文章
【YOLOv11改进 - 注意力机制】 MSDA(Multi-Scale Dilated Attention):多尺度空洞注意力
【YOLOv11改进 - 注意力机制】 MSDA(Multi-Scale Dilated Attention):多尺度空洞注意力本文介绍了一种高效的视觉变换器——DilateFormer,通过多尺度扩张注意力(MSDA)模块,在保持高性能的同时显著降低计算成本。MSDA通过在滑动窗口内模拟局部和稀疏的块交互,实现了多尺度特征聚合。实验结果显示,DilateFormer在ImageNet-1K分类、COCO对象检测/实例分割和ADE20K语义分割任务上均取得了优异的性能,且计算成本比现有模型减少70%。
【YOLOv11改进 - 注意力机制】 MSDA(Multi-Scale Dilated Attention):多尺度空洞注意力
【YOLOv11改进 - 注意力机制】EMA(Efficient Multi-Scale Attention):基于跨空间学习的高效多尺度注意力
【YOLOv11改进 - 注意力机制】EMA(Efficient Multi-Scale Attention):基于跨空间学习的高效多尺度注意力.EMA(Efficient Multi-Scale Attention)模块是一种高效多尺度注意力机制,旨在提高计算机视觉任务中的特征表示效果。该模块通过结合通道和空间信息、采用多尺度并行子网络结构以及优化坐标注意力机制,实现了更高效和有效的特征表示。EMA模块在图像分类和目标检测任务中表现出色,使用CIFAR-100、ImageNet-1k、MS COCO和VisDrone2019等数据集进行了广泛测试。
【YOLOv11改进 - 注意力机制】EMA(Efficient Multi-Scale Attention):基于跨空间学习的高效多尺度注意力
空间金字塔池化(Spatial Pyramid Pooling, SPP)原理和代码实现(Pytorch)
想直接看公式的可跳至第三节 3.公式修正 一、为什么需要SPP 首先需要知道为什么会需要SPP。 我们都知道卷积神经网络(CNN)由卷积层和全连接层组成,其中卷积层对于输入数据的大小并没有要求,唯一对数据大小有要求的则是第一个全连接层,因此基本上所有的CNN都要求输入数据固定大小,例如著名的VGG模型则要求输入数据大小是 (224*224) 。
2278 0
【YOLOv8改进-SPPF】 Focal Modulation :使用焦点调制模块替代SPPF
YOLOv8专栏介绍了FocalNets,一种取代自注意力的新型模块,提升模型在图像分类、检测和分割任务中的性能。Focal Modulation包括局部聚焦、全局调制和多尺度处理,通过融合CNN和自注意力优点。代码展示了FocalModulation模块的实现。论文和代码已开源。在多个基准测试中,FocalNets超越了Swin等先进模型。
【YOLOv8改进 - 注意力机制】Focused Linear Attention :全新的聚焦线性注意力模块
YOLOv8专栏探讨了该目标检测算法的创新改进,包括使用聚焦线性注意力模块,解决了Transformer在视觉任务中的效率和表达力问题。该模块增强自注意力,提高焦点能力和特征多样性,保持线性复杂度。文章提供了实证证据证明其在多个基准上的性能提升,并在GitHub上发布了代码。论文和更多实战案例链接见文中。
【YOLOv10改进-卷积Conv】动态蛇形卷积(Dynamic Snake Convolution)用于管状结构分割任务
YOLOv10专栏介绍了一种用于精确分割管状结构的新方法DSCNet,它结合了动态蛇形卷积、多视角融合和拓扑连续性约束损失。DSConv创新地聚焦细长局部结构,增强管状特征感知,而多视角融合和TCLoss则改善了全局形态理解和分割连续性。在2D和3D数据集上的实验显示,DSCNet在血管和道路等分割任务上超越了传统方法。DySnakeConv模块整合到YOLOv10中,提升了目标检测的准确性。[链接指向详细文章](https://blog.csdn.net/shangyanaf/article/details/140007047)
YOLOv8改进 | 卷积模块 | 在主干网络中添加/替换蛇形卷积Dynamic Snake Convolution
本专栏介绍的DSCNet采用蛇形动态卷积,增强对管状结构特征提取,尤其适合血管等弯曲目标。动态卷积核自适应调整,灵感来自蛇形曲线,能灵活捕捉不同尺度细节。论文及官方代码链接已提供,适用于提升目标检测的准确性和鲁棒性。
【YOLOv8改进】EMA(Efficient Multi-Scale Attention):基于跨空间学习的高效多尺度注意力 (论文笔记+引入代码)
YOLO目标检测专栏介绍了创新的多尺度注意力模块EMA,它强化通道和空间信息处理,同时降低计算负担。EMA模块通过通道重塑和并行子网络优化特征表示,增强长距离依赖建模,在保持效率的同时提升模型性能。适用于图像分类和目标检测任务,尤其在YOLOv8中表现出色。代码实现和详细配置可在文中链接找到。
FLatten Transformer:聚焦式线性注意力模块
FLatten Transformer:聚焦式线性注意力模块
124 2
FLatten Transformer:聚焦式线性注意力模块
YOLOv8改进 | 融合模块 | 用Resblock+CBAM卷积替换Conv【轻量化网络】
在这个教程中,介绍了如何将YOLOv8的目标检测模型改进,用Resblock+CBAM替换原有的卷积层。Resblock基于ResNet的残差学习思想,减少信息丢失,而CBAM是通道和空间注意力模块,增强网络对特征的感知。教程详细解释了ResNet和CBAM的原理,并提供了代码示例展示如何在YOLOv8中实现这一改进。此外,还给出了新增的yaml配置文件示例以及如何注册模块和执行程序。作者分享了完整的代码,并对比了改进前后的GFLOPs计算量,强调了这种改进在提升性能的同时可能增加计算需求。教程适合深度学习初学者实践和提升YOLO系列模型的性能。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等