锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

Attention Mechanisms in Computer Vision: A Survey(一)

时间:2023-06-05 00:07:01 gsop光电传感器

文章地址:https://arxiv.org/pdf/2111.07624.pdf
在复杂的场景中,人类自然能有效地找到显著的区域。在这种观察的激励下,为了模仿人类视觉系统,将注意力机制引入计算机视觉。这种注意机制可以看作是基于输入图像特征的动态权重调整过程。注意机制在图像分类、目标检测、语义分割、视频理解、图像生成、三维视觉、多模态任务和自监督学习等多种视觉任务中取得了巨大的成功。在本调查中,作者全面回顾了计算机视觉中的各种注意机制,并对渠道注意、空间注意、时间注意、分支注意等方法进行了分类;作者还提出了关注机制研究的未来方向。

一、文章简介

将注意力转移到图像中最重要的区域,忽略不相关部分的方法称为注意力机制;在视觉系统中,注意力机制可以被视为一个动态选择过程,并根据输入的重要性自适应加权特征。注意机制有利于许多视觉任务,如:图像分类目标检测语义分割、人脸识别、人物识别、动作识别、少量显示学习、医学图像处理、图像生成、姿势估计、超分辨率、3D视觉、多模式任务。在过去的十年里,注意机制在计算机视觉中发挥着越来越重要的作用;图3简要总结了基于深度学习时代计算机视觉注意模型的历史。进展大致可分为四个阶段。从第一阶段开始RAM,这是将深层神经网络与注意力机制相结合的开创性工作。它反复预测重要区域,并通过战略梯度更新整个网络。现阶段,递归神经网络(RNN)是注意机制的必要工具。第二阶段开始时,Jaderberg等人提出了STN,它引入了一个子网络来预测输入中重要区域的仿射变换。歧视性输入特征的明确预测是第二阶段的主要特征;DCN具有代表性的作品。从第三阶段开始SENet,提出了一种新的通道注意网络,它隐式地、自适应地预测潜在的关键特征。CBAM和ECANet是本阶段的代表作。最后一阶段是自注时代。并在自然语言处理领域取得了巨大进展。Wang其他人率先将自我注意力引入计算机视觉,并提出了一种新颖的非局部网络,在视频理解和目标检测方面取得了巨大成功。接下来是一系列的工作,比如EMANet、CCNet、HamNet这些工作提高了速度、结果质量和泛化能力。最近,各种纯粹的深层自络(视觉)transformers)]基于注意力的模型的巨大潜力相继出现。显然,基于注意力的模型可能会取代卷积神经网络,成为计算机视觉中更强大、更通用的系统结构。
在这里插入图片描述

如上所示,并在下图中进一步说明:它是基于数据域的。一些方法考虑重要数据何时出现,或其他方法在何处出现等问题,并相应地尝试在数据中找到关键时间或位置。作者将现有的注意方法分为六类,包括四个基本类别:通道注意力(注意图中有什么)、空间注意力(注意关键因素哪里)、时间注意(何时注意)和分支通道(注意感受野),以及两个混合组合类别:通道与空间注意和空间与时间注意。

本文主要贡献有:
1.系统回顾视觉注意力方法,包括对注意力机制的统一描述、视觉注意力机制的发展和当前的研究。
2.根据数据域对注意力方法进行分类和分组,使我们能够将视觉注意力方法与其特定应用程序联系起来。3.对未来视觉注意力研究的建议。

二、文章细节

(一)、Channel Attention

在深度神经网络中,不同特征映射中的不同通道通常代表不同的对象。通道注意力可以自适应地重新校准每个通道的重量,并将其视为对象选择过程,以确定应注意的内容。Hu等人[5]首先提出了渠道注意的概念,为此提出了SENet。如下所示

(1)、SENet

SENet开创了渠道注意力的先例。SENet核心是压缩和激励(SE)用于收集全局信息,捕获渠道关系,提高表达能力。
SE模块分为挤压模块和激励模块两部分。挤压模块通过全局平均池收集全局空间信息。激励模块使用全连接层和非线性层(ReLU和sigmoid)捕捉通道关系,输出注意力向量。然后,通过乘以注意向量中的相应元素来缩放输入特征的每个通道。一般来说,以X为输入,以Y为输出的压缩和激励块 F s e F_{se} Fse(参数θ)可以说:

