位置: IT常识 - 正文

综述:计算机视觉中的通道注意力机制(计算机视角技术)

编辑:rootadmin
综述:计算机视觉中的通道注意力机制 综述:计算机视觉中的通道注意力机制1. INTRODUCTION:2. 计算机视觉中的注意力机制2.1. 通用形式2.2 通道注意力 | channel attention | what to pay attention to2.2.1 SENet2.2.2 GSoP-Net2.2.3 SRM2.2.4 GCT2.2.5 ECANet2.2.6 FcaNet2.2.7 EncNet2.2.8 通道注意力机制模型总结3. 论文链接

推荐整理分享综述:计算机视觉中的通道注意力机制(计算机视角技术),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:计算机视觉概述,计算机视觉百度百科,计算机视频概念,计算机视觉:一种现代方法,计算机视觉百度百科,计算机视觉:一种现代方法,计算机视觉综述,计算机视觉:一种现代方法,内容如对您有帮助,希望把文章链接给更多的朋友!

这是一篇从数据域的角度,给注意力机制分为六类的综述,涵盖论文数量多。

论文题目:Attention Mechanisms in Computer Vision: A Survey

论文链接:https://arxiv.org/pdf/2111.07624.pdf

论文代码: https://github.com/MenghaoGuo/Awesome-Vision-Attentions

ABSTRACT: 人类可以自然有效地在复杂场景中发现显著区域。在这种观察的激励下,注意力机制被引入计算机视觉,目的是模仿人类视觉系统的这一方面。这种注意力机制可以看作是一个基于输入图像特征的动态权重调整过程。注意力机制在许多视觉任务中取得了巨大的成功,包括图像分类、目标检测、语义分割、视频理解、图像生成、三维视觉、多模态任务和自监督学习。在这项调查中,我们对计算机视觉中的各种注意力机制进行了全面的回顾,并根据方法对它们进行了分类,如通道注意、空间注意、时间注意和分支注意;相关代码在https://github.com/MenghaoGuo/Awesome-Vision-Attentions。我们还提出了注意力机制研究的未来方向。

图1 注意力机制根据数据域分类。其中包含了四种分类:通道注意力、空间注意力、时间注意力、分支注意力,其中有两个重叠类,即通道-空间注意力、空间、时间注意力。空集表示这种组合还不存在。

图2 通道、空间和时间注意力能够被看作是在不同的域(维度)上操作。C表示通道域,H和W表示空间域,T表示时间域。分支注意力是对这些的补充。

1. INTRODUCTION:

将注意力转移到最重要的部分被称为注意力机制;人类使用视觉系统来帮助高效地分析和理解复杂场景。这反过来又促使研究人员将注意力机制引入计算机视觉系统,以提高其性能。在视觉系统中,注意力机制可以被视为一个动态选择过程,通过根据输入的重要性自适应地加权特征来实现。注意力机制在很多视觉任务中都有好处,例如:图像分类、目标检测、语义分割、人脸识别、人物再识别、动作识别、少量显示学习、医学图像处理,图像生成、姿势估计、超分辨率、三维视觉和多模式任务。

图3 CV中的attention发展史

过去十年,注意力机制在计算机视觉中逐渐起重要作用。图3简要地总结了基于deep learning 的CV领域中attention-based模型的发展历史。成果大致可以分为四个阶段。

第一阶段:从RAM开始的开创性工作,将深度神经网络与注意力机制相结合。它反复预测重要区域。并以端到端的方式更新整个网络。之后,许多工作采用了相似的注意力策略。在这个阶段,RNN在注意力机制中是非常重要的工具。第二阶段:从STN中,引入了一个子网络来预测放射变换用于选择输入中的重要区域。明确预测待判别的输入特征是第二阶段的主要特征。DCN是这个阶段的代表性工作。第三阶段:从SENet开始,提出了通道注意力网络(channel-attention network)能自适应地预测潜在的关键特征。CBAM和ECANet是这个阶段具有代表性的工作。第四阶段:self-attention自注意力机制。自注意力机制最早是在NLP中提出并广泛使用。Non-local网络是最早在CV中使用自注意力机制,并在视频理解和目标检测中取得成功。像EMANet,CCNet,HamNet和the Stand-Alone Network遵循此范式并提高了速度,质量和泛化能力。最近,深度自注意力网络(visual transformers)出现,展现了基于attention-based模型的巨大潜力。

表1 简要总结注意力机制分类

