本文提出了一个针对真实图像的盲卷积去噪网络,增强了深度去噪模型的鲁棒性和实用性。


摘要

  • 作者提出了一个 CBD-Net,由噪声估计子网络和去噪子网络两部分组成。

  • 作者设计了一个更加真实的噪声模型,同时考虑了信号依赖的噪声和相机内部处理的噪声。

  • 基于真实噪声模型合成的图片和真实的噪声图片被联合在一起对网络进行训练。


噪声模型

  • 除了高斯噪声,真实的图片噪声更加复杂,并且是信号依赖的。

  • 给定一个干净图片 x,一个更加真实的噪声模型 \(n(x) ~ N(0, \sigma(y))\) 可以表示为:

  • 其中,\(n(x) = n_s (x) + n_c\) 包含一个信号依赖的组成 \(n_s\) 和一个静态的噪声组成 \(n_c\)。\(n_c\) 是一个方差为 \(\sigma_c ^2\) 的高斯噪声, \(n_s\) 则和图像的像素值有关,比如 \(x(i) * \sigma_s^2\)。

  • 另外,我们再把相机内部处理过程考虑进去的话,就会产生以下这个信号依赖和通道依赖的噪声模型。

  • \(y\) 表示合成图片, \(f\) 代表相机反应函数(CRF),\(M\) 代表将 sRGB 图片转化为 Bayer 图片的函数,\(M^{-1}\)代表去马赛克函数。

  • 此外,为了扩展到对压缩图片的处理,我们把 JPEG 压缩也考虑进合成图片的生成过程。

  • 针对原始图片、无压缩图片和压缩图片,我们分别用以上三种模型来生成训练图片。

网络结构

  • 噪声等级子网络由五层的卷积组成,卷积核大小为 3*3,通道数为 32,激活函数采用 Relu,没有采用池化和批归一化,输出的噪声等级图和原噪声图片大小相同。

  • 去噪子网络将噪声等级图和原噪声图片一起作为输入,采用了 U-Net 的网络结构,卷积核大小为 3*3,激活函数采用 Relu,学习噪声图片的残差。


非对称学习

作者用传统的去噪方法 BM3D/FFDNet 做了一个实验。当给定的噪声等级和真实噪声等级一样时,去噪效果毋庸置疑是最好的。当给定的噪声等级低于真实噪声等级一样时,去噪结果仍然有可见的噪声;但当给定的噪声等级高于真实噪声等级一样时,仍然可以取得非常满意的结果。

  • 为了利用这种非对称特性进行盲去噪,我们在噪声估计中提出了不对称损失以避免在噪声水平上出现低估误差。
  • 给定像素 \(i\) 处估计的噪声等级 \(\hat \sigma(y_i)\)和真实值 \(\sigma(y_i)\)。当 \(\hat \sigma(y_i) < \sigma(y_i)\),我们应该强加更多惩罚。 因此,噪声等级估计子网络的不对称损失定义如下:

  • 通过设定 \(0 < \alpha < 0.5\),,我们可以强加更多惩罚给低估误差。

  • 另外,我们引入一个总体方差正则化项来限制 \(\hat \sigma(y_i)\) 的平滑性:

  • 对于去噪子网络的输出 \(\hat x\),我们定义重构误差为:

  • 网络的总损失即为以上三部分的求和:


训练过程

  • 基于真实噪声模型合成的图片和真实的噪声图片被联合在一起对网络进行训练,来增强网络处理真实图像的泛化能力。

  • 针对一个批次的合成图片,\(L_{rec} , L_{asymm},L_{TV}\) 三个损失都被计算来训练网络。
  • 针对一个批次的真实,由于噪声等级不可知,因此只有,\(L_{rec} 和 L_{TV}\) 两个损失被计算来训练网络。


验证和结果

  • 不同 \(\alpha\) 值的去噪结果对比如下图所示,可以看到,较小的 \(\alpha = 0.3\) 会对去除未知噪声并且保留图片的结构有所帮助。

  • 另外,作者又对只用合成图片、只用真实图片和联合真实图片和合成图片三种情况进行了对比,进一步验证了联合训练的有效性。

  • 最后,一些实验结果如下所示:


