论文笔记7:Image Blind Denoising With Generative Adversarial Network Based Noise Modeling

引言

经典方法:BM3D等
缺点:首先,这些方法所采用的图像先验知识大多是基于人类知识的,因此很难捕捉到图像的全部特征。因此,性能可能受到限制。其次,这些方法大多只利用输入图像的内部信息,而不使用任何外部信息。

其他方法:多尺度
这些方法通常是噪声模型估计和自适应去噪算法的结合。

判别学习方法:CNN
基于CNNs的方法不需要依赖于人类对图像先验的知识。使用现有的模型,这些模型是为去除已知噪声而训练的,不能取得很好的效果。因此,由于缺乏成对训练数据集,这些方法可能无法直接用于处理盲去噪问题。
在这里插入图片描述
高斯混合模型(GMM)作为一种典型的噪声建模方法,GMM首次在我们的实验中被用来模拟输入的真实噪声图像上的噪声。然而,学习模型产生的噪声样本与观测到的噪声样本并不十分相似。

一般情况下,生成网络被训练成生成难以与真实数据区分的样本,而判别网络被训练来确定样本是来自真实数据还是来自生成网络。生成网络可以训练成学习真实噪声图像的分布,生成具有相似噪声的图像,但目前还没有机制保证原始图像的内容不发生变化。为了解决这一问题,提出了一种新的解决方案:训练生成网络产生相似的噪声而不是噪声图像。

本文提出了一个新的两步框架。首先,训练一个GAN来估计输入噪声图像上的噪声分布并生成噪声样本。其次,利用第一步采集的噪声块构造成对的训练数据集,然后训练深层CNN对给定的噪声图像进行去噪处理。该方法克服了以往方法的缺点,解决了基于区分学习的去噪方法的关键问题。

相关工作

本文首先简要介绍了三种相关的去噪方法:基于图像先验的方法,基于噪声建模的盲去噪算法以及基于判别学习的方法。

基于图像先验:BM3D、NSCR和WNNM等,BM3D将非局部自相似模型与稀疏模型相结合,取得了令人满意的效果。

Image denoising by sparse 3-d transform-domain collaborative filtering
Nonlocally centralized sparse representation for image restoration
Weighted nuclear norm minimization with application to image denoising

基于噪声建模:多尺度是对非局部Bayes方法的一种改进,它假设每个patch及其附近patches的噪声模型为零均值相关高斯分布。NMBD提出用混合高斯(MoG)建模图像噪声,并开发一种低秩MoG滤波器来恢复干净图像。这些方法只利用单个输入图像的内部信息,明确定义了噪声模型,限制了去噪能力,进而影响了去噪性能。

Multiscale image blind denoising
From noise modeling to blind image denoising

基于判别学习:这些方法利用了深层网络的强大功能和来自大数据集的外部信息来实现图像压缩。DnCNN利用残差学习和批处理规范化(BN)策略训练了一个非常深入的CNN,并在高斯去噪方面取得了最先进的结果。另外,对于盲高斯去噪,DnCNN利用不同层次的噪声图像训练单个网络。虽然这些方法具有很高的去噪质量,但在缺少成对训练数据的情况下,这些方法都无法工作,这在现实中经常发生。

Beyond a gaussian denoiser: Residual learning of deep CNN for image denoising
Learning deep CNN denoiser prior for image restoration
Non-local color image denoising with convolutional neural networks

GAN:DCGAN为构建和训练GANs提供了一些有用的指南。WGAN通过克服生成网络和判别模型之间保持训练平衡的困难,以及网络结构的设计,进一步改进了GANs的训练。此外,在WGANs中可以生成高质量的样本。如果利用遗传算法生成成对训练数据来解决盲去噪问题,上述基于判别学习的方法将很容易解决这一问题。

Unsupervised representation learning with deep convolutional generative adversarial networks
Wasserstein gan
Improved training of wasserstein gans

基于GAN-CNN的盲去噪(GCBD)

一般很难训练生成网络来学习从干净图像到具有与给定数据相似噪声的图像的映射。为了缓解这个问题,一个生成网络将被训练成产生噪声而不是噪声图像。为了简化这个问题,我们假设处理过的图像具有相同种类的未知零均值噪声,其中包括广泛的噪声。框架概述如下:
在这里插入图片描述
在建立成对训练数据集之前,需要从给定的噪声图像中提取近似的噪声块。然后,这些模块被用来更好地训练GAN进行噪声建模和噪声数据生成。

Noise Block Extraction

为了减少原始背景的影响,在给定的噪声图像中,首先需要从弱背景部分提取一组近似的噪声块,如 V V V。噪声分布就成为GAN学习的主要目标,这可能会使GAN模型更加精确。在噪声分布的期望值为零的假设下,通过减去噪声图像中一个相对平滑的patch的平均值,可以得到一个近似的噪声patch。这里讨论的平滑patch是指内部部分非常相似的区域。

Fast smooth patch search algorithm:

符号意义大小获得方式
p i p_i piglobal patch d × d d\times d d×d以步长 s g s_g sg扫描整个噪声图像
q j i q_j^i qjilocal patch h × h h\times h h×h以步长 s l s_l sl扫描 p i p_i pi
p i p_i pi是否是smooth patch取决于对每个 j j j p i p_i pi q j i q_j^i qji的平均值和方差的差异,两个限制条件如下:
在这里插入图片描述
其中 μ , γ ∈ ( 0 , 1 ) \mu,\gamma\in(0,1) μ,γ(0,1),如果对每个 j j j,上述条件都满足,则 p i p_i pi为smooth patch并加入到集合 S S S中。 S = { s 1 , s 2 , ⋯   , s t } S=\{s_1,s_2,\cdots,s_t\} S={s1,s2,,st}是通过对所有噪声图像应用该算法获得,近似噪声blocks集合 V = { v 1 , v 2 , ⋯   , v t } V=\{v_1,v_2,\cdots,v_t\} V={v1,v2,,vt}可以由 v i = s i − M e a n ( s i ) v_i=s_i-Mean(s_i) vi=siMean(si)获得。

