面向图像去噪的深度双层群稀疏编码网络

2023-11-20 10:58方祯煜尹海涛
计算机工程与应用 2023年21期
关键词:编码神经网络深度

方祯煜,尹海涛

南京邮电大学 自动化学院、人工智能学院,南京 210023

受成像环境以及成像设备物理技术限制等因素影响,获取的图像往往含有噪声干扰,不仅降低了图像视觉效果,同时还破坏了图像结构,不利于后续的图像识别、检测和分割等任务。图像去噪旨在从噪声图像重构出干净的图像,能有效提高图像质量,在遥感影像[1]、医学诊断[2]以及视频监控[3]等领域具有重要的应用价值。

图像去噪一直是计算机视觉领域研究热点,国内外研究人员提出了一系列的去噪方法。现有去噪方法大致可以分为三类:基于滤波的方法、基于变分优化的方法、基于深度学习的方法。基于滤波的方法通过滤波器将噪声从图像中分离出来,从而达到去噪目的。例如,高斯滤波[4]、双边滤波[5]、非局部均值滤波[6]、BM3D[7]等。基于滤波的方法计算代价较低,但是针对高强度噪声的性能欠佳。基于变分优化的方法核心思想是将图像去噪任务转换成变分模型,并通过优化算法重构出干净图像。图像先验是变分优化方法的重要因素,比如全变分模型[8]、稀疏模型[9]、低秩模型[10]等。基于变分优化的方法能准确地定义图像去噪的任务模型,具有良好的模型可解释性。但是,优化求解仍需要手动设置参数,并且在实际应用中需要重新计算优化算法,计算代价较大。基于深度学习的方法主要采用深度神经网络将噪声图像映射到干净图像。由于深度神经网络强大的特征表示能力,此类方法取得了显著的性能提升。代表性的深度去噪网络包括基于残差连接的DnCNN[11]和FFDNet[12];含注意力机制的ADNet[13]和P3AN[14];基于多尺度网络的SHARP-Net[15];以及基于Transformer 的IPT[16]。然而,大部分基于深度学习的方法是数据驱动的,采用的深度神经网络通常是人为设计的,缺乏对图像去噪任务知识的理解,且神经网络的参数不可解释。

算法展开[17]是当前一种流行的深度神经网络构建方法,其核心思想是将变分模型的优化解展开成深度神经网络。可学习的迭代软阈值算法(learned iterative shrinkage and thresholding algorithm,LISTA)[18]是首次采用算法展开的深度神经网络,该算法将稀疏编码的迭代软阈值求解步骤转换成一种端到端的深度神经网络,并且通过监督学习实现对网络进行训练。LISTA 具有网络参数可解释、收敛速度快、测试计算代价小等优点。因此,LISTA中提出的算法展开技术被广泛应用到各种领域。例如,面向压缩感知的ISTA-Net[19]、面向图像去噪的CSCNet[20]和GroupSC[21]、面向遥感图像解混的U-ISTA[22]以及面向图像去模糊的DUBLID[23]等。可以看出,采用算法展开构建的深度神经网络源于变分优化模型,能准确地体现具体任务的领域知识。然而,现有基于算法展开的图像去噪方法中主要是基于单层稀疏编码模型,对图像中复杂特征结构的表示能力仍有很大提升空间。比如,GroupSC[21]利用了图像中的非局部相似性,但是对非局部信息之间的特异性表示性能欠佳。

针对上述问题,提出了一种基于双层群稀疏编码的深度图像去噪网络,简称TLGSC-Net。首先在现有群稀疏编码模型基础上,进一步对群稀疏系数进行稀疏编码,进而构建了一种基于双层群稀疏编码的图像去噪模型(TLGSC)。该模型不仅能刻画非局部信息之间的相似性结构,同时对其特异性也能进行有效地表达。然后,将TLGSC模型的优化解展开成一种“端到端”深度神经网络,即TLGSC-Net。采用监督学习方式对TLGSCNet进行训练。在几个常用数据集上的不同强度去噪对比实验验证了所提TLGSC-Net算法的有效性。

1 相关工作

1.1 LISTA网络

然后,将公式(4)每次迭代展开为深度神经网络的每层,从而形成LISTA,如图1所示。

图1 LISTA网络框架Fig.1 Architecture of LISTA

1.2 群稀疏编码

针对多个信号的稀疏编码问题,传统稀疏编码模型通常对每个信号单独进行编码,忽略了多个信号之间的结构关联性。为了解决该问题,研究者们提出了群稀疏编码模型[24],并通过ℓ2,1范数对多个信号进行联合稀疏编码,该模型能刻画多个信号之间的结构关联性。假设Y∈ℝn×k为k个n维信号。群稀疏编码将Y表示成Y=DA,其中稀疏系数矩阵A通过下面ℓ2,1范数优化问题求得:

