一种基于注意力机制的图像分类方法
技术领域
本发明涉及图像数据处理领域,尤其涉及一种基于注意力机制的图像分类方法。
背景技术
本发明设计了一种基于卷积神经网络的图像分类方法,并在卷积神经网络中嵌入了一种新型的注意力机制。其中卷积神经网络的骨干部分用残差网络实现,注意力机制则包括通道注意力和空间注意力,因此相关的
背景技术
主要有3项:残差网络;通道注意力机制;空间注意力机制。残差网络是一种以短路连接为特点的神经网络,短路连接指的是在神经网络中将不同深度的层的输出相加作为后续层的输入,这种连接方式一方面可以使网络更容易拟合复杂的函数,另一方面可以实现恒等映射,保证网络在深度加深的时候性能不会退化,从而可以训练更深的网络结构。由于残差网络具有良好的特征提取能力,许多与深度学习相关的任务,如目标检测、图像分类、视频理解等都将其作为特征提取的骨干网络。本发明中使用的残差网络是ResNet。
卷积神经网络每一层输出的特征图都包含多个通道,每个通道都会捕捉到输入图像中的一种视觉特征。对于包括图像分类在内的许多深度学习任务而言,输入图像中不同的视觉特征对分类任务的贡献大小不同。如果卷积神经网络能对重要的特征给予更多的关注度,就可以用有限的网络容量处理更复杂的学习任务。通道注意力机制便是通过对特征图不同通道赋予不同的权重,从而实现对不同视觉特征给予不同的关注度。主流的通道注意力机制一般是通过计算每个通道的全局信息,再基于全局信息对各通道的重要性进行建模,然后根据不同通道的重要性计算不同通道的权重,最后对不同通道进行加权,实现突出重要特征,抑制无关特征的目的。
卷积神经网络每一层输出的特征图都蕴含着一定的空间信息,特征图上的每个“像素”都对应着输入图像中的一块区域。当输入图像中某个区域出现某种视觉特征时,特征图中对应通道的对应“像素”会出现较大的激活值。因此特征图的不同空间位置可以反映输入图像不同空间位置上的特征。与通道注意力机制类似,输入图像中不同空间位置上的特征对于学习任务的重要程度不同,如果卷积神经网络能对图像中重要的区域给予更多的关注度,就可以用有限的网络容量处理更复杂的学习任务。空间注意力机制便是通过对特征图不同空间位置赋予不同的权重,从而实现对输入图像中不同区域给予不同的关注度。主流的空间注意力机制一般会先对特征图每个空间位置都计算其在通道维度上的全局信息,然后使用一个额外添加的卷积层来产生空间注意力分布图,该分布图每个像素都代表一个空间位置上的权重,最后利用空间注意力分布图对特征图不同空间位置进行加权,便可以实现突出图像中的重要区域的特征,弱化图像中的无关区域的特征的目的。
目前已经有许多图像分类方法通过将通道注意力机制和空间注意力机制嵌入神经网络来提升模型的分类效果。在现有的通道注意力机制中,提取全局信息常用的方法是全局平均池化或全局最大池化,但这两种方法都存在信息的丢失,无法充分提取一个通道的全局信息,导致通道注意力机制的权重分配方案并不是最优的,限制了卷积神经网络所提取特征的表达能力。
在现有的空间注意力机制中,常用普通的卷积层计算空间注意力分布,但受限于卷积核的大小,无法提取空间维度上的全局信息,导致空间注意力机制的权重分配方案不是全局最优的,同样会限制卷积神经网络所提取的特征的表达能力。
发明内容
本发明的目的在于提供一种基于注意力机制的图像分类方法,分别为通道注意力机制和空间注意力机制设计了更好的全局信息表示方法,并将两种注意力机制同时嵌入ResNet,提升了ResNet的图像分类效果,同时通过优化注意力机制的嵌入方式,平衡了网络分类效果的提升和计算量的增加。
为实现上述目的,本发明提供了一种基于注意力机制的图像分类方法,包括:基于离散余弦变换对特征图每个通道进行频率分解,得到多个频率分量,用多个所述频率分量联合表示通道全局信息;
基于通道全局信息计算通道注意力权重信息,对特征图各通道基于权重信息加权得到通道注意力机制;
基于自注意力机制计算特征图每个像素的空间注意力权重,再对特征图各空间像素加权求和,以得到空间注意力机制;
将通道注意力机制和空间注意力机制嵌入到ResNet,得到图像分类卷积神经网络,并对所述图像分类卷积神经网络进行训练。
其中,所述基于离散余弦变换对特征图每个通道进行频率分解,得到多个频率分量,用多个所述频率分量联合表示通道全局的具体步骤是:
对特征图的每个通道计算二维离散余弦变换,得到多个频率分量;
选择3个频率分量拼接成向量。
其中,所述基于通道全局信息计算通道注意力权重信息,对特征图各通道基于权重信息加权得到通道注意力机制的具体步骤是:
用一维卷积对所述向量进行降维;
对一维卷积得到的向量使用全连接层再进行一次降维;
将全连接层降维后的向量经过非线性激活函数处理;
将非线性激活函数输出的向量再经过一层全连接层升维成与特征图通道数相同的维数并使用sigmoid函数归一化,得到通道注意力分布;
根据通道注意力分布对特征图进行加权,得到通道注意力模块的输出。
其中,所述基于自注意力机制计算特征图每个像素的空间注意力权重,再对特征图各空间像素加权求和,以得到空间注意力机制的具体步骤是:
对特征图的每个像素计算query、key和value三个向量;
遍历输入特征图的每个像素,计算每个query向量与输入特征图所有像素的key向量之间的相关性,得到相关性分布图;
基于相关性分布图对输入特征图所有像素的value向量进行加权求和,得到输出特征图中对应位置处的像素值。
其中,所述query是查询向量,代表与学习任务相关的信息,所述key是键向量,代表像素本身的属性,所述value是值向量,代表像素的特征表示。
其中,所述将通道注意力机制和空间注意力机制嵌入到ResNet,得到图像分类卷积神经网络,并对所述图像分类卷积神经网络进行训练的具体步骤是:
将通道注意力嵌入到网络的浅层结构块组:conv2_x,conv3_x,conv4_x,将空间注意力嵌入到网络的深层结构块组:conv5_x;
通道注意力接在残差块的卷积模块后面,而空间注意力则替换残差块的卷积模块中的3×3卷积层,得到图像分类卷积神经网络;
对所述图像分类卷积神经网络进行训练。
本发明的一种基于注意力机制的图像分类方法,包括:基于离散余弦变换对特征图每个通道进行频率分解,得到多个频率分量,用多个所述频率分量联合表示通道全局信息;基于通道全局信息计算通道注意力权重信息,对特征图各通道基于权重信息加权得到通道注意力机制;基于自注意力机制计算特征图每个像素的空间注意力权重,再对特征图各空间像素加权求和,以得到空间注意力机制;将通道注意力机制和空间注意力机制嵌入到ResNet,得到图像分类卷积神经网络,并对所述图像分类卷积神经网络进行训练。
从而具有以下优点:
1、在通道注意力中通过离散余弦变换得到多个频率分量,由于多个频率分量之间具有互补性,将多个频率分量结合可以更好地表示通道的全局信息;
2、在空间注意力中,采用自注意力机制获取特征图空间维度上的全局信息。由于自注意力机制的每个输出神经元都具有全局感受野,可以获得比传统卷积实现的空间注意力更优的空间权重分配。
3、将通道注意力和空间注意力分别嵌入卷积神经网络的浅层和深层,由于网络浅层通道数较少,网络深层空间维度较小,嵌入的两种注意力机制不会额外增加太多的计算量,但可以使网络同时利用两种注意力机制的优势,提升网络的图像分类效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的通道注意力计算方法示意图;
图2是本发明的空间注意力的结构图;
图3是本发明的嵌入注意力模块后的残差块与ResNet原始残差块之间的对比图;
图4是本发明的通道注意力和空间注意力在ResNet中的嵌入位置示意图;
图5是本发明的一种基于注意力机制的图像分类方法的流程图;
图6是本发明的基于离散余弦变换对特征图每个通道进行频率分解,得到多个频率分量,用多个所述频率分量联合表示通道全局信息的流程图;
图7是本发明的基于通道全局信息计算通道注意力权重信息,对特征图各通道基于权重信息加权得到通道注意力机制的流程图;
图8是本发明的基于自注意力机制计算特征图每个像素的空间注意力权重,再对特征图各空间像素加权求和,以得到空间注意力机制的流程图;
图9是本发明的将通道注意力机制和空间注意力机制嵌入到ResNet,得到图像分类卷积神经网络,并对所述图像分类卷积神经网络进行训练的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
请参阅图1~图9,本发明提供一种基于注意力机制的图像分类方法,包括:
S101基于离散余弦变换对特征图每个通道进行频率分解,得到多个频率分量,用多个所述频率分量联合表示通道全局信息;
具体步骤是:
S201对特征图的每个通道计算二维离散余弦变换,得到多个频率分量;
为了计算通道注意力,首先需要获取一个通道内的全局信息,本发明通过对特征图每一通道进行离散余弦变换,再用多个频率分量联合表示一个通道的全局信息。二维离散余弦变换可以写为:
其中F代表特征图,C、W、H分别是特征图的通道数、宽和高,Fk(i,j)是特征图第k个通道中的第i,j个位置,则代表通道Fk的离散余弦变换的频谱中第h,w个分量。
在现有的通道注意力机制中,常用全局平均池化获取一个通道内的全局信息,全局平均池化的定义为:
结合(1)(2)式可知,离散余弦变换的最低频率分量为:
从式(3)可知,离散余弦变换的最低频率分量与全局平均池化结果成正比,这意味着现有的通道注意力机制从特征图每个通道中提取的全局信息只是该通道的最低频分量。
S202选择3个频率分量拼接成向量;
在计算通道注意力时,如果把所有频率分量都考虑进去,理论上将得到最优的结果。但由于离散余弦变换得到的频率分量的数量与原始信号的维度数相同,即对于一个F∈RC×H×W的特征图,得到的频率分量将有C×H×W个,计算所有的频率分量会使得计算复杂度过高,且许多频率分量在信号中占比较小,在计算通道注意力时是可以忽略的。
又由于图像的低频分量对于分类的贡献大于高频分量,因此本发明在计算通道注意力时,每个通道都仅使用离散余弦变换中较低频的分量和通道注意力的计算方法如图1所示。特征图F是注意力模块的输入,特征图A是注意力模块的输出。通道注意力分为全局信息提取和注意力分布计算两个步骤。提取全局信息时,对于特征图的第k个通道,按式(1)计算和三个频率分量,将所有通道的这三个频率分量组成三个向量,记为T0,0、T0,1和T1,0,再将T0,0、T0,1和T1,0拼接起来,得到维度为3×C的输出。
S102基于通道全局信息计算通道注意力权重信息;对特征图各通道基于权重信息加权得到通道注意力机制;
具体步骤是:
S301用一维卷积对所述向量进行降维;
其中一维卷积层的卷积核大小为C,卷积步长也为C,共有C/r1个滤波器。经过一维卷积层可得到维度为的一维向量,其中r1是超参数且r1>1。这一步可以减少通道信息的冗余性。
S302对一维卷积得到的向量使用全连接层再进行一次降维;
用全连接层将所述向量降维成其中r2也是超参数且r2是3的倍数。
S303将全连接层降维后的向量经过非线性激活函数处理;
将上述维度为的向量经过非线性激活函数ReLU进行处理。
S304将非线性激活函数输出的向量再经过一层全连接层升维成与特征图通道数相同的维数并使用sigmoid函数归一化,得到通道注意力分布;
对非线性激活函数输出的向量再经过一层全连接层升维成1×C,并利用sigmoid函数将向量所有的元素归一化到[0,1]之间,归一化后的向量便是通道注意力分布,其中每个元素都代表特征图中一个通道的权重。
S305根据通道注意力分布对特征图进行加权,得到通道注意力模块的输出。
S103基于自注意力机制计算特征图每个像素的空间注意力权重,再对特征图各空间像素加权求和,以得到空间注意力机制;
本发明采用自注意力机制来实现空间注意力机制,具体步骤是:
S401基于自注意力机制对特征图的每个像素计算query、key和value三个向量;
所述query是查询向量,代表与学习任务相关的信息,所述key是键向量,代表像素本身的属性,所述value是值向量,代表像素的特征表示。
假设F是自注意力机制输入的特征图,A是输出的特征图。其中Fj是特征图F的第j个空间位置上的特征向量。为了计算每个特征向量的query、key和value向量,分别将每个特征向量乘以三个矩阵Wθ、Wφ和Wg,如式(5)所示:
其中θ(Fj)、φ(Fj)和g(Fj)分别代表向量Fj的query、key和value向量。Wθ、Wφ和Wg均是可学习的矩阵,在卷积神经网络中用1×1的卷积来实现。
S402遍历输入特征图的每个像素,计算每个像素的query向量与输入特征图所有像素的key向量之间的相关性,得到相关性分布图;
如式(6)所示,对于特征图第i个位置的像素,其相关性分布图记为Mi∈RH×W,则M的第j个位置为:
式(6)中,用exp(θ(Fi)Tφ(Fj))计算特征图中第i个位置的query向量与第j个位置的key向量之间的相关性。则是相关性的归一化系数。
S403基于相关性分布图对输入特征图所有像素的value向量进行加权求和,得到输出特征图中对应位置处的像素值。
如式(7)所示,输出特征图的第i个位置的像素值为:
S105将通道注意力机制和空间注意力机制嵌入到ResNet,得到图像分类卷积神经网络,并对所述图像分类卷积神经网络进行训练.
具体步骤是:
S601将通道注意力嵌入到网络的浅层结构块组:conv2_x,conv3_x,conv4_x,将空间注意力嵌入到网络的深层结构块组:conv5_x;
本发明的注意力机制嵌入ResNet网络的位置如图4所示。conv1是ResNet的第一个卷积层,图中的浅层结构块组指的是ResNet中的conv2_x,conv3_x和conv4_x,而深层结构块组指的是conv5_x,×Ns代表虚线内的结构块重复Ns次,Ns的取值由结构块组的序数和ResNet的深度决定,比如在ResNet50中,conv2_x、conv3_x、conv4_x和conv5_x中的Ns分别取3、4、6和3。
S602通道注意力接在残差块的卷积模块后面,而空间注意力则替换残差块的卷积模块中的3×3卷积层。
本发明的注意力机制嵌入ResNet网络的方式如图3所示。图3展示了ResNet分别嵌入通道注意力、空间注意力后的残差块结构与原始残差块结构之间的对比。其中(a)是原始残差块,(b)是嵌入通道注意力后的残差块,(c)是嵌入空间注意力后的残差块。
S603对上述步骤得到的图像分类卷积神经网络进行训练。
用图像分类中普通的卷积神经网络的训练方法,训练上述嵌入注意力机制后的ResNet,便可以实现一种基于注意力机制的图像分类方法。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。