introduction

图像恢复目标函数一般形式:

      

前一项为保真项(fidelity),后一项为惩罚项,一般只与去噪有关。

基于模型的优化方法可以灵活地使用不同的退化矩阵H来处理不同的图像恢复问题,而判别学习方法通过训练图像对数据集来学习图像退化模型。

基于模型的优化方法可以灵活的处理不同的逆问题(inverse problem),但通常耗时较多,而且需要复杂的先验,而判别学习方法速度快,但应用范围受一定限制。

采用分裂变量的方法(ADMM、半二次分裂(HQS)等),可以将判别学习方法训练的CNN去噪器作为模块插入基于模型的优化方法中,以解决其他逆问题(例如去模糊)。

半二次分裂HQS

分裂变量:

      

代价函数:

      

µ是一个在迭代中非增的惩罚参数。

重复迭代,交替对x,z更新:

      

其中第一项x是保真项(fidelity term,第二项是惩罚项(regularization term,第一项根据不同的退化矩阵有许多方法可以解出来。一个直接的解为:

      

而第二项可以写成高斯去噪器(噪声级别√λ/µ)形式:

      

这样图像先验Φ部分可以替代为去噪先验,这样一来,当图像先验条件未知或不足时,可以采用各种去噪器作为替代补充,也可以利用不同图像先验来联合求解一个互补去噪算法。这个性质在其他优化方法(如ISTA、FISTA等)中同样奏效,只要这个算法中有去噪子问题。

CNN去噪器

CNN相对于传统的去噪器(全变差、高斯混合模型、K-SVD、非局部均值、BM3D等)具有速度、性能和泛化能力上的优势。

CNN去噪器结构

      

s-DConv” denotes s-dilated convolution, s= 1, 2, 3 and 4. A dilated filter with dilation factor scan be simply interpreted as a sparse filter of size (2s+1) ×(2s+1) where only 9 entries of fixed positions are non-zeros.

整个算法过程:

   

通过迭代,实现交替对x,z更新,其中对z更新使用CNN denoiser.

results

去噪结果

去模糊结果

超分辨结果

Learning Deep CNN Denoiser Prior for Image Restoration阅读笔记的更多相关文章

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

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

  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. 论文阅读笔记(二十一)【CVPR2017】:Deep Spatial-Temporal Fusion Network for Video-Based Person Re-Identification

    Introduction (1)Motivation: 当前CNN无法提取图像序列的关系特征:RNN较为忽视视频序列前期的帧信息,也缺乏对于步态等具体信息的提取:Siamese损失和Triplet损失 ...

  4. What are some good books/papers for learning deep learning?

    What's the most effective way to get started with deep learning?       29 Answers     Yoshua Bengio, ...

  5. Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.1

    Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.1 http://blog.csdn.net/sunbow0 Spark ML ...

  6. 个性探测综述阅读笔记——Recent trends in deep learning based personality detection

    目录 abstract 1. introduction 1.1 个性衡量方法 1.2 应用前景 1.3 伦理道德 2. Related works 3. Baseline methods 3.1 文本 ...

  7. Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.3

    Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.3 http://blog.csdn.net/sunbow0 第二章Deep ...

  8. (转) Learning Deep Learning with Keras

    Learning Deep Learning with Keras Piotr Migdał - blog Projects Articles Publications Resume About Ph ...

  9. Deep Learning of Graph Matching 阅读笔记

    Deep Learning of Graph Matching 阅读笔记 CVPR2018的一篇文章,主要提出了一种利用深度神经网络实现端到端图匹配(Graph Matching)的方法. 该篇文章理 ...

随机推荐

  1. Ubantu MySQL数据库操作

    用户管理: 1.新建用户: >CREATE USER name IDENTIFIED BY 'ssapdrow'; 2.更改密码: >SET PASSWORD FOR name=PASSW ...

  2. Linux,Windows中的相对路径、绝对路径

    1.Windows绝对路径:以盘符开始 如C:/a.txt相对路径:. 指的是当前目录.. 指的是挡圈目录的上一级目录./test表示当前目录下的test文件夹/test表示当前盘符下的test文件夹 ...

  3. python(34):为什么在Python里推荐使用多进程而不是多线程?

    最近在看Python的多线程,经常我们会听到老手说:“Python下多线程是鸡肋,推荐使用多进程!”,但是为什么这么说呢?                  要知其然,更要知其所以然.所以有了下面的深 ...

  4. MySQL PLSQL Demo - 001.创建、调用、删除过程

    drop procedure if exists p_hello_world; create procedure p_hello_world() begin select sysdate(); end ...

  5. codeBlocks编译undefined reference to错误

    是没有把c文件编译进去的原因. 右键项目,选择属性,弹出窗体 然后选择build targets 在最下面有个build target files:中把c文件勾选.点击ok重新编译即可. Code:: ...

  6. 使用 Electron 构建桌面应用(拖动控制篇)

    使用 Electron 构建桌面应用(拖动控制篇) 当窗口被定义了大小,我们也就是在自定义这个窗口,使得它不可拉伸没有框架,让它看起来就像一个真正的声效器浮在桌面上. 现在问题来了 – 要如何移动或者 ...

  7. uva10160(dfs+状态压缩)

    题意:给出n个点,以及m条边,这些边代表着这些点相连,修一个电力站,若在某一点修一个站,那么与这个点相连的点都可以通电,问所有的点都通电的话至少要修多少个电力站........ 思路:最多给出的是35 ...

  8. C++基础学习-20120516

    1.一下是使用strcpy_s与strcpy的安全性比较 char szBuf[2] = {0}; strcpy_s(szBuf, 2, "12131");  //新的CRT函数  ...

  9. egret请求参数

    egret的文档还不错,不过http请求参数的文档居然没有,于是自己摸索了一下, 发现原来是直接传字符串参数就可以了.于是封装了一个类,方便使用. class RequestParam { publi ...

  10. js获取下拉,单选

    1.JS取下拉框的显示值和判断单选按钮 1.需要得到select组件显示的值.下面是经常用到的方法: Html 源码: <html><body><select id=&q ...