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

  • U大侠u盘启动盘制作常见问题(u盘启动大师教程)

    U大侠u盘启动盘制作常见问题(u盘启动大师教程)

  • 深圳地铁怎么扫码支付(深圳地铁怎么扫码支付更优惠)

    深圳地铁怎么扫码支付(深圳地铁怎么扫码支付更优惠)

  • 抖音怎么不用手机号注册账号(抖音怎么不用手机号登录)

    抖音怎么不用手机号注册账号(抖音怎么不用手机号登录)

  • 台式计算机的电功率(台式计算机的电源一般安装在)

    台式计算机的电功率(台式计算机的电源一般安装在)

  • 钉钉群退了还想回去怎么办(钉钉群退了还想进怎么办)

    钉钉群退了还想回去怎么办(钉钉群退了还想进怎么办)

  • 喜马拉雅可以同时登录几个手机(喜马拉雅可以同步听吗)

    喜马拉雅可以同时登录几个手机(喜马拉雅可以同步听吗)

  • iphone8一晚上掉电30(iphone8一晚上掉50电量)

    iphone8一晚上掉电30(iphone8一晚上掉50电量)

  • windows7是一种什么软件(windows7是一种什么)

    windows7是一种什么软件(windows7是一种什么)

  • 旧硬盘会拖坏新电脑吗(旧硬盘还能用吗)

    旧硬盘会拖坏新电脑吗(旧硬盘还能用吗)

  • 抖音显示超级乐迷什么意思(抖音显示超级乐队怎么弄)

    抖音显示超级乐迷什么意思(抖音显示超级乐队怎么弄)

  • 微机是由主机和什么组成(微机主机是指)

    微机是由主机和什么组成(微机主机是指)

  • ipad装不了微信怎么办(ipad1装不了微信)

    ipad装不了微信怎么办(ipad1装不了微信)

  • vivonex3和iqoopro的区别

    vivonex3和iqoopro的区别

  • 微信频繁加人会被永久封吗(微信频繁加人会限制吗)

    微信频繁加人会被永久封吗(微信频繁加人会限制吗)

  • c语言return0什么意思(c语言中的return0和return1)

    c语言return0什么意思(c语言中的return0和return1)

  • 苹果x换了国产屏有什么影响吗(苹果x换了国产屏会增加耗电吗)

    苹果x换了国产屏有什么影响吗(苹果x换了国产屏会增加耗电吗)

  • 如何在淘宝卖自己商品(如何在淘宝卖自己想卖的)

    如何在淘宝卖自己商品(如何在淘宝卖自己想卖的)

  • 下划线对齐怎么弄(下划线对齐怎么弄手机)

    下划线对齐怎么弄(下划线对齐怎么弄手机)

  • 淘宝信誉截图在哪点找(淘宝信誉图标)

    淘宝信誉截图在哪点找(淘宝信誉图标)

  • iPhone11pro有三维触控吗(苹果11pro三维触控在哪里)

    iPhone11pro有三维触控吗(苹果11pro三维触控在哪里)

  • smartart基本维恩图在哪(pptsmartart基本维恩图怎么找)

    smartart基本维恩图在哪(pptsmartart基本维恩图怎么找)

  • xsmax支持反向充电吗(xsmax有没有反向充电)

    xsmax支持反向充电吗(xsmax有没有反向充电)

  • 台式电脑怎么连接wifi步骤(台式电脑怎么连接自己的无线网络)

    台式电脑怎么连接wifi步骤(台式电脑怎么连接自己的无线网络)

  • 海信聚好看怎么投电视(海信聚好看怎么样)

    海信聚好看怎么投电视(海信聚好看怎么样)

  • airpods怎么找其中一只(airpods 怎么找耳机)

    airpods怎么找其中一只(airpods 怎么找耳机)

  • 金立手机老是弹出广告怎么消除(金立手机老是弹出应用程序错误)

    金立手机老是弹出广告怎么消除(金立手机老是弹出应用程序错误)

  • 人工智能导论(第四版)王万良编著课后习题答案(人工智能导论报告)

    人工智能导论(第四版)王万良编著课后习题答案(人工智能导论报告)

  • 金税四期上线后如何查虚开
  • 小规模纳税人季度不超30万免增值税
  • 企业所得税季初和季末
  • 厨房酒店用品
  • 企业股利分配政策有哪些
  • 房产租金收入是什么科目
  • 应付福利费直接计入未分配利润
  • 融资租赁方式租出的固定资产
  • 居民纳税人具体包括哪些?
  • 商业折扣如何开发票
  • 企业必须要掌握哪些技能
  • 平销返利怎么开票入账
  • 预交增值税扣税绑不了三方
  • 中药材免税还能抵扣收购发票
  • 汇算清缴发现以前预缴报表资产错误
  • 小规模纳税人收到专票后如何处理
  • macbook视频怎么用
  • 收到以前年度退税款的会计分录
  • 苹果手机下载爱思极速版有什么影响
  • iphone6splus 充电
  • 税收风险的含义
  • 转让无形资产使用权和所有权的区别
  • php调用soap
  • 其他业务成本的意思
  • 融资性售后回租和融资租赁的区别
  • yolov5模型中git的作用
  • 日出时的麦克拱岩,俄勒冈南海岸 (© Dennis Frates/Alamy)
  • 支付劳务公司的劳务费计入应付账款还是其他应付款
  • arcore如何使用
  • css文字显示一行
  • 6372056181电子退库收入
  • 模型如何优化
  • 浏览器你
  • php运算符@符号
  • php中的this
  • 茶叶一般开多少度保存
  • 税控开票清单
  • 预收账款的账务处理摘要
  • python数据编程
  • 出售持有股票会计处理
  • python中字符串与数字相乘的结果
  • php安装不了
  • mongo创建db
  • 运输公司税务筹划
  • 企业开办费如何在税前扣除
  • sqlserver高版本数据库文件转低版本
  • 有限合伙企业成本费用抵扣
  • 业务分成方案
  • 劳务派遣公司小规模纳税人如何开票
  • 社保缴费基数调整后对个人的影响
  • 差旅费包括哪些费用
  • 个人开具发票需要税号吗?
  • 公司不营业需要交税吗
  • 电子税务局财务报表在哪里查询
  • 新旧收入准则对比区别表
  • 废品损失明细账应选择三栏式
  • win10应用商店下载路径更改
  • ubuntu系统怎么更新
  • linux配置raid5方法
  • window10自带的软件有哪些
  • linux 配置中文
  • c1.exe是什么
  • win10一堆毛病
  • windows7打开网络连接
  • win7笔记本触摸板怎么开启
  • JavaScript数组删除元素
  • nodejsapi框架
  • 骨骼动画原理
  • opengl绘制函数
  • opengl详解
  • 下面有关js中call和apply的描述,错误的是
  • jquery返回顶部
  • 批量安装windows7补丁
  • Python生成随机数
  • JS+CSS实现仿雅虎另类滑动门切换效果
  • 瀑布流软件
  • python怎么读取中文txt文本
  • js 调试
  • jquery自定义函数
  • 座机怎么查来电显示号码
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设