通过构建全局嵌入式注意力残差网络对图像分类的方法

文档序号:25860224发布日期:2021-07-13 16:15阅读:156来源:国知局
通过构建全局嵌入式注意力残差网络对图像分类的方法

本公开涉及一种图像分类方法,具体涉及一种通过构建全局嵌入式注意力残差网络对图像分类的方法。



背景技术:

图像分类是计算机视觉领域的一个重要任务。目前,许多学者均利用加入注意力机制的方法进行网络结构的改善,从而能够更好地进行图像分类。最为经典的挤压和激励网络一直被人认为是注意力机制的里程碑,该方法通过挤压和激励两步操作,它首先使用全局平均池化将全局特征挤压进通道特征中,接着使用一个简单的门机制并使用sigmoid函数激励,最后将对应通道乘积。该方法能在2d全局池的帮助下通过显示地建模通道间的相互依赖关系,自适应地重新校准通道式的特征响应,以相当低的计算成本提供了显著的性能提高。然而它只考虑了通道间信息的编码,而忽略了位置信息的重要性,而位置信息对于在计算机视觉任务中捕获对象结构是至关重要的。此外,后来的学者通过尝试将空间注意力信息与通道注意力信息相结合,但是仅仅利用局部空间的位置信息带来的收益并不高,因此我们需要在神经网络中加入全局位置信息的同时,保证通道的局部位置信息也能够被高效利用。



技术实现要素:

针对现有技术中的不足,本公开的目的在于提供一种通过构建全局嵌入式注意力残差网络对图像分类的方法,通过利用全局位置信息并嵌入通道信息中,有效提取图像特征,从而提高图像的分类能力。

为实现上述目的,本公开提供以下技术方案:

一种通过构建全局嵌入式注意力残差网络对图像分类的方法,包括如下步骤:

s100:将待分类的图像数据进行预处理;

s200:构建含有全局嵌入式注意力模块的全局嵌入式注意力残差网络,所述全局嵌入式注意力残差网络包括1个输入层、1个卷积核大小为7×7的卷积层、1个最大池化层、全局嵌入式注意力模块、2个全连接层和1个输出层,其中,所述全局嵌入式注意力模块包括基于全局上下文的空间注意力子模块和基于坐标的通道注意力子模块;

s300:将预处理后的待分类图像数据输入全局嵌入式注意力残差网络进行分类。

优选的,在完成全局嵌入式注意力残差网络构建后,需要选取训练样本并进行预处理以对该网络进行网络训练,需要选取验证样本并进行预处理以对训练后的网络的参数进行调整,需要选取测试样本对训练后的网络进行性能测试。

优选的,步骤s200中,所述基于全局上下文的空间注意力子模块包括:

第一子单元,用于将预处理后的训练样本、验证样本和测试样本输入卷积层和池化层处理后进行全局平均池化操作,以获得包含全局信息的特征矩阵;

第二子单元,用于采用卷积核大小为1×1的卷积和reshape函数对包含全局信息的特征矩阵进行线性变换,以获得经过维度变换处理的特征矩阵;

第三子单元,用于使用softmax函数对经过维度变换处理的特征矩阵进行自适应选择,获得该特征矩阵上每个不同元素的对应权重,将每个不同元素的对应权重与包含全局信息的特征矩阵相乘,以获得包含全局上下文特征信息的特征矩阵;

第四子单元,用于对包含全局上下文特征信息的特征矩阵利用批归一化和relu激活函数进行非线性变换及利用1×1的卷积进行维度变换。

优选的,所述基于全局上下文的空间注意力子模块表示为:

其中,x表示为全局平均池化的输出,y表示全局上下文特征的输出,h和w分别表示输入图像的高度和宽度,x表示输入图像,k表示1×1卷积,relu表示relu激活函数,bn表示批归一化函数,n表示特征矩阵中元素的数量,e表示自然对数函数的底数,i、j、m分别表示特征矩阵中所有元素可能的位置,xj、xm分别表示特征矩阵中元素信息的值,t表示x矩阵的权重,txj和txm表示经过全局平均池化操作后的特征矩阵进行计算处理得到的输出值。

