发明内容
为解决以上现有技术存在的问题,本发明提出了一种综合局部信息和全局信息的空间注意力图像去噪方法,该方法包括:实时获取图像,将获取的图像输入到训练好的图像去噪模型中,得到去噪后的图像;所述图像去噪模型包括图像浅层特征提取模块、图像特征增强组以及图像重建模块;
对图像去噪模型进行训练的过程包括:
S1:获取原始图像数据集,并对数据集中的图像进行随机裁剪处理,得到训练样本集;
S2:将训练样本集中的图像输入到图像浅层特征提取模块中,进行浅层特征提取,得到浅层特征图;
S3:将浅层特征图输入到图像特征增强组中,得到深层次特征图;
S4:采用图像重建模块对深层特征图进行重建,得到去噪后的重建图像;
S5:根据重建图和原始输入图计算图像去噪模型的MSE损失函数;
S6:设置初始学习率,使用多步调整学习率下降函数MultiStepLR调整学习率的大小;
S7:采用Adam算法对模型进行优化,根据学习率不断调整模型的参数,当损失函数最小时,完成模型的训练。
优选的,图像浅层特征提取模块为一个卷积网络,用于提取图像的浅层特征;采用图像浅层特征提取模块提取浅层特征的计算公式为:
Fl=Hsf(Inoi)
优选的,图像特征增强组至少包含1个残差注意力小组RAG模块;残差注意力小组RAG模块的结构包括:非局部模块、两个行-列空间注意力残差块RCSA、3个扩张率分别为3、5、7的扩张卷积以及信息融合模块;两个行-列空间注意力残差块RCSA串联;将串联后的行-列空间注意力残差块RCSA分别与扩张率为3、5、7的扩张卷积并联;采用串联的方式将非局部模块、RCSA与扩张卷积并联模块、信息融合模块连接。
进一步的,图像特征增强组由4个RAG模块组成;将4个RAG模块依次连接,其中在第一RAG模块与第二RAG模块之间连接一个卷积下采样层,第三RAG模块与第四RAG模块之间连接一个逆卷积上采样层;每个RAG模块对浅层特征进行增强处理,得到深层次特征图。
进一步的,行-列空间注意力残差块包括两个串联的卷积模块、一个执行通道注意力机制的行维度压缩模块、一个执行通道注意力机制的列维度的压缩模块以及拼接融合模块;将行维度压缩模块与列维度的压缩模块并联,形成行列并联模块;所述行列并联模块串联于卷积模块之后;拼接融合模块串联于行列并联模块之后;在从第一个卷积模块之前和拼接融合模块之后采用跳跃连接,形成行-列空间注意力残差块。
优选的,得到深层次特征图的过程包括:
S31:采用非局部模块对输入的特征图进行处理,得到非局部特征图;
S32:采用两个行-列空间注意力残差块RCSA对非局部模块处理后的图像进行残差处理,得到残差注意力特征图;
S33:将非局部神经网络处理后的图像进行三次扩张卷积处理;
S34:将扩张卷积处理后的图像与残差注意力特征图进行并联计算,将并联计算结果进行通道维度拼接操作,得到深层次特征图。
进一步的,得到残差注意力特征图的过程包括:
S321:对非局部特征图进行两次卷积堆叠处理,提取非局部特征图的空间特征和通道特征,将空间特征和通道特征作为输入注意力矩阵;
S322:将注意力矩阵的每一列像素值进行平均处理,将平均处理后的行矩阵复制为注意力矩阵大小,得到新的行矩阵;
S323:将新的行矩阵与注意力矩阵中的逐项像素点进行相乘处理,并对相乘处理后的矩阵执行通道注意力机制,得到行注意力机制矩阵;
S324:将注意力矩阵的每一行像素值进行平均处理,将平均处理后的像素值作为新矩阵的列,得到列矩阵,并将列矩阵复制为注意力矩阵大小,得到新的列矩阵;
S325:将新的列矩阵与注意力矩阵中的逐项像素点进行相乘处理,并对点乘处理后的矩阵执行通道注意力机制,得到列注意力机制矩阵;
S326:将行注意力机制矩阵和列注意力机制矩阵进行通道维度拼接,并进行卷积处理,得到注意力机制矩阵;
S327:将输出的注意力机制矩阵与输入的非局部特征图中对应的像素点相加;
S328:重复S321-S327,得到残差注意力特征图。
进一步的,得到注意力机制矩阵的公式为:
Hrcsa=Hconv(cat(Res_col,Res_row))
优选的,得到深层次特征图的公式为:
HRAG,i=Hconv(Gres(Hnlm(Fdfi-1)))
优选的,图像去噪模型的损失函数为:
本发明的优点:
1)本发明设计的图像去噪模型通过同时采用串联和并联方式将非局部模块、空间注意力残差块和扩张卷积相结合来实现同时捕获图像的局部特征和全局特征,因此极大地增强了网络的表示能力,能够很好的同时兼顾噪声的去除和图像结构的保护;
2)本发明提出了一种新的行-列空间注意力(RCSA)策略,该策略将不同行和不同列的特征同时合并到残差块中,通过综合考虑图像的全局和局部特征统计,提高了像素级空间特征的相互依赖性,实现了每个像素特征的自适应调节,极大地提升了网络区别学习的能力,实现了更高质量的图像去噪处理;
3)本发明提出的网络将非局部模块的输出并行输入RCSA残差块和多个不同扩张率的扩张卷积中,然后,再将RCSA残差块的输出和每个扩张卷积的输出融合到一起,以自适应地筛选出更加有效的信息。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种综合局部信息和全局信息的空间注意力图像去噪方法,如图1所示,该方法包括:实时获取图像,将获取的图像输入到训练好的图像去噪模型中,得到去噪后的图像;所述图像去噪模型包括图像浅层特征提取模块、图像特征增强组以及图像重建模块。
对图像去噪模型进行训练的过程包括:
S1:获取获取原始图像数据集,并对数据集中的图像进行随机裁剪处理,得到训练样本集。所述原始图像数据集为BSD300,其中包括300张典型的图像。所述随机裁剪处理是将原始图像数据集中的图像剪成48×48大小的图像块。
S2:将训练样本集中的图像输入到图像浅层特征提取模块中,进行浅层特征提取,得到浅层特征图。每次输入到图像浅层特征提取模块中的图像为16张。
S3:将浅层特征图输入到图像特征增强组中,得到深层次特征图;
S4:采用图像重建模块对深层特征图进行重建,得到去噪后的重建图;
S5:采用图像重建模块对深层特征图进行重建,得到去噪后的重建图像。
S6:设置初始学习率,使用多步调整学习率下降函数MultiStepLR调整学习率的大小。
S7:采用Adam算法对模型进行优化,根据学习率不断调整模型的参数,当损失函数最小时,完成模型的训练。
对数据集中的图像进行裁剪处理的过程中还包括对数据集中的图像进行去重处理,即删除数据集中重复的图像和不完整的图像;将数据集进行分割,按照2:1划分为训练集和测试集,训练集用于模型的训练,测试集用于计算模型的最优参数。
图像浅层特征提取模块为一个卷积网络,用于提取图像的浅层特征;采用图像浅层特征提取模块提取浅层特征的计算公式为:
Fl=Hsf(Inoi)
其中,Fl表示提取的浅层特征,Hsf(.)表示对输入的图像进行3×3卷积操作,将输入的图像的通道数转化为128通道;Inoi表示输入的噪声图像。
如图2所示,图像特征增强组至少包含1个残差注意力小组RAG模块;残差注意力小组RAG模块的结构包括:非局部模块、两个行-列空间注意力残差块RCSA、3个扩张率分别为3、5、7的扩张卷积以及信息融合模块;两个行-列空间注意力残差块RCSA串联;将串联后的行-列空间注意力残差块RCSA分别与扩张率为3、5、7的扩张卷积并联;采用串联的方式将非局部模块、RCSA与扩张卷积并联模块、信息融合模块连接。图2中,NLM为非局部模块,dil-conv3为扩张率为3的扩展卷积,dil-conv5为扩张率为5的扩展卷积,dil-conv7为扩张率为7的扩展卷积,CONV为普通卷积,concat为通道维度拼接,ReLU为激活函数。
优选的,图像特征增强组由4个RAG模块组成;采用四个RAG模块的网络在能够获得较好的去噪图像,在取得较为理想的峰值信噪比的同时,也能节省GPU计算资源。
优选的,如图1所示,将4个RAG模块依次连接,其中在第一RAG模块与第二RAG模块之间连接一个卷积下采样层,第三RAG模块与第四RAG模块之间连接一个逆卷积上采样层;每个RAG模块对浅层特征进行增强处理,得到深层次特征图。
图像特征增强组中的RAG模块中包含利用串联的方式实现神经网络层面的非局部思想,使用卷积-非局部-反卷积这一结构,在保证像素值不损失的情况下,能够保证非局部信息获取的范围变为原来的两倍,同时在一定程度上节省GPU计算资源。RAG模块中包含利用并联的方式实现扩张卷积的操作,通过扩张卷积的的3、5、7的扩张率,最终RAG模块组输出的三类扩张卷积的图片依次是5×5、7×7和9×9。最终,以串联的方式将非局部模块和扩张卷积操作组结合起来。
采用串并联模块的结合的方式对图像进行处理具有以下优点:(1)将非局部模块获取所得的非局部信息与扩张卷积获取所得的局部信息进行融合,结合二者的优点,获取更丰富的图像去噪有利信息;(2)串联的方式保证非局部相似信息流入下一级扩张卷积模块组,经过并联的方式进行信息特征的进一步提取,并将这些特征进行拼接融合,从而获得较为理想的去噪效果。
如图3所示,传统注意力机制大多以通道注意力机制为主,但是该注意力仅仅将单一通道进行信息融合,本注意力模块则关注更加精细化的空间注意力。图3中,CONV为普通卷积、ReLU为激活函数、CA为通道注意力模块。
得到深层次特征图的过程包括:
S31:采用非局部模块对输入的特征图进行处理,得到非局部特征图;
S32:采用两个行-列空间注意力残差块RCSA对非局部模块处理后的图像进行残差处理,得到残差注意力特征图;
S33:将非局部模块处理后的图像进行三次扩张卷积处理;
S34:将扩张卷积处理后的图像与残差注意力特征图进行并联计算,将并联计算结果进行通道维度拼接操作,得到深层次特征图。深层次特征图的计算公式为:
HRAG,i=Hconv(Gres(Hnlm(Fdfi-1)))
其中,Fdfi-1表示第i个RAG模块的输入,Hnlm(.)表示非局部模块操作,Gres(.)表示并联残差扩张卷积组操作,Hconv(.)表示对拼接后的矩阵进行卷积信息融合。
所示获取Gres(.)的公式为:
Gres=Hcat(Ops(Hrcsa×2,Hdc3,Hdc5,Hdc7))
其中,Ops代表并联计算形式,Hrcsa×2代表并列的两个RCSA模块、Hdc3、Hdc5、Hdc7分别代表扩张率为3、5、7的扩张卷积,最终将四路并联操作拼接,Hcat代表通道维度的拼接操作,拼接完成后需要使用卷及操作将通道降为128通道。
得到残差注意力特征图的过程包括:
S321:对非局部特征图进行两次卷积堆叠处理,提取非局部特征图的空间特征和通道特征,将空间特征和通道特征作为输入注意力矩阵;其公式为:
Res=CONV2(CONV1(Input))
其中,Res代表一个普通残差块的运算结果,Input代表输入的特征图,CONV1和CONV2分别代表两个卷积。
S322:将注意力矩阵的每一列像素值进行平均处理,将平均处理后的行矩阵复制为注意力矩阵大小,得到新的行矩阵;其中空间特征图的大小为R×C,其中R为行像素值个数的的度量,C为列像素值个数的的度量;得到行矩阵的公式为:
其中,xi,j代表Res内的任一像素值。
S323:将新的行矩阵与注意力矩阵中的逐项像素点进行相乘处理,并对相乘处理后的矩阵执行通道注意力机制,得到行注意力机制矩阵;其计算公式为:
其中,CA代表通道注意力机制的运算。
S324:将注意力矩阵的每一行像素值进行平均处理,将平均处理后的像素值作为新矩阵的列,得到列矩阵,并将列矩阵复制为注意力矩阵大小,得到新的列矩阵;得到新的行矩阵的公式为:
S325:将将新的列矩阵与注意力矩阵中的逐项像素点进行相乘处理,并对点乘处理后的矩阵执行通道注意力机制,得到列注意力机制矩阵;其公式为:
S326:将行注意力机制矩阵和列注意力机制矩阵进行通道维度拼接,并进行卷积处理,并进行1×1卷积,得到注意力机制矩阵;其计算的公式为:
Hrcsa=Hconv(cat(Res_col,Res_row))
其中,Hrcsa表示注意力机制矩阵,Hconv(.)表示对注意力机制矩阵进行跳跃处理,cat(.)表示对行注意力机制矩阵和列注意力机制矩阵进行维度拼接处理,Res_col表示列注意力机制矩阵,Res_row表示行注意力机制矩阵。
S327:将输出的注意力机制矩阵与输入的非局部特征图中对应的像素点相加;
S328:重复S321-S327,得到残差注意力特征图。
从上述的计算过程以及图3可以看出,经过行和列的空间注意力操作,获得了区分的特征图。残差块位于图2中的并联分支顶端,依次并联为扩张卷积3、5、7,可以获得由精到粗的图像特征信息。所以,整个RAG模块首先通过非局部模块获得了相似的非局部信息,再将这些有效信息送入下一个并联模块进行分级提取与再加工,最终将筛选出的表征信息进行融合,得到有利于去噪的信息。
根据得到复原图像和真值图像计算图像去噪模型的MSE损失函数;其表达式为:
其中,M表明一次循环的累计损失值的个数,Irec,i代表第i个复原图像,Igt,i代表相应的第i个真值图像。
在对模型进行训练的过程中,将训练的学习率初始值设置为10^-4,采用Pytorch语言中的多步调整学习率下降函数MultiStepLR控制学习率的下降,其中伽玛函数gamma的值设为0.1。
采用Adam算法对提出的网络进行最优化,分别在三种标准差噪声水平:30、50、70进行了测试。网络中间层特征图数量设为128,跑300个epoch;每个批次训练16张48×48大小的图像。将本发明提出的方法与DnCNN与SGN算法在CBSD68数据集和三种噪声水平上进行了去噪性能的对比,最终图像去噪的结果如表1所示:
表1
从表1和图4的结果可知,本发明设计的图像去噪模型通过同时采用串联和并联方式将非局部模块、空间注意力残差块和扩张卷积相结合来实现同时捕获图像的局部特征和全局特征,因此极大地增强了网络的表示能力,能够很好的同时兼顾噪声的去除和图像结构的保护,得到更高质量的去噪图像。
具体地说,再采用Adam算法对模型进行优化时,该算法计算了去噪图像的梯度和平方梯度的指数移动平均值,并且采用一阶矩估计的指数衰减率β1、二阶矩估计的指数衰减率β2控制了指数移动平均的衰减率。由于移动平均值、β1和β2的初始值接近1.0(推荐值),这导致了估计时间的偏差为0。这种偏差是通过第一次计算偏差估计然后再计算比可用偏差校正估计来克服的。
一种采用Adam算法进行梯度下降的具体实施例,其过程包括:
(1)确定超参数α(步长因子)、β1(一阶矩估计的指数衰减率)、β2(二阶矩估计的指数衰减率)、ε(用于数值稳定的常数),设置超参数的初始值为:α=0.0001、β1=0.9、β2=0.999、ε=10-8;
(2)对参数向量一阶矩向量m0、二阶矩向量v0和时间步t进行初始化,即m0=0,v0=0,t=0;
(3)当参数θ未达到收敛公式:θ+Δθ→θ时,循环迭代地更新各个部分。即:
a.时间步更新:t=t+1;
b.从训练集取包含n个样本:{x
(1),…,x
(n)}为一个批量,目标函数y
i,更新目标函数在该时间步上对参数θ所求的梯度g
t:
其中,x
(i)表示本批量的第i个样本值,
表示对参数θ求偏导函数,L(.)表示两个变量因子作差值运算,y
(i)表示目标函数,f(x
(i);θ)表示在第i个样本关于参数θ的随机梯度下降函数,n表示样本个数。
c.更新一阶矩估计mt:β1mt+(1-β1)gt→mt,更新二阶原始矩估计vt:β2vt+(1-β2)gt⊙gt→vt;
其中,⊙表示点乘运算。
d.计算偏差修正的一阶矩估计:
计算偏差修正的二阶矩估计:
其中,
表示偏差修正的一阶矩估计,
表示偏差修正的二阶矩估计。
e.计算更新模型的参数
其中,Δθ表示参数θ的微调更新值。
以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。