2 提出的方法

首先提出一种基于双层群稀疏编码的图像去噪模型(TLGSC)。然后,通过算法展开技术将其转换成一种“端到端”的深度神经网络(TLGSC-Net),并对TLGSC-Net网络结构进行详细描述。

2.1 TLGSC模型

现有基于群稀疏编码的图像去噪方法通常在相似图像块上实现。针对噪声图像Y中第i个图像块pi(大小为n×n),在Y中搜索与其相似图像块,并将所有相似块定义为矩阵Pi∈ℝn×m,其中m表示相似块个数(包含pi在内)。传统群稀疏编码将Pi表示为Pi=DAi,其中,字典D∈ℝn×M。群稀疏系数矩阵Ai∈ℝM×m中所有列具有相同的支撑集,该稀疏特征能刻画Pi中图像块之间的相似性。然而,单层的群稀疏编码对相似图像块之间的特异性刻画还不够充分,即对每个图像块特有的局部结构特征。针对该问题,提出了一种双层群稀疏编码模型TLGSC,其核心思想是对Ai进一步进行稀疏编码。为了叙述方便,将TLGSC 的编码过程表示为:

其中,A1为图像中所有图像块P在字典D1作用下的群稀疏系数,A2为A1在字典D2作用下的稀疏系数。问题(11)可以通过下面的A1-子问题和A2-子问题进行交替求解。

(1)A1-子问题:固定A2,关于A1的优化子问题为:其中,上标j表示矩阵的第j行。为了方便叙述,将迭代公式(16)的计算过程定义为算子Gλ1(M)。

(2)A2-子问题:固定A1,关于A2的优化子问题为:

通过交替迭代计算A1-子问题和A2-子问题至到满足终止条件,从而获得稀疏系数矩阵A1和A2。此外,为了更加有效地利用中间结果,P也随算法迭代进行更新,利用Pk=D1D2Ak2+ωk D1Ak1替代问题(14)中的P。最后,将重构的图像块转化成去噪图像X^ 。整体的求解过程可以归纳为算法1。

算法1 基于双层群稀疏编码的图像去噪算法

2.2 TLGSC-Net

利用算法展开技术将算法1 的求解步骤转化成深度神经网络TLGSC-Net。具体来说,TLGSC-Net的每层对应算法1中的每步迭代,网络的推理过程与优化迭代过程一致。所提网络参数与优化模型中参数具有同样的数学定义,从而,所提网络参数具有可解释性,并且TLGSC 模型的去噪知识融入也到深度网络中。图2 为TLGSC-Net整体架构,包含若干个TSC-Block组成。第k个TSC-Block 由Ak1-模块、Ak2-模块和重构模块(Rk-模块)组成,具体描述如下。

图2 TLGSC-Net结构图Fig.2 Architecture of TLGSC-Net

(1)Ak1-模块:该模块对应A1-子问题(14)的优化解,其主要功能是对迭代优化解(16)进行展开。假设深度展开次数设为T1。则Ak1-模块由T1层组成,每层计算如下:

其中,D2表示卷积操作,UT2表示反卷积操作。然后,将式(21)每次迭代深度展开为Ak2-模块的每层。该模块的输出作为Rk-模块的输入。

(3)Rk-模块:该模块用于重构每个TSC-Block 的去噪结果。为了能有效利用中间结果并进一步提升网络性能,Rk-模块采用跳跃连接将Ak1-模块和Ak2-模块的输出进行综合更新Pk。对应的数学表达式为:

其中,f(Y;Θ)表示深度网络的输出图像,Θ表示全体可学习的网络参数,Y为噪声图像,X为干净参考图像。此外,通过服从正态分布的随机矩阵来初始化字典D1和D2,并通过D1和D2的最大奇异值对其进行归一化。采用Pytorch 深度学习框架实现TLGSC-Net,并在GeForce RTX 3080 GPU上进行网络的训练和测试。

所提的TLGSC-Net 与LISTA 之间不同地方主要体现在如下两个方面:(1)面向的优化问题不同,LISTA和TLGSC-Net 分别面向ℓ1范数问题(1)和ℓ2,1-ℓ1范数问题(10)。与ℓ1范数问题相比,ℓ2,1-ℓ1范数问题不仅利用了多源信号之间的内在相似关系,同时还能刻画相似信号之间的特异性。(2)网络架构不同,LISTA由迭代软阈值算法展开得到,网络呈现单层展开结构。而TLGSC-Net呈现“内外”两层展开结构,其中内层展开是指公式(16)和公式(18)的展开,外层展开是指TSCBlock的级联。

