一般的,image restoration(IR)任务旨在从观察的退化变量$y$(退化模型,如式子1)中,恢复潜在的干净图像$x$

$y \text{} =\text{}\textbf{H}x\text{}+\text{}v $

where $\textbf{H}$denotes 退化矩阵,$\textbf{v}$denotes 加性高斯白噪声(additive white Gaussian noise) with 标准差$\sigma$

指定不同的退化矩阵$\textbf{H}$,对应着不同的IR任务:

-- 当$\textbf{H}$是一个恒等矩阵,IR任务对应着图像去噪(image denoising)

-- 当$\textbf{H}$是一个模糊算子(blurring operator),IR任务对应着图像去模糊(image deblurring)

-- 当$\textbf{H}$是一个模糊和下采样的复合算子(composite operator of blurring and down-sampling),IR任务对应着图像超分辨率(image super-resolution)

IR 是一个病态逆问题(ill-posed inverse problem),先验(prior)被叫做正则化项(regularization),需要被采取去约束解决空间. 从贝叶斯的观点, 需要被推导出的潜在的干净图像$\hat{x}$能够通过解决一个MAP(maximum A posteriori )问题得到:

$\hat{x}\text{}=\text{}$ argmax$_x \text{}$log$p(\textbf{y}|\textbf{x})\text{}+\text{}$log$p(\textbf{x})\text{}\text{}\text{}(1)$

其中log$$p(\textbf{y}|textbf{x})代表着$y$的log-似然,log$p(x)$是$x$的先验,更加正式的,公式一 被重新写:

$\hat{x} = $argmin$_{x}\frac{1}{2}||\textbf{y} - \textbf{H}x||^{2} + \lambda\Phi(x)\text{}\text{}\text{}(2)$

其中解法是最小化一个能量函数,由三个部分组成 数据保真项=$\frac{1}{2}||y\text{}\text{}-\textbf{H}x||^{2}$,一个正则化项$\Phi(x)$ 和一个平衡(trade-off)参数$\lambda$. 数据保真项确保了这个解法是通过了这个退化过程,正则化项强制执行输出所需的属性;

To solve Eqn.(2) , have two main categories methods:

--model-based optimization methods:  aim to directly solve Eqn2 使用一些耗时的迭代传播(time-comsuming iterative inference)

--discriminative learning methods: 通过优化包含退化干净(degraded-clean pairs )图像对的训练集上的损失函数来学习先验参数$\Theta$和紧凑(compact)推理,目标被给出:

min$_{\Theta}\text{}\textit{l}(\hat{x},x)$      $s.t.$       $\hat{x}\text{}=\text{}$arg min$_{x}\frac{1}{2}||y - \textbf{H}x||\text{}+\text{}\lambda\Phi(x;\Theta))$     (3)

因为这个推理是被MAP估计所指导,所以我们将这种方法称作为MAP推理指导的判别式学习方法(MAP inference guided discriminative learning method);

使用一个预先定义的非线性函数:

$\hat{x}\text{}\text{}f(y,\textbf{H};\Theta)$==》注意这种函数内分号的形式,$\Theta$只是参数,前面那个才是真正的自变量,f(x;θ)是关于x的函数,其中θ是参数,x才是自变量,所以f(x;θ)是关于x的一元函数.
来替换MAP推理,我们可以把朴素的判别学习方法看作是Eqn3的一般情况。

--model-based optimization methods:  通过指定退化矩阵$\textbf{H}$来灵活的处理不同的IR任务

--discriminative learning methods: 通过使用确定的退化矩阵训练数据来学习模型

SO====》由以上两点可以得到,判别式学习方法常常限定在一些特定的任务如 MLP SRCNN DCNN;

图像降噪认为model-based method 能够处理不同噪声水平的图像,如BM3D WNNM, 然而判别学习方法只能够针对不同的噪声水平训练不同的模型。


 使用判别式学习方法的优缺点:

缺点: 灵活性较差

优点: 快速的测试速度; 由于联合优化(joint optimization)和端到端的训练(end-to-end training),具有前景性的表现;

使用model-based optimization 方法的优缺点:

缺点:时间消耗time-consuming with 复杂的先验 sophisticated prior 为了好的表现.

SO ===》 非常有吸引力的是利用他们各自的优点去研究他们的集成


Method

在变量分割技术的辅助下,如交替方向乘子法(alternating direction method of multiplier,ADMM)和半二次分割法(half quadratic splitting),使得有可能独立的处理 保真项(fidelity term)和正则化项(regularization term).

而且,正则化项仅仅对应于一个去噪子问题!!!所以,这使得能够将任何的判别式降噪器集成到model-based 优化方法中。

--不采用学习一个MAP推导指导的判别模型,而是采取一个朴素的CNN去学习降噪器;

-- 已学习的CNN降噪器作为一个模块嵌入到model-based 优化方法中,去解决inverse 问题;

Image Restoration with Denoiser prior

--之前有借助ADMM变量分离技术的即插即用的先验架构;

--之前有提出使用HQS技术进行图像的降噪和去模糊的;

基于以上一些降噪先验的related work, 我们可以看出,降噪器先验可以通过多种方法插入迭代方案(iterative scheme);

迭代方案涉一个保真项相关子问题和一个降噪子问题;


