基于深度学习噪声图像的分类和去噪

The classification and denoising of image noise based on deep

该算法主要由两部分组成噪声分类网络和图像去噪网络。这个算法不是针对含有某一种噪声的噪声图像进行去噪。在进行去噪之前,首先经过一个噪声分类网络,判断出输入图像中噪声的种类(可能含有一种噪声,可能同时含有多种噪声)。根据噪声的类型,用特定的去除某种噪声的网络进行图像去噪处理(每一种都要单独训练一个去噪网络)。算法流程如下。
基于深度学习噪声图像的分类和去噪
接下来分步骤进行介绍

1.数据预处理

首先是对数据进行处理,生成含有特定形式噪声的图像数据。本文选择公开的数据集MNIST,Cifar-10和BSD500来训练和测试网络。
基于深度学习噪声图像的分类和去噪
最后生成四个噪声数据集:含有一种噪声,含有两种噪声,含有多种噪声(三或四种),以及将以上三个数据集组合到一起。

2.分类网络

基于深度学习噪声图像的分类和去噪
基于深度学习噪声图像的分类和去噪
该模型的结构以及各层的参数如上所示。
损失函数基于深度学习噪声图像的分类和去噪

3.去噪网络

基于深度学习噪声图像的分类和去噪
去噪模型的结构如图。Conv是卷积层,LRelu是非线性激励函数;BN是batch normalization。该网络层数根据batch_size确定。
输入的噪声图像可以看作y=x+vy = x + v。其中,xx是无噪声图片,vv是噪声。在这里也是把图像噪声看作加性噪声。
一些传统的图像去噪方法都是直接设计一个映射函数F(y)=xF(y) = x,直接输出去噪后的图像。在深度学习里,我们进行残差映射R(y)vR(y) \approx v,然后x=yR(y)x = y - R(y),得到去噪后的图像。采用残差学习的好处是,当网络层数很深时,能够加快训练速度。
损失函数定义如下:
基于深度学习噪声图像的分类和去噪

实验与分析

分类

在这里,选择了三个其它的基于深度学习的分类模型:LeNet,AlexNet,VGG16。噪声类别分类准确度如下
基于深度学习噪声图像的分类和去噪
可以看出,这个模型的效果还是不错的,尤其是在多噪声混合的情况下。

去噪

该模型对灰度图和彩图去噪分别进行了实验,注意,需要分别训练灰色图像去噪和彩色图像去噪网络。在对灰色图像去噪时,效果很好。但是在对彩色图像去噪时,只有高斯噪声去噪模型效果比较好。
所以,在对含有非高斯噪声的彩色图像进行去噪时,本文做了一个实验,在文中称作RGBSM(SM  means  splitmerge)\textbf{RGBSM}(SM\;means\;split-merge)。该方法对彩色图像三通道分别用灰度图的去噪模型进行处理,然后再合并生成去噪后的彩色图。
基于深度学习噪声图像的分类和去噪
可以看出,RGBSM(SM  means  splitmerge)\textbf{RGBSM}(SM\;means\;split-merge)方法与直接对彩色图像进行去噪相比,去噪效果有了较大的提升。

基于深度学习噪声图像的分类和去噪

从上图可以直观的看出,灰度图的去噪效果较好,对于彩色图像,去噪后效果很差,甚至降低的图像的质量。

基于深度学习噪声图像的分类和去噪

在使用RGBSM\textbf{RGBSM}方法后,去噪效果有较大的改善。观察图b,去噪后的图像看着很清晰,但仔细看,一些细节都被平滑了。在c图中,去噪后一些位置还产生一些比较亮的色块。