3 实验结果与分析

3.1 实验设置

实验主要包括灰度图像去噪和彩色图像去噪两部分,具体的训练和测试设置如下:

(1)灰度图像实验:训练集BSD400,测试集包括BSD68、Set12和Urban100。在该实验中,TLGSC-Net的卷积核大小为9×9,卷积核个数为128。训练时,从图像中随机选取大小为64×64 图像块。采用Adam 优化器,epoch 和batch size 分别设为300 和16。初始学习率设置为6×10-4,并且每经过80个epoch,学习率衰减0.35倍。对 比 算 法 包 括BM3D[7]、DnCNN[11]、CSCNet[20]、GroupSC[21]和NSR[25]。

(2)彩色图像实验:训练集为CBSD400,测试集包括CBSD68、Kodak24和Urban100。在该实验中,TLGSCNet 卷积核大小为7×7,卷积核个数为128。训练时,从图像中随机选取大小为56×56图像块。采用Adam优化器,epoch和batch size分别设为300和8。学习率设置与灰度图像实验一致。对比算法包括CBM3D[7]、DnCNN[11]、CSCNet[20]、GroupSC[21]和NSR[25]。

通过对干净图像添加高斯噪声σ={ }5,25,50,75 合成噪声图像。实验中采用峰值信噪比(PSNR)和结构相似性(SSIM)指标对去噪性能进行客观评价,其中PSNR和SSIM的值越大表示去噪效果越好。

3.2 实验结果及分析

3.2.1 灰度图像实验结果

表1 给出了各种算法在BSD68、Set12 和Urban100数据集上平均PSNR和SSIM指标结果。(1)针对BSD68数据集,当σ={5 ,25,75} 时,所提算法取得最好的PSNR和SSIM 值。当σ=50 时,所提算法的PSNR 值略低于NSR,但仍取得最佳的SSIM 值。(2)针对Set12 数据集,当σ={2 5,75} 时,所提算法的PSNR 和SSIM 均取得最佳结果。尤其当σ=25 时,所提算法比CSCNet的PSNR高0.4 dB。当σ={5 ,50} 时,所提算法取得次优结果,指标值略低于NSR 算法。(3)针对Urban100 测试集,当σ={5 ,75} 时,所提算法的PSNR 和SSIM 均取得最佳效果。从整体上来看,所提算法相比其他对比算法具有一定的去噪优势。

表1 灰度图像实验中各种算法的性能指标对比(平均PSNR/SSIM)Table 1 Indexes comparisons of various methods in gray image(average PSNR/SSIM)

图3 给出了不同算法在BSD68、Set12 和Urban100数据集上去噪结果图。其中,第1~2行为BSD68数据集去噪结果图,第3~4行为Set12数据集去噪结果图,第5~6行为Urban100数据集去噪结果图。同时,每个结果中给出了局部放大区域,用于去噪结果的细节对比。BM3D和CSCNet 的去噪结果存在一定的模糊,如图3(c)和图3(e)中的“豹子”图像的树干含有较为明显的噪声点。DnCNN 和GroupSC 的去噪结果丢失了图像的边缘信息,如图3(d)和图3(f)中的“房屋”图像的烟囱部分纹理模糊不清。NSR的去噪结果仍存在一定的模糊、细节不清晰,如图3(g)中的“建筑”图像的窗户纹理部分较为模糊。相对而言,所提算法的去噪结果具有更好的细节效果。比如,图3(h)的“海星”图像的接缝处纹理细节较为清晰;“房屋”图像的烟囱部分有效地保留了图片的纹理信息,同时抑制了伪影,重构了更多的图像纹理信息。

图3 灰度图像实验中各种算法在不同数据集上去噪结果(σ=25)Fig.3 Denoised images of various methods on different datasets in gray image(σ=25)

3.2.2 彩色图像实验结果

表2 给出了不同的算法在CBSD68、Kodak24 和Urban100 数据集上平均PSNR 和SSIM 指标结果。在CBSD68 和Kodak24 测试数据集上,所提算法在不同噪声等级下均取得最佳的PSNR 和SSIM 值。特别地,(1)针对CBSD68数据集,所提算法在σ=75时比DnCNN的PSNR 提高了1.3 dB。(2)针对Kodak24 数据集,所提算法在σ=75 时比GroupSC 的PSNR 提高了1.16 dB。(3)针对Urban100 数据集,所提算法在σ={ }25,50 时的PSNR 值略低于NSR,但在σ=75 时比NSR 的PSNR 高0.2 dB。可以看出,所提算法在高噪声情况下去噪效果优于其他对比算法。

