发表在2019 CVPR。

摘要

While deep convolutional neural networks (CNNs) have achieved impressive success in image denoising with additive white Gaussian noise (AWGN), their performance remains limited on real-world noisy photographs. The main reason is that their learned models are easy to overfit on the simplified AWGN model which deviates severely from the complicated real-world noise model. In order to improve the generalization ability of deep CNN denoisers, we suggest training a convolutional blind denoising network (CBDNet) with more realistic noise model and real-world noisy-clean image pairs. On the one hand, both signal-dependent noise and in-camera signal processing pipeline is considered to synthesize realistic noisy images. On the other hand, real-world noisy photographs and their nearly noise-free counterparts are also included to train our CBDNet. To further provide an interactive strategy to rectify denoising result conveniently, a noise estimation subnetwork with asymmetric learning to suppress under-estimation of noise level is embedded into CBDNet. Extensive experimental results on three datasets of real-world noisy photographs clearly demonstrate the superior performance of CBDNet over state-of-the-arts in terms ofquantitative metrics and visual quality. The code has been made available at https://github.com/GuoShi28/CBDNet.

结论

We presented a CBDNet for blind denoising of realworld noisy photographs. The main findings of this work are two-fold. First, realistic noise model, including heterogenous Gaussian and ISP pipeline, is critical in making the learned model from synthetic images be applicable to real-world noisy photographs. Second, the denoising performance of a network can be boosted by incorporating both synthetic and real noisy images in training. Moreover, by introducing a noise estimation subnetwork into CBDNet, we were able to utilize asymmetric loss to improve its generalization ability to real-world noise, and perform interactive denoising conveniently.

要点

  1. 现有的方法大多建立在AWGN上,在实际样本上效果不好。作者认为是AWGN模型太简单,过拟合了。

    Existing CNN denoisers tend to be over-fitted to Gaussian noise and generalize poorly to real-world noisy images with more sophisticated noise.

  2. 作者对现实噪声尝试了建模,并且在训练集中加入了很多生成样本。包括:signal-dependent noise和in-camera signal processing pipeline。

  3. CBDNet中包括了一个预测噪声的子网络。其训练采用的是非对称的loss,着重惩罚对噪声的低估(在FFDNet中我们看到,宁可高估噪声,不可低估噪声)。

贡献

  1. 提出了一个盲去噪网络CBDNet,其中一个子网络用于预测噪声水平、输出噪声水平图,第二个子网络即完成非盲去噪。两个子网络的损失项合并起来,end-to-end训练。

  2. 在训练时混合了生成噪声和真实噪声。

局限

  1. 能否有效地剥离噪声预测和盲去噪模块?作者通过真实噪声图(只有生成噪声才有)监督,以及TV平滑规范,强迫输出为平滑的噪声水平图。但真实效果(能否很好地独立)未知。

故事背景

在真实的相机系统(real camera system)中,图像噪声的来源多种多样,例如暗电流噪声(dark current noise)、短噪声(short noise)和热噪声(thermal noise)。进一步,图像还会在相机内部的处理流程(in-camera processing, ISP)中进一步加噪,例如去马赛克(demosaicing)、伽马校正(Gamma correction)和压缩(compression)。显然,这些噪声与简单的AWGN截然不同。

建模现实噪声

根据[14,45],泊松高斯分布(可近似为heteroscedastic Gaussian of a signal-dependent and a stationary noise components)更适用于建模真实噪声。此外还有相机内部的处理,使得噪声与空域位置和色彩有关(makes the noise spatially and chromatically correlated)。

具体而言,光成像(photon sensing)导致的噪声由泊松分布刻画,而其余的静态干扰由高斯分布刻画。
再进一步,我们可以用异方差的高斯分布近似:

Practically, the noise produced by photon sensing can be modeled as Poisson, while the remaining stationary disturbances can be modeled as Gaussian. Poisson-Gaussian thus provides a reasonable noise model for the raw data of imaging sensors [14], and can be further approximated with a heteroscedastic Gaussian.

