变量分割技术、判别学习(discriminative learning method)
基于模型的优化方法(model-based optimization method): 小波变换、卡尔曼滤波、中值滤波、均值滤波;
优点:对于处理不同的逆问题都非常灵活;缺点:为了更好的效果而采用各种复杂的先验,非常地费时
基于判别式学习方式(discriminative learning method): 训练成对的图像
优点:快速测试; 针对特定的任务,所以有一定的限制;
Deep Plug-and-Play Super-Resolution for Arbitrary Blur Kernels:
一旦退化模型被定义,下一步就是使用公式表示能量函数(energy function,也可以称为目标函数).通过MAP(Maximum A Posterriori) probability, 能量函数能够被给出:
$min_{x}\frac{1}{2\sigma^{2}}||\textbf{y} - (x\downarrow_{s})\otimes \textbf{k}||^{2} + \lambda \Phi(x)$
其中$\frac{1}{2\sigma^{2}}||\textbf{y} - (x\downarrow_{s})\otimes \textbf{k}||^{2}$ 是数据保真项或似然项,它由退化函数决定,$\Phi(x)$是一个正则化项或先验项,其中$\lambda$是正则化系数;
对于判别学习方法(discriminative learning method) ,前向传播模型恰恰对应了一个能量函数,退化模型被训练成对的高分辨率和低分辨率的图像对隐式的定义。这解释了为什么现在DNN-based SISR方法训练在双三次退化对于真实图像表现很差。
为了求出上面的式子,我们首先采用变量分割技术引入一个辅助变量$\textbf{z}$,得到下式这个相等的优化公式:
$\hat{x} = argmin_{x} \frac{1}{2\sigma^{2}}||\textbf{y} - \textbf{z} \otimes \textbf{k}||^{2} + \lambda \Phi(x)$
$subject to \textbf{z} = \textbf{x}\downarrow_{s}$
我们处理上式使用半二次分割(half quadratic splitting, HQS)算法,注意其他算法比如ADMM也能够被使用。
一般的,HQS最小化这个涉及一个增加的半二次惩罚项问题,来处理上式。目标函数写为:
$L_{\mu}(\textbf{x},\textbf{z}) = \frac{1}{2\sigma^{2}}||\textbf{y} - \textbf{z} \otimes \textbf{k}||^{2} + \lambda \Phi(x) + \frac{\mu}{2}||\textbf{z} - \textbf{x}\downarrow_{s}||^{2} $
其中 $\mu$ 是一个惩罚参数,一个非常大的$\mu$会强迫$\textbf{z}$近似相等于$\textbf{x}\downarrow_{s}$,通常,$\mu$在接下来的迭代求解过程中以非下降阶(non-descending order)的形式变化。
$z$和$x$ 可以看作是一个交替最小化问题,使用下面两个公式表示:
$\textbf{z}_{k+1} =$ argmin$_{\textbf{z}}||y - \textbf{z} \otimes \textbf{k}||^{2} + \mu\sigma^{2}||\textbf{z} - \textbf{x}_{k}\downarrow_{s}||^{2}$(7)
$\textbf{x}_{k+1}$ = argmin$_{\textbf{x}} \frac{\mu}{2}|| \textbf{z}_{k+1} - \textbf{x}\downarrow_{s} ||^{2} + \lambda \Phi(x)$
特别地,通过假设卷积是在圆形边界条件下进行的,Eqn(7)具有快速闭合形式的解法:
$\textbf{z}_{k+1} = \textit{F}^{-1} (\frac{\bar{\textit{F}(\textbf{k})}\textit{F}(\textbf{y}) + \mu\sigma^{2} \textit{F}(x_{k}\downarrow_{s})}{\bar{\textit{F}(\textbf{k})}\textit{F}(\textbf{k}) + \mu \sigma^{2}})$
Learning Deep CNN Denoiser Prior for Image Restoration:
Method:
--可以帮助噪声先验(denoiser prior),which作为基于模型的最优化方法的其中一个模块来解决这些逆问题(e.g., deblurring).
--噪声先验通过判别式学习方法(discriminative learning method)获得;
So, 结合上面两点,==》通过CNN训练一个噪声器,加入到基于模型的最优化方法来解决其他的逆问题;
在变量分离技术的帮助下,我们可以同时使用两种方法的各自优点;
变量分割技术(variable spitting techniques):
变量分离技术(variable splitting technique),如ADMM(alternating direction method of multipliers ),HQS(half quadratic splitting)方法,使得可以分别处理保真项(fidelity term)和正则项(regularization term),其中正则项仅对应于去噪的子问题。因此,可以在基于模型的优化方法中使用discriminative denoisers,本文的目标在于训练一系列快速高效的discriminative denoisers,并把它们用于基于模型优化的方法中,解决求逆问题。不使用MAP相关方法,而是使用CNN学习denoisers。
(也可以理解为基于模型的方法一般需要反复迭代去解这个公式,而基于判别学习的方法则通过损失函数去学习先验参数。这里可以将两者进行结合,正则项可以对应于一个去噪的子问题,这个子问题可以通过判别式学习的去噪器去获得,从而带来图像先验,使得基于模型的方法可以快速工作)
贡献:
-训练出一系列CNN denoisers。使用变量分离技术,强大的denoisers可以为基于模型的优化方法带来图像先验。
-学习到的CNN denoisers被作为一个模块部分插入基于模型的优化方法中,解决其他的求逆问题。
半二次方分裂 Half Quadratic Splitting (HQS)
$\hat{x}=\left. arg \text{ }min \right|_{x} \frac{1}{2}|| y-H x||^{2}+\lambda \Phi(x) \text{ }\text{ }\text{ }\text{ }\text{ }\text{ }(2)$
引入辅助变量$z, z = x$,HQS尝试最小化下面的成本函数:
$L_{\mu}(x,z)=\frac{1}{2}|| y-H x||^{2}+\lambda\Phi(z)+\frac{\mu}{2}||z-x||^{2}\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }(5)$
$\mu$ 惩罚参数,在接下来的迭代求解过程中以非下降阶(non-descending order)的形式变化;
等式(5)可以被下面两个迭代的式子所解决:变量分割技术,
$x_{k+1}=\left. arg\text{ }min \right|_{x}|| y-H x||^{2}+\mu||x-z_k||^{2}\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }(6a)$
$z_{k+1}=\left. arg\text{ } min \right|_{z}\frac{\mu}{2} ||z-x_{k+1}||+\lambda\Phi(z)\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }(6b)$
可以看到保真项与正则化项被分开到两个子问题中
等式(6a)保真项在二次正则化最小二乘问题,有很多针对不同的退化矩阵的快速解法,最简单的解法是
$x_{k+1}=(H^{T}H+\mu I)^{-1}(H^{T}y+\mu z_{k}) \text{ }\text{ }\text{ }\text{ }\text{ }\text{ }(7)$
正则化项涉及在6(a)中,可以重写为(8)
$z_{k+1}=\left. arg\text{ } min \right|_{z} \frac{1}{2(\sqrt{\lambda / \mu})^2} ||x_{k+1}-z||^2+\Phi(z)\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }(8)$
通过贝叶斯概率公式,等式(8)可以看做是对应于一个去噪任务,噪声水平为$\sqrt{\lambda / \mu}$,所以可以通过去噪器实现求出$z_{k+1}$.
以噪声水平$\sqrt{\lambda / \mu}$高斯去噪器的去噪图像$x_{k+1}$.去噪器可以作为(2)的模块,为了强调这个,重写(8)
$z_{k+1}=Denoiser(x_{k+1},\sqrt{\lambda / \mu})\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }(9)$
值得注意的是图像先验$\Phi$可以间接被去噪先验替代,这种解法有一些优点:
-- 他允许使用各种灰度和彩色降噪器去解决各种inverse 问题;
-- 求解Eqn2时,显式图像先验$\Phi(\cdot)$是未知的;
-- 利用多个互补(complementary)的去噪器,利用不同的图像先验,可以共同解决一个特定的问题;
变量分割技术、判别学习(discriminative learning method)的更多相关文章
- 【深度学习Deep Learning】资料大全
最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books by Yoshua Bengio, Ian Goodfellow and Aaron C ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料【转】
转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)
##机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)---#####注:机器学习资料[篇目一](https://github.co ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料
机器学习(Machine Learning)&深度学习(Deep Learning)资料 機器學習.深度學習方面不錯的資料,轉載. 原作:https://github.com/ty4z2008 ...
- Remote Sensing Images Semantic Segmentation with General Remote Sensing Vision Model via a Self-Supervised Contrastive Learning Method
论文阅读: Remote Sensing Images Semantic Segmentation with General Remote Sensing Vision Model via a Sel ...
- 流形学习 (Manifold Learning)
流形学习 (manifold learning) zz from prfans............................... dodo:流形学习 (manifold learning) ...
- 小样本学习Few-shot learning
One-shot learning Zero-shot learning Multi-shot learning Sparse Fine-grained Fine-tune 背景:CVPR 2018收 ...
- 集成学习(Ensembling Learning)
集成学习(Ensembling Learning) 标签(空格分隔): 机器学习 Adabost 对于一些弱分类器来说,如何通过组合方法构成一个强分类器.一般的思路是:改变训练数据的概率分布(权值分布 ...
- 转【面向代码】学习 Deep Learning(二)Deep Belief Nets(DBNs)
[面向代码]学习 Deep Learning(二)Deep Belief Nets(DBNs) http://blog.csdn.net/dark_scope/article/details/9447 ...
随机推荐
- solr综合案例
1. 综合案例 1.1. 需求 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字.分类.价格搜索商品信息,也可以根据价格进行排序,并且实现分页功能. 界面如下: 1.2分析 开发人员需要的 ...
- python基本语法要注意哪些?本文详解!
基本语法 第一个注释 print("hello,python") # 第二行注释 string_demo = "你好!" string_demo print ( ...
- 据说是面试题:由【if(a==1&&a==2&&a==3)】引发的思考探讨
有一天,突然在一个微信群有个群友发了张图片抛出了一道题,如图:
- Centos-shell-简介
shell 壳 1. 用户在操作系统上完成的所有任务都是通过shell与linux内核的交互实现的, 是用户和操作系统内核之间的通信桥梁 用户操作任务 <__> shell <__& ...
- Django-当前菜单激活状态-模版 request | slice
如何满足这个需求? 1. view中传递过来一个当前页面的参数标识,通过模版语言进行判断 {% if current_page == 'index' %}active{% endif %} # 每一个 ...
- VARCHART XGantt如何计算截止日期
甘特图从1998年的第一个商用版本开始就致力于计划编制和项目管理方面控件的研究和开发,经过20多年的积累和沉淀,目前可为软件开发商和最终用户提供最顶级的计划编制和项目管理的控件产品,帮助用户快速的整合 ...
- 删除链表的倒数第N个节点(头部加一个哑结点)
我的代码:测试用例[1,2]2, 时会报错,无法不能删除第一个指针 /** * Definition for singly-linked list. * public class ListNode ...
- MATLAB中conv2的详细用法 (以及【matlab知识补充】conv2、filter2、imfilter函数原理)
转载: 1.https://blog.csdn.net/jinv5/article/details/52874880 2.https://blog.csdn.net/majinlei121/artic ...
- phpstorm中配置使用svn详细步骤
一.搭建SVN环境 1.下载VisualSVN Sever.下载地址:https://www.visualsvn.com/server/download/ 2.安装VisualSVN Server. ...
- JS-YAML -YAML 1.2 JavaScript解析器/编写器
下载 JS-YAML -YAML 1.2 JavaScript解析器/编写器JS-YAML -YAML 1.2 JavaScript解析器/编写器 在线演示 这是YAML的实现,YAML是一种对人友好 ...