Attention cateoryDescriptionTranslationChannel attention(what to pay attention to)Generate attention mask across the channel domain and use it to select important channels在通道域中生成注意力掩码,并使用它选择重要通道Spatial attention(where to pay attention to)Generate attention mask across spatial domains and use it to select important spatial regions or predict the most relevant spatial position directly生成跨空间域的注意力掩码,并使用它来选择重要的空间区域或直接预测最相关的空间位置Temporal attention(when to pay attention to)Generate attention mask in time and use it to select key frames及时生成注意力掩码,并使用它选择关键帧Branch attention(which to pay attention to)Generate attention mask across the different branches and use it to select important branches在不同的分支上生成注意力掩码,并使用它来选择重要的分支Channel & spatial attentionPredict channel and spatial attention masks separately or generate a joint 3-D channel, height, width attention mask directly and use it to select important features分别预测通道和空间注意力掩码,或直接生成一个联合的三维通道、高度、宽度注意力掩码,并使用它选择重要特征Spatial & temporal attentionCompute temporal and spatial attention masks separately, or produce a joint spatiotemporal attention mask, to focus on informative regions分别计算时间和空间注意力掩码,或生成联合时空注意力掩码,以关注信息区域

图4 视觉注意力的发展

2. 计算机视觉中的注意力机制

表2 本文中的符号含义。在使用的地方解释了其他次要符号

SymbolDescriptionTranslationXinput feature map, X∈RC×H×W{X\in{R^{C\times{H}\times{W}}}}X∈RC×H×W输入特征图,维度Youtput feature map输出特征图Wlearnable kernel weight待学习权重FCfully-connected layer全连接层Convconvolution卷积层GAPglobal average pooling全局平均池化GMPglobal max pooling全局最大池化[ ]concatenation拼接(串联)δReLU activationReLU激活函数σsigmoid activationsigmoid激活函数tanhtanh activationtanh激活函数Softmaxsoftmax activationsoftmax激活函数BNbatch normalization批标准化Expandexpan input by repetition重复输入2.1. 通用形式

当我们在日常生活中看到一个场景时,我们会把注意力集中在识别区域,并快速处理这些区域。上述过程可表述为:

Attention=f(g(x),x){Attention = f(g(x),x)}Attention=f(g(x),x)

g(x){g(x)}g(x)可以表示为产生注意力,这对应于注意待识别区域的过程;f(g(x),x){f(g(x),x)}f(g(x),x)表示基于attention g(x){g(x)}g(x)处理输入xxx,这与处理关键区域、获取信息是一致的。

根据上述定义,我们发现几乎所有现存的注意力机制都能够被写成上述形式。这里我们列举了self-attention的Non-Local和spatial attention的SENet。

Non-Local可以写成:

SENet可以写成:

因此,我们会通过上述形式介绍各种注意力机制方式。

2.2 通道注意力 | channel attention | what to pay attention to

2.2.1 SENet综述:计算机视觉中的通道注意力机制(计算机视角技术)

squeeze模块:全局平均池化(GAP),压缩通道[H,W][H,W][H,W]->[1,1][1,1][1,1]excitation模块:后接全连接层(W1W_1W1​)->ReLU层(δ)->全连接层(W2W_2W2​)->Sigmoid(σ)将得到的结果和原特征图相乘,为每一个通道给不同的权重2.2.2 GSoP-Net

创新点:改进了squeeze模块。global average pooling(GAP) -> global second-order pooling(GSoP)

动机:SENet仅仅采用了全局平均池化方法,GSoP-Net认为这是不够的,这限制了注意力机制的建模能力,因此提出了global second-order pooling(GSoP) block在收集全局信息的同时对高阶统计数据建模.

和SEBlock一样,GSoPBlock同样有 squeeze和excitation两部分结构。

squeeze模块:1×1{1\times1}1×1卷积(Conv)将通道维度从[C,H,W][C,H,W][C,H,W]->[C′,H,W][C^{'},H,W][C′,H,W],(C′<C)(C^{'}<C)(C′<C)协方差矩阵(Cov)C′×C′{C^{'}\times{C^{'}}}C′×C′,计算各通道间的相关性接下来,对协方差矩阵执行逐行归一化。归一化协方差矩阵中的每个(i,j){(i,j)}(i,j)表示信道i与信道j相关联excitation模块 1.行卷积(RC)以保持结构信息并输出向量 2. 利用全连接层(W)和sigmoid函数(σ)得到C维注意力向量(通道权重)将得到的结果和原特征图相乘,为每一个通道给不同的权重