ISP没看懂,见1714页。其考虑了相机响应函数CRF、RGB到拜耳图像的转换M、去马赛克函数DF、生成辐照图像的L以及JPEG压缩,但没有考虑量化噪声。JPEG量化系数QF和图像方差(泊松和高斯)都在一定范围内变化。

因此在本文中,我们同时考虑泊松-高斯模型和ISP(实验证明ISP很重要)
具体而言,我们将生成噪声图像和真实噪声图像一起用于训练CBDNet。

CBDNet

  • CBDNet分为两个子网络:噪声预测网络CNN_E和非盲去噪网络CNN_D。

  • 理想状况下,CNN_E将会输出噪声水平图,其大小与输入图像大小一样。噪声水平图和原输入一起,输入CNN_D,实现去噪。

  • 噪声水平图在输入CNN_D之前,可以被人为地适当修改。作者设了一个乘子\(\gamma\),对噪声水平图进行点乘。

  • CNN_E是一个五层CNN,没有BN和池化。每一层都有32个通道,都是\(3 \times 3\)卷积。

  • CNN_D采用的是16层的U-Net结构。并且整体学习的是残差(头尾引入了短连接)。其中有大量的短连接、跨步卷积和转置卷积,可以捕捉多尺度信息,同时扩大感受野。所有滤波器都是\(3 \times 3\)的。除了最后一层,其余都使用ReLU非线性激活。

实验发现,BN对真实噪声的去除帮助微乎其微。可能的原因是真实噪声非高斯分布。

作者引入CNN_E的原因有两个:

  1. 可以通过调节噪声水平图,来调整去噪程度。

  2. 在FFDNet等工作中发现,引入噪声水平图可以达到更好的性能,特别是当噪声程度较大时。

非对称损失

比起低估噪声损失,我们更倾向于高估噪声损失。原因:

Both CNN and traditional non-blind denoisers perform robustly when the input noise SD. is higher than the ground-truth one (i.e., over-estimation error), which encourages us to adopt asymmetric loss for improving generalization ability of CBDNet.

并且在FFDNet中,作者也发现高估噪声几乎不会影响效果,但低估影响很严重。因此,作者在损失函数的设计上,更着重惩罚低估噪声。

此外,作者还引入了TV正则化项,保证预测噪声水平图的平滑性。

数据库

通过我们的建模,我们可以获得大量生成数据。具体而言,作者从多个数据集中获取了很多RGB图像,然后通过ISP的反变换,得到“干净、无损”的图像。然后再加噪甚至压缩。

但对于真实有噪图像,我们很难获得其无损图像。文献[43,45,1]说可以通过对同一场景的多张有噪图像取平均,但这样做很难:要保证静态,同时要有多张图像。因此作者也采取了上述方式?(作者没说清楚)数据库来源于[4]。

但当输入batch为真实有噪图像时,由于噪声标准差不可知,因此loss只衡量去噪保真项,不衡量噪声估计损失和正则项。

实验

有点可惜的是,作者没有探究decorrelation的程度,以及噪声预测的效率。作者通过这个实验,探究了互动性:

可见,随着噪声水平预测图放大系数的不断提高,去噪强度也在增强。

