用于图像恢复的即插即用 ADMM:定点收敛和应用(Matlab代码实现)

 欢迎来到本博客❤️❤️

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

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

本文目录如下:

目录

1 概述

2 运行结果

2.1 算例1

2.2 算例2

3 参考文献

4 Matlab代码、数据、文献


1 概述

用于图像恢复的即插即用 ADMM:定点收敛和应用(Matlab代码实现)_第1张图片

乘法交替方向法(ADMM)是一种广泛使用的算法 用于解决图像恢复中的约束优化问题。在众多中 有用的功能,ADMM算法的一个关键特征是其模块化 允许插入任何现成图像去噪的结构 ADMM 算法中子问题的算法。因为插件 从本质上讲,这种类型的ADMM算法被命名为“即插即用ADMM”。 即插即用ADMM在许多 最近的论文。但是,目前尚不清楚在什么条件下以及通过使用什么 降噪算法将保证收敛。此外,由于即插即用 ADMM使用特定的方式来拆分变量,目前尚不清楚是否快速 可以实现常见的高斯和泊松图像恢复 问题。
在本文中,我们提出了一种具有可证明固定的即插即用ADMM算法 点收敛。我们表明,对于任何满足 渐近标准,称为有界降噪器,即插即用 ADMM 收敛到 延续方案下的固定点。我们还提供快速实施 针对超分辨率和单光子的两个图像复原问题 成像。我们将即插即用ADMM与每种算法中最先进的算法进行比较 问题类型,并展示了该算法的有希望的实验结果。

2 运行结果

2.1 算例1

用于图像恢复的即插即用 ADMM:定点收敛和应用(Matlab代码实现)_第2张图片

用于图像恢复的即插即用 ADMM:定点收敛和应用(Matlab代码实现)_第3张图片

2.2 算例2

用于图像恢复的即插即用 ADMM:定点收敛和应用(Matlab代码实现)_第4张图片

用于图像恢复的即插即用 ADMM:定点收敛和应用(Matlab代码实现)_第5张图片

部分代码:

clear all
close all
clc

addpath(genpath('./utilities/'));

%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);

%parameters
method = 'RF';
switch method
    case 'RF'
        lambda = 0.0005;
    case 'NLM'
        lambda = 0.005;
    case 'BM3D'
        lambda = 0.001;
    case 'TV'
        lambda = 0.01;
end

%optional parameters
opts.rho     = 1;

3 参考文献

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

用于图像恢复的即插即用 ADMM:定点收敛和应用(Matlab代码实现)_第6张图片

4 Matlab代码、数据、文献

你可能感兴趣的:(matlab,开发语言)