通过使用全局二阶池化(GSoP),GSoPBlock提高了通过SEBlock收集全局信息的能力。然而,这是以额外计算为代价的。因此,通常在几个剩余块之后添加单个GSoPBlock。

2.2.3 SRM

创新点:改进了squeeze模块和excitation模块。提出了style-based recalibration module (SRM)。它利用输入特征的均值(mean)和标准差(std)来提高捕获全局信息的能力。它还采用了一个轻量级的通道全连接层(CFC)代替原有的全连接层(FC),以减少计算需求。

动机:以风格迁移的成功为动机,即提升精度的同时,减少计算量,提出了新的squeeze模块和轻量级全连接层。

squeeze模块:使用style pooling(SP),它结合了全局平均池化和全局标准差池化。(为什么输出为C×d{C\times{d}}C×d:当只用全局平均池化就是C×1{C\times{1}}C×1;当用了全局平均池化和全局标准差池化就是C×2{C\times{2}}C×2;当用了全局平均池化和全局标准差池化和全局最大池化就是C×3{C\times{3}}C×3)excitation模块:与通道等宽的全连接层CFC(Channel-wise fully-connected layer) ,含义:通道维度由[C,d]{[C,d]}[C,d]变为[C,1]{[C,1]}[C,1],即对于每一个通道,都有一个全连接层输入为d,输出为1(原文:This operation can be viewed as a channel-independent, fully connected layer with d input nodes and a single output)利用BN层和sigmoid函数(σ)得到C维注意力向量将得到的结果和原特征图相乘,为每一个通道给不同的权重2.2.4 GCT

动机:由于excitation模块中全连接层的计算需求和参数数量,在每个卷积层之后使用SE块是不切实际的。提出了gated channel transformation (GCT)。减少计算量,在backbone中可以加入更多层注意力机制。

l2-normalization(Norm),对输入特征图Norm,通道数从C,H,W{C,H,W}C,H,W->[C,1,1][C,1,1][C,1,1],乘以可训练权重α\alphaα,输出结果作为第二部分的输入用sins_{in}sin​表示channel normalization(CN),对应图中中间部分,具体操作为

sout=CNorm(sin)sin;sin,sout=[C,1,1]{s_{out}=\cfrac{{\sqrt{C}}}{Norm(s_{in})}}s_{in}; s_{in},s_{out}=[C,1,1]sout​=Norm(sin​)C​​sin​;sin​,sout​=[C,1,1]

乘以可训练权重γ\gammaγ和偏置β\betaβ,输出结果用s′s^{'}s′表示s=1+tanh(s′)s=1+tanh(s^{'})s=1+tanh(s′)

GCT block的参数比SE block少,而且由于它很轻量,可以添加到CNN的每个卷积层之后。

2.2.5 ECANet

创新点:论文动机出发点说了一大堆,具体表现就是,用一维卷积替换了SENet中的全连接层

全局平均池化(GAP)一维卷积(Conv1D)后接激活函数Sigmoid(σ)将得到的结果和原特征图相乘,为每一个通道给不同的权重

注:文中对卷积核大小有自适应算法,即根据通道的长度,调整卷积核k的大小。原论文给出超参数γ=2{\gamma=2}γ=2,b=1{b=1}b=1。∣∣odd{||_{odd}}∣∣odd​表示k只能取奇整数

2.2.6 FcaNet

动机:在squeeze模块中仅使用全局平均池化(GAP)限制了表达能力。为了获得更强大的表示能力,他们重新思考了从压缩角度捕获的全局信息,并分析了频域中的GAP。他们证明了全局平均池是离散余弦变换(DCT)的一个特例,并利用这一观察结果提出了一种新的多光谱注意通道(multi-spectral channel attention)。

将输入特征图x∈RC×H×W{x\in{R^{C\times{H}\times{W}}}}x∈RC×H×W分解(Group)为许多部分xi∈RCi×H×W{x^{i}\in{R^{C^{i}\times{H}\times{W}}}}xi∈RCi×H×W,每一段长度相等对每一段xi{x^i}xi应用2D 离散余弦变换(DCT, discrete cosine transform)。2D DCT可以使用预处理结果来减少计算在处理完每个部分后,所有结果都被连接到一个向量中后接全连接层(W1W_1W1​)->ReLU层(δ)->全连接层(W2W_2W2​)->Sigmoid(σ)将得到的结果和原特征图相乘,为每一个通道给不同的权重

注:2D DCT 看不懂。。。。。。

2.2.7 EncNet

