这篇论文主要概述了model-baesd的方法在解决图像恢复的逆问题的很好的效果,降噪问题其实就是前向模型的H是一个恒等算子,将state-of-the-art的降噪算法(先验模型)和相对应的逆问题的求解方法结合是一个困难但是具体前景的工作。  作者提出了一个灵活的框架能够允许性能强大的图像系统的前向模型(forword models )去匹配j和结合降噪模型和先验模型(denoising model or prior model),以实现图像恢复。

传统的模型涉及两个部分,一个模型是噪声的估计系统,另一个模型是待重构图像模型(比如先验模型),然后通过最小化一个成本函数来计算重构,该函数平衡了这两个模型的拟合。

降噪问题在图像的反演过程中最简单的,因为他的前向模型是一个恒等算子,为新的先验模型的产生创造了肥沃的环境。model-based 逆问题主要关注的是精确的建模大尺度的复杂的前向模型,很少有融合先进的先验模型、降噪方法啊。

-- 因此,基于模型的反演研究往往滞后于先进的先验建模

-- BM3D-based 方法的图像先验模型并不能够直接应用于一般的反演问题

虽然之前也有集合先进的先验模型进入图像的反演问题,但是他们常常是高度定制化的,

当前并没有为一般的model-based图像反演问题,匹配降噪模型作为先验。


方法: 应用ADMM技术,分离变量以实现将MAP估计问题解耦为先验和前模型问题,一个是前向模型一个是先验问题。一个模块对应着降噪算法只依靠于先验,第二个模块对应着应用l2正则化的反演问题只依靠于前向模型。

MAP计算函数去解决反演问题

带求量$\hat{x}$的MAP估计:

$\hat{x}=$argmin-log$p(y|x)$-log$p(x)$

$\hat{x}=$argmin$l(y;x)+s(x)$

MAP估计$l(y;x)=\frac{1}{2\sigma_{n}^{2}}||y-x||_{2}^{2}+\frac{M}{2}log(2\pi\sigma_{n}^{2})$

对应着降噪任务,旨在被设计去移除方差为$\sigma_{n}^{2}$的加性高斯白噪声(AWGN)

所以可以再表示为:

$H(y;\sigma_{n}^{2})=\frac{1}{2\sigma_{n}^{2}}||y-x||_{2}^{2}+s(x)$     (3)

常常加上增加的正则化参数去控制先验模型在重建上的相对影响:

$\hat{x} = $argmin$l(y;x)+\beta s(x)$

变量分离 and ADMM

首先分离变量x为两个新的变量x 和 v, 则MAP问题被重新写为:

$(\hat{x},\hat{v}) = $argmin$_{x,v}{l(y;x)+ \beta s(v)}$    令x=v

使用增广拉格朗如函数(augmented Lagrangian)和ADMM技术去解决这个问题:

$L_{\lambda}(x,v,u) = l(y;x)+ \beta s(v) + \frac{\lambda}{2}||x-v+u||_{2}^{2} - \frac{\lambda}{2}||u||_{2}^{2}$

其中u 是一个缩放的对偶变量(dual variable),$\lambda$是一个惩罚变量。

$\hat{x} = $ argmin$_{x}L_{\lambda}(x,\hat{v},u)$

$\hat{v} = $argmin$_{v}L_{\lambda}(\hat{x},v,u)$

$u = u + (\hat{x}-\hat{v})$

其中$\lambda$ 对最后的结果没有影响,只是控制ADMM算法的收敛率

如果,$\hat{x} =\hat{v}-u$ 和 $\hat{v}=\hat{x}+u$ :

step1 $\rightarrow$ $\hat{x} = $argmin$_{x}{ l(y;x) + \frac{\lambda}{2}||x\text{}-\hat{x}||_{2}^{2}}$

step2  $\rightarrow$  $\hat{v}=$argmin$_{v}\frac{\lambda}{2}||\hat{v}\text{}-\text{}v||_{2}^{2}+\lambda s(v)$   (11)

step3  $\rightarrow$    $u = u + (\hat{x}-\hat{v})$

第一步取决于前向模型的选择;第二步取决于先验的选择,能够被集成作为一个降噪操作,如上面的公式。

为了强调ADMM更新的模块结构,定义一个算子$F(y,\tilde{x};\lambda)$:

$F(y,\tilde{x};\lambda)=$argmin$_{x}{ l(y;x)+\frac{\lambda}{2}||x\text{}-\text{}\tilde{x}||_{2}^{2}}$

上面的公式返回了 给定值y,求得的x的MAP估计值,使用二次正则化值$\tilde{x}$,是一个二次正则化最小二乘问题。

我们称作$F(y,\tilde{x};\lambda)$为简化的重构操作,根据重构操作$F(y,\tilde{x};\lambda)$和降噪操作$H(y;\sigma_{n}^{2})$,我们能够重写ADMM迭代:

$\hat{x} \leftarrow  F(y,\tilde{x};\lambda)$

$\hat{v} \leftarrow H(y;\frac{\beta}{\lambda}) $ 根据公式3和公式11

$u = u + (\hat{x}-\hat{v})$

这样写后,形成了两个独立的模块,重建操作和降噪算法操作,先验模型的改变只涉及一个模块$H(y;\sigma_{n}^{2})$,所以可以混合和匹配不同的降噪先验模型和有益的前向模型。

重要的点,这两个模块都可以不那么精确,都可以使用近似的操作来取代,这些算子不能使各自的成本函数最小化,而是使其值充分降低。这个对于将使算法在实际中发挥作用和加速都极为有益。

通过变量分离技术,作为一个机制去产生灵活的架构,期望简单的匹配先验模型和前向模型。

