码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【CBAM||目标识别||注意力机制||gated卷积】Convolutional Block Attention Module


    • 这篇是2018年的paper,已经有很多中文资料可以学习,因而不做重复工作~
    • 记录一下核心要点,后续可阅。
    • 【学习资源】CBAM:卷积注意力机制模块 
    • 【学习资源】论文阅读-CBAM: Convolutional Block Attention Module 

    CBMA:卷积注意力机制模块- 结合了空间(spatial)和通道(channel)的注意力机制模块。

    给定一个中间特征图,CBAM模块会沿着两个独立的维度(通道和空间)以此推断注意力图,然后将注意力与输入特征图相乘以进行自适应特征优化。由于CBAM是轻量级的通用模块,因此可以忽略的该模块的开销而将其无缝集成到任何CNN架构中,并且可以与基础CNN一起进行端到端训练。

    1.整体结构:

    卷积层输出的结果,会先通过一个通道注意力模块,得到加权结果之后,会再经过一个空间注意力模块,最终进行加权得到结果。

    2.通道注意力模块:

    通道注意力图主要是由通道之间的关系得到,过去人们常用平均池化来聚合空间信息,但论文认为最大池化或许能捕获到另外一些重要的特征,所以论文同时使用了平均池化与最大池化。

    输入的特征图

    • 分别经过基于width和height的global max pooling 和global average pooling;
    • 分别经过MLP;
    • 将MLP输出的特征进行基于element-wise的add操作;
    • 经过sigmoid激活操作,生成最终的channel attention featuremap;
    • 将该channel attention featuremap和input featuremap做element wise乘法操作;
    • 生成Spatial attention模块需要的输入特征。

    通道注意力机制(Channel Attention Module)是将特征图在空间维度上进行压缩,得到一个一维矢量后再进行操作。

    在空间维度上进行压缩时,不仅考虑到了平均值池化(Average Pooling)还考虑了最大值池化(Max Pooling)。平均池化和最大池化可用来聚合特征映射的空间信息,送到一个共享网络,压缩输入特征图的空间维数,逐元素求和合并,以产生通道注意力图。

    单就一张图来说,通道注意力,关注的是这张图上哪些内容是有重要作用的。

    • 平均值池化对特征图上的每一个像素点都有反馈,
    • 最大值池化在进行梯度反向传播计算时,只有特征图中响应最大的地方有梯度的反馈。 

    3.空间注意力模块:

    设问:通道注意力关注的是什么,而空间注意力则关注的是什么?二者可以相互补充?

    将Channel attention模块输出的特征图作为本模块的输入特征图

    • 首先做一个基于channel的global max pooling 和global average pooling;
    • 然后将这2个结果基于channel 做concat操作;
    • 然后经过一个卷积操作,降维为1个channel;
    • 再经过sigmoid生成spatial attention feature
    • 最后将该feature和该模块的输入feature做乘法;
    • 得到最终生成的特征。

    空间注意力机制(Spatial Attention Module)是对通道进行压缩,在通道维度分别进行了平均值池化和最大值池化。

    • 最大池化的操作就是在通道上提取最大值,提取的次数是高乘以宽;
    • 平均的操作就是在通道上提取平均值,提取的次数也是是高乘以宽;

    接着将前面所提取到的特征图(通道数都为1)合并得到一个2通道的特征图。

     

     4.注意力注意到了什么?【可视化】

     

     

  • 相关阅读:
    ZYNQ7020--AMP下裸机程序开发 <2>
    2022华为中央媒体技术院AI算法工程师FindStar一面+二面+主管面
    大厂敲门砖!原阿里P8架构师整理12万字Java面试技巧心得
    大文件上传demo,前端基于Uppy,后端基于koa
    2023年中国光子嫩肤行业市场规模及市场格局分析[图]
    【WxPusher消息推送平台】js版对接发送消息教程实战案例,JavaScript版调用axios发送消息实例。保姆级教程
    iPhone15就要到来,iPhone14可能会铺天盖地地降价
    最高月薪20K?平均薪资近万...在华为子公司工作是什么体验?
    SpringMVC学习|JSON讲解、Controller返回JSON数据、Jackson、JSON乱码处理、FastJson
    计算机等级考试—信息安全三级真题八
  • 原文地址:https://blog.csdn.net/MengYa_Dream/article/details/128208786
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号