Toward Convolutional Blind Denoising of Real Photographs
本文提出了一个针对真实图像的盲卷积去噪网络,增强了深度去噪模型的鲁棒性和实用性。
摘要
作者提出了一个 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的更多相关文章
- Paper | Toward Convolutional Blind Denoising of Real Photographs
目录 故事背景 建模现实噪声 CBDNet 非对称损失 数据库 实验 发表在2019 CVPR. 摘要 While deep convolutional neural networks (CNNs) ...
- CV code references
转:http://www.sigvc.org/bbs/thread-72-1-1.html 一.特征提取Feature Extraction: SIFT [1] [Demo program][SI ...
- CV codes代码分类整理合集 《转》
from:http://www.sigvc.org/bbs/thread-72-1-1.html 一.特征提取Feature Extraction: SIFT [1] [Demo program] ...
- {ICIP2014}{收录论文列表}
This article come from HEREARS-L1: Learning Tuesday 10:30–12:30; Oral Session; Room: Leonard de Vinc ...
- 计算机视觉与模式识别代码合集第二版one
Topic Name Reference code Feature Detection, Feature Extraction, and Action Recognition Space-Time I ...
- CVPR2018资源汇总
CVPR 2018大会将于2018年6月18~22日于美国犹他州的盐湖城(Salt Lake City)举办. CVPR2018论文集下载:http://openaccess.thecvf.com/m ...
- Paper | Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising
目录 故事背景 网络结构 BN和残差学习 拓展到其他任务 发表在2017 TIP. 摘要 Discriminative model learning for image denoising has b ...
- 论文翻译: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(非官方复现) 引用格式 ...
- 《DSLR-Quality Photos on Mobile Devices with Deep Convolutional Networks》研读笔记
<DSLR-Quality Photos on Mobile Devices with Deep Convolutional Networks>研读笔记 论文标题:DSLR-Quality ...
随机推荐
- Node.js 笔记03
一.buffer(缓存区) Node里面的buffer,是一个二进制数据容器,数据结构类似与数组,专门用于Node中数据的存放 1. buffer的基本使用 历史上的使用方式:const buf1 ...
- linux下ssh/sftp配置和权限设置
基于 ssh 的 sftp 服务相比 ftp 有更好的安全性(非明文帐号密码传输)和方便的权限管理(限制用户的活动目录). 1.开通 sftp 帐号,使用户只能 sftp 操作文件, 而不能 ssh ...
- Windows无法安装到这个磁盘 选中的磁盘具有MBR分区表解决方法
在安装 win10的时候,会出现这种提示:Windows 无法安装到这个磁盘.选中的磁 盘具有 MBR 分区表.在 EFI 系统上, Windows 只能安装到 GPT 磁盘.出现这种 情况主要是因为 ...
- React Native 中组件的生命周期(转)
概述 就像 Android 开发中的 View 一样,React Native(RN) 中的组件也有生命周期(Lifecycle).所谓生命周期,就是一个对象从开始生成到最后消亡所经历的状态,理解生命 ...
- 【模板】tarjan算法
tarjan求强连通分量 #include<bits/stdc++.h> #define MAX 10005 using namespace std; int dfn[MAX],low[M ...
- PHP队列之理论篇
定义: 特殊的线性表. 特点: 1.先进先出:连结性. 2.作为一种特殊性的表,主要是在表前端进行删除操作,我们称删除的端为对头(front):只能在表的后端进行插入操作,我们称之为称插入 ...
- PHP中有关IPV4 和IPV6地址转换以及其它一些常见问题
这里主要介绍一下 IPV4 / IPV6 在 PHP / MySQL 中如何转换.以及中间容易碰到的一些问题. 首先介绍两个函数: ip2long:将 IPV4 的字符串互联网协议转换成长整型数字 i ...
- Windows下安装Mysql5.5.27(社区版)
所有平台的 MySQL 下载地址为: MySQL 下载. 挑选你需要的 MySQL Community Server 版本及对应的平台. 运行mysql-5.5.27-win32.msi 进入欢迎界面 ...
- Tensorflow 笔记:第一讲
一. 基本概念 1. 什么是人工智能 人工智能的概念: 机器模拟人的意识和思维 重要人物: 艾伦·麦席森·图灵( Alan Mathison Turing) 人物简介: 1912 年 6 月 23 日 ...
- 多线程编程之Apue3rd_Chapter11之互斥锁_读写锁_自旋锁
学习了apue3rd的第11章,主要讲的是多线程编程.因为线程共享进程的资源比如堆和全局变量,多线程编程最重要的是,使用各种锁进行线程同步. 线程编程首先要学习的三个函数如下: #include &l ...