ADMM能够确保收敛,通过数值实验,我们发现用去噪算法代替H,即使不显式对应于凸函数s甚至严格的优化问题,也能得到稳定的结果。(这个就为使用判别学习方法得到先验模型创造了条件,先验正则化隐式的包含在参数模型中)

整体算法:

其中第一步,在HQS算法中,使用的是快速傅里叶变换(FFT)进行求解;

思考:

这部分可以尝试使用CNN-based残差学习的判别学习方法对先验进行建模,使用降噪先验取代$\hat{v} \leftarrow H(y;\frac{\beta}{\lambda}) $;

这部分也可以尝试嵌入一个GAN-based 拟合的多分布,兴许可以产生比CNN-based 的单一判别学习方法更好的效果;

论文解读《Plug-and-Play Priors for Model Based Reconstruction》的更多相关文章

  1. 《Population Based Training of Neural Networks》论文解读

      很早之前看到这篇文章的时候,觉得这篇文章的思想很朴素,没有让人眼前一亮的东西就没有太在意.之后读到很多Multi-Agent或者并行训练的文章,都会提到这个算法,比如第一视角多人游戏(Quake ...

  2. ImageNet Classification with Deep Convolutional Neural Networks 论文解读

    这个论文应该算是把深度学习应用到图片识别(ILSVRC,ImageNet large-scale Visual Recognition Challenge)上的具有重大意义的一篇文章.因为在之前,人们 ...

  3. 《Deep Feature Extraction and Classification of Hyperspectral Images Based on Convolutional Neural Networks》论文笔记

    论文题目<Deep Feature Extraction and Classification of Hyperspectral Images Based on Convolutional Ne ...

  4. Quantization aware training 量化背后的技术——Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference

    1,概述 模型量化属于模型压缩的范畴,模型压缩的目的旨在降低模型的内存大小,加速模型的推断速度(除了压缩之外,一些模型推断框架也可以通过内存,io,计算等优化来加速推断). 常见的模型压缩算法有:量化 ...

  5. Training Deep Neural Networks

    http://handong1587.github.io/deep_learning/2015/10/09/training-dnn.html  //转载于 Training Deep Neural ...

  6. Training (deep) Neural Networks Part: 1

    Training (deep) Neural Networks Part: 1 Nowadays training deep learning models have become extremely ...

  7. [CVPR2015] Is object localization for free? – Weakly-supervised learning with convolutional neural networks论文笔记

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "Helvetica Neue"; color: #323333 } p. ...

  8. Training spiking neural networks for reinforcement learning

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 原文链接:https://arxiv.org/pdf/2005.05941.pdf Contents: Abstract Introduc ...

  9. CVPR 2018paper: DeepDefense: Training Deep Neural Networks with Improved Robustness第一讲

    前言:好久不见了,最近一直瞎忙活,博客好久都没有更新了,表示道歉.希望大家在新的一年中工作顺利,学业进步,共勉! 今天我们介绍深度神经网络的缺点:无论模型有多深,无论是卷积还是RNN,都有的问题:以图 ...

  10. 论文翻译:BinaryConnect: Training Deep Neural Networks with binary weights during propagations

    目录 摘要 1.引言 2.BinaryConnect 2.1 +1 or -1 2.2确定性与随机性二值化 2.3 Propagations vs updates 2.4 Clipping 2.5 A ...

随机推荐

  1. .NET 5 中 Target Framework 详解

    作者:.NET Team 翻译:精致码农-王亮 原文:http://dwz.win/Q4v 我们希望极大地简化开发人员必须在项目文件和 NuGet 包中使用的TFM (Target Framework ...

  2. linux学习(二)认识Linux

    一.Linux系统的组成 linux内核(linus 团队管理) shell:用户与内核交互的接口 文件系统:ext3.ext4等.windows 有 fat32 .ntfs 第三方应用软件 二.Li ...

  3. 将SublimeText3打造成简易Java IDE

    简介与优点 使用该教程,你能使你的Sublime Text3可以作为一个精简版的JAVA IDE工具 既可以独立在cmd控制台运行也可以在Sublime自带的控制台运行 运行后不会有乱码 报错后可以在 ...

  4. Java 多线程并发编程

    导读 创作不易,禁止转载! 并发编程简介 发展历程 早起计算机,从头到尾执行一个程序,这样就严重造成资源的浪费.然后操作系统就出现了,计算机能运行多个程序,不同的程序在不同的单独的进程中运行,一个进程 ...

  5. Python练习题 011:成绩打分

    [Python练习题 011] 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. ---------------------- ...

  6. 01 C语言基本介绍

    C语言特点 容易上手学习 结构化语言 执行效率高 处理的工作和活动偏底层 可以在多种计算机平台上编译(类似Java的跨平台) C语言历史 目前,C 语言是最广泛使用的系统程序设计语言之一 C 语言是最 ...

  7. python 给IDLE添加行号

    [LineNumbers] enable=1 enable_editor=1 enable_shell=1 visible=1 [LineNumbers_cfgBindings] linenumber ...

  8. 超详细的TCP、Sokcket和SuperSocket与TCP入门指导

    前言 本文主要介绍TCP.Sokcket和SuperSocket的基础使用. 创建实例模式的SuperSocket服务 首先创建控制台项目,然后Nuget添加引用SuperSocket.Engine. ...

  9. 开始接触flex

    flex框架使用的是.mxml后缀的文件,可以在Eclipse导入flex开发的插件.代码写完之后需要进行编译成为.swf文件成功之后才可以正常运行.现在刚开始接触金融的项目,需求什么的还有很多不是理 ...

  10. MYSQL账户是否不允许远程连接。如果无法连接可以尝试以下方法:

    mysql账户是否不允许远程连接.如果无法连接可以尝试以下方法: mysql -u root -p //登录MySQL mysql> GRANT ALL PRIVILEGES ON *.* TO ...