这篇论文主要概述了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. 深入研究RocketMQ生产者发送消息的底层原理

    前言 hello,小伙伴们,王子又来和大家研究RocketMQ的原理了,之前的文章RocketMQ生产部署架构如何设计中,我们已经简单的聊过了生产者是如何发送消息给Broker的. 我们简单回顾一下这 ...

  2. Windows10上安装MySQL(详细)

    一.下载MySQL 1.在浏览器里打开mysql的官网http://www.mysql.com 2.进入页面顶部的"Downloads" 3.下滑页面,打开页面底部的"C ...

  3. python协程(yield、asyncio标准库、gevent第三方)、异步的实现

    引言 同步:不同程序单元为了完成某个任务,在执行过程中需靠某种通信方式以协调一致,称这些程序单元是同步执行的. 例如购物系统中更新商品库存,需要用"行锁"作为通信信号,让不同的更新 ...

  4. 新手学习Python第三方包库pip安装失败总结

    这篇文章纯原创,是之前自己学习使用pyhton时遇到的问题,故在此记录一下. 问题与需求:用python下载第三方库或包的时候出错怎么办? 方法有一下三种,可以解决大部分的问题. 1.在cmd命令控制 ...

  5. springboot+websocket实现简单的在线聊天功能

    效果如下: java实现逻辑: 1.引入maven依赖 <dependency> <groupId>org.springframework.boot</groupId&g ...

  6. Docker系列——利用gogs搭建属于自己的git服务

    gogs简介 Gogs的目标是打造一个最简单.最快速和最轻松的方式搭建自助Git服务.使用Go语言开发使得Gogs能够通过独立的二进制分发,并且支持Go语言支持的所有平台,包括 Linux.Mac O ...

  7. java版集成Allure报告--注释使用说明

    testNG集成Allure报告--注释使用说明 前置条件 首先需要下载allure的zip包解压,然后配置环境变量即可(win).allure的GitHub下载地址: 然后执行testn.xml或者 ...

  8. p.array 的shape (2,)与(2,1)的分别是什么意思

    numpy.ndarray.shap是返回一个数组维度的元组. (2,)与(2,1)的区别如下:   ndarray.shape:数组的维度.为一个表示数组在每个维度上大小的整数元组.例如二维数组中, ...

  9. Python练习题 005:三个数字由大到小排序输出

    [Python练习题 005]输入三个整数x,y,z,请把这三个数由小到大输出. ----------------------------------------------------------- ...

  10. 【题解】[SDOI2015]星际战争

    \(\color{red}{Link}\) \(\text{Solution:}\) 观察到,如果一个时间\(T\)可以完成任务,则\(T+1\)这个时间也可以完成任务. 于是我们可以二分. 为了避免 ...