动机:受SENet的启发,提出了上下文编码模块(CEM, context encoding module),该模块结合了语义编码损失(SE-loss, semantic encoding loss),以建模场景上下文和对象类别概率之间的关系,从而利用全局场景上下文信息进行语义分割。

给定一个输入特征映射,CEM首先在训练阶段学习K个聚类中心D,D={d1,...,dK}{D=\{d_1,...,d_K\}}D={d1​,...,dK​}和一组平滑因子S,S={s1,...,sK}{S=\{s_1,...,s_K\}}S={s1​,...,sK​}。接下来,它使用软分配权重对输入中的局部描述子和相应的聚类中心之间的差异进行求和,以获得置换不变描述子。然后,为了提高计算效率,它将聚合应用于K个簇中心的描述符,而不是级联。形式上,CEM可以写成如上公式。

2.2.8 通道注意力机制模型总结

3. 论文链接论文缩写论文名称 | 链接权重范围论文投稿SE BlockSqueeze-and-Excitation Networks(0,1)CVPR2018GSoP BlockGlobal Second-order Pooling Convolutional Networks(0,1)CVPR2019SRM BlockSRM : A Style-based Recalibration Module for Convolutional Neural Networks(0,1)ICCV2019GCT BlockGated Channel Transformation for Visual Recognition(0,1)CVPR2020ECA BlockECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks(0,1)CVPR2020Fca BlockFcaNet: Frequency Channel Attention Networks(0,1)ICCV2021Enc BlockContext Encoding for Semantic Segmentation(-1,1)CVPR2018
本文链接地址:https://www.jiuchutong.com/zhishi/298607.html 转载请保留说明!

上一篇:HTML+CSS+JS+Jquery+练手项目+...合集(前端学习必备,持续更新中...)

