从包含噪音的图像中去除未知噪音是一项充满挑战的工作,由于缺乏有效的训练数据使得这一领域面临许多问题。中山大学的研究人员们提出了一种“两步走”的框架,通过GANs训练输入图像的噪声分布来并利用生成的噪声样本生成了丰富的训练数据,并基于此训练了去噪深度神经网络实现了良好的图像盲去噪效果。
几种图像盲去噪算法的表现,右下角为本文结果。
一、图像盲去噪
图像去噪是早期视觉的重要问题,也是许多计算机视觉任务不可或缺的预处理阶段。对于含有噪音的图像y=x+v来说,图像去噪的任务是尽可能的减小观测图像y中的噪声v,得到清晰的出去噪声的图像x。对于图像来说,由于环境或者传感器的不确定性,噪声情况往往是未知的。例如手机在夜晚拍摄的照片就会受到这类噪声的影响。对于用户来说去除噪声对于提高用户体验也十分重要,这篇文章将主要探讨图像盲去噪的问题。
在图像去噪领域,基于先验知识的方法(例如BM3D)可以利用去除算法估计出的未知噪音水平,这种方法通过输入图像直接为图像先验建模实现了很好的结果。但这类方法存在很多不足,首先图像先验大多数由人类经验给定,图像的完整特征难以被获取;其次这类方法大多只利用了输入图像的内部特征而没有利用任何外部特征,而这些特征是可以用于在盲去噪的过程中进行适配的,这意味还有很大的提高空间。
除此之外只有很少几种方法研究了图像的盲去噪问题,例如Multiscal等方法。这些方法将噪声模型估计和自适应去噪算法结合起来。其中噪声建模是十分关键的部分,但这些方法也仅仅使用了单张图像的内部信息。同时显式地定义模型噪声也限制了这些方法的表现。
如果我们暂时先抛开盲去噪,那就不得不提到基于判别模型的去噪方法。这些方法主要基于深度卷积神经网络来实现,通过匹配好的训练数据学习出潜在的噪音模型,并得到了表现优异的深度去噪网络。值得一提的是基于CNNs的方法并不依赖于人类对于图像的先验经验,可以充分地利用神经网络的能力去探索图像,这打破了基于先验知识方法的限制并极大地提高了去噪算法的表现。通常情况下我们得到的图像包含着未知噪声,并且真实情况下的噪声情况极为复杂。利用现有模型并不能得到很好的结果,同时缺乏配对的训练数据集使得判别方法不能直接用于图像盲去噪的问题中去。
基于以上分析,研究人员提出了一个观点:是否可以利用包含噪声的图像构建出配对的训练数据集,那么图像盲去噪的问题就可以通过CNNs一样的判别模型来解决了。一种可能的解决办法是建立起一个能够为噪音图像建模的数据集并从中对噪音数据进行采样。高斯混合模型GMM是一种典型的方法,它被广泛用于噪声建模。但实验表明GMM通过学习生成的噪声与实际情况不是非常相似,这个问题需要更为强大的手段来为噪声建模。
这时候生成对抗网络GANs进入了研究人员的视野,GANs包含生成器和判别器两个对抗训练的部分,生成器负责生成难辨真伪的数据而判别器负责去伪存真。如果GANs可以用于建立训练数据那么就可以利用CNNs来实现图像盲去噪了。但通过GANs去学习干净图像到噪声图像映射的方法是行不通的,目前无法保证生成带噪声的图像内容不发生改变。于是研究人员提出了本文的重要观点:利用GANs来生成相同模式的噪声而不是噪声图片。
这一工作主要包含两部分,首先训练GANs估计输入图像中的噪声并生成噪声样本。其次,噪声样本与干净的图像合成配对的训练数据,而后用于深度去噪CNNs的训练。这样的方式解决的判别模型对于数据需求的重要问题。这篇文章的贡献主要在两个方面:
提出了一种基于GAN-CNN的联合方法实现了表现优异的图像盲去噪。在处理未知噪音时GANs被用于学习噪声构建关键的训练数据而CNNs则用于进行图像去噪;
作者表示这是目前第一个利用GANs的为噪声建模,GANs对于复杂分布的估计能力被用于学习隐含的噪声分布,克服了对于未知噪声利用显示模型描述的固有缺陷。
二、相关工作
这里邻域的相关工作主要分为基于图像先验的去噪方法、基于噪声模型的盲去噪方法以及基于判别模型的方法。基于图像先验的方法(BM3D)通过噪音图像直接为图像先验建模而实现未知噪音的去无需训练数据噪,但图像先验建模依赖于人工经验,并且只考虑了图像的内部信息;基于噪声模型的去噪方法通过结合噪声模型与自适应去噪方法来实现去噪,但其只利用了单张输入图像的内部信息来建立噪声模型,使得其去噪表现受到了限制。如果可以充分利用外部数据并建立更好的噪声模型,将会得到更好的结果。
判别模型充分利用了深度网络的能力和巨大数据集的外部信息取得了很好的效果,类似于DnCNN的方法通过训练残差来实现图像去噪。这类方法表现良好但需要大量的训练数据。
GANs被大量工作证明具有学习复杂分布的能力,但其训练过程复杂和缺乏稳定性。随着WGAN和DCGAN的提出这一情况正逐步得到改善。下面将具体阐述本文的方法。
三、基于GAN-CNN的盲去噪(GCBD)
本文的主要思路是通过噪声图像构建出训练数据,随后训练深度去噪网络来去除图像中的噪声。
在给定为配对的数据后,GAN从噪声图片中抽取出噪声单元并对其进行大量采样,随后将生成噪音单元、抽取噪音单元与干净图像融合用于去噪卷积神经网络的训练。
首先需要对图像中的噪声进行建模,需要将图像中的噪声抽取出来,并利用这些噪声单元训练GAN来生成新的噪声。噪声单元的获取主要利用通过平滑片元减去其均值得到(假设0均值)。由于图像中的平滑区域如天空、墙面等很多,所以可以保证抽取足够多的噪声单元用于GANs的训练。
在得到了噪音单元样本后,研究人员基于WGAN改进得到了WGAN-GP用于学习噪声分布,其损失函数如下:
网络架构如下图所示:
通过训练好的GAN网络可以得到新的训练样本yi=xj+v'k,其中xj为干净的图像单元,而v'k为生成的噪声,合成为包含噪声的训练数据用于训练去噪CNNs网络,其损失函数如下:
这一网络的输出是图像中包含的隐含噪声R,将输入yi减去R即可得到去噪后的图像:
四、实验结果
基于GAN-CNN的盲去噪方法取得了很好的去噪表现,并在BSD68,DND,NIGHT等数据集上与BM3D,EPLL,NCSR,WNNM,Multiscale和DnCNN等方法进行了比较:
最后研究人员分析了GANs生成多样性的噪声样本,比单独抽取图像中的噪声样本在高斯噪声和混合噪声的情况下使得这一方法整体性能提高了0.34dB和0.91dB。同时也通过与DnCNN比较验证了生成噪声数据的有效性。作者表示这篇文了的不足在于将噪声假设为了加性的零均值噪声,这样的噪声在自然界中很普遍。如果对于未知的噪声,还需要按照本文的流程进行处理,未来的工作将会克服这一假设带来的局限。
-
神经网络
+关注
关注
42文章
4732浏览量
100373 -
图像
+关注
关注
2文章
1078浏览量
40364 -
去噪
+关注
关注
0文章
14浏览量
12583
原文标题:如何基于生成对抗网络来进行图像盲去噪?(附论文)
文章出处:【微信号:thejiangmen,微信公众号:将门创投】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论