1.一种基于生成对抗网络的图像去噪方法,其特征在于,包括以下步骤:
步骤1:选取实验数据集,确定与其相关的训练数据集和测试数据集;
步骤2:添加噪声模型,选取高斯加性白噪声作为噪声模型;
步骤3:搭建生成网络模型,训练生成器G用于去噪,输入噪声图像,生成得到去噪图像;
步骤4:搭建判别网络模型,判别器D用于对输入图像进行真伪分类,输入去噪图像和真实图,对二者进行判别,输出映射到[0,1]的概率分数;
步骤5:构建联合损失函数模型,即将像素损失、特征损失、对抗损失和平滑损失与适当的权值相结合,形成新的细化损失函数;
步骤6:训练生成式对抗网络,通过对网络参数进行优化,找到网络性能最优的参数;
步骤7:图像去噪质量评价,使用视觉评价和峰值信噪比PSNR、结构相似性SSIM两种客观评价指标作为综合评价标准,度量去噪性能。
2.如权利要求1所述的一种基于生成对抗网络的图像去噪方法,其特征在于,所述步骤
1中选用VOC2012数据集作为训练数据来源,通过翻转、水平旋转和垂直旋转的手段扩大数据集,使用Kodak24和CBSD100两种标准图像数据集作为测试数据来源。
3.如权利要求2所述的一种基于生成对抗网络的图像去噪方法,其特征在于,所述步骤
2具体包括添加σ=15,25,35,45,55的高斯噪声,与真实图组成20000组大小为256×256的训练图像对,通过使用OpenCV中提供的RNG类,生成符合高斯分布的噪声矩阵,再将此噪声矩阵叠加到无噪图像,得到含有高斯噪声的图像。
4.如权利要求3所述的一种基于生成对抗网络的图像去噪方法,其特征在于,所述步骤
3中生成器G输入的是256×256的彩色图像,首先使用三个由卷积层、批量标准化、Lrelu激活函数构成的组合进行特征提取;核心去噪模块由五个残差块组成,每个残差块包含两个卷积层,批量标准化和Lrelu激活函数,使用跳跃连接提高网络的训练效率和收敛性能,跳跃连接将输入提供给深层网络;最后是三个亚像素卷积层,每个亚像素卷积层对应于网络前端的卷积层,图像的大小从64×64调整到128×128,最终图像输出大小被恢复到256×
256;具体步骤如下:
第一个卷积层输入256×256的彩色噪声图像,输出尺度为9*3*32*1,卷积核大小为9*
9,步幅为1,BatchNorm批量标准化,LRelu激活函数;
第二个卷积层输入第一层的输出特征,输出尺度为3*32*64*1,卷积核大小为3*3,步幅为1,BatchNorm批量标准化,LRelu激活函数;
第三个卷积层输入第二层的输出特征,输出尺度为3*64*128*1,卷积核大小为3*3,步幅为1,BatchNorm批量标准化,LRelu激活函数;
第三层的输出特征输入到第一个残差块中,输出尺度为3*128*128*1,卷积核大小为3*
3,步幅为1,BatchNorm批量标准化,LRelu激活函数;
第一个残差块的输出特征输入到第二个残差块中,输出尺度为3*128*128*1,卷积核大小为3*3,步幅为1,BatchNorm批量标准化,LRelu激活函数;
第二个残差块的输出特征输入到第三个残差块中,输出尺度为3*128*128*1,卷积核大小为3*3,步幅为1,BatchNorm批量标准化,LRelu激活函数;
第三个残差块的输出特征输入到第四个残差块中,输出尺度为3*128*128*1,卷积核大小为3*3,步幅为1,BatchNorm批量标准化,LRelu激活函数;
第四个残差块的输出特征输入到第五个残差块中,输出尺度为3*128*128*1,卷积核大小为3*3,步幅为1,BatchNorm批量标准化,LRelu激活函数;
第一个反卷积层输入第五个残差块的输出特征,输出尺度为3*128*64*1,卷积核大小为3*3,步幅为1,BatchNorm批量标准化,LRelu激活函数;
第二个反卷积层输入第一个反卷积层的输出特征,输出尺度为3*64*32*1,卷积核大小为3*3,步幅为1,BatchNorm批量标准化,LRelu激活函数,在第二个反卷积层和第一个卷积层添加跳跃连接;
最后一层为卷积层,输入第二个反卷积层的输出特征,输出尺度为9*32*3*1,卷积和大小为9*9,步幅为1,通过Tanh激活函数输出去噪的图像。
5.如权利要求4所述的一种基于生成对抗网络的图像去噪方法,其特征在于,所述步骤
4中的判别器D由5个卷积层组成,使用了卷积层和批量标准化和LReLU激活组合作为基础,从Conv-BN-LReLU集合中计算图像特征,通过在末尾的Sigmoid函数将其映射到归一化为[0,1]的概率分数;具体步骤如下:第一个卷积层,输入为生成的字体图像和源目标字体图像,输出尺度为4*3*48*2,卷积核大小为4*4,步幅为2,BatchNorm批量标准化,Lrelu激活函数,零填充为1;
第二个卷积层输入第一层的输出特征,输出尺度为4*48*96*2,卷积核大小为4*4,步幅为2,BatchNorm批量标准化,Lrelu激活函数,零填充为1;
第三个卷积层输入第二层的输出特征,输出尺度为4*96*192*2,卷积核大小为4*4,步幅为2,BatchNorm批量标准化,Lrelu激活函数,零填充为1;
第四个卷积层输入第三层的输出特征,输出尺度为4*192*384*1,卷积核大小为4*4,步幅为1,BatchNorm批量标准化,Lrelu激活函数,零填充为1;
最后一个卷积层输入第四层的输出特征,输出尺度为4*384*1*1,卷积核大小为4*4,步幅为1,BatchNorm批量标准化,零填充为1,通过Sigmoid激活函数输出判别结果。
6.如权利要求5所述的一种基于生成对抗网络的图像去噪方法,其特征在于,所述步骤
5包括对生成式对抗网络修复过的去噪图像分别进行计算对抗损失和平滑损失,同时将去噪图像与真实图一起输入VGG16网络中进行特征提取并计算之间的欧氏距离获得特征损失,对抗损失、平滑损失和特征损失这三个损失值再与真实图与去噪图像之间的像素损失进行加权计算,最终得到联合损失函数值,具体为:像素损失是计算生成图像与真实图对应像素之间的欧氏距离,当给定C个通道且大小为W×H的成对图像{x,yb},x表示输入的噪声图像,yb表示相应的真实图, 表示训练过的生成器G的输出,像素损失Lp定义为式(3):特征损失Lf是根据从VGG16网络的Conv2层中提取出的图像特征进行计算,将两张图像分别投入VGG16网络中,然后求解两张特征图像之间的MSE,设某一层的输出大小为Ci×Wi×Hi,同理,特征损失定义为式(4):对抗损失La是为了使生成器G产生更好的输出来欺骗判别器D,假设给定N幅生成器生成的去噪图像 对抗损失La定义如式(5):平滑损失LS用于防止相邻像素之间的巨大差异,减少图像中的棋盘效应,计算平滑损失是将生成的图像的副本分别向左滑动一个单元和向上滑动一个单元,然后计算在水平方向和垂直方向上移位图像与原图间的欧氏距离,对于C个通道且大小为W×H的图像,平滑损失Ls可以表示为公式(6)的形式:式中:xl表示将生成图像最左列像素裁剪后所得图像;yr表示将生成图像最右列像素裁剪后所得图像;xu表示将生成图像顶行像素裁剪后所得图像;yd表示将生成图像底行像素裁剪后所得图像;
最终联合损失函数定义如式(7):
L=λaLa+λpLp+λfLf+λSLS (7)式(7)中,λa、λP、λf、λs依次为对抗损失、像素损失、特征损失、平滑损失的权重系数。
7.如权利要求6所述的一种基于生成对抗网络的图像去噪方法,其特征在于,所述步骤
6基于Tensorflow框架完成模型的搭建并在NVIDIA GTX 1080的GPU上训练,具体包括:获取训练样本集 其中,N=20000为训练样本总数;初始化训练迭代次数T=200,批处理样本数m=4,学习率设置为0.0002;在训练期间,将数据集 中的训练数据作为生成器G输入,通过前向传播算法计算输出;将生成器G输出与对应的真实图同时输入判别器D中,利用前向传播算法获得相应输出;计算判别器D损失 和生成器G损失Li;训练过程中使用Adma优化算法进行网络参数的优化,其中β1=0.9,以1:1的比例交替优化生成器G和判别器D,利用Adam算法更新生成器的参数: 利用Adam算法更新判别器的参数: 通过不断地参数调节,将损失函数的权重设置为λa=0.5,λP=
1.0,λf=1.0和λs=0.001;根据迭代次数遍历整个训练样本集,保存训练好的网络模型的结构及参数。