下一篇:JavaScript注册监听事件与清除监听事件(js怎么注册)

  • qq怎么开秒赞秒评(qq秒赞网怎么设置秒赞)

    qq怎么开秒赞秒评(qq秒赞网怎么设置秒赞)

  • 微信怎么删视频记录(微信怎么删视频号作品)

    微信怎么删视频记录(微信怎么删视频号作品)

  • vivi手机是哪个公司的(vivi手机哪个系列不好)

    vivi手机是哪个公司的(vivi手机哪个系列不好)

  • 抖音上的在线准吗(抖音的在线准确吗)

    抖音上的在线准吗(抖音的在线准确吗)

  • 微信如何申请健康绿码(微信如何申请健康通行码)

    微信如何申请健康绿码(微信如何申请健康通行码)

  • 天猫精灵反应迟钝怎么办(天猫精灵反应慢是什么原因)

    天猫精灵反应迟钝怎么办(天猫精灵反应慢是什么原因)

  • 打开volte和关闭volte有什么区别(关闭volte开关)

    打开volte和关闭volte有什么区别(关闭volte开关)

  • 物联卡没信号无服务怎么办(物联卡安上手机没有信号)

    物联卡没信号无服务怎么办(物联卡安上手机没有信号)

  • mac能上微信打不开网页(mac电脑能上微信打不开网页怎么回事)

    mac能上微信打不开网页(mac电脑能上微信打不开网页怎么回事)

  • 小米手环4屏幕摔坏了能修吗(小米手环4屏幕刷新率)

    小米手环4屏幕摔坏了能修吗(小米手环4屏幕刷新率)

  • 苹果x前置摄像头进灰怎么清理(苹果x前置摄像头换一个多少钱)

    苹果x前置摄像头进灰怎么清理(苹果x前置摄像头换一个多少钱)

  • 怎么查询微信视频记录(怎么查询微信视频号)

    怎么查询微信视频记录(怎么查询微信视频号)

  • 虾米音乐怎么剪辑铃声(虾米音乐怎么截取音乐片段)

    虾米音乐怎么剪辑铃声(虾米音乐怎么截取音乐片段)

  • ios10怎么取消自动续费(如何取消苹果手机的自动)

    ios10怎么取消自动续费(如何取消苹果手机的自动)

  • 苹果手机锁屏旁白怎么关闭(苹果手机锁屏旁白)

    苹果手机锁屏旁白怎么关闭(苹果手机锁屏旁白)

  • 如何取消拼多多金猪提醒(如何取消拼多多订单)

    如何取消拼多多金猪提醒(如何取消拼多多订单)

  • word图片被锁定(word图片锁定纵横比在哪里)

    word图片被锁定(word图片锁定纵横比在哪里)

  • 抖音画质增强off是开还是关(抖音画质增强off是什么意思)

    抖音画质增强off是开还是关(抖音画质增强off是什么意思)

  • 怎么裁剪视频画面大小(怎么裁剪视频画质)

    怎么裁剪视频画面大小(怎么裁剪视频画质)

  • 苹果11是几个摄像头(苹果11几个摄像头管用)

    苹果11是几个摄像头(苹果11几个摄像头管用)

  • 街电找不到地方还怎么办(街电怎么用不了怎么回事)

    街电找不到地方还怎么办(街电怎么用不了怎么回事)

  • 路由器的基本功能(路由器的基本功能是找到一条最佳的数据包传输路线)

    路由器的基本功能(路由器的基本功能是找到一条最佳的数据包传输路线)

  • 编程主要学什么(编程主要学什么东西)

    编程主要学什么(编程主要学什么东西)

  • Vue结合高德地图实现HTML写自定义信息弹窗(vue接入高德地图)

    Vue结合高德地图实现HTML写自定义信息弹窗(vue接入高德地图)

  • sendmail命令  电子邮件传送代理(sendmailadmin)

    sendmail命令 电子邮件传送代理(sendmailadmin)

  • 契税完税凭证是不是契税发票
  • 多余的进项税该怎么处理
  • 单位购买预付卡
  • 转出未交增值税是借方还是贷方
  • 未经过他人同意贷款怎么处理
  • 注销公司需要提供股东身份证吗
  • 银行定期存款转存
  • 上个月开的增值税发票这个月可以作废吗
  • 应交税费应交增值税的三级科目有哪些
  • 延期申报增值税罚款
  • 企业代扣代缴个人所得税系统
  • .net 安装
  • win11隐藏图标怎么弄出来
  • mac辅助功能键盘
  • 存货监盘计划要求,在对存货盘点结果进行测试时
  • 应收账款无法收回确认为坏账会计分录
  • 农业生产用水水资源税
  • 生育津贴报销需要准生证吗
  • 怎么给分区
  • 重庆四日游最佳攻略超详细
  • pps影音怎么看电视直播
  • 哪些费用可以在开办费中列支
  • 存货盘盈如何记账
  • 债权投资利息调整属于什么科目?
  • thinkphp3.x中session方法的用法分析
  • burp怎么安装
  • 小规模纳税人的增值税账务处理
  • 编译安装php7.2
  • iis部署javaweb
  • 微信小程序如何删除
  • 公司财务认证负责人实名认证需要承担责任吗
  • 超参数有哪些调优方法
  • 信息系统服务属于什么类
  • 帝国cms导航站模板
  • Bootstrap table 控制表格高度固定(行高固定)并且不受数据量影响
  • 个体户开出的增值税发票丢失了怎么办?
  • 使用sql server查询不到会返回什么
  • mysql用中文字段
  • 研发费用加计扣除新税收政策
  • 利润分配未分配利润是净利润吗
  • 积分兑换商品怎么查快递
  • 计提银行存款利息
  • 公司注销时退还实收资本要交个税吗
  • 以前年度的银行流水可以补进来做账嘛
  • 预付房租收到发票后如何做账
  • 发给客户免费的短信
  • 上月未记账
  • 农村的扶贫政策是什么
  • 日常修理费用如何记账
  • 银行承兑汇票怎么做账
  • 生产成本如何设置明细账
  • “制造费用”账户如何设置明细账?
  • 关闭默认共享的影响
  • Win10 Mobile Build 10549正式推送:须回滚到WP8.1升级
  • 由于这台计算机没有远程客户端访问许可证
  • Centos安装dig命令
  • window8系统安装步骤
  • ae安装之后打开是crash
  • 电脑系统xp怎么样
  • win7开机进入桌面黑屏但有鼠标
  • win1020th2
  • cocos2dx schedule
  • FreeGLUT Tips: Resolve compile issue: error LNK1104: cannot open file 'freeglutd.lib'
  • msvc命令行
  • js浏览器打印
  • jquery常见的选择器
  • excite引擎
  • iframe隐藏页面内容
  • qq聊天背景闪烁
  • JavaScript开发技巧
  • 孙其功陪你学之——unity3d进程暂停
  • javascript基础入门视频教程
  • Flow之一个新的Javascript静态类型检查器
  • 河北税务怎么查询交了没有
  • 居民与非居民的区别国际金融
  • 网上交购置税怎么拿完税证明
  • pageoffice控件安装不上
  • 政府收储土地需要缴纳什么税
  • 合规管理的基本要求
  • 关于个体户的个人所得税的最新政策法规
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设