现在,我们使用的设备通常能产生高分辨率的图像。这些图像中有大量合格的平滑区域,如天空、墙壁等。因此,在有限的图像中可以找到足够的平滑块,这意味着可以提取足够多的噪声块来训练GAN。

Noise Modeling with GAN

为了提高去噪性能,一种方法是对提取出的块 V V V进行噪声分布建模,然后生成更多的噪声数据(任意数量的样本具有更多的多样性),以供CNN的训练。

采用一个GAN来估计一组近似噪声块 V V V上的噪声分布,在我们的实验中,采用WGAN的改进版本WGAN-GP来学习噪声分布。我们任务的目标函数是
在这里插入图片描述

其中 P r \mathbb{P}_r Pr V V V的分布, P g \mathbb{P}_g Pg为生成器分布(generator distruibution),为 P x ^ \mathbb{P}_{\hat{x}} Px^定义为沿从 P r \mathbb{P}_r Pr P g \mathbb{P}_g Pg采样的成对点之间的直线均匀采样的分布。细节参考Improved training of wasserstein gans.

采用与DCGAN相似的网络,利用训练后的GAN模型产生噪声样本以增强(augmenting) V V V,最终得到一个更大的集合 V ′ = { v 1 ′ , v 2 ′ , ⋯   , v w ′ } V'=\{v_1',v_2',\cdots,v_w'\} V={v1,v2,,vw}. 细节参考Unsupervised representation learning with deep convolutional generative adversarial networks.
在这里插入图片描述

Denoising with Deep CNN

给定 V ′ V' V,另一组干净图像被分成大小为 d × d d\times d d×d的小块,形成集合 X = { x 1 , x 2 ⋯   , x e } X=\{x_1,x_2\cdots,x_e\} X={x1,x2,xe},将 V ′ V' V的噪声块随机添加到 X X X的块中,得到 Y = { y 1 , y 2 ⋯   , y f } Y=\{y_1,y_2\cdots,y_f\} Y={y1,y2,yf},其中 y 1 = x j + v k ′ y_1=x_j+v_k' y1=xj+vk. 于是 X X X Y Y Y构成一对训练数据集 { X , Y } \{X,Y\} {X,Y}. 在每个epoch中, x j x_j xj v k ′ v_k' vk的组合发生了变化,得到了一个新的数据集 { X , Y ‘ } \{X,Y‘\} {X,Y},这导致数据的进一步扩充。

我们在实验中采用了与DnCNN相似的网络结构。将CNN作为一个单一的残差单元来预测残差图像,要最小化的目标函数定义为
在这里插入图片描述
其中 Θ \varTheta Θ为网络的参数, N N N是训练数据的大小, y i y_i yi是含噪图像, x i x_i xi是ground truth,采用BN、ReLU和残差学习策略来改进深层网络的训练。CNN由17个单元组成的网络结构,采用零填充,保证输入输出的维数一致。
在这里插入图片描述

实验

实验设置

数据集:在合成数据的实验中,使用BSD68作为测试集。在对真实世界数据的实验中,评估是在基准数据集Darmstadt Noise dataset(DND)和一个数据集NIGHT上进行的。对于所提出的GCBD,使用一组干净图像(CLEAN1)来建立由GAN产生的噪声数据的成对训练数据集。为了模拟实际处理大图像的情况,在另一组高分辨率干净图像(CLEAN2)中加入噪声,形成GCBD在合成数据评价中的输入噪声图像。

参数设置:

参数数值
d d d64
h h h16
s g s_g sg32
s l s_l sl16
μ \mu μ0.1
γ \gamma γ0.25
initial learning rate0.001
epochs50

对比方法:BM3D,EPLL,NCSR,WNNM,多尺度,DnCNN-B.

Evaluation with Synthetic Noise

在这里插入图片描述
GCBD与DnCNN-B的结果相当,这是令人印象深刻的,因为DnCNN-B是用精确数据训练的,而GCBD是用GAN生成的近似数据训练的。

混合噪声由10%均匀噪声[−s,s]、20%高斯噪声N(0,1)和70%高斯噪声N(0,0.01)组成。DnCNN-B由于没有配对训练数据集而不能很好地工作。相反,本文提出的GCBD利用GAN来估计噪声图像的噪声分布,解决了训练数据不足的问题,取得了显著的去噪效果。
在这里插入图片描述

Evaluation with Real-World Noise

在这里插入图片描述
在这里插入图片描述
与其他方法相比,GCBD在去除噪声的同时,在保留细节方面做得非常好,比如光的火花。
在这里插入图片描述

Selection of Noise Modeling Methods

GAN产生的样本比GMM产生的样本更接近实际观测噪声,这说明GAN比简单的基于像素的GMM能更好地处理更复杂的噪声。

这是因为高斯模型和显式定义模型的数量限制了GMM的性能,而GAN利用CNN强大的隐式学习噪声模型的能力,在不需要人类图像先验知识的情况下捕捉更多的噪声特征。这样,GAN在噪声建模问题上显示出了潜力。

该方法的一个局限性是假设噪声为零均值的加性噪声。这种类型的噪声在自然环境中很常见,包括范围很广的噪声。如果未知噪声的期望值是可用的,它将与我们的方法相同。接下来,我们将考虑克服这一局限性。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值