Loading [MathJax]/jax/output/HTML-CSS/jax.js

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

目录
相关文章
YOLOv8改进 | 卷积篇 |手把手教你添加动态蛇形卷积(Dynamic Snake Convolution)
YOLOv8改进 | 卷积篇 |手把手教你添加动态蛇形卷积(Dynamic Snake Convolution)
860 0
YOLOv5改进 | 卷积模块 | 用ShuffleNetV2卷积替换Conv【轻量化网络】
本文介绍了如何在YOLOv5中用ShuffleNetV2替换卷积以减少计算量。ShuffleNetV2是一个轻量级网络,采用深度可分离卷积、通道重组和多尺度特征融合技术。文中提供了一个逐步教程,包括ShuffleNetV2模块的代码实现和在YOLOv5配置文件中的添加方法。此外,还分享了完整的代码链接和GFLOPs的比较,显示了GFLOPs的显著减少。该教程适合初学者实践,以提升深度学习目标检测技能。
YOLOv5改进 | 卷积模块 | 用ShuffleNetV2卷积替换Conv【轻量化网络】
【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):基于跨空间学习的高效多尺度注意力
【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):多尺度空洞注意力
空间金字塔池化(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改进-卷积Conv】 OREPA(Online Convolutional Re-parameterization):在线卷积重参数化
**OREPA**是在线卷积重参数化的缩写,它提出了一种两阶段流程来减少深度模型训练的开销。该方法通过线性缩放层优化复杂训练块,并在训练完成后将其压缩为单个卷积层,降低内存使用和提高训练速度。与现有技术相比,OREPA能减少约70%的训练内存开销,提升2倍训练速度,并在ImageNet上提高最多0.6%的准确性。此外,它还在目标检测和语义分割任务中表现出色。论文和代码可在提供的链接中找到。
【YOLOv8改进-卷积Conv】DualConv( Dual Convolutional):用于轻量级深度神经网络的双卷积核
**摘要:** 我们提出DualConv,一种融合3×31×1卷积的轻量级DNN技术,适用于资源有限的系统。它通过组卷积结合两种卷积核,减少计算和参数量,同时增强准确性。在MobileNetV2上,参数减少54%,CIFAR-100精度仅降0.68%。在YOLOv3中,DualConv提升检测速度并增4.4%的PASCAL VOC准确性。论文及代码已开源。
AI助理

你好,我是AI助理

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