深度学习-图像降噪-Noise2Noise

Noise2Noise,不需要原始图像与噪声图像对的训练,仅通过不同噪声下的图像对就能进行图像降噪

Noise2Noise

Noise2Noise: Learning Image Restoration without Clean Data

传统的神经网络去噪,最经典的就是降噪自动编码器了,其主要结构就是自动编码器,实现图像的降维和复原,没啥特殊的,关键在于其训练依据是通过噪声图像与纯净图像对,通过训练,学习到噪声特征,从而具备有从噪声图像中复原出纯净图像的能力。

还有一个比较有意思的工作,是降噪自动编码器的升级版,GAN+CNN,CVPR 2018 论文解读 | 基于GAN和CNN的图像盲去噪,利用 GAN 对噪声分布进行建模,并通过建立的模型生成噪声样本,与干净图像集合构成训练数据集,训练去噪网络来进行盲去噪。

上述的降噪方式方式简单,但实现起来比较麻烦,因为实际上很难有合适的纯净图像,所以大名鼎鼎的N2N被提出了,其核心其实就在其名字中,noise 2 noise,从噪声到噪声,而非降噪自动编码器的noise 2 clean,他的训练依赖于两张类似的噪声图像~

输入输出都是同一目标带噪声的图像,那去学习两个噪声之间的映射关系,CNN能学到什么呢?

当训练样本很少时,他只能学到二者的转换,就像普通的自动编码器一样,但是如果样本数量足够多,由于噪声是不可测,从最小化Loss的角度,CNN可以学习到真实的纯净图像

(CNN是不可能学习到某种噪声转换规律从而使得Loss最小化的,因为噪声始终是随机的)

其核心思想来自于对损失函数的观察,而根据不同的噪声分布,需要选择不同的损失函数L0、L1、L2,以满足假设条件

L2最小化的一个看起来似乎微不足道的属性是,如果我们用一个期望与目标相匹配的随机数替换目标,那么估计值将保持不变。因此,如果输入条件目标分布P(y|x)被具有相同条件期望值的任意分布替换,则最佳网络参数θ也保持不变。这意味着,可以在不改变网络训练结果的情况下,将神经网络的训练目标添加上均值为0的噪声。

以此,证明了无需纯净图像的训练,也能得到一样优秀的参数

效果拔群,甚至能用来去水印:
image

有个老哥还尝试做了相关的小程序,如何完美去水印?

参考

论文《Noise2Noise: Learning Image Restoration without Clean Data》翻译学习,原文的中文翻译

传统神经网络方法去噪策略与新思路(Noise2noise)整理,提纲挈领

Noise2Noise:图像降噪,无需干净样本,原因非常简单,评论也看看

论文笔记:Noise2Noise: Learning Image Restoration without Clean Data,详细的介绍和推导,对于训练过程讲的很到位

图像去噪论文Noise2Noise-Learning Image Restoration without Clean Data论文详解,详细的介绍和推导,注意看实验过程

Noise2Noise: Learning Image Restoration without Clean Data - Official TensorFlow implementation of the ICML 2018 paper,项目源码

0%