基于注意力机制和感知损失的遥感图像去噪
2021-07-15阚子文邵志敏周激流
张 意, 阚子文, 邵志敏, 周激流
(四川大学计算机学院, 成都 610065)
1 引 言
在获取遥感图像的过程中,各种太空射线或者电磁波的干扰都有可能引入噪声[1],图像质量显著下降,造成获得图像中的细节丢失、边缘模糊,甚至形成死点或者带状噪声,这些都会影响到遥感图像的进一步分析应用,例如,目标检测中的地物提取分割、天气预测和环境检测等[2].因此高质高效地遥感图像去噪在遥感图像处理中是非常重要的一环,具有重要应用价值.
目前,遥感图像去噪方法主要有两种:(1) 是基于变换域的方法;(2) 是基于空间域的方法.基于变换域的方法试图通过不同变换从噪声数据中分离出清晰的原始信号,主要方法包括主成分分析,傅里叶变换、小波变换等.Atkinson等[3]提出了一种利用离散傅里叶变换在光谱域中去相关的估计,并且利用小波变换进行空间域滤波.Othman等[4]提出了一种采用混合空间-光谱导数域的小波去噪方法,这种方法依赖于噪声水平升高的光谱导数域,并受益于信号在空间以及光谱维度上的不同性质.这类方法的主要缺点是对于变换函数的选择比较敏感,同时缺乏对遥感图像中几何性质差异的考虑.为了能够有效利用合理的先验知识,提出了一些基于空间域的方法,包括全变分[5],非局部相似性[6-8],稀疏表示[9-10],以及低秩模型[11-12]等.该类方法可以有效地去除图像中的噪声,同时保持图像的空间以及光谱特性.Yuan等[5]提出了一种基于空间-光谱的自适应全变分去噪算法.Jose等[6]提出了一种自适应非局部均值的方法NLM3D (Non-Local Means 3D).Chen等[7]将BM4D (Block-Matching 4D Filtering)[8]方法应用于遥感图像数据去噪,并且使用主成分分析来进行降噪.Lu等[9]提出了一种空谱-光谱自适应稀疏表达方法.此外,在联合稀疏表示以及字典学习过程中,Li等[10]利用光谱带间的结构以及相似性来进行去噪.由于遥感图像相邻波段的光谱相关性以及同一波段内的空间相似性.Renard等[11]提出了一种低秩张量近似的方法LRTA (Low Rank-Tensor Approximation),该方法同时进行空间低秩近似及光谱降维.此外,Zhang等[12]提出了一种低秩矩阵恢复的方法来进行高光谱遥感图像去噪LRMR (Low-Rank Matrix Recovery).虽然以上去噪方法可以取得较好的结果,但是对于参数的选择非常敏感[13],鲁棒性较差,且算法对计算资源的要求较高.
近年来,深度学习技术发展迅速,其应用深入各个领域,在计算机视觉、图像处理等方面都取得丰硕的成果,在高光谱领域也有许多其他方向的研究,如分类算法和虚拟维数分析[14]算法.在去噪领域上,Jain等[15]在2008年提出使用卷积神经网络方法去除自然图像的噪声,该方法取得了较好的结果.此后,越来越多的神经网络模型被应用于图像去噪当中.Zhang等[16]利用卷积神经网络来提取图像内在的高维特征,避免了构造复杂的先验约束项,实现了良好的去噪性能.但这些去噪方法在应用于遥感图像时,没有充分考虑遥感图像的频谱冗余特性.目前已有一些用于遥感图像去噪的网络模型出现.Xie等[17]提出了一种具有可训练非线性函数的深层卷积神经网络来去除遥感图像中的噪声.Yuan等[18]提出了一种基于空间-光谱的深度学习网络来学习样本域噪声之间的非线性映射关系HSID-CNN (Hyper Spectral Image Denoising Convolution Neural Network).Liu等[19]提出了一种基于三维卷积核的双通道网络来图像中去除噪声3DADCNN (3D Atrous Denoising Convolution Neural Network).Zhang等[20]提出了一种基于空间域和光谱域梯度的高光谱去噪方法SSGN (Spatial-Spectral Gradient Network).Wei等[21]提出了一种基于循环一致性的高光谱去噪方法QRNN3D (3D Quasi-Recurrent Neural Network).Zhao等[22]提出了一种基于残差注意力的高光谱去噪方法ARDN (Attention-based Deep Residual Network).其中HSID-CNN这一方法考虑将空间-光谱的多尺度特征进行联合表达,得到了较好的结果.但是目前这些方法对于遥感图像信息挖掘还不够充分,网络对噪声的辨别能力不强.因此,本文结合注意力机制、残差自编码器以及感知损失,提出了一种新的基于深度学习的遥感图像去噪方法.
2 方法与理论
噪声可以认为是附加在图像上的信号,遥感图像的主要噪声来源于电噪声和电磁波噪声.根据噪声与图像之间的关联,可以将噪声分为加性噪声和乘性噪声两类.进一步研究表明,从噪声对图像的信号的相关性的建模,遥感图像的噪声为加性噪声[23],可以表示为
z=a+n
(1)
式(1)中,z表示含噪声图像;a表示原始图像;其大小均可以表示为M×N×B;M、N表示图像的长和宽;B表示波段;n是高斯分布的加性噪声.
考虑到遥感图像噪声数据以及干净数据之间的关系可以通过深度学习模型来拟合函数进行表示,同时,深度学习模型在大规模数据表示具有显著优势.本文提出了一种结合注意力机制以及感知损失的残差自编码网络模型来进行遥感图像去噪.为了能充分地利用图像的光谱以及空间信息,单个遥感图像波段及其相邻的K个波段同时作为网络的输入;其次由于遥感图像中相同的物体往往在不同的区域有着不一样的尺度,因此在网络中使用了多尺度卷积来提取图像的多尺度信息;同时为了提高网络的辨识能力,本文将注意力机制引入网络中,以尽可能地关注图像中的重要特征;同时使用了一种基于注意力机制的残差自编码器结构用于图像的去噪;最后,为了能够保持图像的视觉一致性,本文利用预训练的VGG网络提取特征,构造感知损失,联合MSE损失进行训练.
2.1 网络整体结构
为了能够充分提取遥感图像特征,恢复更多的图像细节,本文提出了一种新的结合注意力机制以及感知损失的网络模型来处理遥感图像去噪任务,称为ARED-VGG(Attention based Residual Encoder-Decoder),本文所提出的方法整体框架如图1所示.本文采用单波段遥感图像及其相应的相邻K个波段图像同时作为网络的输入,分别表示为yspatial和yspectral,其大小分别为M×N以及M×N×K,这样的输入策略可以使得网络获取更多的光谱信息,进一步避免光谱失真.接着是特征提取模块,由于遥感图像地物在不同的区域中所表现出来的尺寸是不同的,所以本文使用不同的卷积核大小进行特征提取.在对yspectral进行特征提取后,考虑到并不是所有的特征都对其波段具有相同的效果,本文加入注意力机制模块来进行辨别.其后采用注意力残差自编码结构来对特征进行重建.最后将重建后的结果与yspatial和yspectral进行堆叠,卷积后得到最后的去噪结果.图1中,Concat表示的是堆叠操作;Conv表示的是卷积操作;k,n,s分别表示卷积核大小,输出特征图个数和卷积滑动步长大小.
2.2 特征提取模块
遥感图像中每个波段的纹理特征以及表面参数等都有非常高的相关性.因此,相邻的光谱段对遥感图像去噪效果的提升具有至关重要的作用.考虑到遥感图像中地物大小不同.在本文中采用了3×3、5×5、7×7三种不同感受野大小的卷积对图像的单波段以及相邻波段进行特征提取,如图2所示.采用这种模式可以同时获得不同尺度的特征,同时可以捕捉到更多的图像细节信息以及光谱信息.将不同的层获得的不同的特征进行堆叠输入到下一个处理模块中,使得下一个模块可以同时处理图像的空间以及光谱信息.图2中Input表示的是输入,在网络中是双分支结构,其中一个分支是输入单波段的图像,另一个输入则是输入与单波段相邻的K个波段.相邻波段的取法为,数据前K/2个波段以及最后K/2个波段均取为最前以及最后的K个波段,其余波段则直接取相邻K波段.然后 ,进行卷积操作Conv,特征图数量以及滑动步长均相同,分别为40和1.最后,将输出的特征进行堆叠Concat.经过不同尺度的特征学习模块,可以提取到不同尺度的空间纹理信息,更大程度地保留更多的纹理细节.
图1 ARED-VGG网络整体结构图Fig.1 Overall network structure of ARED-VGG
图2 特征提取模块Fig.2 Feature extraction block
2.3 注意力模块
传统的深度学习卷积神经网络对待每一个通道的特征都是相同的,缺乏辨别学习的能力,并且会限制深度网络的表达能力.此外,从相邻光谱图像获得的特征并不是都对去噪有着积极的影响.因此,网络应该更多地关注那些有意义的特征.同样,在编码-解码模块中,对于那些提取有用信息的卷积来说也应该有更多的关注,以提升去噪的效果.基于以上考虑,本文引入注意力机制来自适应地调整特征表示.通道注意力模块的网络结构如图3所示.主要由卷积层,池化层以及激活层构成,该模块主要用于相邻波段特征提取模块之后以及编解码模块的后几层当中.图3中,注意力模块可表示为
Out=In+w·x
(2)
式(2)中,In和Out分别表示输入和输出的特征图;X表示经过两个3×3卷积获得的需要传递的残差部分.前两层部分可以表示为
X=W2·σ(W1·In)
(3)
式(3)中,W1和W2表示前两个卷积层的权重参数;δ表示ReLU激活函数;W是通过学习得到的权重参数,对于得到的X首先使用全局平均池化操作,接着使用一个1×1卷积和ReLU函数,将特征通道数进行下采样,然后使用一个1×1卷积恢复之前的通道数量,最后是Sigmoid函数用保证输出的权重W在0到1之间.
W=Sigmoid(W4·σ(W3·GP(X)))
(4)
在式(4)中,W3和W4表示卷积层的权重系数;GP(·)表示全局平均池化操作.经过注意力模块,可以学习到各个模块的不同权重信息,网络能辨别地关注更有意义的特征,优化去噪效果.
2.4 注意力残差自编码器模块
为了能够更好地表达提取到的特征,以提升去噪效果,本文在图像重建阶段采用了注意力残差自编码器结构来进行处理.先用卷积层对特征进行编码,然后使用卷积层进行解码操作,中间通过残差结构进行连接,同时在解码结构中加入了注意力模块,以便更高效地利用特征.该网络模块结构如图4所示.
该模块主要包括9层网络结构,前5层及第9层是由一个卷积Conv和Leaky ReLU激活函数构成的, 6~8层网络结构中加入了注意力模块,所有层的卷积核大小均为3,特征输出大小为120,卷积滑动步长为1,编解码单元均是采用卷积操作,并使用残差连接将对应的编码解码模块连接在一起.编码单元主要是将获得的特征进一步深入提取特征信息进行编码,同时消除噪声.解码单元主要是用于恢复图像的细节部分,注意力机制可以用于进一步提升对于图像特征中细节的关注,以便恢复出更多的细节信息.采用残差连接主要是解决梯度消失以及其它的反向传播问题,虽然解码单元可以恢复一些图像信息.采用这种方式可以进一步加快网络的训练,避免梯度消失的问题出现,同时可以避免丢失更多的细节信息.
图4 注意力残差自编码器模块Fig.4 Attention based residual auto-encoder module
2.5 损失函数
已有文献显示[24],仅使用MSE损失可能会使得去噪后的图像趋于平滑,图像的视觉效果不好,因此本文引入感知损失,进行联合训练,可表示为
Ltotal=λ1LMSE+λ2LP
(5)
式(5)中,λ1和λ2表示平衡两项损失的参数,在本文中分别设置为0.9和0.1;Ltotal表示最终的网络损失函数;LMSE表示MSE损失函数;LP表示感知损失.本文中LMSE作为保真项用于确定去噪之后的结果尽可能地与目标图像接近,表示为
(6)
(7)
式(7)中,φ(·)表示VGG-19特征提取器.
结合了感知损失的复合损失函数,引入了特征空间的相似度损失,使得恢复的图像更符合人的视觉感观,减小MSE损失所带来的过平滑效果.
3 实 验
为了验证本文所提方法的有效性,使用Washington DC mall以及AVIRIS Indian Pines 数据集进行仿真数据及真实数据的实验验证.选取NLM3D[6],LRMR[12],BM4D[8],HSID-CNN[18],3DADCNN[19]等几类具有代表性的方法进行了实验比较与分析,本文中根据原作者提供的链接下载了NLM3D,LRMR,BM4D等源码并优化了实验参数对数据进行了测试.同时本文中使用相同数据集,依照原论文的方法重新训练HSID-CNN和3DADCNN.在预处理阶段所有遥感图像每一个波段的灰度值都归一化到[0,1].使用MPSNR(Mean Peak Signal to Noise Ratio)[25]及MSSIM(Mean Structure Similarity Index Measure)[26]作为定量指标评价仿真数据的实验结果.由于真实数据缺乏参照图像,采用去噪后数据进行地形分类的精度OA (Overall Accuracy)以及卡帕系数(Kappa)作为定量指标[18].本文实验中光谱相邻波段数K设置为24,这一考虑是基于文献[18]的实验结果来设定的.实验采用Adam算法对网络进行训练优化,参数设置分别为β1=0.9,β2=0.999,学习率设置为0.000 1.本文采用Pytorch框架来训练网络,基于Intel Xeon e5 2650 CPU 和 256 GB RAM,以及GTX 1080 Ti显卡.以下将分为仿真数据实验、真实数据实验及网络结构的消融实验等3个部分来验证本文方法的有效性.
3.1 仿真数据实验
本文中仿真数据实验所用的数据为Washington DC mall遥感图像数据集,大小为1280×303×191.参照标准测试流程[18],将实验数据切分为两个部分,一部分大小为200×200×191用于测试,另一部分则为1080×303×191用于训练,训练数据被裁剪为40×40,总共36 000个数据块,数据块之间没有重叠.加性高斯白噪声被添加到仿真数据中用于模拟噪声数据,对于不同的波段添加相同水平的噪声σn.
表1给出的是不同方法在不同噪声水平下的MPSNR和MSSIM指标10次实验的平均值和标准差.从表1中可以看出,本文所提出的方法的两项指标多数高于其他4种方法.当噪声情况较小时,可以看到不同方法的结果较为接近,LRMR在噪声小的情况下数值结果最好,这主要是在低噪声情况下干净HSI的低秩性保持较好,但随着噪声变大,图像的低秩性很难保持,算法性能随之开始下降,但是本文所提出的方法ARED-VGG依然能够取得不错的数值结果,在高噪声下的实验数据表现最优.
图5和图6是Washington DC mall 在噪声方差大小为0.075时,第97波段去噪结果以及由波段(185,97,2)去噪后的伪彩色结果.
表1 仿真实验定量结果
图5 Washington DC mall 97波段去噪结果图Fig.5 Denoising result of Washington DC mall with 97 band
图6 Washington DC mall去噪结果伪色图(185,97,2)Fig.6 Pseudocolor denoising result of Washington DC mall with bands (185,97,2)
测试数据图中主要包含建筑,道路,树木以及水等地物.在图5和图6中,(a) 表示的是含噪图像;(b) 表示的是NLM3D的去噪结果;(c) 表示LRMR的去噪结果;(d) 表示BM4D的去噪结果;(e) 表示的是HSID-CNN的去噪结果;(f) 表示的是3DADCNN的去噪结果;(g) 表示的是本文所提出的方法ARED-VGG的去噪结果;(h) 无噪声的参考图像.从结果可以看到,所有的方法都可以较好的去除噪声,但是NLM3D以及BM4D去噪后图像比较模糊,细节丢失明显.LRMR和3DADCNN虽然保留了一些细节信息但是还存在着模糊或者噪声未去除干净的情况.从图5中的放大区域中箭头所指示的地方可以观察到本文所提出的方法处理的结果在去噪后与参考图像最为接近,HSID-CNN的去噪结果相比于本文所提方法也略有模糊.从图5中放大区域箭头所指示的地方可以看到,箭头所指示的黑色线条、黑色框左下角以及光谱信息都接近于参考图像,而其他对比方法存在着细节模糊或者光谱失真等情况.从图6中可以发现本文方法在去噪后依然能够保持图像的光谱信息,并且去噪后保留了更多细节.从图6中放大区域箭头所指示的地方可以看到相比于参考图像,其他结果保留的细节都弱于本文所提出的方法.
在遥感图像中由于不同地物的物理参数不同,因此光谱反射率对于遥感图像的解释也是非常重要的.为了进一步验证使用不同的方法对遥感图像在光谱维度上去噪的有效性,图7给出了干净无噪声图像(a); NLM3D去噪后图像(b); LRMR去噪后的图像(c); BM4D去噪后图像(d); HSID-CNN去噪后图像(e); 3DADCNN去噪后图像(f); 本文所提方法去噪后图像,在像素点(87,112)处的光谱曲线(g).横坐标表示的是波段数,纵坐标表示的是每个波段在相同位置的像素值.
图7 各方法去噪结果中像素(87,112)的光谱曲线Fig.7 Spectral of pixel (87,112) in the denoising result
从图7中可以看出,图7(b)NLM3D以及图7(d)BM4D方法去噪之后结果相对平滑,对比参照图像有更多的细节信息被平滑,这个结果与图5,图6所展示的一致.图7(c)中LRMR在去噪之后保留了更多的细节,但是可以发现相比于参考图像的曲线来说,LRMR的结果还有更多毛刺的地方,即有较多噪声未被去除.图7(f)中3DADCNN的结果也具有许多毛刺的地方.同样,从图5和图6也可以看出类似的结论.而本文所提出的方法ARED-VGG与HSID-CNN更加接近参考图像的光谱曲线,但是可以看到,本文所提出方法在数据前50波段以及第150个波段左右的表现更加的接近参考图像的曲线,也恰好同表1中ARED-VGG的定量结果一致.
表2给出各个方法的运行时间.可以看到,NLM3D和BM4D的运行非常耗时,而LRMR虽然运行时间较短,,但是传统方法难以并行化实现,无法完全发挥GPU的优势,相对于使用GPU的神经网络而言,运行时间相差较大.在基于神经网络的方法当中, HSID-CNN结构简单,运行速率较快.3DADCNN由于使用了大量的三维稀疏卷积核,参数量大,运行速度相对较慢.而本文提出的ARED-VGG具有注意力模块,运行速度略慢于HSID-CNN,但是仍快过3DADCNN,可以说在精度提升的条件下,同时具有较好的计算效率.
表2 噪声强度0.075情况下各方法运行时间
3.2 真实数据实验
为了进一步验证本文所提方法的有效性,本文中使用AVIRIS Indian Pines Data Set来进行真实数据验证,图像大小为145×145×200.该数据中前面的几个波段以及其他一些波段遭受到了不同程度的高斯噪声污染[27].由于真实数据没有参考图像,因此本文使用去噪后图像的地形分类准确率来进行判断,文献[28]的方法被用来作为分类器,所有方法都是相同的实验环境,OA以及Kappa系数作为分类精度的评价指标.
图8 Indian Pines 图像去噪结果波段(2,3,197)Fig.8 Results for the Indian Pines with bands (2,3,197)
图8给出了所有方法在波段(2,3,197)伪色图像的去噪结果.图8 中,(a)表示原始真实图像;(b)表示NLM3D;(c)表示LRMR;(d)表示BM4D;(e)表示HSID-CNN;(f)表示3DADCNN;(g)表示本文所提出的方法去噪后的结果.从图8中可以看到,HSID-CNN、3DADCNN以及本文所提出的方法ARED-VGG在处理真实图像上表现出了良好的性能,相比其他方法,在去噪效果以及视觉效果上都要明显优于其他方法.NLM3D和BM4D的结果相对平滑,LRMR去噪后细节有所保留,但是视觉上有光谱失真.表3中Origin表示的是去噪前Indian Pines的分类结果,所有的方法在数值上原始图像都有提升,其中本文所提出的ARED-VGG方法能够取得最好的分类结果,从而说明本文所提出的方法可以较好地去除图像中的噪声并且可以有效保持图像的细节信息.
3.3 网络结构的消融实验
为了验证引入感知损失以及注意力机制对去噪效果有一定的提升,本节主要对三种情况进行分析,分别是:(1) 网络仅包含VGG模块,表示为RED_VGG;(2) 网络中仅有注意力机制模块,表示为ARED;(3) 两个模块均没有的情况,表示为RED.本节所使用的实验数据以及评价指标与前两节相同,实验中所有的参数设置也相同.本节给出消融实验的定量结果,以此来反映去噪效果.表4给出的是相关的几种方法在仿真实验下噪声强度为0.075情况下的定量实验结果.
表3 Indian Pines分类结果
表4 噪声强度0.075情况下各方法定量结果
从表4中可以看到,RED 的结果最差,而使用了VGG模块以及使用了注意力模块的网络在结果上数值都有所提升,并且在同时使用两个模块时的数值提升比较大.通过分析可以发现,在使用VGG模块的网络中结合注意力机制可以提升去噪后的MPSNR值,虽然结构相似度的值没有得到提升,但是二者的差距是非常小的;在使用注意力模块的网络中结合VGG模块后,可以发现两项指标均得到提升.在实验数据当中,RED-VGG的MSSIM最高,而MPSNR相比ARED-VGG较低.由于MPSNR更多体现去噪性能,MSSIM主要体现结构保持的性能,可能的原因在于引入注意力机制之后,对于网络模型噪声区域的辨识能力有所提升,从而改善了去噪性能,但是在此同时,也损失了一些结构,降低了MSSIM.
表5表示的是几个不同方法去噪后使用同上一节相同的分类方法进行分类后的数值指标,评价指标依然与上一节相同,以此来进一步反映算法去噪性能.从结果可以看到,相比于基础的RED结构,其他方法在数值上都有一定的提升,能够说明注意力机制以及VGG网络在遥感图像去噪中是有效的.同时从以上的分析中可以发现本文在方法以及网络结构上依然有许多需要提升的地方,以便得到更好的去噪后的结果,这也是需要进一步努力的方向.
表5 Indian Pines 分类结果
4 结 论
目前深度学习正逐步应用于遥感图像去噪领域,针对目前一些基于深度学习遥感图像去噪网络缺乏判别能力以及去噪后细节缺失等问题.本文结合注意力机制、残差自编码器结构和感知损失,提出了一种新的深度学习网络模型(ARED-VGG)用于解决遥感图像去噪问题.将注意力机制应用于去噪,可以进一步使得网络更加专注于图像的重要特征以及细节信息.感知损失可以使得去噪后的图像更加清晰.通过与NLM3D,BM4D,LRMR和HSID-CNN等方法进行对比实验验证以及对网络结构进行消融实验分析,本文所提出的方法可以有效地去除遥感图像噪声并保持图像细节和光谱信息.有利于进一步将遥感图像应用于检测、分类等相关工作.由于本文所研究的遥感图像去噪是基于加性高斯白噪声,后续的研究将致力于对不同噪声水平噪声以及存在于遥感图像中复杂真实的混合噪声进行研究,以进一步将该领域的研究成果应用于更多的实际场景.