APP下载

基于生成对抗网络的深度图像去噪

2023-08-10孙显文

计算机应用与软件 2023年7期
关键词:残差梯度卷积

孙显文 张 闯

(南京信息工程大学电子与信息工程学院 江苏 南京 210044)

0 引 言

目前,深度传感器越来越受到人们的重视。深度传感器具有低成本、实时性强的特点,有利于实现图像绘制、三维重建[1]、障碍物识别[2]等多种视觉任务。然而,在现有的大多数系统中,获取的深度图像往往会受到过多的噪声干扰,很难从中准确估计深度信息,因此深度图像去噪显得尤为重要。

在过去的几十年,人们提出了各种深度图像去噪算法。现有的算法可以分为两类:一类是传统的基于图像处理的方法;另一类是基于卷积神经网络的方法。文献[3]通过构建稀疏失真模型,计算深度图像稀疏系数,结合真实深度图像的学习字典,完成深度图像的修复。文献[4-5]利用RGB-D图像中的彩色信息来增强深度图像,这类方法有太大的局限性,首先彩色图像的质量要足够高,其次深度图像与其对应的彩色图像要高度相关。文献[6]提出一种基于卷积神经网络(Convolution Neural Network,CNN)的快速深度图像去噪算法。文献[7]利用高分辨率边缘图像引导深度图像通过马尔可夫随机场优化构建,在有效避免了纹理信息引入的同时,保留了锐利的边缘。

GoodFellow等[8]提出了一种生成对抗网络模型(Generative Adversarial Network,GAN),传统的GAN模型会产生模式崩溃[9-11]、超参数敏感[12]等问题。文献[13]在GAN中纳入条件信息(Pix2pix),通过引入像素级损失来改进网络,然而此种方式过于注重像素间的差异,导致生成的图像过度平滑、观感欠佳。文献[14]通过引入循环一致性约束来用于图像恢复,但未考虑图像细节的恢复处理,导致生成的图像细节部分缺失。文献[15]通过目标函数优化均方误差,从而产生了较高的峰值信噪比,但却无法捕捉图像的高频部分,难以达到令人满意的感知水平。文献[16]使用多对抗网络,通过多次训练迭代生成高质量的图像,但多对抗网络极易出现梯度爆炸、梯度消失等问题。文献[17]在非配对条件下,基于生成对抗网络实现图像增强,并设计了双判别器,对增强图像的整体和局部进行判别,以平衡整体和局部的增强效果。但该方法生成图像的边缘部分仍存在明显的伪影,且与参考图像相比存在一定程度的色彩失真。

针对上述问题,本文提出一种基于深度卷积生成式对抗网络的深度图像去噪算法,该网络由生成网络和判别网络构成。生成网络采用对称跳跃连接,加快网络训练速度。在卷积网络和转置卷积网络之间引入残差网络,并通过反复利用特征图来解决梯度爆炸和梯度消失的问题。在卷积网络和转置卷积网络中使用多尺度卷积核,提取图像更多层次的特征信息,从而使生成的图像更加清晰。在判别网络中使用步幅卷积代替池化层,减少模型的计算量,并在最后一层引入Sigmoid函数用于特征映射。在生成网络和判别网络的每一层卷积后都加入批量标准化,提升网络的稳定性。最后在损失函数中引入均方误差损失和梯度损失,通过对损失函数的优化,在得到更高峰值信噪比的同时,又能捕捉到图像的高频细节,从而使得生成的图像更加符合人眼主观感受。基于MCL-3D图像库的实验结果表明,PSNR和SSIM的平均值分别提高了16.5%、8.4%,生成的图像更加清晰,能够很好地恢复图像细节。

1 生成对抗网络

生成对抗网络包含两个网络,分别是生成网络和判别网络。在训练过程中,生成网络用于学习参考图像的数据分布并生成新的数据,生成网络的目标就是尽量生成与参考图像相近的图像去欺骗判别网络。而判别网络的目标就是将生成网络生成的图像与参考图像区分开,由此构成了一个动态的对抗过程,当判别网络无法区分生成图像和参考图像,即生成网络生成的图像足以以假乱真,则网络达到最优状态。生成对抗网络结构如图1所示。

图1 生成对抗网络结构

生成对抗网络的优化目标函数可以表示为:

Ez,P(z)[log(1-D(G(Z)))]

(1)

式中:Z是潜在表征;x是真实样本图像;P表示概率分布;E表示期望。

近年来,随着深度学习的兴起,深度卷积生成式对抗网络[18]将GAN网络与卷积神经网络结合,使得GAN广泛应用于图像生成、图像转换、图像增强和超分辨率等多种领域。深度卷积生成式对抗网络的结构与GAN网络类似,使用转置卷积神经网络作为生成器,卷积神经网络作为判别器,其优化目标函数可以表示为:

Ez,P(z)[log(1-D(G(z),y))]

(2)

式中:x是真实样本图像;y是输入进网络的失真图像;G(z)是生成的图像。

2 本文改进的生成对抗网络

本文提出一种基于深度卷积生成式对抗网络的深度图像去噪算法,首先在生成器中使用跳跃连接并引入残差网络,其次在判别器中使用步幅卷积代替池化层并引入Sigmoid函数,最后设计一种新的损失函数用来规范生成对抗网络,能够捕捉到更多的图像细节,从而生成高质量的深度图像。

2.1 生成对抗网络结构

生成网络通过跳跃结构连接相同尺寸的卷积层,这种连接方式能够加快网络的训练,防止网络陷入局部最优,减轻网络压力。随着网络层数的不断增多,网络性能也越来越好,但过多的网络层数不仅不会提高网络性能,还会导致梯度爆炸、梯度消失、模型退化等问题。为了解决这个问题,在卷积网络和转置卷积网络之间引入残差网络,使生成的样本更接近参考图像。

生成网络由三部分组成,分别为卷积网络、残差网络、转置卷积网络。卷积网络和转置卷积网络采用跳转连接的方式,加快网络训练速度。具体而言,生成网络的输入为失真的深度图,第一部分由卷积网络构成,首先采用一个平卷积层,四个下卷积块,每个卷积块有一个卷积层,从输入图像中提取特征属性。在每个卷积层中加入批量标准化和LReLU激活函数,加速学习过程以及增强模型的表达能力。LReLU激活函数可表示为:

第二部分由五个相同的残差网络单元构成,每个残差网络单元包含两个卷积层、两个批量标准化、一个ReLU激活函数和一个求和(sum)函数。每个残差网络单元的输出都与输入相加,将特征图重复利用,使网络能够更好地收敛。ReLU激活函数可表示为:

生成网络的最后一部分由三个转置卷积单元和一个转置卷积层组成,在每个转置卷积层中加入批量标准化和LReLU激活函数。生成网络结构如图2所示,其参数设置如表1所示。

表1 生成网络的参数设置

图2 生成网络结构

判别网络使用步长为2的卷积层代替池化层,一方面可以减少模型的计算量,另一方面池化层会导致一些信息的丢失。判别网络的输入为参考图像和生成网络生成的深度图像。判别网络采用6个卷积层来学习图像的特征,以区分真和假。前五个卷积层每层都加入批量标准化和Leaky ReLU激活函数,加速收敛,控制过拟合。在判别器的最后一层,将 Sigmoid激活函数用于特征映射,以便进行概率分析,并将判别结果归一化为[0,1],Sigmoid激活函数可表示为:

判别网络结构如图3所示,其参数设置如表2所示。

表2 判别网络的参数设置

图3 判别网络结构

2.2 损失函数

损失函数是用来评估模型的真实值与预测值的不一致程度,损失函数越小,模型的鲁棒性越好。本文在基于原始目标函数进行优化的同时,使用均方误差损失和梯度损失,以此来约束生成对抗网络,确保生成的数据更接近真实数据。

设{Ii,i=1,2,…,N}和{Ji,i=1,2,…,N}分别代表参考图像和失真图像,生成网络的原始目标函数即对抗损失定义如下:

(6)

式中:D(*)表示判别网络;G(*)表示生成网络。生成网络去噪的目的是在尽可能保持图像感知质量的同时减少失真,为了实现这个目标,我们使用了以下两个损失函数。

第一个损失函数是均方误差(MSE)损失函数,该函数使用PSNR来衡量预测图像和真实图像之间的差值,因此为了获得最优的PSNR值,使用MSE作为损失函数的一个分量,定义为:

(7)

考虑到边缘信息是影响视觉图像质量的重要因素,因为引入了梯度损失,函数定义为:

|Hy(G(Ji))w,h-Hy(Ii)w,h|2)

(8)

式中:w和h表示图像的宽和高;Hx(*)和Hy(*)分别表示图像在水平和垂直方向的梯度。

最后将对抗损失、均方误差损失和梯度损失的加权和定义为生成网络的总损失函数:

LG=λaLa+λmLm+λgLg

(9)

判别网络的损失函数定义为:

3 实验与分析

本文使用MCL-3D(2D图像+深度源)图像库中图像进行训练测试,针对五种不同类型的失真深度图像,训练出五种不同的GAN网络。在对每种类型的失真深度图像进行训练之前都会对网络参数进行初始化,避免之前的训练结果对当前训练产生影响。在训练过程中,利用Adam优化算法和反向传播机制进行参数的更新,直至最终收敛。为了验证本文算法的图像去噪效果,将本文算法与CycleGAN[14]、EGAN[17]进行对比,并从主观和客观方面进行分析。