优选的,步骤s200中,所述基于坐标的通道注意力子模块包括:

第五子单元,用于对完成非线性变换及维度变换后的包含全局上下文特征信息的特征矩阵分别沿w’和h’方向采用平均池化进行分解,获得沿w’方向的一维特征矩阵和沿h’方向的一维特征矩阵,其中,沿w’方向的一维特征矩阵包含通道的局部位置信息,沿h’方向的一维特征矩阵包含长期依赖信息;

第六子单元,用于将沿w’方向的一维特征矩阵和沿h’方向的一维特征矩阵进行级联并用1×1的卷积进行特征变换,获得经过维度变换的特征矩阵;

第七子单元,用于利用softmax函数对经过维度变换的特征矩阵进行权重分配获得具有不同权重的特征矩阵,对具有不同权重的特征矩阵分别利用1×1的卷积进行特征变换,获得全局嵌入式注意力模块的输出。

优选的,对完成非线性变换及维度变换后的包含全局上下文特征信息的特征矩阵分别沿w’和h’方向采用平均池化进行分解,获得的沿w’方向的一维特征矩阵和沿h’方向的一维特征矩阵分别表示为:

其中,h’和w’表示全局上下文的空间注意力子模块输出图像的高度和宽度,zh和zw分别表示沿h’方向和沿着w’方向的一维特征矩阵,i和j分别表示第i行的h’和第j行的w’。

优选的,所述将沿w’方向的一维特征矩阵和沿h’方向的一维特征矩阵进行级联通过以下方式进行:

g=k(zw+zh)

其中,g表示级联操作的输出,k表示1×1的卷积。

优选的,所述全局嵌入式注意力模块的输出表示为:

z=x(i,j)×ac+x(i,j)×bc

其中,a和b表示随机数,ac和bc表示初始值,ac和bc表示具有不同权重的特征矩阵所对应的权重,e表示自然对数,gh和gw是由步骤s306中的经过维度变换的特征矩阵经过relu激活函数处理后,再沿着空间维度切分为两个矩阵而得,步骤s306中经过维度变换的特征矩阵维度为rc×(w+h),经过切分的gh和gw特征矩阵维度分别为rc×h和rc×w

优选的,对待分类的图像数据以及对训练样本、验证样本和测试样本按照以下步骤进行预处理:

s201:对待分类的图像数据以及训练样本、验证样本和测试样本中的图像数据进行水平和垂直翻转;

s202:对翻转后的图像数据沿顺时针或逆时针旋转;

s203:对旋转后的图像数据进行缩放;

s204:对缩放后的图像数据进行减均值处理。

优选的,步骤s204中,对缩放后的图像数据进行减均值处理通过下式进行:

其中,z为减均值处理后的图像,vi为n个图像中的第i个图像的像素矩阵,n为100000整数个图像。

与现有技术相比,本公开带来的有益效果为:

本公开提出全局位置信息嵌入通道信息的方法来构建全局嵌入式注意力残差网络,通过有效的数据预处理,大大减轻了内存负担,与现有方法相比,能够减少深度神经网络的模型参数,充分利用了上下文信息并将其嵌入通道信息中,实现了全局特征建模,提升了分类效果,解决了已有网络分类准确率低和难以结合位置信息和通道信息的问题,适用于人脸图像、医学图像等图像的分类。

附图说明

图1是本公开一个实施例提供的一种通过构建全局嵌入式注意力残差网络对图像分类的方法流程图;

图2是本公开另一个实施例提供的全局嵌入式注意力残差网络的结构示意图;

图3(a)、图3(b)、图3(c)、图3(d)是本公开另一个实施例提供的全局嵌入式注意力残差网络与现有分类方法的对比示意图。

具体实施方式

下面将参照附图1至图3(d)详细地描述本公开的具体实施例。虽然附图中显示了本公开的具体实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

