江巨浪,严华锋,刘国明
(安庆师范大学 电子工程与智能制造学院,安徽 安庆 246133)
数字图像的获取或传输过程不可避免地受到噪声干扰,从而影响图像的视觉质量及图像处理的后续任务。研究如何从受到噪声干扰的图像中恢复原始信息无疑具有重要意义[1]。图像去噪方法通常可分为两大类,即基于图像先验的传统去噪方法和基于深度学习的去噪方法。前者是基于噪声的统计信息并通过设计滤波器来实现去噪,如中值滤波器、均值滤波器以及其众多的改进算法。上述滤波器模型仅考虑噪声统计特性,而忽视了图像自身结构和卷积核的尺寸选择对保留图像特征的重要影响[2]。块匹配三维滤波(Block-matching and 3D filter,BM3D)技术是一种有代表性的传统图像降噪算法[3],在保留图像细节特征上性能较好,但计算复杂度较高。基于深度学习的去噪方法,一般是通过利用成对的训练集训练网络,并学习噪声图像与去噪图像间的映射关系以实现去噪[4]。近年来,基于深度卷积神经网络的方法取得了较传统方法更好的去噪效果。DnCNN(Denoising convolutional neural network)是一个经典的高斯噪声去噪网络模型,其通过引入残差思想来提升网络收敛速度并解决梯度消失的问题[5]。FFDNe(tFast and flexible denoising convolutional neural network)是一种快速与灵活的去噪网络模型,其对于图像的噪声水平与空间复杂变化有着良好的适应性[6]。基于传统滤波器和特征学习的去噪方法,大多数是以仿真噪声为研究对象。自然图像中的真实噪声与仿真噪声存在较大差异,因此基于仿真噪声设计的网络在去除真实噪声上效果并不理想。为去除图像真实噪声,XU等先后提出了一个在加权核范数最小化框架下真实彩色图像去噪的多通道优化模型(Multi-channel weighted nuclear norm minimization,MCWNNM)[7],和基于三边加权稀疏编码方案的真实图像去噪算法(Trilateral weighted sparse coding,TWSC)[8]。然而,真实噪声图像与干净图像的配对训练集难以获取,使得针对真实噪声去除的深度学习方法难以取得实效。GUO 等提出了卷积盲去噪网络(Convolutional blind denoising network,CBDNet),其由噪声估计和噪声去除两个子网络组成,采用人工合成噪声和真实噪声的图片进行联合训练,在一定程度上提高了网络泛化能力[9]。蔡鑫鑫等提出了一种结构保持生成对抗网络模型,能够有效去除频域光学相干断层扫描(SD-OCT)中的散斑噪声[10]。本文针对去除真实图像噪声的实际需要,提出了一种基于生成对抗网络的图像真实噪声去除算法,以进一步提高算法去噪性能。该算法采用真实噪声图像训练集,并利用博弈思想来训练网络模型。实验结果表明,该算法去除真实图像噪声的性能要优于其他同类算法。
本文算法将生成网络Gα与判别器网络Dα进行联合训练,网络架构如图1所示。生成器Gα将含噪图像作为输入,并输出去噪图像。判别器Dα以原始图像和去噪图像为输入,而输出是位于[0,1]的一个数值,用于表征去噪图像与原始图像之间的相似概率。将Gα与Dα联合训练可以在提高Gα去噪性能的同时,保留图像细节,同时Gα能在与Dα的博弈中解决丢失高频特征的问题。此外,本文还设计了一个增强网络Gγ,其以Gα的输出图像作为输入,可使生成的图像有更高的去噪性能与视觉质量。
算法性能的优劣在较大程度上依赖于生成网络设计[11]。本文利用U-net 和残差密集块(Residual dense block,RDB)来构建生成网络,其结构如图2 所示,其中,参数k、n和s分别表示卷积核的尺寸、滤波器个数以及步长。U-net是一种具有编/解码的全卷积神经网络,与普通的编/解码结构相比,其能通过跳跃连接将提取到的特征图进行拼接,从而保留像素级的细节信息[12]。RDB 是一种通过密集连接卷积层来提取丰富局部特征的网络结构[13]。生成器网络由结构相同的上下两层卷积神经网络所构成,有利于提取更丰富的图像结构特征,而编/解码器通过对称卷积使得含噪图像和去噪图像的维度相同。RDB结构采用四个级联方式,最后一层卷积核尺寸为1*1,另外三层的卷积核大小为3*3,卷积步长设置为1,在各卷积层后接ReLU激活函数。
图2 生成网络Gα的结构图
判别器网络Dα用于判别样本是来自真实数据还是生成网络,其通过将结果反馈给生成器以改善去噪性能[14]。判别器以生成器所生成的去噪图像和原始图像为输入,而输出为两幅图像的相似度。判别器网络也是基于RDB设计的。RDB能够自适应地保留低频和高频特征,有助于Dα判别原始图像和生成图像的相似度。判别器结构如图3所示,采用4个RDBSN模块级联以充分提取图像的细节特征,其中,RDBSN 模块最后一层卷积核的尺寸为1*1,其他层卷积核尺寸为3*3,步长设置为2 以加快网络速度。滤波器个数依次为64、128、256 和512。为了提高判别器稳定性,在每一个卷积层后通过SN(Spectral normalization)对网络权值进行归一化处理[15]。最后一层为sigmoid层,其输出值越接近于1,则表明其生成的图像与原始图像的相似度越高。
图3 判别网络Dα的结构
增强网络Gγ通过三级生成网络Gα级联结构来获得更好的图像特征信息融合,其通过跳跃连接加速了网络收敛速度。当生成网络Gα与判别器网络Dα的联合训练结束后,可通过增强网络Gγ以得到最终图像去噪结果。Gγ是端到端的神经网络,能够进一步提升生成网络Gα所输出的去噪图像质量。
图4 增强网络Gγ的结构
采用包含真实噪声的图像数据集FMD和RENOIR作为训练集。其中,FMD数据集包含240幅自然图像[16],RENOIR数据集包含220幅图像[17],所采用的图像均具有丰富的纹理和边缘特征。在训练过程中,训练集的图像被随机裁剪为512×512 大小,网络的初始学习率为0.001,迭代次数上限设置为10 000,批处理大小为64,采用Adam 算法以更新梯度,并使用学习率衰减。实验平台是Windows10、GPU为NVIDIA GeForce RTX 3050 Ti,软件环境是基于Python3.6、CUDA9.0和Pytorch1.0。分别使用SIDD 与DND 两种真实图像噪声的公开数据集对所提算法的性能进行测试。SIDD 数据集是由PLOTZ等使用5种智能手机拍摄了多种场景在不同光照条件下的带噪声图像集,并提供了部分对应的“无噪声”真实影像[18]。DND数据集是TOBIAS等用不同传感器尺寸的消费级相机所捕获的50幅真实噪声图像集,并包含对应的参考图像[19]。为了检测本文算法的性能优势,从近期相关文献中选择了适用于处理广泛噪声水平的FFDNet算法[6],以及针对去除图像真实噪声的MC-WNNM[7]、TWSC[8]、CBDNet[9]三种典型算法作为对比,用于进行图像去噪性能的比较与分析。
图4(a)为选自DND 数据集的一幅含真实噪声的原图像,图4(b~f)为不同算法的去噪效果。由于FFDNet 不是基于图像真实噪声训练的去噪网络,该算法的去噪效果相对较差,有明显噪声残留且边缘保持能力不佳。MCWNNM 与TWSC 两种算法都是基于去除真实图像噪声而提出的。其中,由于MCWNNM依赖于图像先验知识且缺乏特征重建结构,图4(c)在视觉上存在少量的噪声遗留和图像细节丢失。由于TWSC采用权值矩阵来表征真实噪声和图像先验的统计量,故图4(d)的去噪效果优于MCWNNM。CBDNet采用真实噪声与干净图像配对来训练卷积盲去噪网络,使其对噪声的去除能力有进一步提升,这体现在图4(e)的去噪结果比前几种算法有更少的噪声残留。观察本文算法的去噪结果,可以看出图4(f)对图像真实噪声的清除效果良好,能够使图像边缘与细节信息得到有效恢复,明显提高了图像细节的可见性,处理后的图像具有令人满意的视觉质量。
图4 图像真实噪声的去噪效果。(a)含噪声原图像;(b)FFDNet;(c)MCWNNM;(d)TWSC;(e)CBDNet;(f)本文算法
采用峰值信噪比(Peak signal to noise ratio,PSNR)和结构相似度(Structural similarity index measurement,SSIM)作为算法性能的评价指标。去噪测试图像分别选用了DND数据集中50对真实噪声图像和参考图像,以及SIDD数据集中160幅噪声图像与参考图像。采用本文算法与对比算法分别处理以上两个数据集,获得的PSNR和SSIM性能指标平均值如表1所示。一般来说,PSNR值越大,表明噪声抑制效果越好;SSIM 值越大,表明图像的边缘结构恢复效果越好。按照PSNR 与SSIM 的数值从小到大次序,对应算法依次为FFDNet、MC-WNNM、TWSC、CBDNet与本文算法。其中,在DND数据集的PSNR评价指标上,本文算法较其他四种算法和提高了13.73%、4.84%、3.32% 与2.94%,在SIDD 数据集的测试结果中分别提高了56.41%、50.16%、17.89% 和15.98%。在DND 数据集SSIM 评价指标上,本文算法较其他四种算法提高了12.77%、2.17%、1.40 和1.29%,在SIDD数据集中分别提高了50.34%、14.40%、8.03%和7.92%。结果表明,本文算法在两项去噪性能参数上均明显优于其他同类算法,这与图4的主观评价结论相吻合。
针对真实图像噪声的去噪需要,本文提出了一种基于生成对抗网络的图像噪声去除算法。该算法利用残差密集块来提取与融合图像特征,可保留更多的图像信息。通过生成网络与判别网络的联合训练以实现图像去噪,最后使用增强网络来进一步提升图像质量。同时采用含真实噪声的图像以进行去噪测试实验,并与FFDNet、MCWNNM、TWSC和CBDNet四种算法进行对比,结果表明本文算法用于去除图像真实噪声能够获得更高的PSNR和SSIM值,且输出图像有更高的视觉质量。