当前位置: 首页 > news >正文

YOLOv11 改进 - 注意力机制 EffectiveSE 高效挤压激励模块:单全连接层设计破解信息丢失难题,增强通道特征表征

前言

本文介绍了无锚实例分割方法CenterMask及改进骨干网络VoVNetV2,重点阐述了EffectiveSE(eSE)模块及其在YOLOv11中的结合应用。eSE是改进的通道注意力模块,基于SE模块,通过去除维度压缩和简化结构,减少计算复杂性与信息丢失。该模块先对输入特征图全局平均池化,再经全连接层和sigmoid激活函数生成注意力权重,最后应用到特征图。我们将eSE模块集成进YOLOv11,替代部分原有模块。实验表明,eSE模块也提升模型效率和准确率。

文章目录: YOLOv11改进大全:卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总

专栏链接: YOLOv11改进专栏

@

目录
  • 前言
  • 介绍
    • 摘要
  • 文章链接
  • 基本原理
      • 背景
      • EffectiveSE 的技术原理
      • 具体实现
      • 优势
      • 实验结果
  • 核心代码
  • 实验
    • 脚本
    • 结果

介绍

image-20240723141955037

摘要

我们提出了一种简单而高效的无锚实例分割方法,称为CenterMask,它在无锚单阶段目标检测器(FCOS [33])中添加了一个新颖的空间注意力引导掩码(SAG-Mask)分支,类似于Mask R-CNN [9]。在FCOS目标检测器中插入SAG-Mask分支,该分支使用空间注意力图在每个检测框上预测分割掩码,从而有助于关注有用的像素并抑制噪声。我们还提出了改进的骨干网络VoVNetV2,并采用了两种有效策略:(1)残差连接以缓解较大VoVNet [19]的优化问题;(2)有效的挤压-激励(eSE)处理原始SE的通道信息丢失问题。结合SAG-Mask和VoVNetV2,我们设计了针对大模型和小模型的CenterMask和CenterMask-Lite。使用相同的ResNet-101-FPN骨干网络,CenterMask达到了38.3%的AP,超过了所有以前的最先进方法,同时速度更快。CenterMask-Lite在Titan Xp上以超过35fps的速度也大幅超越了最先进的方法。我们希望CenterMask和VoVNetV2可以分别作为实时实例分割和各种视觉任务的骨干网络的坚实基准。代码可在https://github.com/youngwanLEE/CenterMask获取。

文章链接

论文地址:论文地址

代码地址:代码地址

基本原理

EffectiveSE (Effective Squeeze-Excitation) 是一种改进的通道注意力模块,其目的是在保持模型性能的同时减少计算复杂性和信息丢失。它基于原始的 Squeeze-Excitation (SE) 模块,但通过一些关键的改进来提高效率。以下是对 EffectiveSE 及其技术原理的详细介绍:

背景

Squeeze-Excitation 网络(SE-Net)是一种通道注意力机制,通过建模特征图通道之间的相互依赖性来增强模型的表现。SE 模块的主要步骤包括:

  1. Squeeze 操作:对每个通道进行全局平均池化,生成通道描述符。
  2. Excitation 操作:通过两个全连接层和 ReLU 激活函数来重新计算每个通道的权重。
  3. Scale 操作:将计算得到的权重应用到原始特征图的每个通道上。

虽然 SE-Net 提高了网络性能,但其两个全连接层的设计带来了额外的计算开销,并且在通道维度上进行了压缩和扩展,可能导致信息丢失。

EffectiveSE 的技术原理

EffectiveSE (eSE) 模块通过简化 SE 模块的结构来提高效率,同时避免信息丢失。具体改进包括:

  1. 去除维度压缩:原始 SE 模块使用两个全连接层来压缩和扩展通道维度,这可能导致信息丢失。eSE 模块使用单个全连接层,保持通道维度不变,从而避免了这种信息丢失。
  2. 更高效的计算:通过简化网络结构,减少计算量,提升模型的整体效率。

具体实现

eSE 的具体实现步骤如下:

  1. 全局平均池化 (Global Average Pooling):对输入特征图 $ X$ 进行全局平均池化,生成一个通道描述符 $F_{gap}(X)$。
  2. 全连接层 (Fully Connected Layer):通过一个全连接层 $W_C$ 对通道描述符进行线性变换,并应用 sigmoid 激活函数,生成通道注意力权重 $A_{eSE}$:
    $$
    A_{eSE}(X) = \sigma(W_C(F_{gap}(X)))
    $$
  3. 通道重标定 (Channel Recalibration):将通道注意力权重 $ A_{eSE}$ 应用于输入特征图 $ X的每个通道上,生成加权后的特征图 $X_{refine}$:
    $$
    X_{refine} = A_{eSE}(X) \otimes X
    $$
    其中,$\otimes$ 表示元素级别的乘法。

优势

  1. 减少信息丢失:通过保持通道维度不变,避免了由于维度压缩带来的信息丢失。
  2. 计算效率高:简化了网络结构,减少了计算量,提高了模型的整体效率。
  3. 性能提升:在保持或提高模型准确率的同时,显著减少了计算开销。