需要说明的是,在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可以理解,技术人员可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名词的差异作为区分组件的方式,而是以组件在功能上的差异作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”或“包括”为一开放式用语,故应解释成“包含但不限定于”。说明书后续描述为实施本发明的较佳实施方式,然所述描述乃以说明书的一般原则为目的,并非用以限定本发明的范围。本公开的保护范围当视所附权利要求所界定者为准。

为便于对本公开实施例的理解,下面将结合附图以具体实施例为例做进一步的解释说明,且各个附图并不构成对本公开实施例的限定。

一个实施例中,如图1所示,一种基于全局嵌入式注意力残差网络的图像分类方法,包括如下步骤:

s100:将待分类的图像数据进行预处理;

s200:构建含有全局嵌入式注意力模块的全局嵌入式注意力残差网络,所述全局嵌入式注意力残差网络包括1个输入层、1个卷积核大小为7×7的卷积层、1个最大池化层、全局嵌入式注意力模块、2个全连接层和1个输出层,其中,所述全局嵌入式注意力模块包括基于全局上下文的空间注意力子模块和基于坐标的通道注意力子模块;

s300:将预处理后的待分类图像数据输入全局嵌入式注意力残差网络进行分类。

本实施例通过有效的数据预处理,大大减轻了内存负担,与现有方法相比,能够减少深度神经网络的模型参数,充分利用了上下文信息并将其嵌入通道信息中,实现了全局特征建模,提升了分类效果,解决了已有网络分类准确率低和难以结合位置信息和通道信息的问题。

另一个实施例中,在完成全局嵌入式注意力残差网络构建后,需要选取训练样本并进行预处理以对该网络进行网络训练,需要选取验证样本并进行预处理以对训练后的网络的参数进行调整,需要选取测试样本对训练后的网络进行性能测试。

本实施例中,首先从包括coco、imagenet和adni在内的任一图像数据集中选取若干图像数据,将所选取的图像数据整理为不同的图像数据子集并分别作为训练样本、验证样本和测试样本,然后对所选取的训练样本、验证样本和测试样本进行预处理,最后,将预处理后的训练样本输入所述全局嵌入式注意力残差网络中进行网络训练,网络训练完成后,将预处理后的验证样本输入训练好的网络对网络参数进行调整,将预处理后的测试样本输入训练好的网络对网络性能进行测试,实现图像分类。

本实施例通过有效的数据预处理,大大减轻了内存负担,与现有方法相比,能够减少深度神经网络的模型参数,充分利用了上下文信息并将其嵌入通道信息中,实现了全局特征建模,提升了分类效果,解决了已有网络分类准确率低和难以结合位置信息和通道信息的问题。

另一个实施例中,步骤s200中,所述基于全局上下文的空间注意力子模块包括:

第一子单元,用于将预处理后的训练样本、验证样本和测试样本输入卷积层和池化层处理后进行全局平均池化操作,以获得包含全局信息的特征矩阵;

第二子单元,通过采用卷积核大小为1×1的卷积和reshape函数对包含全局信息的特征矩阵进行线性变换,以获得经过维度变换处理的特征矩阵;

第三子单元,通过使用softmax函数对经过维度变换处理的特征矩阵进行自适应选择,获得该特征矩阵上每个不同元素的对应权重,将每个不同元素的对应权重与包含全局信息的特征矩阵相乘,以获得包含全局上下文特征信息的特征矩阵;

第四子单元,用于对包含全局上下文特征信息的特征矩阵利用批归一化和relu激活函数进行非线性变换及利用1×1的卷积进行维度变换。

另一个实施例中,所述基于全局上下文的空间注意力子模块表示为:

其中,x表示为全局平均池化的输出,y表示全局上下文特征的输出,h和w分别表示输入图像的高度和宽度,x表示输入图像,k表示1×1卷积,relu表示relu激活函数,bn表示批归一化函数,n表示特征矩阵中元素的数量,e表示自然对数函数的底数,i、j、m分别表示特征矩阵中所有元素可能的位置,xj、xm分别表示特征矩阵中元素信息的值,t表示x矩阵的权重,txj和txm表示经过全局平均池化操作后的特征矩阵进行计算处理得到的输出值。

另一个实施例中,步骤s200中,所述基于坐标的通道注意力子模块包括:

第五子单元,用于对完成非线性变换及维度变换后的包含全局上下文特征信息的特征矩阵分别沿w’和h’方向采用平均池化进行分解,获得沿w’方向的一维特征矩阵和沿h’方向的一维特征矩阵,其中,沿w’方向的一维特征矩阵包含通道的局部位置信息,沿h’方向的一维特征矩阵包含长期依赖信息;

第六子单元,用于将沿w’方向的一维特征矩阵和沿h’方向的一维特征矩阵进行级联并用1×1的卷积进行特征变换,获得经过维度变换的特征矩阵;

第七子单元,通过利用softmax函数对经过维度变换的特征矩阵进行权重分配获得具有不同权重的特征矩阵,对具有不同权重的特征矩阵分别利用1×1的卷积进行特征变换,获得全局嵌入式注意力模块的输出。

另一个实施例中,对完成非线性变换及维度变换后的包含全局上下文特征信息的特征矩阵分别沿w’和h’方向采用平均池化进行分解,获得的沿w’方向的一维特征矩阵和沿h’方向的一维特征矩阵分别表示为:

其中,h’和w’表示全局上下文的空间注意力子模块输出图像的高度和宽度,zh和zw分别表示沿h’方向和沿着w’方向的一维特征矩阵,i和j分别表示第i行的h’和第j行的w’。

另一个实施例中,所述将沿w’方向的一维特征矩阵和沿h’方向的一维特征矩阵进行级联通过以下方式进行:

g=k(zw+zh)

其中,g表示级联操作的输出,k表示1×1的卷积。

另一个实施例中,所述全局嵌入式注意力模块的输出表示为:

z=x(i,j)×ac+x(i,j)×bc

其中,a和b表示随机数,ac和bc表示初始值,ac和bc表示具有不同权重的特征矩阵所对应的权重,e表示自然对数,gh和gw是由步骤s306中的经过维度变换的特征矩阵经过relu激活函数处理后,再沿着空间维度切分为两个矩阵而得,步骤s306中经过维度变换的特征矩阵维度为rc×(w+h),经过切分的gh和gw特征矩阵维度分别为rc×h和rc×w

另一个实施例中,对待分类的图像数据以及对训练样本、验证样本和测试样本按照以下步骤进行预处理:

s201:对待分类的图像数据以及训练样本、验证样本和测试样本中的图像数据进行水平和垂直翻转;

s202:对翻转后的图像数据沿顺时针或逆时针旋转;

该步骤中,

s203:对旋转后的图像数据进行缩放;

s204:对缩放后的图像数据进行减均值处理。

该步骤中,对缩放后的图像数据进行减均值处理通过下式进行:

其中,z为减均值处理后的图像,vi为n个图像中的第i个图像的像素矩阵,n为100000整数个图像。

另一个实施例中,将预处理后的训练样本输入所述全局嵌入式注意力残差网络中对其进行训练通过以下方式进行:

s501:通过前向传播的方式对预处理后的训练样本进行线性和非线性运算;

s502:通过反向传播的方式对经过线性和非线性运算的训练样本进行链式求导,按照预先设置的学习率更新网络的权重信息直至达到最大迭代次数。

本实施例中,通过前向传播的方式,通过输入层、卷积层、最大池化层、全局嵌入式注意力模块、全连接层和输出层对训练样本依次进行处理,再通过反向传播的形式进行链式求导,从输出层依次经过全连接层、全局嵌入式注意力模块、最大池化层、卷积层和输入层并按照预先设置的学习率a(a=0.01且a随着网络层数的增加逐渐减小,每增加20次迭代,a=a/5)来更新网络的权重信息,不断往复直到最大迭代次数。

下面,结合具体实施例对本公开所述方法作进一步说明。

具体实施例1:

1、从imagenet图像分类数据集中分别选取100000张样本图像作为训练样本,10000张样本图像作为验证样本以及30000张样本图像作为测试样本,且训练样本与测试样本中的图像不重叠。

2、训练样本中的100000张图像进行预处理,包括:

a、对图像进行水平翻转和垂直翻转;

