【图像恢复】基于交替乘子方法(ADMM)图像恢复算法研究[固定点收敛和应用](Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

****🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️**座右铭:**行百里者,半于九十。

📋📋📋++本文目录如下:++🎁🎁🎁

目录

[💥1 概述](#💥1 概述)

[📚2 运行结果](#📚2 运行结果)

[🎉3 参考文献](#🎉3 参考文献)

[🌈4 Matlab代码、数据、文献](#🌈4 Matlab代码、数据、文献)


💥1 概述

文献来源:

即插即用的ADMM图像恢复算法:固定点收敛和应用

交替方向乘子方法(ADMM)是一种广泛用于解决图像恢复中约束优化问题的算法。在许多有用的特性中,ADMM算法的一个关键特点是其模块化结构,允许将任何现成的图像去噪算法插入到ADMM算法的子问题中。由于其插件式的特性,这种类型的ADMM算法被称为"即插即用ADMM"。即插即用ADMM在最近的一些论文中展示了有希望的实证结果。然而,目前尚不清楚在什么条件下以及使用哪种去噪算法才能保证其收敛性。此外,由于即插即用ADMM使用了特定的变量分割方式,对于常见的高斯和泊松图像恢复问题是否可以进行快速实现也不清楚。本文提出了一种具有可证明的固定点收敛性的即插即用ADMM算法。我们证明了对于满足一种被称为有界去噪器的渐近准则的任何去噪算法,即插即用ADMM在连续方案下收敛到一个固定点。我们还针对超分辨率和单光子成像两个图像恢复问题提出了快速实现。我们将即插即用ADMM与各类最先进的算法进行了比较,并展示了算法的有希望的实验结果。

原文摘要:

Abstract:

Alternating direction method of multiplier (ADMM) is a widely used algorithm for solving constrained optimization problems in image restoration. Among many useful features, one critical feature of the ADMM algorithm is its modular structure, which allows one to plug in any off-the-shelf image denoising algorithm for a subproblem in the ADMM algorithm. Because of the plug-in nature, this type of ADMM algorithms is coined the name "Plug-and-Play ADMM." Plug-and-Play ADMM has demonstrated promising empirical results in a number of recent papers. However, it is unclear under what conditions and by using what denoising algorithms would it guarantee convergence. Also, since Plug-and-Play ADMM uses a specific way to split the variables, it is unclear if fast implementation can be made for common Gaussian and Poissonian image restoration problems. In this paper, we propose a Plug-and-Play ADMM algorithm with provable fixed-point convergence. We show that for any denoising algorithm satisfying an asymptotic criteria, called bounded denoisers, Plug-and-Play ADMM converges to a fixed point under a continuation scheme. We also present fast implementations for two image restoration problems on superresolution and single-photon imaging. We compare Plug-and-Play ADMM with state-of-the-art algorithms in each problem type and demonstrate promising experimental results of the algorithm.

📚 2 运行结果

部分代码:

%add path to denoisers

addpath(genpath('./denoisers/BM3D/'));

addpath(genpath('./denoisers/TV/'));

addpath(genpath('./denoisers/NLM/'));

addpath(genpath('./denoisers/RF/'));

%read test image

z = im2double(imread('./data/House256.png'));

%construct A matrix, deblurring as an example

dim = size(z);

h = fspecial('gaussian',[9 9],1);

A = @(z,trans_flag) afun(z,trans_flag,h,dim);

%reset random number generator

rng(0);

%set noies level

noise_level = 10/255;

%calculate observed image

y = A(z(:),'transp') + noise_level*randn(prod(dim),1);

y = proj(y,[0,1]);

y = reshape(y,dim);

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

🌈4 Matlab代码、数据、文献

相关推荐
快去睡觉~3 小时前
力扣73:矩阵置零
算法·leetcode·矩阵
小欣加油4 小时前
leetcode 3 无重复字符的最长子串
c++·算法·leetcode
四维碎片5 小时前
【Qt】线程池与全局信号实现异步协作
开发语言·qt·ui·visual studio
IT码农-爱吃辣条6 小时前
Three.js 初级教程大全
开发语言·javascript·three.js
☺����6 小时前
实现自己的AI视频监控系统-第一章-视频拉流与解码2
开发语言·人工智能·python·音视频
猿究院--王升6 小时前
jvm三色标记
java·jvm·算法
染翰6 小时前
lua入门以及在Redis中的应用
开发语言·redis·lua
王者鳜錸7 小时前
PYTHON让繁琐的工作自动化-函数
开发语言·python·自动化
一车小面包7 小时前
逻辑回归 从0到1
算法·机器学习·逻辑回归
兔老大RabbitMQ7 小时前
git pull origin master失败
java·开发语言·git