Paper | Toward Convolutional Blind Denoising of Real Photographs的更多相关文章

  1. Toward Convolutional Blind Denoising of Real Photographs

    本文提出了一个针对真实图像的盲卷积去噪网络,增强了深度去噪模型的鲁棒性和实用性. 摘要 作者提出了一个 CBD-Net,由噪声估计子网络和去噪子网络两部分组成. 作者设计了一个更加真实的噪声模型,同时 ...

  2. Paper Read: Convolutional Image Captioning

    Convolutional Image Captioning 2018-11-04 20:42:07 Paper: http://openaccess.thecvf.com/content_cvpr_ ...

  3. 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 ...

  4. Paper Reading - Convolutional Image Captioning ( CVPR 2018 )

    Link of the Paper: https://arxiv.org/abs/1711.09151 Motivation: LSTM units are complex and inherentl ...

  5. Paper | U-Net: Convolutional Networks for Biomedical Image Segmentation

    目录 故事背景 U-Net 具体结构 损失 数据扩充 发表在2015 MICCAI.原本是一篇医学图像分割的论文,但由于U-Net杰出的网络设计,得到了8k+的引用. 摘要 There is larg ...

  6. 读paper:Deep Convolutional Neural Network using Triplets of Faces, Deep Ensemble, andScore-level Fusion for Face Recognition

    今天给大家带来一篇来自CVPR 2017关于人脸识别的文章. 文章题目:Deep Convolutional Neural Network using Triplets of Faces, Deep ...

  7. Paper | Learning convolutional networks for content-weighted image compression

    目录 摘要 故事要点 模型训练 发表在2018年CVPR. 以下对于一些专业术语的翻译可能有些问题. 摘要 有损压缩是一个优化问题,其优化目标是率失真,优化对象是编码器.量化器和解码器(同时优化). ...

  8. CV code references

    转:http://www.sigvc.org/bbs/thread-72-1-1.html 一.特征提取Feature Extraction:   SIFT [1] [Demo program][SI ...

  9. CV codes代码分类整理合集 《转》

    from:http://www.sigvc.org/bbs/thread-72-1-1.html 一.特征提取Feature Extraction:   SIFT [1] [Demo program] ...

随机推荐

  1. CF1248F Catowice City

    题目链接 problem 有\(n\)个人,每个人家有一只猫.每个人都认识一些猫(其中肯定包括自己家的猫).选出\(j\)个人和\(k\)只猫\((j,k\ge 1)\).使得\(j+k=n\)且选出 ...

  2. Codeforces Round #598 (Div. 3) C. Platforms Jumping 贪心或dp

    C. Platforms Jumping There is a river of width n. The left bank of the river is cell 0 and the right ...

  3. Sharding-JDBC:单库分表的实现

    剧情回顾 前面,我们一共学习了读写分离,垂直拆分,垂直拆分+读写分离.对应的文章分别如下: Sharding-JDBC:查询量大如何优化? Sharding-JDBC:垂直拆分怎么做? 通过上面的优化 ...

  4. javascript中优雅的处理async和await异常

    let handler = async function(needErr) { return new Promise((resolve, reject) => { if (needErr) { ...

  5. onunload事件不触发的探索

    如果现有一需求:浏览器页面关闭时弹出一个对话框,询问是否要退出,应该怎么做呢?    可用onunload事件来实现,该事件会在刷新和关闭页面时执行 我用如下3种方法绑定该事件,但所有主流浏览器都无法 ...

  6. 前端之javascript2

    js组成和标签获取元素 javascript组成 1.ECMAscript javascript的语法(变量.函数.循环语句等语法)2.DOM 文档对象模型 操作html和css的方法(比如通过id或 ...

  7. C# - WinFrm应用程序MessageBox自动关闭小实验

    概述 在程序中MessageBox弹出的对话框,用于向用户展示消息,这是一个模式窗口,可阻止应用程序中的其他操作,直到用户将其关闭.但是有时候在自动化程序中,如果弹出对话框,程序将会中断,等待人工的干 ...

  8. django中're_path'的用法

    1.re_path和path的作用是一样的.只不过're_path'是在写url的时候可以用正则表达式,功能更加强大.2.写正则表达式都推荐使用原生字符串.也就是以‘r’开头的字符串:r'move/' ...

  9. indexOf()字符位置

    package seday01; /** * int indexOf(String str) * 查找给定字符串在当前字符串中的位置,若返回值为-1,则 * 表示当前字符串中不含有给定的内容. * @ ...

  10. Java基础--常用API--IO流相关API

    一.IO流 1.定义: IO流指的是Input/Output流,即输入流/输出流. 输入流:将外界信息写入程序,即从外界获取信息,属于读操作. 输出流:将程序数据发送给外界,即向外界传输数据,属于写操 ...