发表在2017 TIP。

摘要

Discriminative model learning for image denoising has been recently attracting considerable attentions due to its favorable denoising performance. In this paper, we take one step forward by investigating the construction of feed-forward denoising convolutional neural networks (DnCNNs) to embrace the progress in very deep architecture, learning algorithm, and regularization method into image denoising. Specifically, residual learning and batch normalization are utilized to speed up the training process as well as boost the denoising performance. Different from the existing discriminative denoising models which usually train a specific model for additive white Gaussian noise (AWGN) at a certain noise level, our DnCNN model is able to handle Gaussian denoising with unknown noise level (i.e., blind Gaussian denoising). With the residual learning strategy, DnCNN implicitly removes the latent clean image in the hidden layers. This property motivates us to train a single DnCNN model to tackle with several general image denoising tasks such as Gaussian denoising, single image super-resolution and JPEG image deblocking. Our extensive experiments demonstrate that our DnCNN model can not only exhibit high effectiveness in several general image denoising tasks, but also be efficiently implemented by benefiting from GPU computing.

结论

In this paper, a deep convolutional neural network was proposed for image denoising, where residual learning is adopted to separating noise from noisy observation. The batch normalization and residual learning are integrated to speed up the training process as well as boost the denoising performance. Unlike traditional discriminative models which train specific models for certain noise levels, our single DnCNN model has the capacity to handle the blind Gaussian denoising with unknown noise level. Moreover, we showed the feasibility to train a single DnCNN model to handle three general image denoising tasks, including Gaussian denoising with unknown noise level, single image super-resolution with multiple upscaling factors, and JPEG image deblocking with different quality factors. Extensive experimental results demonstrated that the proposed method not only produces favorable image denoising performance quantitatively and qualitatively but also has promising run time by GPU implementation.

要点

  • DnCNN可以处理未知程度的高斯噪声,即实现blind Gaussian denoising。
  • 作者还尝试了用一个DnCNN,同时处理未知高斯噪声、多尺度超分辨和未知QF的JPEG图像压缩。

优点

  • 应该是第一篇将DNN用于高斯去噪的网络,通过混合训练集,可以实现盲去噪。(CNN最早在[23]被用于图像去噪)
  • 打破了传统方法对模型或图像先验的形式约束,让网络自己学习先验项。
  • 作者通过实验发现,BN和残差学习是互助的。

故事背景

首先,作者回顾了高斯去噪的历史工作,主要是一些传统方法,例如nonlocal self-similarity models和马尔科夫随机场模型等。其中,NSS方法是SOTA常客,包括BM3D,NCSR等。

尽管如此,这些方法普遍需要优化、耗时;此外,这些方法都需要一些主观设计的参数。

这就引出了判别式学习方法。例如,[14]提出将随机场模型和展开的半二次优化模型在一个学习框架中统一起来。又比如,[15][16]提出的TNRD模型,可以学习一种调整的专家场(modified fields of experts)图像先验。这些方法普遍只学习一种特定的先验,并且只适用于某一个特定的噪声程度。(批注:实际上就是先验项的形式被提前规定好了,因此先验类型是固定的)

网络结构

整体上,网络采用的是VGG结构,改造:

  1. 所有卷积核都设为\(3 \times 3\)。
  2. 移除所有池化层。

在论文第三页,作者说明了如何根据有效感受野来设定网络深度。有兴趣的可以看一看。最终作者设定DnCNN为17层。对于盲去噪及其他任务,作者设为20层。

作者加入了一系列的关于CNN的优化手段:

  1. 残差学习:让CNN建模潜在干净图像与有噪图像的差异。换句话说,CNN需要从有噪图像中剥离出干净图像(找出自然无损图像的本质特征)。
  2. BN:加快和稳定训练过程。实验发现,BN和残差学习是彼此受益的

注意几点:

  1. 第一层和最后一层没有使用BN。
  2. 最后一层不使用ReLU非线性激活。
  3. 每一层卷积都产生64个通道,最后输出单通道的灰度图像,理想状况下为噪声图像。

最后值得一提的是,在传统方法中,由于通常是基于块处理,因此会产生比较明显的块效应。但在DnCNN中,我们采用的是补零卷积的方法,实验发现补零不会产生块效应

BN和残差学习

作者采用实验的方式,探究BN和残差学习的组合效果:

如图,无论是SGD还是Adam优化方法,RL和BN的强强联手都能显著提升网络性能。作者对此的解释是:

Actually, one can notice that in Gaussian denoising the residual image and batch normalization are both associated with the Gaussian distribution. It is very likely that residual learning and batch normalization can benefit from each other for Gaussian denoising. This point can be further validated by the following analyses.

拓展到其他任务

盲去噪:作者在训练集中混合了噪声标准差从0到55不等的有噪图像,来训练单一的DnCNN模型。

去JPEG块效应:同理。

超分辨:先插值升采样,然后再执行相同的流程。