3.1 实验数据集

MCL-3D图像库有9种不同的场景,每种场景有3组深度图和纹理图,它们是在3个不同的视点上拍摄的。本文算法针对图像库中的5种不同类型的失真深度图进行去噪,其失真类型分别为:加性白噪声(AWN)、高斯模糊(GB)、JPEG、JP2K、下采样模糊(DB),每种失真有4个级别,从最弱的1级到最严重的4级。由于图库中的图像尺寸过大,所以将每幅图像分割成24个256×256大小的子图像,8种场景做训练集,一种场景做测试集。为了避免过拟合,在训练时将图像进行旋转和平移,增加数据量,从而提高模型的泛化能力,总共46 656幅图像用于训练和测试。

3.2 实验环境与参数设置

本文以Pycharm为仿真平台,显卡为NVIDIA GeForce GTX 1660 SUPER GPU,batch size设置为4,优化算法采用Adam,学习率设置为0.000 1,在 TensorFlow[19]深度学习框架下完成实验。生成网络的损失函数权重参数如表3所示。

表3 损失函数的权重参数

3.3 实验结果对比

不同算法针对不同噪声的可视化结果如图4所示,这里只展示最严重的四级失真的去噪结果,从上到下代表5种不同噪声类型的去噪结果,分别是AWN、GB、JP2K、JPEG、DB。可以看出,虽然CycleGAN可以重建图像,但视觉效果相对模糊,不能反映纹理细节。EGAN算法生成的图像相比于参考图像产生了一定程度的色彩失真且仍有比较明显的残余噪声,影响了图像中的细节显示,如图中人物的身体边缘和柱子边缘等均产生不同程度的伪影和细节的缺失。与其他算法相比,本文算法有效地保留了图像中的细节,具有更高的清晰度。

图4 不同算法的可视化结果

3.4 图像质量客观评价

由于主观质量评价受光照、显示设备等的制约,无法反映出图像的整体质量,因此引入了客观评价指标。

实验选取峰值信噪比(PSNR)、结构相似性(SSIM)作为评价指标来说明算法性能的优劣e。PSNR是基于参考图像和失真图像之间的像素差异而提出的,峰值信噪比越高,说明图像质量越好。SSIM是一种客观的图像质量评价指标,相比于峰值信噪比,它更符合人眼视觉感受,SSIM的取值介于0~1之间,越接近1说明图像质量越好。不同算法的客观评价指标如表4和表5所示,每项指标均为9种场景的平均值。实验结果表明,本文算法对大多数类型的失真图像具有比较明显的效果,每种噪声的指标均有显著提升。由于在损失函数中引入了MSE损失函数,MSE使用PSNR衡量预测图像和真实图像的差值,所以,本文算法所生成图像的PSNR值均比其他算法高。而SSIM更加符合人眼视觉的感受,梯度损失的引入,有效提高了这项指标。

表4 客观评价结果(PSNR)

表5 客观评价结果 (SSIM)

3.5 损失函数的影响

为了生成高质量的深度图像,将损失函数进行对比,表6中的PSNR和SSIM均为5种类型失真图像的平均值。可以看出,本文设计的损失函数对PSNR和SSIM均有一定程度的提高。

表6 不同损失函数的影响

4 结 语

本文提出一种新的用于深度图像去噪的GAN网络,该网络由生成网络和判别网络构成,生成网络由卷积网络、残差网络、转置卷积网络构成,残差网络的引入,有效解决了模型退化等问题,卷积网络和转置卷积网络之间的跳跃连接,加快了网络收敛速度,提高了网络性能。判别网络由卷积神经网络构成,步幅卷积代替池化层,减少了模型的计算量。对于生成对抗网络的训练,本文提出一种新的损失函数,用于规范生成对抗网络,使得生成的图像更接近参考图像。实验结果表明,本文算法的PSNR和SSIM的平均值高于对比的算法,证明了算法的有效性。本文算法的提出将有助于解决后续的许多视觉问题,如三位重建、新的视图绘制、物体识别等。

猜你喜欢

残差梯度卷积
基于双向GRU与残差拟合的车辆跟驰建模
一个改进的WYL型三项共轭梯度法
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于残差学习的自适应无人机目标跟踪算法
一种自适应Dai-Liao共轭梯度法
基于递归残差网络的图像超分辨率重建
从滤波器理解卷积
一类扭积形式的梯度近Ricci孤立子
基于傅里叶域卷积表示的目标跟踪算法
平稳自相关过程的残差累积和控制图