b、对翻转后的图像沿顺时针或逆时针方向旋转20度;

c、对旋转后的图像进行缩放,得到大小为224×224的训练样本图像;

d、通过公式(1)对训练样本图像进行减均值处理,公式(1)表示为:

其中,z为减均值处理后的图像,vi为n个图像中的第i个图像的像素矩阵,n为100000整数个图像。

验证样本和测试样本中的图像的预处理步骤与上述步骤相同,此处不再赘述。

3、构建含有全局嵌入式注意力模块的全局嵌入式注意力残差网络,如图2所示,所述全局嵌入式注意力残差网络包括1个输入层、1个卷积核大小为7×7的卷积层、1个最大池化层、全局嵌入式注意力模块、2个全连接层和1个输出层,其中,所述全局嵌入式注意力模块包括基于全局上下文的空间注意力子模块和基于坐标的通道注意力子模块;

其中,所述基于全局上下文的空间注意力子模块包括:

第一子单元,用于将预处理后的训练样本、验证样本和测试样本输入卷积层和池化层处理后进行全局平均池化操作,以获得包含全局信息的特征矩阵;

第二子单元,通过采用卷积核大小为1×1的卷积和reshape函数对包含全局信息的特征矩阵进行线性变换,以获得经过维度变换处理的特征矩阵;

第三子单元,通过使用softmax函数对经过维度变换处理的特征矩阵进行自适应选择,获得该特征矩阵上每个不同元素的对应权重,将每个不同元素的对应权重与包含全局信息的特征矩阵相乘,以获得包含全局上下文特征信息的特征矩阵;

第四子单元,用于对包含全局上下文特征信息的特征矩阵利用批归一化和relu激活函数进行非线性变换及利用1×1的卷积进行维度变换。

其中,第一子单元通过公式(2)实现,公式(2)表示为:

第二子单元至第四子单元通过公式(3)实现,公式(3)表示为:

其中,x表示为全局平均池化的输出,y表示全局上下文特征的输出,h和w分别表示输入图像的高度和宽度,x表示输入图像,k表示1×1卷积,relu表示relu激活函数,bn表示批归一化函数,n表示特征矩阵中元素的数量,e表示自然对数函数的底数,i、j、m分别表示特征矩阵中所有元素可能的位置,xj、xm分别表示特征矩阵中元素信息的值,t表示x矩阵的权重,txj和txm表示经过全局平均池化操作后的特征矩阵进行计算处理得到的输出值。

所述基于坐标的通道注意力子模块包括:

第五子单元,用于对完成非线性变换及维度变换后的包含全局上下文特征信息的特征矩阵分别沿w’和h’方向采用平均池化进行分解,获得沿w’方向的一维特征矩阵和沿h’方向的一维特征矩阵,其中,沿w’方向的一维特征矩阵包含通道的局部位置信息,沿h’方向的一维特征矩阵包含长期依赖信息;

第六子单元,用于将沿w’方向的一维特征矩阵和沿h’方向的一维特征矩阵进行级联并用1×1的卷积进行特征变换,获得经过维度变换的特征矩阵;

第七子单元,通过利用softmax函数对经过维度变换的特征矩阵进行权重分配获得具有不同权重的特征矩阵,对具有不同权重的特征矩阵分别利用1×1的卷积进行特征变换,获得全局嵌入式注意力模块的输出。

其中,第五子单元通过公式(4)和(5)实现,公式(4)和(5)分别表示为:

第六子单元通过公式(6)实现,公式(6)表示为:

g=k(zw+zh)(6)

第七子单元通过公式(7)-(9)实现,公式(7)-(9)分别表示为:

z=x(i,j)×ac+x(i,j)×bc(9)

其中,h’和w’表示全局上下文的空间注意力子模块输出图像的高度和宽度,zh和zw分别表示沿h’方向和沿着w’方向的一维特征矩阵,i和j分别表示第i行的h’和第j行的w’,g表示级联操作的输出,k表示1×1的卷积,a和b表示随机数,ac和bc表示初始值,ac和bc表示具有不同权重的特征矩阵所对应的权重,e表示自然对数,gh和gw是由步骤s306中的经过维度变换的特征矩阵经过relu激活函数处理后,再沿着空间维度切分为两个矩阵而得,步骤s306中经过维度变换的特征矩阵维度为rc×(w+h),经过切分的gh和gw特征矩阵维度分别为rc×h和rc×w