SE模块强调重要通道,同时抑制噪声。由于SE块的计算资源需求较低,因此可以在每个残余单元后添加SE块。然而,SE块也有缺点。全局平均池在挤压模块中过于简单,无法捕获复杂的全局信息。全连接层增加了模型在激励模块中的复杂性。后续工作试图改进挤压模块的输出(例如GSoP通过改进励磁模块(如网络)ECANet)同时降低模型的复杂性或改进挤压模块和励磁模块(如SRM)。

(2)、GSoP-Net

SE块只利用全局平均池化(即一阶统计)捕获全局信息,限制了其建模能力,特别是捕获高级特征的能力。 要解决这个问题,Gao等人通过使用全局二阶池化提出(GSoP)在收集全局信息的同时,建模高级特征数据来改进挤压模块。
与SE块一样,GSoP还有挤压模块和激励模块。GSoP块首先使用1x1卷积将通道数从 c ′ c^{'} c减少到c( c < c ′ c c<c),然后计算不同通道的c×c协方差矩阵,以获得它们的相关性。接下来,对协方差矩阵执行逐行归一化。归一化协方差矩阵中的每个(i,j)明确地将通道i与通道j相关联。

在激励模块中,GSoP块执行逐点卷积以保持结构信息并输出向量。然后利用全连接层和sigmoid函数得到c维注意向量。最后,它将输入特征乘以注意向量,就像在SE块中一样。GSoP块可以表示为:

Conv(·)表示减少通道数,Cov(·)计算协方差矩阵,RC(·)表示逐点卷积。 通过使用二阶池,GSoP块提高了通过SE块收集全局信息的能力。然而,这是以额外计算为代价的。因此,通常在几个残差块之后添加单个GSoP块。

(3)、SRM

在transfer成功的推动下,Lee等人提出了基于轻量级风格的再校准模块(SRM)。SRM将风格转换与注意力机制结合起来。它的主要贡献是style pooling,它利用输入特征的均值和标准差来提高捕获全局信息的能力。为了降低计算层(CFC)的完全连接要求,在全连接的地方也采用了CFC。

给定一个输入特征映射 X ∈ R C × H × W X∈ R^{C×H×W} XRC×H×W,SRM首先通过结合全局平均池和全局标准差池化的风格式池化(SP(·))收集全局信息。然后使用通道全连接(CFC(·))层(即每个通道全连接)、批量归一化BN和sigmoid函数σ来提供注意力向量。最后,与SE块一样,输入特征乘以注意力向量。总的来说,SRM可以写成:

SRM模块改进了挤压和激励模块,但可以像SE模块一样添加到每个残差单元之后。

(4)、GCT

由于激励模块中全连接层的计算需求和参数数量,在每个卷积层之后使用SE块是不切实际的。此外,使用全连接的层来建模通道关系是一个隐式过程。为了克服上述问题,Yang等人提出了门控通道转换(GCT),以有效地收集信息,同时显式地建模通道关系。

与以前的方法不同,GCT首先通过计算每个通道的l2范数来收集全局信息。接下来,应用可学习向量α来缩放特征。然后通过通道规范化引入竞争机制,实现通道之间的互动。与其他常见的归一化方法一样,可学习的尺度参数γ和偏差β用于重新缩放归一化。然而,与之前的注意力向量激活方法不同,tanh采用的是注意力向量激活方法。最后,它不仅增加了输入注意向量,但也增加了身份映射。GCT可以写成:

其中α、β和γ是可训练参数。Norm(·)表示每个通道的L2范数。CN是通道规范化。 GCT块的参数比SE块少,而且由于它很轻,可以添加到CNN的每个卷积层之后。

(5)、ECANet

为了避免高模型复杂度,SENet减少了通道的数量。然而,这种策略无法直接建模权重向量和输入之间的对应关系,从而降低了结果的质量。为了克服这一缺点,Wang等人提出了高效通道注意(ECA)块,该块使用一维卷积来确定通道之间的相互作用,而不是降维。

ECA块具有与SE块类似的公式,包括用于聚合全局空间信息的挤压模块和用于建模跨通道交互的有效激励模块。ECA块只考虑每个通道与其k近邻之间的直接交互,而不是间接对应,以控制模型复杂性。总体而言,ECA区块的公式如下:

Conv1D(·)表示1维卷积,在通道域中具有形状为k的核,以模拟局部交叉通道交互。参数k决定交互的覆盖范围,在ECA中,内核大小k通过通道维度C自适应确定,而不是通过手动调整,使用交叉验证:

其中γ和b是超参数 ∣ x ∣ o d d |x |_{odd} xodd表示x的最近奇数函数。
与SENet相比,ECANet有一个改进的激励模块,并提供了一个高效、有效的模块,可以很容易地集成到各种CNN中。

(6)、FcaNet

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

给定一个输入特征映射 X ∈ R C × H × W X∈ R^{C×H×W} XRC×H×W,多光谱通道注意力首先将X分成许多部分 x i ∈ R C 0 × H × W x^i∈ R^{C_0×H×W} xiRC0×H×W。然后对每个部分应用2D DCT。请注意,2D DCT可以使用预处理结果来减少计算量。处理后,所有结果都被连接到一个向量中。最后,使用全连接层、ReLU激活和sigmoid来获得SE块中的注意向量。这可以表述为:

其中Group(·)表示将输入分成多个组,DCT(·)表示二维离散余弦变换。 这项基于信息压缩和离散余弦变换的工作在分类任务上取得了优异的性能。

(7)、EncNet

受SENet的启发,Zhang等人提出了上下文编码模块(CEM),该模块结合了语义编码损失(SE损失),以建模场景上下文和对象类别概率之间的关系,从而利用全局场景上下文信息进行语义分割。
在训练阶段,给定一个输入特征映射 X ∈ R C × H × W X ∈ R^{C×H×W} XRC×H×W,CEM首先学习K个聚类中心D={ d 1 , … , d K d_1,…,d_K d1dK}和一组平滑因子 S = { s 1 , … , s K } S=\{s_1,…,s_K\} S={ s1sK}。接下来,它使用软分配权重对输入中的局部描述符和相应的聚类中心之间的差异进行求和,以获得置换不变描述符。然后,为了提高计算效率,它将聚合应用于K个簇中心的描述符,而不是级联。形式上,CEM可以写成:

d k ∈ R C d_k ∈ R^C dkRC s k ∈ R s_k∈ R skR是可学习的参数。φ表示使用ReLU激活函数的批量标准化。除了按通道缩放向量外,紧凑的上下文描述符e还用于计算SE损失,以正则化训练,从而改进小对象的分割。

(8)、Bilinear Attention

继GSoP Net之后,Fang等人提出,以前的注意力模型只使用一阶信息,而忽略了高阶统计信息。因此,他们提出了一种新的双线性注意块(bi attention block,bi attention)来捕获每个通道内的局部成对特征交互,同时保留空间信息。双注意力利用注意中的注意(AiA)机制捕获二阶统计信息:外部逐点通道注意向量由内部通道注意的输出计算。给定输入特征映射X,bi attention首先使用双线性池来捕获二阶信息。

其中φ表示用于降维的嵌入函数, φ ( x ) T φ(x)^T φ(x)T是φ(x)在通道域上的转置,Utri(·)提取矩阵的上三角元素,vec(·)是矢量化。然后,双注意将内通道注意力机制应用于特征映射。

这里ω和ν是嵌入函数。最后,使用输出特征映射 x x x计算外部逐点注意机制的空间通道注意权重:
双注意块使用双线性池来模拟沿每个通道的局部成对特征交互,同时保留空间信息。与其他基于注意的模型相比,该模型更关注高阶统计信息。双注意可以整合到任何CNN主干中,以提高其代表性,同时抑制噪音。

至此,通道注意力的代表之作已经分享结束,下图是上文介绍的注意力机制的相关结构。

上图是按类别和出版日期排序的代表性通道注意机制。他们的主要目标是强调重要通道和获取全局信息。应用领域包括:Cls=分类,Det=检测,SSeg=语义分割,ISeg=实例分割,ST=风格转换,Action=动作识别。g(x)和f(g(x),x)是由等式1描述的注意过程。范围是指注意力特征图的范围。S或H表示软注意或硬注意。(A) 通道方面的模型。(I) 强调重要中道,(II)获取全局信息。
至此结束,肝部动了,下一篇博客见!

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章