位置: 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怎么注册)

  • 芒果tv个人中心在哪(芒果tv个人中心在哪里看)

    芒果tv个人中心在哪(芒果tv个人中心在哪里看)

  • 买票显示可候补啥意思(买票显示候补抢票是什么意思)

    买票显示可候补啥意思(买票显示候补抢票是什么意思)

  • buff怎么只接受支付宝(buff怎么只接受支微信)

    buff怎么只接受支付宝(buff怎么只接受支微信)

  • 调手机时间对钉钉管用吗(手机时间改了钉钉会修改吗)

    调手机时间对钉钉管用吗(手机时间改了钉钉会修改吗)

  • ipad放大了怎样缩小(ipad屏幕放大了怎么缩小回去)

    ipad放大了怎样缩小(ipad屏幕放大了怎么缩小回去)

  • 好友列表怎么显示iphone在线(怎么在好友列表里显示自己)

    好友列表怎么显示iphone在线(怎么在好友列表里显示自己)

  • 抖音粉丝团有什么用(抖音粉丝团有什么任务)

    抖音粉丝团有什么用(抖音粉丝团有什么任务)

  • iqoo3有红外线吗(iqoo3有红外遥控吗)

    iqoo3有红外线吗(iqoo3有红外遥控吗)

  • 电动单车充电一般需要多少个小时(电动单车充电一小时多少度电)

    电动单车充电一般需要多少个小时(电动单车充电一小时多少度电)

  • d频段和f频段的是多少(d频段和f频段的关系)

    d频段和f频段的是多少(d频段和f频段的关系)

  • 怎么给qq音乐设置密码(怎么给qq音乐设置密码登录)

    怎么给qq音乐设置密码(怎么给qq音乐设置密码登录)

  • 淘宝限制下单永久能解吗(淘宝限制下单永久退专用是什么意思)

    淘宝限制下单永久能解吗(淘宝限制下单永久退专用是什么意思)

  • ios13如何安装第三方应用(苹果13如何安装)

    ios13如何安装第三方应用(苹果13如何安装)

  • 笔记本电脑处理器i5和i7的区别(笔记本电脑处理器哪种好)

    笔记本电脑处理器i5和i7的区别(笔记本电脑处理器哪种好)

  • 天马屏是什么意思(天马屏优缺点)

    天马屏是什么意思(天马屏优缺点)

  • 双十二淘宝有购物津贴吗(双十二淘宝有购物金吗)

    双十二淘宝有购物津贴吗(双十二淘宝有购物金吗)

  • 网络交换机的作用(网络交换机有什么用)

    网络交换机的作用(网络交换机有什么用)

  • 手机有内存为什么会显示空间不足(手机有内存为什么还卡顿)

    手机有内存为什么会显示空间不足(手机有内存为什么还卡顿)

  • 华为mate30怎么插卡(华为mate30怎么插u盘)

    华为mate30怎么插卡(华为mate30怎么插u盘)

  • 钉钉在哪写入职信息(钉钉填入职信息)

    钉钉在哪写入职信息(钉钉填入职信息)

  • 屏幕固定是什么功能(屏幕固定是什么原理)

    屏幕固定是什么功能(屏幕固定是什么原理)

  • 12123脸部识别不了怎么办(交管12123脸部识别没认出来什么意思)

    12123脸部识别不了怎么办(交管12123脸部识别没认出来什么意思)

  • 荣耀20nfc支持那些地方(荣耀20nfc可以刷地铁吗)

    荣耀20nfc支持那些地方(荣耀20nfc可以刷地铁吗)

  • 苹果7p小白点怎么设置(苹果7p小白点怎么切换app)

    苹果7p小白点怎么设置(苹果7p小白点怎么切换app)

  • 关闭彩信功能(关闭彩信功能等于取消彩信服务吗)

    关闭彩信功能(关闭彩信功能等于取消彩信服务吗)

  • 苹果xr怎么装两张卡(平果手机xr怎样才能按装双卡)

    苹果xr怎么装两张卡(平果手机xr怎样才能按装双卡)

  • 在WIN10中,为什么快速启动栏不见了?(为什么我的windows10)

    在WIN10中,为什么快速启动栏不见了?(为什么我的windows10)

  • Python+Selenium自动化测试详细教程(python自动化selenium)

    Python+Selenium自动化测试详细教程(python自动化selenium)

  • 金税盘连接不上电脑是怎么回事
  • 更正申报多交的个税
  • 非限定性净资产借贷方向
  • 当月费用次月收到发票
  • 年末结转增值税之后增值税有余额嘛
  • 养老保险补缴利率是多少
  • 电商返佣平台有风险吗
  • 汽车行业保险丝
  • 外购的半成品属于原材料吗
  • 未计提坏账准备的会计分录
  • 开具红字发票无蓝字发票如何网上申报?
  • 服务外包合同印花税
  • 没有三方协议怎么缴纳社保
  • 个体户一个月开票30万怎么上税
  • 包装物怎么入账
  • 用于在建工程的固定资产是否可以计提折旧
  • 外贸企业申报出口退税商品名称可以改吗
  • 公司成立前的准备工作有哪些
  • 全免增值税企业所得税吗
  • 发票已抵扣未入账
  • 支付安装设备所有费用
  • 电脑系统如何安装字体
  • 房地产企业哪些成本上升了
  • 如何直接访问ip地址
  • 无偿转让股权如何做账
  • 给企业法人缴纳社保流程
  • 塞巴斯蒂安电影 豆瓣
  • 阿尔卑斯山城市
  • 加拿大猞猁雪兔
  • php echo js
  • 树枝上停着一只什么小鸟
  • Vision Transformer 模型详解
  • 税务申报说明怎么写范文
  • php授权ip访问
  • 企业收到微信和微信消息
  • 债权收益权转让
  • 个人所得税汇算清缴时间
  • 债券回售手续费是多少
  • 财务的原始凭证
  • sql server定时作业
  • 买房返现是什么意思
  • 提交表单数据有哪几种方法,php如何获取表单提交的数据
  • mysql中如何设置默认值
  • 资产处置损益影响损益吗
  • 幼儿园园服已发给孩子怎么通知家长
  • 注销公司需要承担什么责任
  • 外购商品发放给员工 进项税额能不能抵扣
  • 关于出售使用过的产品
  • 应收账款未收到是否要交税
  • 预收款收入确认
  • 租赁设备如何做会计分录
  • 会计工资标准
  • 三证合一办理流程及费用
  • 支付大型设备税率是多少
  • 年末利润如何计算
  • 网吧出售
  • 房地产公司支付工程款账务处理
  • 屏幕右下角显示A2
  • win10右键菜单自定义
  • 如何安装win2000
  • centos virbr0
  • mac截图快捷键设置
  • mac开机慢开机以后特别卡
  • 在任务栏右下角添加图标
  • win7怎么启用显卡
  • 武汉做无创要预约吗
  • windows免费升级win10
  • linux软件列表
  • 简单阐述javascript的主要作用
  • Android 中的 TableLayout 继承自
  • android的基本概念
  • ssh -keygen
  • python中面向对象的概念
  • js的点击事件怎么做
  • js校验密码复杂度
  • 二级联动什么意思
  • 示例代码
  • python socks
  • 四川灵活就业医保每月返多少钱
  • 网上新办税务操作流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设