实验略。这篇文章在现在看来还是相对简单的。

Paper | Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising的更多相关文章

  1. Paper | FFDNet: Toward a Fast and Flexible Solution for CNN based Image Denoising

    目录 故事背景 核心思想 FFDNet 网络设置 噪声水平图 对子图像的去噪 保证噪声水平图的有效性 如何盲处理 为啥不用短连接 裁剪像素范围 实验 关于噪声水平图的敏感性 盲处理 发表在2018 T ...

  2. (IRCNN)Learning Deep CNN Denoiser Prior for Image Restoration-Kai Zhang

    学习深度CNN去噪先验用于图像恢复(Learning Deep CNN Denoiser Prior for Image Restoration)-Kai Zhang 代码:https://githu ...

  3. 论文解读《Learning Deep CNN Denoiser Prior for Image Restoration》

    CVPR2017的一篇论文 Learning Deep CNN Denoiser Prior for Image Restoration: 一般的,image restoration(IR)任务旨在从 ...

  4. Paper | Residual learning

    目录 1. OVERVIEW 2. DEGRADATION 3. SOLUTION(DEEP RESIDUAL LEARNING) 4. IMPLEMENTATION(SHORTCUT CONNECT ...

  5. [论文阅读] Deep Residual Learning for Image Recognition(ResNet)

    ResNet网络,本文获得2016 CVPR best paper,获得了ILSVRC2015的分类任务第一名. 本篇文章解决了深度神经网络中产生的退化问题(degradation problem). ...

  6. 论文笔记——Deep Residual Learning for Image Recognition

    论文地址:Deep Residual Learning for Image Recognition ResNet--MSRA何凯明团队的Residual Networks,在2015年ImageNet ...

  7. Paper Reading - Convolutional Sequence to Sequence Learning ( CoRR 2017 ) ★

    Link of the Paper: https://arxiv.org/abs/1705.03122 Motivation: Compared to recurrent layers, convol ...

  8. Deep Residual Learning for Image Recognition论文笔记

    Abstract We present a residual learning framework to ease the training of networks that are substant ...

  9. 深度学习方法(五):卷积神经网络CNN经典模型整理Lenet,Alexnet,Googlenet,VGG,Deep Residual Learning

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 关于卷积神经网络CNN,网络和文献中 ...

随机推荐

  1. 【洛谷5368】[PKUSC2018] 真实排名(组合数学)

    点此看题面 大致题意: 有\(n\)个数字,定义一个数的排名为不小于它的数的个数.现要随机将其中\(k\)个数乘\(2\),求对于每个数有多少种方案使其排名不变. 分类讨论 对于这种题目,我们可以分类 ...

  2. 第04组 Alpha冲刺(2/4)

    队名:斗地组 组长博客:地址 作业博客:Alpha冲刺(2/4) 各组员情况 林涛(组长) 过去两天完成了哪些任务: 1.收集各个组员的进度 2.写博客 展示GitHub当日代码/文档签入记录: 接下 ...

  3. Mybatis相关试题

    1.MyBatis有两种事务管理器类型,分别是() A:JDBC B:MANAGED C:POOLED D:JBDI 正确答案:AB 试题分析: 在 MyBatis 中有两种事务管理器类型(也就是 t ...

  4. 【STM32H7教程】第17章 STM32H7之GPIO的HAL库API

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第17章       STM32H7之GPIO的HAL库API ...

  5. Spring Boot 2.2.0新特性

    Spring Boot 2.2.0 正式发布了,可从 repo.spring.io 或是 Maven Central 获取. 性能提升   Spring Boot 2.2.0 的性能获得了很大的提升. ...

  6. #3144. 「APIO 2019」奇怪装置

    #3144. 「APIO 2019」奇怪装置 题目描述 考古学家发现古代文明留下了一种奇怪的装置.该装置包含两个屏幕,分别显示两个整数 \(x\) 和 \(y\). 经过研究,科学家对该装置得出了一个 ...

  7. Javascript模块化开发1——package.json详解

    一.环境安装 Node.js 安装包及源码下载地址为:https://nodejs.org/en/download/. 在该页面你可以根据不同平台系统选择你需要的 Node.js 安装包. Node. ...

  8. web开发中移动端适配

    这个话题有些复杂,说起来有些琐碎,因为和移动端适配相关的问题太多了. 1. 概念 1.1 设备像素 设备像素被称为物理像素,它是显示设备中一个最小的物理部件.每个像素可以根据操作系统设置自己的颜色和亮 ...

  9. 获取json对象的键数组和值数组

    const obj = {a: 1, b: 2, c: 3}; Object.values(obj);//[1, 2, 3] Object.keys(obj);//["a", &q ...

  10. JS基本语法---while循环

    循环:一件事不停的或者是重复的做 循环要有结束的条件,循环还应该有计数器(记录循环的次数的) while循环      while循环语法:   计数器 var 变量=0; while(循环的条件){ ...