刚接触图像恢复问题,简单记录一下最近看论文刚弄懂的一个小问题

ADMM算法

ADMM(交替方向乘子法)是一种解决变量可分离凸优化问题的简单算法,具有求解速度快,收敛性能好的特点。ADMM可以将原问题转换为几个子问题,分别并行求解,最后协调各个子问题的解,得到原问题最优解。

算法流程

ADMM算法主要用于解决如下凸优化问题:
arg min⁡x,yf(x)+g(y)s.t.Ax+By=c\argmin_{x,y} f(x)+g(y) \\ s.t.\quad Ax+By=cx,yargmin​f(x)+g(y)s.t.Ax+By=c
其中,x∈Rnx \in R^nx∈Rn为目标函数f(x)f(x)f(x) 的优化变量,y∈Rmy \in R^{m}y∈Rm为目标函数 g(y)g(y)g(y) 的优化变量, A∈Rp×nA\in R^{p\times n}A∈Rp×n ,B∈Rp×mB\in R^{p\times m}B∈Rp×m , c∈Rpc\in R^pc∈Rp 。 函数fff,ggg 是凸函数。

  1. 首先写出他的增广拉格朗日函数:
    Lρ(x,y,λ)=f(x)+g(y)+λT(Ax+By−c)+ρ/2∥Ax+By−c∥22,ρ>0L_{\rho}(x,y,\lambda) = f(x)+g(y)+\lambda^T(Ax+By-c)+\rho/2\Vert Ax+By-c\Vert ^2_2, \quad \rho>0 Lρ​(x,y,λ)=f(x)+g(y)+λT(Ax+By−c)+ρ/2∥Ax+By−c∥22​,ρ>0
    λ∈Rp\lambda \in R^pλ∈Rp是拉格朗日乘子,ρ\rhoρ为惩罚参数且ρ>0\rho>0ρ>0。
  2. 利用ADMM算法求解:
    xk+1=arg min⁡xLρ(x,yk,λk)yk+1=arg min⁡yLρ(xk+1,y,λk)λk+1=λk+ρ(Axk+1+Byk+1−c)x_{k+1} = \argmin_x L_{\rho}(x,y_k,\lambda_k)\\ y_{k+1} = \argmin_y L_{\rho}(x_{k+1},y,\lambda_k)\\ \lambda_{k+1} = \lambda_k+\rho(Ax_{k+1}+By_{k+1}-c)xk+1​=xargmin​Lρ​(x,yk​,λk​)yk+1​=yargmin​Lρ​(xk+1​,y,λk​)λk+1​=λk​+ρ(Axk+1​+Byk+1​−c)
    实际上就是将xxx和yyy的联合优化过程分开了。
  3. 利用放缩对偶变量进行化简:
    根据向量乘法公式∥a+b∥22=∥a∥22+2aTb+∥b∥22\Vert a+b\Vert_2^2 = \Vert a \Vert_2^2+2a^Tb+\Vert b \Vert_2^2∥a+b∥22​=∥a∥22​+2aTb+∥b∥22​得2aTb+∥b∥22=∥a+b∥22−∥a∥222a^Tb +\Vert b \Vert_2^2= \Vert a+b\Vert^2_2-\Vert a \Vert_2^22aTb+∥b∥22​=∥a+b∥22​−∥a∥22​,所以Lρ(x,y,λ)L_{\rho}(x,y,\lambda)Lρ​(x,y,λ)中的线性项λT(Ax+By−c)\lambda^T(Ax+By-c)λT(Ax+By−c)和二次项ρ/2∥Ax+By−c∥22\rho/2\Vert Ax+By-c\Vert ^2_2ρ/2∥Ax+By−c∥22​可以进行合并:
    λT(Ax+By−c)+ρ/2∥Ax+By−c∥22=ρ2(2λTρ(Ax+By−c)+∥Ax+By−c∥22)=ρ2(∥Ax+By−c+λT/ρ∥22−∥λ/ρ∥22\lambda^T(Ax+By-c)+\rho/2\Vert Ax+By-c\Vert ^2_2 \\ \begin{array}{l} =\frac{\rho}2\left ( 2\frac{\lambda^T}{\rho}(Ax+By-c)+\Vert Ax+By-c\Vert ^2_2\right ) \\ =\frac{\rho}2(\Vert Ax+By-c+\lambda^T/\rho\Vert_2^2 - \Vert \lambda/\rho\Vert_2^2 \end{array}λT(Ax+By−c)+ρ/2∥Ax+By−c∥22​=2ρ​(2ρλT​(Ax+By−c)+∥Ax+By−c∥22​)=2ρ​(∥Ax+By−c+λT/ρ∥22​−∥λ/ρ∥22​​
    由于最后一项∥λ/ρ∥22\Vert \lambda/\rho\Vert_2^2∥λ/ρ∥22​与xxx,yyy无关,因此不影响xxx和yyy子问题的求解,可以在求解子问题时省略。
  4. 令放缩对偶变量为u=λ/ρu=\lambda/\rhou=λ/ρ,则ADMM算法可以改写为以下形式:
    xk+1=arg min⁡xf(x)+ρ/2∥Ax+Byk−c+uk∥22yk+1=arg min⁡xg(y)+ρ/2∥Axk+1+By−c+uk∥22uk+1=uk+Axk+1+Byk+1−cx_{k+1} = \argmin_x f(x)+\rho/2\Vert Ax+By_k-c+u_k\Vert_2^2\\ y_{k+1} = \argmin_x g(y)+\rho/2\Vert Ax_{k+1}+By-c+u_k\Vert_2^2\\ u_{k+1} = u_k+Ax_{k+1}+By_{k+1}-cxk+1​=xargmin​f(x)+ρ/2∥Ax+Byk​−c+uk​∥22​yk+1​=xargmin​g(y)+ρ/2∥Axk+1​+By−c+uk​∥22​uk+1​=uk​+Axk+1​+Byk+1​−c
    论文中经常利用放缩形式的ADMM算法,而刚开始接触ADMM时并不知道这种形式,所以导致很长一段时间我没看懂论文里公式是怎么推导的,这里对他的推导进行了一个总结。

在压缩图像重建中的应用


以上是压缩快照图像的成像过程,可以用以下公式来表示:
y=Hx+z\pmb{y}= \pmb{H}\pmb{x}+\pmb{z}y=Hx+z
y\pmb{y}y代表观测图像,x\pmb{x}x代表理想的干净图像,HHH代表退化矩阵,是已知的,z\pmb zz代表观测噪声。
作者结合了深度图像先验以及去噪先验提出了以下重建模型:

其中TΘ(e)\pmb{T_\Theta(e)}TΘ​(e)是一个未训练的神经网络(参考论文Deep Image Prior),用于提取图像先验,R(x)\pmb{R(x)}R(x)是去噪先验。以上优化模型可以利用ADMM算法进行求解,这里的第一项是保真项,后两项是先验项。然后引入放缩对偶变量b\pmb{b}b,就能得到下面的式子:

再利用ADMM算法就可以将上述问题解耦为关于x,Θ,b\pmb{x,\Theta,b}x,Θ,b的三个子问题:
Θ^=arg min⁡Θρ2∥y−HTΘ(e)∥22+μ2∥x−TΘ(e)−b∥22x^=arg min⁡x12∥y−Hx∥22+λR(x)+μ2∥x−TΘ(e)−b∥22bk+1=bk−(xk−TΘk(e))\begin{array}{l} \hat{\boldsymbol{\Theta}}=\argmin\limits_{\Theta} \frac{\rho}{2}\left\|\boldsymbol{y}-\boldsymbol{H} \boldsymbol{T}_{\boldsymbol{\Theta}}(\boldsymbol{e})\right\|_{2}^{2}+\frac{\mu}{2}\left\|\boldsymbol{x}-\boldsymbol{T}_{\boldsymbol{\Theta}}(\boldsymbol{e})-\boldsymbol{b}\right\|_{2}^{2} \end{array}\\ \hat{\boldsymbol{x}}=\argmin_{\boldsymbol{x}} \frac{1}{2}\|\boldsymbol{y}-\boldsymbol{H} \boldsymbol{x}\|_{2}^{2}+\lambda R(\boldsymbol{x})+\frac{\mu}{2}\left\|\boldsymbol{x}-\boldsymbol{T}_{\boldsymbol{\Theta}}(\boldsymbol{e})-\boldsymbol{b}\right\|_{2}^{2} \\ \boldsymbol{b}^{k+1}=\boldsymbol{b}^{k}-\left(\boldsymbol{x}^{k}-\boldsymbol{T}_{\boldsymbol{\Theta}^{k}}(\boldsymbol{e})\right)Θ^=Θargmin​2ρ​∥y−HTΘ​(e)∥22​+2μ​∥x−TΘ​(e)−b∥22​​x^=xargmin​21​∥y−Hx∥22​+λR(x)+2μ​∥x−TΘ​(e)−b∥22​bk+1=bk−(xk−TΘk​(e))
关于Θ\ThetaΘ的子问题利用DIP网络求解,这个式子可以直接作为他的loss函数,关于x的子问题含有R(x)R(x)R(x)先验项,不便于直接求解,可以再利用ADMM算法进行分解,相当于ADMM里嵌套了一个ADMM,具体可以参考原论文。
论文链接: Self-supervised Neural Networks for Spectral Snapshot Compressive Imaging
参考网址:Anna的知乎回答:ADMM算法的详细推导过程是什么

ADMM算法及其放缩形式,在压缩快照成像重建的图像重建论文中的公式推导相关推荐

  1. 合成孔径成像算法与实现_MIMO OFDM宽幅SAR成像仿真与图像融合技术

    在之前的<UWB OFDM信号产生,MIMO-SAR显优势>一文中,我们曾介绍了正交频分复用(OFDM)信号的产生原理及在雷达应用中的优势.本文将在此基础上介绍MIMO OFDM宽幅SAR ...

  2. 凸优化05 详解ADMM算法

    目录 原始ADMM算法迭代形式 Scaled Form(不知道该怎么翻译成中文) x-update(同样适用于z-update) 参考 原始ADMM算法迭代形式 假设有如下优化问题 minf(x)+g ...

  3. 一文详解从拉格朗日乘子法、KKT条件、对偶上升法到罚函数与增广Lagrangian乘子法再到ADMM算法(交替方向乘子法)

    最近看了ADMM算法,发现这个算法需要用到许多不少前备知识,在搜索补齐这些知识的过程中感觉网上的资料与总结在零散的同时又不够清晰,在此本文对这一块的内容进行汇总,同时表达自己的一些理解. 目录 拉格朗 ...

  4. admm算法_「优化」交替方向乘子法(ADMM)的基本原理

    编者按:本文介绍ADMM最基本情形的推导.通过这篇文章,你将了解ADMM算法的基本思路,收敛性分析的基本原理,和它理论上的一些局限性. 文章作者:覃含章 责任编辑:覃含章 本文的内容主要来自著名的讲义 ...

  5. 对偶算法与ADMM算法

    学习笔记,仅供参考,有错必纠 转载自:机器学习与运筹优化(六)对偶算法与ADMM算法 文章目录 摘要 ADMM算法 参考文献 摘要 上文我们介绍了约束优化问题和拉格朗日对偶思想.对偶算法就像是男生女生 ...

  6. 压缩感知算法_CEALeti研发出基于压缩感知的CMOS图像传感器

    据麦姆斯咨询报道,法国原子能委员会电子与信息技术实验室(CEA-Leti)近日发表了Wissam Benjilali的博士论文,题为"Exploring analog-to-informat ...

  7. nsl0重构算法 matlab,基于SL0压缩感知信号重建的改进算法

    第 28 卷 第 6 期 2012 年 6 月 信 号 处 理 SIGNAL PROCESSING Vol. 28 No. 6 Jun. 2012 收稿日期: 2012-03-30; 修回日期: 20 ...

  8. 基于串行并行ADMM算法的主从配电网分布式优化控制研究

    基于串行并行ADMM算法的主从配电网分布式优化控制研究 关键词:ADMM 串行并行算法 主动配电网 无功优化 分布式优化 参考文档:非复现,仅参考部分模型: 1)<主动配电网分布式无功优化控制方 ...

  9. Matlab代码:ADMM算法在考虑碳排放交易的电力系统最优潮流中的应用

    Matlab代码:ADMM算法在考虑碳排放交易的电力系统最优潮流中的应用 关键词:交替方向乘子法, ADMM , 最优潮流 ,碳排放, 分布式优化 仿真软件:Matlab软件调用cplex求解器进行求 ...

最新文章

  1. FPGA SelectMap接口配置设计
  2. HttpServletRequestWrapper使用技巧(自定义session和缓存InputStream)
  3. Java中的Unsafe
  4. HALCON学习之旅(二)
  5. [收藏]上班族的真实写照
  6. snmp有android代理端吗,Android实现snmp协议(1)
  7. 【Flink】Flink 写入 MySQL主键冲突 默认Upsert策略
  8. 树莓派外接显示器黑屏_解决树莓派使用HDMI-VGA转换器黑屏的方案
  9. Python菜鸟入门:day02知识分类
  10. bzoj 2733: [HNOI2012]永无乡(线段树启发式合并)
  11. 论文复现-金融风控模型案例
  12. Sqoop基于时间列的增量数据之LastModified方式
  13. 【Unity3D】拖尾TrailRenderer
  14. ⽤户去输⼊⼀个⼈民币⾦额,然后程序会计算如何去⽤20元纸币,10元纸币,5元纸币和⼀元纸币去表⽰这个⼈民币⾦额。要求使⽤最⼩数⽬的纸币。
  15. 四川大学计算机专业调剂,2020年四川大学计算机学院(软件学院)考研调剂信息...
  16. 什么是 云原生应用?
  17. win10和linux怎么切换输入法,win10系统怎么切换输入法
  18. 基于C语言编写的超市管理系统
  19. MATLAB仿真短路计算,基于MATLAB短路电流计算与仿真.doc
  20. 计算机树表查找算法的适用场景,利用基于R-树连续最近邻查询算法来渲染雨滴,形成了逼真的下雨天场景图...

热门文章

  1. 基于openlayer4实现多个popu展示
  2. bzoj2073 [POI2004]PRZ
  3. 洛谷:P5911 [POI2004]PRZ
  4. 如何提高本地文件上传至百度云的速度_百度网盘迎来劲敌,阿里推出阿里云网盘App...
  5. Unity实现安卓端手势控制摄像机的旋转和缩放
  6. sata 双硬盘 电源线_鸡肋还是创新 神奇SSD不接电源/SATA线
  7. 基于javaweb的药品管理系统(java+springboot+html+layui+bootstrap+echarts+mysql)
  8. 我长这么好看,首先要感谢我父母
  9. SAP 在windows上解压SAR文件(SAP SNOTE)
  10. idea自定义导包个数不带*