需要说明的是,全局嵌入式注意力模块为16个,每个全局嵌入式注意力模块均对应嵌入残差结构中,全局嵌入式注意力机制以外的卷积层可以有选择的进行批量归一化函数和激励函数进行非线性变换,输出层使用全连接层和softmax函数输出每个输入图像所属类别的概率,概率最大类别作为预测的类别。

需要进一步说明的是,之所以选择16个全局嵌入式注意力模块,是因为该注意力模块可嵌入多个网络,例如resnet,本公开就是基于resnet50结构来进行说明,而resnet50的结构为(3,4,6,3)共16块残差块,因此本公开选取16个全局嵌入式注意力模块。

4、将预处理后的包含100000张图像的训练样本输入所述全局嵌入式注意力残差网络中对其进行训练,经过前向传播和反向传播两个步骤反复循环更新网络的权重,直至达到最大迭代次数70~120次,训练过程结束,获得训练好的残差网络模型。将预处理后的包含100000张图像的验证样本和包含30000张图像的测试样本输入训练好的网络中进行验证和测试,实现图像分类。

使用测试样本进行测试,并与现有的包括ca注意力机制,se注意力,bam注意力和cbam注意力机制在内的分类方法分别在coco和imagenet数据集上对比了top-1准确率、top-5准确率,结果如表1和表2所示:

表1

表2

由表1可知,加入了全局嵌入式注意力模块的全局嵌入式注意力残差网络无论是coco还是imagenet数据集均有着不错的表现,以resnet-50为基准,在coco数据集上,top-1acc最高可达75.9,top-5acc最高可达86.6,在imagenet数据集上,top-1acc和top-5acc分别为75.8和83.1,对比与其他模型有着一定的提升。

由表2可知,若使用resnet-101,则top-1acc和top-5acc还会有一定的提升,表明本公开所述方法有着较好的泛化性能,能够较好地进行图像分类。

具体实施例2:

从adni数据集选取327个结构磁共振图像数据,包括119个轻度认知障碍患者脑部mri、101个阿尔茨海默病患者脑部mri和107个正常人脑部mri。按照7:3的比例划分为训练样本数据和测试样本数据,对训练样本数据使用10折交叉验证的方法进行训练和验证,具体为:将训练样本数据分为10份,假设编号为0~9,其中0~8,共9份作为训练集,编号9作为验证集,训练、验证结束后,将编号8作为验证集,其余作为测试集,再进行训练、验证,以此类推,共进行10次。最后使用测试样本进行测试,并与现有的包括ca注意力机制,se注意力,bam注意力和cbam注意力机制在内的分类方法在adni数据集上对比准确率,召回率和查准率,对比结果如表3和表4所示:

表3

表4

由表3和表4可知,加入了全局嵌入式注意力模块的全局嵌入式注意力残差网络在resnet-50为基础模型时准确率高达88.5,在resnet-101为基础模型时,准确率高达90.5,相比于现有的模型方法,本公开所述方法更优,而且即使应用于高维度图像,本公开所述方法依旧具有最佳的图像分类性能,泛化性能高。

为进一步验证本公开所述方法的技术效果,本公开将所述方法应用于三个数据集,并选取了部分测试的结果进行可视化显示。如图3(a)至图3(d)所示,其中,图3(a)为无注意力机制,图3(b)为se注意力机制,图3(c)为ca注意力机制,图3(d)为gea注意力机制(即全局嵌入式注意力残差网络)。可以从结果看出,我们提出的gea机制更能约束网络,使得网络能够更加于集中图像较为突出的特征,而不是关注整幅图像,使网络能更加突出感兴趣区域,更能找出图像最为突出的特征,这样能够大大提升网络对图像的分类准确率。

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1