image restoration(IR) task的更多相关文章

  1. elixir 高可用系列(四) Task

    概述 之前学习的 Agent,GenSever以及GenEvent,都是用来管理状态或者处理消息的. 但是在很多时候,我们需要的是执行某个任务,这时如果使用 GenSever 或者 GenEvent, ...

  2. 深入理解 JavaScript 事件循环(二)— task and microtask

    引言 microtask 这一名词是 JS 中比较新的概念,几乎所有人都是在学习 ES6 的 Promise 时才接触这一新概念,我也不例外.当我刚开始学习 Promise 的时候,对其中回调函数的执 ...

  3. celery (二) task调用

    调用 TASK 基础 task 的调用方式有三种: 类似普通函数的调用方式, 通过 __calling__ 调用 ,类似 function() 通过 apply_async() 调用,能接受较多的参数 ...

  4. [译] 深入理解 JavaScript 事件循环(二)— task and microtask

    引言 microtask 这一名词是 JS 中比较新的概念,几乎所有人都是在学习 ES6 的 Promise 时才接触这一新概念,我也不例外.当我刚开始学习 Promise 的时候,对其中回调函数的执 ...

  5. Spring的定时任务(任务调度)<task:scheduled-tasks>

    Spring内部有一个task是Spring自带的一个设定时间自动任务调度,提供了两种方式进行配置,一种是注解的方式,而另外一种就是XML配置方式了.注解方式比较简洁,XML配置方式相对而言有些繁琐, ...

  6. 【TencentOS tiny】深度源码分析(1)——task

    任务的基本概念 从系统的角度看,任务是竞争系统资源的最小运行单元.TencentOS tiny是一个支持多任务的操作系统,任务可以使用或等待CPU.使用内存空间等系统资源,并独立于其它任务运行,理论上 ...

  7. Flink原理(三)——Task(任务)、Operator Chain(算子链)和Slot(资源)

    本文是参考官方文档结合自己的理解写的,所引用文献均已指明来源,若侵权请留言告知,我会立马删除.此外,若是表达欠妥的地方,欢迎大伙留言指出. 前言 在上一篇博客Flink原理(二) ——资源一文中已简要 ...

  8. android学习记录(十三)Task 和 Activity 回退栈操作。

    首先说一下Task是一个什么概念吧:Task是一个包括activity的列表.没 错.简单的说就是依照启动的先后来排队的一个队列.Back Stack.就是回退栈的意思:那么有什么用?Back Sta ...

  9. celery (二) task

    Task task 具有如下特点: task 可以在任何可调用的地方创建.它有双重角色: 定义了当task被调用时,会发送一个消息. 定义了当worker收到消息时会运行消息对应的函数 每个task都 ...

随机推荐

  1. 面试官写了个双冒号: : 问我这是什么语法?Java中有这玩意?

    一:简洁 方法引用分为三种,方法引用通过一对双冒号:: 来表示,方法引用是一种函数式接口的另一种书写方式 静态方法引用,通过类名::静态方法名, 如 Integer::parseInt 实例方法引用, ...

  2. 强大的 Node.js Web 框架 - Daze.js

    去年年初对 Node.js 比较感兴趣,也用了很多 Node.js 的框架,但是开发体验不是特别好,我之前也是后端转前端,然后再接触 Node.js ,所以用过挺多的服务端框架,相对js而言,设计一款 ...

  3. Alibaba高并发业务秒杀系统落地实战文档,已实践某大型秒杀场景

    前言: 高并发,几乎是每个程序员都想拥有的经验.原因很简单:随着流量变大,会遇到各种各样的技术问题,比如接口响应超时.CPU load升高.GC频繁.死锁.大数据量存储等等,这些问题能推动我们在技术深 ...

  4. Python-鸡兔同笼问题

    鸡兔同笼问题 -- 今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何? --鸡和兔在一个笼子里,从上面数,有35个头:从下面数,有94只脚.问笼中各有几只鸡和兔 如何逻辑整理? -- 鸡头和兔子 ...

  5. Mysql中 int(3) 类型的含义

    注意:这里的(3)代表的并不是存储在数据库中的具体的长度,以前总是会误以为int(3)只能存储3个长度的数字,int(11)就会存储11个长度的数字,这是大错特错的. 其实当我们在选择使用int的类型 ...

  6. 手写“SpringBoot”近况:IoC模块已经完成

    jsoncat:https://github.com/Snailclimb/jsoncat (About 仿 Spring Boot 但不同于 Spring Boot 的一个轻量级的 HTTP 框架) ...

  7. 未能找到元素“appender”的架构信息

    在App.config写入log4net的配置信息,然后错误列表就出现了一堆的消息提示. 未能找到元素"appender-ref"的架构信息 未能找到元素"appende ...

  8. 061 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 08 一维数组总结

    061 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 08 一维数组总结 本文知识点:一维数组总结 总结 注意点

  9. AE2018简单的编辑

    来源:https://jingyan.baidu.com/article/1876c8525cf522890a137651.html Ae 2018 怎样锁定图层,阻止对图层进行编辑? 听语音 原创 ...

  10. P4568 [JLOI2011]飞行路线 / P2939 [USACO09FEB]Revamping Trails G

    题目描述 Link Alice 和 Bob 现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在 \(n\) 个城市设有业务,设这些城市分别标记为 \(0\) 到 \(n-1\),一共 ...