实验结果

实验表明,应用 eSE 模块的网络(如 VoVNetV2)在各种视觉任务中均表现出色。例如,使用 eSE 模块的 VoVNetV2 相较于原始的 SE 模块和其他骨干网络在速度和准确率上都表现更好。

总体而言,EffectiveSE 通过简化结构和避免信息丢失,提供了一种高效的通道注意力机制,显著提升了模型的性能和计算效率。

核心代码

import torch
from torch import nn as nn
from timm.models.layers.create_act import create_act_layerclass EffectiveSEModule(nn.Module):def __init__(self, channels, add_maxpool=False, gate_layer='hard_sigmoid'):super(EffectiveSEModule, self).__init__()self.add_maxpool = add_maxpoolself.fc = nn.Conv2d(channels, channels, kernel_size=1, padding=0)self.gate = create_act_layer(gate_layer)def forward(self, x):x_se = x.mean((2, 3), keepdim=True)if self.add_maxpool:# experimental codepath, may remove or changex_se = 0.5 * x_se + 0.5 * x.amax((2, 3), keepdim=True)x_se = self.fc(x_se)return x * self.gate(x_se)if __name__ == '__main__':input=torch.randn(50,512,7,7)Ese = EffectiveSEModule(512)output=Ese(input)print(output.shape)

实验

脚本

import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLOif __name__ == '__main__':
#     修改为自己的配置文件地址model = YOLO('/root/ultralytics-main/ultralytics/cfg/models/11/yolov11-EffectiveSE.yaml')
#     修改为自己的数据集地址model.train(data='/root/ultralytics-main/ultralytics/cfg/datasets/coco8.yaml',cache=False,imgsz=640,epochs=10,single_cls=False,  # 是否是单类别检测batch=8,close_mosaic=10,workers=0,optimizer='SGD',amp=True,project='runs/train',name='EffectiveSE',)

结果

image-20241025141053159

http://www.jsqmd.com/news/798488/

相关文章:

  • Gorm 入门笔记(Go 操作 MySQL 必学)
  • 论文AI率太高怎么救?答辩前1周降AI率完整攻略+不延期方案!
  • 基于遗传算法与Matlab-XFOIL接口的翼型气动外形自动化寻优
  • YOLOv11 改进 - 注意力机制 Gather-Excite 聚集-激发注意力:空间上下文聚合与重校准优化多尺度目标检测
  • 艾尔登法环黑夜君临修改器2026.5.11最新中文汉化版免费下载 转存后自动更新 (看到请立即转存 资源随时失效)
  • 【NotebookLM Audio Overview深度体验报告】:20年AI工具评测专家亲测,这5个语音功能正在重构知识管理 workflow
  • d2s-editor终极指南:5分钟学会暗黑破坏神2存档编辑
  • 别再让专利证书变废纸!手把手教你用6步法写出能维权的权利要求书
  • 20252419 实验三《Python程序设计》实验报告
  • 如何高效下载番茄小说:本地保存与格式转换完整指南
  • 别急着装DevEco Studio!先搞定Node.js 14.15.3 LTS,鸿蒙开发环境搭建第一步
  • 视频里的中文字幕怎么去掉?短剧出海最容易被低估的一步
  • VRM与VRChat虚拟化身双向转换:打破平台壁垒的完整解决方案
  • 20254217 实验三《Python程序设计》实验报告
  • Tabletop Simulator备份神器:3分钟学会永久保存你的桌游资产
  • SAP ABAP开发必看:FOR ALL ENTRIES性能翻倍的隐藏参数rsdb/max_blocking_factor实战调优
  • 深度解析:Visual C++ Redistributable版本检测与自动化管理完整方案
  • 41_《智能体微服务架构企业级实战教程》智能助手主应用服务之创建FastMCP客户端
  • 终极指南:如何用ViGEmBus虚拟手柄驱动解决Windows游戏手柄兼容性问题
  • 别再死记硬背C#反射语法了!用Unity编辑器扩展实战,5分钟搞懂反射到底怎么用
  • YOLOv11 改进 - 注意力机制 ESC (Emulating Self-attention with Convolution) 卷积模拟自注意力:增强小目标与密集场景检测 ICCV 2025
  • 城通网盘下载加速终极指南:如何免费突破100KB/s限制的3种高效方案
  • 终极歌词获取方案:163MusicLyrics让你轻松获取网易云和QQ音乐LRC歌词
  • RISC-V工具链实战:从源码编译到跨架构程序运行
  • Midjourney V6与DALL-E 3深度横评:从提示词容错率、中文理解力、商业版权合规性到渲染速度——实测数据全公开
  • WarcraftHelper:5分钟解决魔兽争霸III兼容性问题的终极方案
  • 实战指南:3个技巧让你的Typora写作效率提升300%
  • 如何用wxauto实现微信消息自动转发到钉钉/企业微信:3步搭建跨平台消息同步系统
  • Oracle数据库深度解析:从入门到精通的全面指南
  • 抖音批量下载终极方案:告别手动保存,10倍效率提升