《Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising》学习笔记

自己学习这篇论文后随手记下来的东西,仅代表个人的理解,理解不对的地方,欢迎各位指出!

去噪:Y = x+v    v是带标准差σ的AWGNx是一个干净的图像,y是带噪声的观察对象。

加性高斯白噪声(AWGN):是最基本的噪声与干扰模型服从高斯分布。

PSNR:峰值信噪比,衡量图像失真或是噪声水平的客观标准。两个图像之间PSNR值越大,越相似。PSNR越大,去噪效果越好。普遍基准为30dB30以下的图像劣化较为明显。


传统方法:训练一个能够在确定的噪声level加性高斯白噪声(AWGN)的模型

为图像先验知识建模的模型:NSS(非局部自相似性模型)、稀疏模型、梯度模型、马尔科夫随机场模型(MRF)。

NSS包括:BM3DLSSCNCSRWNNM

缺点:一、在测试阶段涉及复杂的优化问题,耗时。

二、模型一般是非凸的,涉及几个人工选择的参数。


本文方法:能对未知的噪声level高斯去噪,一个model能解决几种普遍的图像去噪任务,如高斯去噪、图像超分辨率、JPEG图像的块效应。

model:前馈降噪卷积神经网络(DnCNNs)。

训练过程加速和提高性能:残差学习、批处理归一化。

 

DnCNN的好处:

1. 提出一个端到端的CNN,这个网络利用残差学习从带噪声的图像中移出干净图像。

2. 残差学习和批处理对CNN有益,能加速和提高去噪性能。

3. DnCNN可以处理普通的图像去噪任务,也叫盲去噪。

 

Model设计:修改VGG,修改了网络的深度,包括:CONV滤波器的大小改为3*3,去掉所有的池化层。对于特定噪声level的高斯去噪,depth=17,普通去噪任务,depth=20

Depth越大,感受野越大,可以更好的利用大的图像区域上的上下文信息。

 

去噪过程:用残差学习公式训练一个残差映射R(y)v,然后x=y-R(y)

网络结构:第一层:Conv+ReLU(643*3*cfilters)

            中间D-2层:Conv+BN+ReLU(643*3*64filters)

            最后一层:Conv(c3*3*64filters)

 

test数据集:BSD68(Berkeley segmentation dataset中选68张图像)和其他12张图像。

噪声来源:从正态分布中输出随机值,也就是高斯噪声。

Input:在原始灰度图像加了随机噪声后的灰度图像。

Output:残差映射R(y)

Depth=17

去噪后的图像=Input-output

计算denoised图像与原始图像的loss函数,更新权重参数。

计算denoised图像与原始图像的PSNR

训练数据封装在img_clean_pats.npy中。

Test

Input:原始图像

Input:去噪后的图像和带噪声的图像

Output:带噪声的图像-

你可能感兴趣的:(图像去噪)