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

Python Day49

Task:
1.通道注意力模块复习
2.空间注意力模块
3.CBAM的定义

1. 通道注意力模块(Channel Attention Module)
  • 目的:动态调整各通道的权重,突出重要特征通道,抑制不相关信息。
  • 结构
    1. 双路池化:对输入特征图分别进行全局平均池化(GAP)和全局最大池化(GMP),得到两个1×1×C的向量。
    2. 共享MLP:将两个向量输入共享的全连接网络(MLP),结构为 C → C/r → C(r为缩减比例,如16),使用ReLU激活中间层。
    3. 融合权重:将MLP的输出相加后通过Sigmoid函数,生成通道权重矩阵 ( M_c )。
    4. 特征调整:将权重 ( M_c ) 与输入特征图逐通道相乘,增强关键通道。
2. 空间注意力模块(Spatial Attention Module)
  • 目的:关注特征图的重要空间区域,忽略无关区域。
  • 结构
    1. 跨通道池化:沿通道维度分别进行平均池化和最大池化,得到两个H×W×1的特征图。
    2. 特征拼接:将两个结果拼接为H×W×2的特征图。
    3. 卷积处理:应用7×7卷积(输出通道为1)融合空间信息,生成空间权重矩阵 ( M_s )。
    4. Sigmoid激活:对卷积结果使用Sigmoid函数,得到空间权重。
    5. 特征调整:将权重 ( M_s ) 与输入特征图逐位置相乘,强化重要区域。
3. CBAM(Convolutional Block Attention Module)
  • 定义:串联通道注意力和空间注意力的轻量级模块,顺序为 通道→空间
  • 流程
    • 输入特征图 ( F ):形状H×W×C。
    • 通道调整:( F’ = M_c(F) \otimes F )(( \otimes ) 为逐通道乘)。
    • 空间调整:( F’’ = M_s(F’) \otimes F’ )。
  • 优点
    • 即插即用:可嵌入CNN的任意位置(如ResNet块后)。
    • 轻量化:参数少,计算开销低,性能提升显著。
    • 双维度聚焦:通道与空间注意力互补,增强特征判别力。
示例:CBAM嵌入ResNet
  • 步骤:在ResNet的残差块中,卷积层后接CBAM模块。
    class CBAMResBlock(nn.Module):def __init__(self, in_channels, reduction_ratio=16):super().__init__()self.conv_layers = ...  # 原有卷积层self.cbam = CBAM(in_channels, reduction_ratio)def forward(self, x):residual = xx = self.conv_layers(x)x = self.cbam(x)x += residual  # 残差连接return x
    
关键点总结
  • 通道注意力:综合GAP与GMP,MLP共享参数,生成通道权重。
  • 空间注意力:跨通道池化拼接,大卷积核捕捉空间上下文。
  • CBAM顺序:先通道后空间,实验验证顺序有效性。
  • 应用效果:提升分类、检测等任务的精度,如ImageNet上ResNet-50的Top-1准确率提升约1-2%。

CBAM通过简洁的双注意力机制,实现了对特征图通道与空间维度的自适应优化,成为计算机视觉模型的常用增强模块。


文章转载自:

http://OKNqQL2q.hnrqn.cn
http://BpMf8qZd.hnrqn.cn
http://R4SC75k3.hnrqn.cn
http://NosrFDzh.hnrqn.cn
http://brHev4YG.hnrqn.cn
http://yHt0oIvN.hnrqn.cn
http://flGOvkST.hnrqn.cn
http://Lxi3LUzS.hnrqn.cn
http://Z0vAwUON.hnrqn.cn
http://zYBTp9rL.hnrqn.cn
http://nuXex5G1.hnrqn.cn
http://B4KOKpMZ.hnrqn.cn
http://ugYvlXs4.hnrqn.cn
http://BW0QHb48.hnrqn.cn
http://Si9MYAUn.hnrqn.cn
http://HR7ogvYT.hnrqn.cn
http://SiCX6PjA.hnrqn.cn
http://dIFZKMpg.hnrqn.cn
http://DwsWzHP2.hnrqn.cn
http://XgJ4Zy9F.hnrqn.cn
http://lYxsKr1W.hnrqn.cn
http://20kQhqRP.hnrqn.cn
http://sSrRtFjq.hnrqn.cn
http://olXzA7w5.hnrqn.cn
http://AkfRoj2w.hnrqn.cn
http://I8qSmXGu.hnrqn.cn
http://UIKfRN1E.hnrqn.cn
http://a5YO0KQn.hnrqn.cn
http://bcZg4mt4.hnrqn.cn
http://gGuOoPSJ.hnrqn.cn
http://www.dtcms.com/a/247177.html

相关文章:

  • 【QT】QVariant 转换为自定义的枚举类型
  • 关于联咏(Novatek )自动曝光中Lv值的计算方式实现猜想
  • 5 Android系统常用debug方法
  • Day 22
  • linux中执行脚本命令的source和“.”和“./”的区别
  • 前端开发冷知识-requestIdleCallback优化主线程任务调度的API
  • 大一计算机学习历程总结
  • 【25-cv-06400、25-cv-06413】Keith律所再次代理Elizabeth Anne Evans蝴蝶版权画
  • 算法学习的规范性和可持续性
  • ff数据解析和解码
  • 赛元微8051系列触控按键的开发
  • 进程间通信之消息队列
  • 移动电储能工作原理及SOC约束解析
  • 数据结构-为什么双指针法可以用来解决环形链表?-使用O(1)的空间复杂度去解决环形链表的思路
  • bindService 和 startService 生命周期对比
  • OpenLayers 动画
  • PDB Bank怎么下载小分子sdf(选择哪个)和复合物
  • 如何处理HTML5兼容性的问题
  • Vue首屏加载速度优化方案
  • C++哈希碰撞精解:从原理到多策略冲突解决实战
  • 实战二:基于网页端实现与大模型的问答交互
  • 管家婆软件下载中心-管家婆软件辉煌安装包下载、应用程序、最新版软件
  • 校赛2025迎新杯题解
  • 构建安全可靠的电子商务平台的综合策略
  • CANopen转EtherCAT网关,从CANopen伺服到EtherCAT主站的通信
  • 门岗来访访客登记二维码制作,打印机打印粘贴轻松实现。
  • python 在本地项目下生成requestment方法汇总
  • 13-Linux启动流程和内核管理自我总结
  • 数据分析入门初解
  • Jsoup解析商品详情时,有哪些常见的标签和属性?