[0001]技术领域
[0002]本发明涉及神经网络技术领域,尤其涉及一种基于神经网络的图像处理方法、系统、计算机可读存储介质和电子设备。
[0003]背景技术
[0004]近年来,以深度卷积神经网络(CNN)为主的深度学习图像识别技术被广泛应用于图像分类、语义分割和目标检测任务。卷积神经网络通过一系列堆叠的卷积层和池化层对图像特征进行提取和浓缩,进而实现多种识别功能。
[0005]而现有技术中,对空间注意力的计算,是通过串联的方式分别使用全连接层和卷积层对通道注意力和空间注意力建模,其主要是对于空间注意力进行加强建模。由于将每个通道中的特征都做同等处理,忽略了通道间的信息交互;而通道注意力则是将一个通道内的信息直接进行全局处理,容易忽略空间内的信息交互。此外串联方式容易使不同维度的注意力特征相互干扰,影响最终的建模效果。
[0006]发明内容
[0007]针对上述问题,本发明提出基于神经网络的图像处理方法、系统、计算机可读存储介质和电子设备,能够对特征图像进行像素级的通道和空间注意力建模,提高图像识别性能。
[0008]第一方面,提供一种基于神经网络的图像处理方法,包括:
[0009]获取待优化特征图像在空间维度上压缩后的初始张量;
[0010]在第一通路中,基于所述初始张量,卷积提取得到包含通道维度注意力权重因子的第一张量;
[0011]在第二通路中,基于所述初始张量将空间维度变换至通道维度后,卷积提取得到包含空间注意力权重因子的第二张量;
[0012]基于所述第一张量和所述第二张量得到注意力权重矩阵;
[0013]基于所述初始张量和所述注意力权重矩阵,得到特征图像注意力增强后的张量。
[0014]进一步地,所述获取待优化特征图像在空间维度上压缩后的初始张量,包括;
[0015]基于所述待优化特征图像,多尺度分组卷积提取,得到特征增强的处理张量;
[0016]基于所述处理张量,沿所述待优化特征图像宽度方向和高度方向下采样,得到所述初始张量。
[0017]进一步地,所述基于所述待优化特征图像,多尺度分组卷积提取,得到特征增强的处理张量,包括:
[0018]基于所述待优化特征图像的原始张量,沿通道方向进行拆分得到多组拆分张量;
[0019]基于多组所述拆分张量分别采用不同尺寸的卷积核进行卷积,得到多个第一卷积张量;
[0020]基于多个所述第一卷积张量进行连接操作得到所述处理张量。
[0021]进一步地,所述在第一通路中,基于所述初始张量,卷积提取得到包含通道维度注意力权重因子的第一张量,包括:
[0022]基于所述初始张量进行多次卷积得到第一卷积张量;
[0023]基于所述第一卷积张量进行一次卷积得到第二卷积张量,所述第二卷积张量的通道数与所述初始张量的通道数相同;
[0024]基于所述第二卷积张量上采样得到所述第一张量。
[0025]进一步地,在第二通路中,基于所述初始张量将空间维度变换至通道维度后,卷积提取得到包含空间注意力权重因子的第二张量,包括:
[0026]基于所述初始张量进行第一次重塑操作得到第一重塑张量;
[0027]基于所述第一重塑张量进行多次卷积得到第三卷积张量,
[0028]基于所述第三卷积张量进行第二次重塑操作得到第二重塑张量,所述第二重塑张量中的长度、宽度和通道数,分别与所述初始张量的长度、宽度和通道数相同;
[0029]基于所述第二重塑张量进行上采样得到所述第二张量。
[0030]进一步地,所述基于所述第一张量和所述第二张量得到注意力权重矩阵,包括:
[0031]基于所述第一张量和所述第二张量进行通道方向上连接操作,得到连接张量;
[0032]基于所述连接张量进行卷积得到第四卷积张量,所述第四卷积张量的通道数与所述初始张量的通道数相同;
[0033]将所述第四卷积张量代入sigmoid激活函数,得到所述注意力权重矩阵。
[0034]进一步地,基于所述初始张量和所述注意力权重矩阵,得到特征图像注意力增强后的张量,包括:
[0035]基于所述初始张量和所述注意力权重矩阵进行哈达玛积运算,得到所述特征图像注意力增强后的张量。
[0036]第二方面,提供一种基于神经网络的图像处理系统,包括:
[0037]获取模块,用于获取待优化特征图像在空间维度上压缩后的初始张量;
[0038]处理模块,用于在第一通路中,基于所述初始张量,卷积提取得到包含通道维度注意力权重因子的第一张量;
[0039]处理模块,还用在第二通路中,基于所述初始张量将空间维度变换至通道维度后,卷积提取得到包含空间注意力权重因子的第二张量;
[0040]处理模块,还用于基于所述第一张量和所述第二张量得到注意力权重矩阵;
[0041]处理模块,还用于基于所述初始张量和所述注意力权重矩阵,得到特征图像注意力增强后的张量。
[0042]第三方面,提供一种计算机可读存储介质,存储有程序或指令,当所述程序或指令在计算机上运行时,使得所述计算机执行如上述任一方案所述的基于神经网络的图像处理方法。
[0043]第四方面,提供一种电子设备,包括:处理器,所述处理器与存储器耦合,
[0044]所述处理器,用于读取并执行所述存储器中存储的计算机程序,以实现上述任一方案所述的基于神经网络的图像处理方法。
[0045]本申请提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0046]首先对输入的待处理特征图像,通过多尺度分组卷积提取在不同尺度上的特征,为建立特征间的注意力关系模型提供更多信息量;随后将提取的信息输入双通路注意力模块进行特征间的注意力建模。该模块包括两个并联的网络结构,分别对特征图的通道间关系和每通道的图像空间关系两个维度进行注意力计算。通过下采样-注意力关系计算-上采样的设计实现对特征图每一个像素注意力建模的同时降低计算量;最后通过特征融合模块将通道和空间方向的注意力信息进行融合,得到注意力权重矩阵。通过上述三个模块的处理,本算法能够对特征图张量进行像素级的通道及空间注意力建模,有效提高卷积神经网络对图像特征在大尺度下相关性的提取和建模能力。
[0047]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获得。
[0048]附图说明
[0049]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0050]图1为本发明实施例提供的基于神经网络的图像处理方法的流程示意图;
[0051]图2为本发明实施例提供的张量的数据几何结构示意图;
[0052]图3为本发明实施例提供的多尺度卷积算法流程示意图;
[0053]图4为本发明实施例提供的张量维度变换过程示意图;
[0054]图5对显微组织为F+P测试样本的注意力图(a)和叠加图(b);
[0055]图6对显微组织为S回测试样本的注意力图(a)和叠加图(b);
[0056]图7为本发明实施例提供的基于神经网络的图像处理系统的结构示意图;
[0057]图8为发明实施例提供的一种电子设备的结构示意图。
[0058]具体实施方式
[0059]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0060]本发明的算法需要集成在CNN骨干网络中才能发挥作用,因此首先搭建了一个具有14层结构的CNN图像分类模型。网络由4个卷积特征提取器和1个全连接分类器组成。每一个特征提取器由2个3×3卷积层和1个下采样最大池化层组成,第1个提取器采用4倍下采样,其余为2倍。全连接分类器由1个全连接层和1个softmax输出层构成,用于输出图像分类结果。网络输入为224×224×3的彩色图像,经过4个特征提取层的形状变化为224→56→28→14→7,通道数变化为3→64→144→256→576。在第3~4个特征提取器中加入本发明的图像处理方法或图像处理系统,以第3特征提取器为例,设输入张量为X(256,28,28),其中X的高×宽为28×28,通道数为256。
[0061]图1为本发明实施例提供的基于神经网络的图像处理方法的流程示意图。如图1所示,本发明实施例的一种基于神经网络的图像处理方法,具体包括如下步骤:
[0062]S101:获取待优化特征图像在空间维度上压缩后的初始张量。
[0063]具体包括如下步骤:
[0064]S1011:基于待优化特征图像,多尺度分组卷积提取,得到特征增强的处理张量。
[0065]S10111:基于待优化特征图像的原始张量,沿通道方向进行拆分得到多组拆分张量。
[0066]将待优化特征图像 l Z(C,H,W)输入具有m层卷积层结构的特征提取器,得到待优化特征图像的原始张量为X(C,H,W),该过程可由式(1)表示。
[0067]X(C,H,W)=f(Conv( 1 Z,k,g,s=1) m ) (1)
[0068]其中,f()为激活函数,Conv算子中的卷积核尺度、组数等参数可根据实际需要自由选择,C为X的通道数(Channel)且应该为平方数,H和W分别为X的高(Height)和宽(width),其数据几何结构如图2所示。多尺度分组卷积的流程如图3所示,主要分为以下步骤:
[0069]对输入张量X沿C轴进行拆分(Split),这里建议的拆分数量为n。经过拆分后得到一组宽为W,高为H,通道数为ci的拆分张量Xi,该过程可由式(2)表示。
[0070]X i (c i ,H,W) i=1~n =split[X(c i ,H,W),axis=0] i=1~n (2)
[0071]其中,split()表示张量拆分算子;axis为拆分所沿的轴(维度)方向,axis=0代表沿通道方向拆分,axis=1代表沿高度方向拆分,axis=2代表沿宽度方向拆分;c=[ci]i=1~n为拆分通道,满足
[0072]例如,对输入张量X(C,H,W)沿C轴进行拆分,拆分数量为4,经过拆分后得到一组拆分张量X 1 ~X 4 ,该过程可由式(2-1)表示。
[0073]S10112:基于多组拆分张量分别采用不同尺寸的卷积核进行卷积,得到多个第一卷积张量。
[0074]对每一组拆分张量X i 用不同尺寸的卷积核(kernel)进行卷积(convolution),分别得到第一卷积张量Y i :该过程可由式(3)表示。
[0075]Y i (c i ,H,W) i=1~n =Conv(X i ,k i ,g i ,d i ,s=1) i=1~n (3)
[0076]其中,Conv()为卷积算子,s=1代表卷积步长为1;k=[k i ] i=1~n 为卷积核尺寸(Kernel size),即卷积核的宽和高;g=[g i ] i=1~n 为卷积组数(groups),gi与ci满足整除关系,d=[d i ] i=1~n 为卷积核膨胀率(dilation),当d=1时执行常规卷积,当d≠1时执行空洞卷积,空洞卷积核的形状k’与膨胀率d满足关系d=(k’-1)/2。
[0077]例如,对每一组拆分张量X 1 ~X 4 用不同尺寸的卷积核进行卷积,分别得到输出Y 1 ~Y 4 ,该过程可由式(3-1)表示。
[0078]其中,Conv()为卷积算子,k=[5,3,3,3]为卷积核尺寸;g=[126,83,10,37]为卷积组数,d=[2,3,3,1]为卷积核的膨胀率。
[0079]S10113:基于多个第一卷积张量进行连接操作得到处理张量。
[0080]将第一卷积张量Y i 沿axis=0(通道方向)方向连接操作(concatenate)得到处理张量Y:该过程可由式(4)表示。
[0081]Y(C,H,W)=concat(Y i ,axis=0) (4)
[0082]其中,concat()代表张量连接算子,即指将张量以某一个轴为方向进行拼接。
[0083]例如,将卷积后的输出Y 1 ~Y 4 沿axis=0(通道方向)方向连接操作得到处理张量Y,该过程可由式(4-1)表示。
[0084]Y(256,28,28)=concat(Y 1 ,Y 2 ,Y 3 ,Y 4 ,axis=0) (4-1)
[0085]S1012:基于处理张量,沿待优化特征图像宽度方向和高度方向下采样,得到初始张量。
[0086]对处理张量Y沿宽和高方向进行下采(Down sample)样操作,即以一定大小的窗口和步长进行取样,取每一个窗口中像素的最大值或计算窗口内像素的平均值作为输出,得到形状缩小的初始张量Y 1 ,该过程由式(5)表示。
[0087]其中r 1 为空间压缩比且满足r 1 >1,downsample()为下采样算子,其可以是平均池化(Average pool)、最大池化(max pool)、卷积等。
[0088]例如,这里采用最大池化方法进行下采样,该过程由式(5-1)给出。
[0089]Y 1 (256,5,5)=MaxPool[Y(256,28,28)] (5-1)
[0090]其中r 1 =5为空间压缩比,MaxPool()为最大池化算子。
[0091]S102:在第一通路中,基于初始张量,卷积提取得到包含通道维度注意力权重因子的第一张量。
[0092]具体的,S1021;基于初始张量进行多次卷积得到第一卷积张量。
[0093]对下采样后的初始张量Y 1 进行多次1×1卷积(卷积核宽高均为1)操作,得到第一卷积张量Y 11 ,该过程由式(6)表示。
[0094]其中,r 2 为通道压缩比且满足r 2 >1。
[0095]例如,对初始张量Y 1 进行2次1×1卷积,得到第一卷积张量Y 11 ,该过程由式(6-1)给出。
[0096]Y 11 (16,5,5)=Conv(Conv(Y 1 (256,5,5),k=1,s=1),k=1,s=1) (6-1)
[0097]其中,r 2 =16为通道压缩比。
[0098]S1022:基于第一卷积张量进行一次卷积得到第二卷积张量,第二卷积张量的通道数与初始张量的通道数相同。
[0099]对第一卷积张量Y 11 进行1×1卷积,使得到的第二卷积张量Y 12 的通道数与Y 1 的通道数相同,该过程由式(7)表示。
[0100]例如,对第一卷积张量Y 11 进行1×1卷积,得到第二卷积张量Y 12 ,Y 12 的通道数与Y 1 相同,该过程由式(7-1)表示。
[0101]Y 12 (256,5,5)=Conv(Y 11 (16,5,5),k=1,s=1) (7-1)
[0102]S1023:基于第二卷积张量上采样得到第一张量。
[0103]对第二卷积张量Y 12 进行上采样,使其空间分辨率增大(宽、高方向的像素数增加),得到的第一张量Y 13 的宽和高应与处理张量Y相同,该过程由式(8)表示。
[0104]其中,upsample()为上采样算子,其可以是反池化(Unpool)、线性插值(LinearInterpolate)、转置卷积(Transpose convolution)等操作。
[0105]例如,对第二卷积张量Y 12 进行上采样,这里采用双线性插值上采样,输出结果宽和高应与处理张量Y相同,该过程由式(8-1)表示。
[0106]Y 13 (256,28,28)=interpolate[Y 12 (256,5,5),mode=bilinear] (8-1)
[0107]式(25)中interpolate()为线性插值算子,“bilinear”表示采用双线性插值方法。
[0108]S103:在第二通路中,基于所述初始张量将空间维度变换至通道维度后,卷积提取得到包含空间注意力权重因子的第二张量。
[0109]具体包括:
[0110]S1031:基于初始张量进行第一次重塑操作得到第一重塑张量。
[0111]对初始张量Y 1 进行重塑(Reshape)操作,得到第一重塑张量Y 21 。该操作可分为三步,首先将初始张量Y 1 在宽和高方向上将所有像素展开,得到形状为(C,HW)的过渡形式;其次在通道方向上将所有通道按照正方形方式排列,得到形状为 的过渡形式;最后将张量方向轴进行重新排列,得到最终形状为 的输出结果。该过程将特征图的空间维度(宽和高)变换到通道方向,如图4所示,该过程总体上由式(9)表示。
[0112]其中,reshape()代表张量变形算子,可将输入张量的形状沿不同轴方向进行变换。
[0113]例如,对初始张量Y 1 进行重塑操作,得到第一重塑张量Y 21 。该操作可分为三步,首先将Y 1 在宽和高方向上将所有像素展开,得到形状为(256,25)的过渡形式;其次在通道方向上将所有通道按照正方形方式排列,得到形状为 的过渡形式;最后将张量方向轴进行重新排列,得到最终形状为(25,16,16)的输出结果,该过程总体上由式(9-1)表达。
[0114]Y 21 (25,16,16)=reshape[Y 1 (256,5,5)] (9-1)
[0115]其中,reshape()代表张量变形算子,可将输入张量的形状沿不同轴方向进行变换。
[0116]S1032:基于第一重塑张量进行多次卷积得到第三卷积张量。
[0117]对第一重塑张量Y 21 进行多次1×1卷积后得到第三卷积张量Y 22 ,该过程由式(10)表示。
[0118]例如,Y 22 (25,16,16)=Conv(Conv(Y 21 (25,16,16),k=1,s=1),k=1,s=1)(10-1)
[0119]S1033:基于第三卷积张量进行第二次重塑操作得到第二重塑张量,第二重塑张量中的长度、宽度和通道数,分别与初始张量的长度、宽度和通道数相同。
[0120]对第三卷积张量Y 22 进行重塑操作,得到第二重塑张量Y 23 ,使第二重塑张量Y 23 的形状恢复至与初始张量Y 1 相同,该过程由式(11)表示。
[0121]例如,对第三卷积张量Y 22 进行重塑操作,得到第二重塑张量Y 23 ,其形状恢复至与初始张量Y 1 相同,该过程由式(11-1)表示。
[0122]Y 23 (256,5,5)=reshape[Y 22 (25,16,16)] (11-1)
[0123]S1034:基于第二重塑张量进行上采样得到第二张量。
[0124]对第二重塑张量Y 23 进行上采样操作,得到第二张量Y 24 ,使Y 24 的形状恢复至原始张量为X(C,H,W),该过程由式(12)表示。
[0125]例如,对Y 23 进行双线性插值上采样,使其形状恢复至(256,28,28),该过程由式(12-1)表示。
[0126]Y 24 (256,28,28)=interpolate[Y 23 (256,5,5),mode=bilinear] (12-1)
[0127]S104:基于第一张量和第二张量得到注意力权重矩阵。
[0128]具体包括:
[0129]S1041:基于第一张量和第二张量进行通道方向上连接操作,得到连接张量。
[0130]将第一张量Y 13 和第二张量Y 24 沿通道方向进行连接操作得到连接张量Y 41 ,该过程由式(13)表示。
[0131]Y 41 (2C,H,W)=concat(Y 13 ,Y 24 ,axis=0) (13)
[0132]例如,将第一张量Y 13 和第二张量Y 24 沿通道方向进行连接操作,得到连接张量Y 41 ,该过程由式(13-1)表示。
[0133]Y 41 (512,28,28)=concat(Y 13 ,Y 24 ,axis=0) (13-1)
[0134]S1042:基于连接张量进行卷积得到第四卷积张量,第四卷积张量的通道数与初始张量的通道数相同。
[0135]对连接张量Y 41 进行1×1卷积,得到第四卷积张量Y 42 ,使第四卷积张量Y 42 通道数恢复至初始值C。
[0136]例如,对Y 41 进行1×1卷积,使得到的第四卷积张量Y 42 通道数恢复至初始值256。
[0137]S1043:将第四卷积张量Y 42 代入sigmoid激活函数,得到注意力权重矩阵Y re ,该过程由式(14)表示。
[0138]Y re (C,H,W)=sigmoid(Conv(Y 42 ,k=1,k=1)) (14)
[0139]其中sigmoid函数的表达式为:
[0140]y=sigmoid(x)=(1+exp(-x)) -1 (15)
[0141]例如,将Y 42 随后带入sigmoid激活函数得到注意力权重矩阵Y re ,该过程由式(14-1)表示。
[0142]Y re (256,28,28)=sigmoid(Conv(Y 42 (512,28,28),k=1,k=1)) (14-1)
[0143]S105:基于初始张量和注意力权重矩阵,得到特征图像注意力增强后的张量。
[0144]具体的,可以通过初始张量X(C,H,W)和注意力权重矩阵Y re 进行哈达玛积(Hadamard produc)运算,即对应元素相乘,得到特征图像注意力增强后的张量 l+1 Z,该过程可由式(15)表示。
[0145]若考虑残差连接,式(16)可以进一步写为:
[0146]式(15)中,当输出特征图的通道数与输入不同时,需要通过1×1卷积将输入X的通道数变换至与输出 l+1 Z相同,随后进行相加操作。
[0147]对搭载本实施例所述基于神经网络的图像处理方法的CNN骨干网络进行训练。所用数据集为钢的显微组织分类数据集,该数据集包括8类典型的显微组织共4000个训练样本,400个验证样本和400个测试样本。采用adam优化器以学习率0.001对模型训练50个循环后停止。
[0148]训练完成后,选择显微组织为F+P的图像作为测试样本,输入模型。查看第3特征提取器中本发明所述注意力算法输出注意力图的某一通道,为便于观察,将其插值至224×224,如图5所示。
[0149]再次选择显微组织为S回的测试图像输入模型,查看第3特征提取器中本发明所述注意力算法输出注意力图的某一通道,将其插值至224×224,如图6所示。
[0150]图7为本发明实施例提供的一种基于双通道卷积神经网络的图像处理系统的结构示意图。本发明的实施例还提供了一种基于双通道卷积神经网络的图像处理系统,如图7所示,该系统,包括:
[0151]获取模块201,用于获取待优化特征图像在空间维度上压缩后的初始张量;
[0152]处理模块202,用于在第一通路中,基于所述初始张量,卷积提取得到空间维度注意力权重增大的第一张量;
[0153]处理模块202,还用于在第二通路中,基于所述初始张量将空间维度变换至通道维度后,卷积提取得到第二张量;
[0154]处理模块202,还用于基于所述第一张量和所述第二张量得到注意力权重矩阵;
[0155]处理模块202,还用于基于所述初始张量和所述注意力权重矩阵,得到特征图像注意力增强后的张量。
[0156]此处需要说明的是,上述获取模块201和处理模块202对应于基于神经网络的图像处理方法实施例中的步骤S101至步骤S105,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。
[0157]上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
[0158]首先对输入的待处理特征图像,通过多尺度分组卷积提取在不同尺度上的特征,为建立特征间的注意力关系模型提供更多信息量;随后将提取的信息输入双通路注意力模块进行特征间的注意力建模。该模块包括两个并联的网络结构,分别对特征图的通道间关系和每通道的图像空间关系两个维度进行注意力计算。通过下采样-注意力关系计算-上采样的设计实现对特征图每一个像素注意力建模的同时降低计算量;最后通过特征融合模块将通道和空间方向的注意力信息进行融合,得到注意力权重矩阵。通过上述三个模块的处理,本算法能够对特征图张量进行像素级的通道及空间注意力建模,有效提高卷积神经网络对图像特征在大尺度下相关性的提取和建模能力
[0159]本发明的实施例还提供了一种计算机可读存储介质,存储有程序或指令,当上述程序或指令在计算机上运行时,使得计算机执行如实施例一所述的基于双通道卷积神经网络的图像处理方法。
[0160]如图8所示,本发明的实施例还提供了一种电子设备300,包括:处理器301,处理器301与存储器302耦合,
[0161]处理器301,用于读取并执行存储器中存储的计算机程序,以实现如上述方法实施例所述的基于双通道卷积神经网络的图像处理方法。
[0162]尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。