Image Denoising via CNNs: An Adversarial Approach


传统的图像去噪算法大多需要知道噪声的先验知识,如高斯滤波通常对高斯噪声有效,而中值滤波通常对椒盐噪声有效等.文献提出了使用卷积神经网络的图像盲去噪模型,不需要先验信息,输入为单幅含噪图像,输出为清晰图像,模型结构图如下:

Image Denoising via CNNs: An Adversarial Approach

模型结构包括两部分:

(1)多尺度特征提取:

Image Denoising via CNNs: An Adversarial Approach

使用多个不同大小的卷积核获取图像特征,以去除噪声的影响,并将所有的特征串联.每个卷积核层的output channels分别为:32,40,48,56 和 64.

(2)使用多个卷积层重建图像,而没有任何spatial resolution.

训练过程

训练过程包括以下三部分:

(1)Clean-to-clean reconstruction

输入图像为清晰图像,输出图像为清晰图像,目的是使得模型能够学习重构图像的特征,这样使得模型能构重构输入图像.但是为了阻止模型仅仅学习到输出自身图像的函数,在多尺度特征提取层后,设置一个很大的学习率,dropout=0.7.由于本层的任务是训练多尺度特征层以提取图像特征,因此将figure1的skip connection 短路,使得中间的,,无效,从而模型为4层,分别为多尺度特征提取层,底部的,,.

(2)Noisy-to-clean reconstruction

输入为噪声图像,输出为清晰图像,即使得模型能在输入噪声图像的时候,能构重构清晰图像.训练过程为,移除上一个训练过程添加的dropout层,并将上个训练过程的多尺度特征层的参数固定.模型结构如figure1所示,相比于过程(1),添加了中间的中间的,,层,这是为了使得滤波器能够对噪声敏感.此外,如figure 1所示,在第5,第6层采用 正则化,取p=0.1.除了最后一个层的output channels为1,中间和底层的卷积层的output channels为128.

训练结果如下:

Image Denoising via CNNs: An Adversarial ApproachImage Denoising via CNNs: An Adversarial Approach

(3)Adversarial training

为了进一步优化模型去噪性能,引入对抗网络训练策略(Adversarial training of neuralnetworks,文献8).对抗网络目标函数为:

Image Denoising via CNNs: An Adversarial Approach

本文生成网络为figure 1的 denoising model,权重初始化为过程(2)的模型,输入为噪声图像,输出为清晰图像,判别网络用于判别输入图像是清晰图像还是噪声图像,

Image Denoising via CNNs: An Adversarial Approach

目标函数如下:

Image Denoising via CNNs: An Adversarial Approach

Image Denoising via CNNs: An Adversarial Approach

式中,分别为清晰图像,含噪图像.

为了使得去噪图像与清晰图像尽量相似,文章添加了一个L2约束:

Image Denoising via CNNs: An Adversarial Approach

式中,为去噪图像,为图像大小.

这样总的目标函数为:

Image Denoising via CNNs: An Adversarial Approach

式中,s=0.99.

判别网络的设计

判别网络采用VGG19(文献22),模型中全连接层被三个新的层,大小为2048,1024,2代替,这三个层采用随机初始化权重.训练中,VGG19的卷积层参数保持不变,仅仅更新全连接层的参数.

文献与核心去噪算法,如BM3D,WNNM等进行去噪结果对比:

Image Denoising via CNNs: An Adversarial Approach