获取更多精彩,请关注「seniusen」!

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

  1. Paper | Toward Convolutional Blind Denoising of Real Photographs

    目录 故事背景 建模现实噪声 CBDNet 非对称损失 数据库 实验 发表在2019 CVPR. 摘要 While deep convolutional neural networks (CNNs) ...

  2. CV code references

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

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

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

  4. {ICIP2014}{收录论文列表}

    This article come from HEREARS-L1: Learning Tuesday 10:30–12:30; Oral Session; Room: Leonard de Vinc ...

  5. 计算机视觉与模式识别代码合集第二版one

    Topic Name Reference code Feature Detection, Feature Extraction, and Action Recognition Space-Time I ...

  6. CVPR2018资源汇总

    CVPR 2018大会将于2018年6月18~22日于美国犹他州的盐湖城(Salt Lake City)举办. CVPR2018论文集下载:http://openaccess.thecvf.com/m ...

  7. Paper | Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising

    目录 故事背景 网络结构 BN和残差学习 拓展到其他任务 发表在2017 TIP. 摘要 Discriminative model learning for image denoising has b ...

  8. 论文翻译:2020_FLGCNN: A novel fully convolutional neural network for end-to-end monaural speech enhancement with utterance-based objective functions

    论文地址:FLGCNN:一种新颖的全卷积神经网络,用于基于话语的目标函数的端到端单耳语音增强 论文代码:https://github.com/LXP-Never/FLGCCRN(非官方复现) 引用格式 ...

  9. 《DSLR-Quality Photos on Mobile Devices with Deep Convolutional Networks》研读笔记

    <DSLR-Quality Photos on Mobile Devices with Deep Convolutional Networks>研读笔记 论文标题:DSLR-Quality ...

随机推荐

  1. hadoop核心逻辑shuffle代码分析-map端 (转)

    一直对书和各种介绍不太满意, 终于看到一篇比较好的了,迅速转载. 首先要推荐一下:http://www.alidata.org/archives/1470 阿里的大牛在上面的文章中比较详细的介绍了sh ...

  2. 简单实用的.htaccess文件配置

    .htaccess 文件 (Hypertext Access file) 是Apache Web服务器的一个非常强大的配置文件,对于这个文件,Apache有一堆参数可以让你配置出几乎随心所欲的功能.. ...

  3. 课时15.DTD文档声明下(了解)

    W3C的官方网站是W3School,我们可以去官方网站查询DTD文档声明. HTML4.01       Strict  非常严谨的 如果你写了这个DTD文档声明,你就不能写如下样式: <fon ...

  4. [Windows]ping itsafe&环境变量

    (1)when you ping a computer from itsafe,the ping command should return the local IP address. (2)wind ...

  5. Flask—01-轻松入门Flask

    Flask入门 WEB工作原理 C/S与B/S架构:客户端-服务器,浏览器-服务器 B/S架构工作原理 客户端(浏览器) <=> WEB服务器(nginx) <=> WSGI( ...

  6. oracle行长度大小和页行数修改

    行长度展示长度: /*查询长度*/ SQL> show linesize;   /*查询行长度大小*/linesize 100SQL> set linesize200;    /*修改行长 ...

  7. Spring Boot学习笔记(二二) - 与Mybatis集成

    Mybatis集成 Spring Boot中的JPA部分默认是使用的hibernate,而如果想使用Mybatis的话就需要自己做一些配置.使用方式有两种,第一种是Mybatis官方提供的 mybat ...

  8. 使用Windows服务定时去执行一个方法的三种方式

    方式一:使用System.Timers.Timer定时器 public partial class Service1 : ServiceBase { private UnitOfWork unitOf ...

  9. CF练习记录

    2018/5/6 Codeforces Round #478 (Div. 2) C http://codeforces.com/contest/975/problem/C Valhalla Siege ...

  10. [codevs1036] 商务旅行

    题目描述 Description 某首都城市的商人要经常到各城镇去做生意,他们按自己的路线去做,目的是为了更好的节约时间. 假设有N个城镇,首都编号为1,商人从首都出发,其他各城镇之间都有道路连接,任 ...