表2 彩色图像实验中各种算法的性能指标对比(平均PSNR/SSIM)Table 2 Indexes comparisons of various methods in color image(average PSNR/SSIM)

图4 给出了不同算法在CBSD68、Kodak24 和Urban100 数据集上去噪结果图。其中,第1~2 行为CBSD68 数据集去噪结果图,第3~4 行为Kodak24 数据集去噪结果图,第5~6 行为Urban100 数据集去噪结果图。CBM3D 的去噪图像存在一定的噪声点,如图4(c)的“帆船”图像的帆布较为模糊,存在较多的残留噪声。DnCNN、CSCNet以及GroupSC的去噪图像也存在一定的细节不清晰,如图4(d)~4(f)中的“大象”图像的皮肤部分丢失一些细节信息。NSR 去噪图像中的纹理细节清晰度不够,如图4(g)中的“建筑”图像的窗户边缘的纹理和细节部分较为模糊,边界不够明显。整体而言,所提算法去噪后的图像保留了更多的细节,视觉去噪效果要优于其他算法。比如,图4(h)中的“帆船”图像上帆布的褶皱边缘更加锐利,“花”图像中的花瓣的纹理部分更加清晰,“建筑”图像中的窗户部分保留了更多的细节。

表3 给出了各种深度学习算法在彩色图像去噪实验中的参数量对比。TLGSC-Net 在的参数量略大于CSCNet 和GroupSC,主要是由于TLGSC-Net“内外”两层展开结构造成。相对性能提升,这些参数的代价是可接受的。此外,与经典的DnCNN算法相比,TLGSC-Net参数量降低了68%,并且去噪性能也有所提升。

表3 各种深度学习算法参数量的比较Table 3 Comparison of number of parameter in various deep learning based methods

3.3 消融实验

本节介绍了所提TLGSC-Net 的消融实验,包括群稀疏编码展开迭代的次数T1、稀疏编码展开迭代的次数T2、交替迭代次数K、卷积核大小以及残差连接对图像去噪的影响。在消融实验中,CBSD68 作为测试集,噪声等级为25,PSNR作为评价指标。

(1)群稀疏编码展开次数T1:图5(a)给出了群稀疏编码展开迭代的次数T1为{8,10,12,14}的实验结果曲线。可以看出,T1为12时性能最优。

图5 TLGSC-Net主要参数的影响Fig.5 Effects of major parameters of TLGSC-Net

(2)稀疏编码展开次数T2:图5(b)给出了稀疏编码展开的次数T2为{5,6,7,8,9,10}的实验结果曲线。可以发现PSNR随着T2的增大而缓慢增长。为了平衡计算代价,T2设为8。

(3)交替迭代次数K:图5(c)给出了交替迭代次数的K为{1 ,2,3,4} 的实验结果曲线。可以看出,当K为3时性能最优。

(4)卷积核大小:图5(d)给出了卷积核大小分别为{7×7,9×9,11×11}的实验结果。从曲线可以看出,卷积核大小为7×7时获得最佳PSNR值。

(5)改进的残差连接影响:分别测试网络未采用残差连接和采用残差连接(本文提出的)的两种网络架构。未加残差连接和采用残差连接获得平均PSNR 结果分别为31.35 dB 和31.38 dB。从而表明采用本文提出的残差连接能提升去噪效果。

4 结束语

该文提出了一种可解释的TLGSC-Net 图像去噪网络。首先,提出了基于ℓ2,1-ℓ1范数的双层群稀疏编码去噪模型,该模型能有效提升群稀疏编码对图像中相似结构的表示能力。然后,利用算法展开技术将提出的去噪模型优化解展开成“端到端”的深度神经网络。此外,在多层结构之间引入了改进的残差连接,提升了TLGSCNet 网络训练的稳定性。在BSD68、Set12、CBSD68、Kodak24和Urban100等常用数据集上的大量实验表明,TLGSC-Net 比经典的深度学习方法以及基于算法展开的方法取得了较好的去噪结果。

猜你喜欢
编码神经网络深度
基于SAR-SIFT和快速稀疏编码的合成孔径雷达图像配准
深度理解一元一次方程
《全元诗》未编码疑难字考辨十五则
子带编码在图像压缩编码中的应用
神经网络抑制无线通信干扰探究
深度观察
深度观察
Genome and healthcare
深度观察
基于神经网络的拉矫机控制模型建立