【图像去噪】基于CTV-RPCA实现图像去噪和目标显著性检测附matlab代码

简介: 【图像去噪】基于CTV-RPCA实现图像去噪和目标显著性检测附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信      无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

⛄ 内容介绍

It is known that the decomposition in low-rank and sparse matrices (\textbf{L+S} for short) can be achieved by several Robust PCA techniques. Besides the low rankness, the local smoothness (\textbf{LSS}) is a vitally essential prior for many real-world matrix data such as hyperspectral images and surveillance videos, which makes such matrices have low-rankness and local smoothness properties at the same time. This poses an interesting question: Can we make a matrix decomposition in terms of \textbf{L\&LSS +S } form exactly? To address this issue, we propose in this paper a new RPCA model based on three-dimensional correlated total variation regularization (3DCTV-RPCA for short) by fully exploiting and encoding the prior expression underlying such joint low-rank and local smoothness matrices. Specifically, using a modification of Golfing scheme, we prove that under some mild assumptions, the proposed 3DCTV-RPCA model can decompose both components exactly, which should be the first theoretical guarantee among all such related methods combining low rankness and local smoothness. In addition, by utilizing Fast Fourier Transform (FFT), we propose an efficient ADMM algorithm with a solid convergence guarantee for solving the resulting optimization problem. Finally, a series of experiments on both simulations and real applications are carried out to demonstrate the general validity of the proposed 3DCTV-RPCA model.

⛄ 部分代码

clear all;clc;

% addpath(genpath('../CTV_code/')) % linux/MacOS platform

addpath(genpath('..\CTV_code\')) % windows platform

%% load data

hsi_name = 'pure_DCmall_small';

load([hsi_name,'.mat'])

clean_data       = Ori_H;

clean_data       = Normalize(clean_data);

[M,N,p]        = size(clean_data);

tic

gaussian_level = 0.2;

sparse_level   = 0.0;

noise_data       = GetNoise(clean_data,gaussian_level,sparse_level);

D = reshape(noise_data,[M*N,p]);

mpsnr = zeros(3,1);

mssim = zeros(3,1);

ergas = zeros(3,1);

[mpsnr(1),mssim(1),ergas(1)]=msqia(clean_data, noise_data);

%% CTV-RPCA

it =2;

fprintf('======== CTV-RPCA  ========\n')

opts.rho = 1.5;

ctv_out = ctv_rpca(noise_data,opts);

[mpsnr(it),mssim(it),ergas(it)]=msqia(clean_data, ctv_out);

%% RPCA

it =3;

D       = zeros(M*N,p) ;

for i=1:p

   bandp = noise_data(:,:,i);

   D(:,i)= bandp(:);

end

fprintf('========   RPCA  ========\n')

A_hat = rpca_m(D);

rpca_out = reshape(A_hat,[M,N,p]);

[mpsnr(it),mssim(it),ergas(it)]=msqia(clean_data, rpca_out);


showband = 103;

figure;

Y = clean_data(:,:,showband);

subplot(2,2,1);imshow(Y,[]);title('original band')

Y = noise_data(:,:,showband);

subplot(2,2,2);imshow(Y,[]);title(['noise, psnr:',num2str(mpsnr(1))])

Y = ctv_out(:,:,showband);

subplot(2,2,3);imshow(Y,[]);title(['ctv-rpca, psnr:',num2str(mpsnr(2))])

Y = rpca_out(:,:,showband);

subplot(2,2,4);imshow(Y,[]);title(['rpca, psnr:',num2str(mpsnr(3))])

⛄ 运行结果

⛄ 参考文献

[1]  Shijila B ,  Tom A J ,  George S N . Moving Object Detection by Low Rank Approximation and l 1 -TV Regularization on RPCA framework[J]. Journal of Visual Communication and Image Representation, 2018, 56:188-200.

[2]  Wang S ,  Xia K ,  Wang L , et al. Improved RPCA method via non-convex regularisation for image denoising.  2020.

[3]  Peng J ,  Wang Y ,  Zhang H , et al. Exact Decomposition of Joint Low Rankness and Local Smoothness Plus Sparse Matrices[J]. arXiv e-prints, 2022.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


相关文章
|
4天前
|
机器学习/深度学习 监控 算法
基于yolov2深度学习网络的昆虫检测算法matlab仿真,并输出昆虫数量和大小判决
YOLOv2算法应用于昆虫检测,提供实时高效的方法识别和定位图像中的昆虫,提升检测精度。核心是统一检测网络,预测边界框和类别概率。通过预测框尺寸估算昆虫大小,适用于农业监控、生态研究等领域。在matlab2022A上运行,经过关键升级,如采用更优网络结构和损失函数,保证速度与精度。持续优化可增强对不同昆虫的检测能力。![image.png](https://ucc.alicdn.com/pic/developer-ecology/3tnl7rfrqv6tw_e760ff6682a3420cb4e24d1e48b10a2e.png)
|
20天前
|
机器学习/深度学习 算法 网络架构
基于yolov2深度学习网络的单人口罩佩戴检测和人脸定位算法matlab仿真
摘要:该内容展示了一个基于YOLOv2的单人口罩佩戴检测和人脸定位算法的应用。使用MATLAB2022A,YOLOv2通过Darknet-19网络和锚框技术检测图像中的口罩佩戴情况。核心代码段展示了如何处理图像,检测人脸并标注口罩区域。程序会实时显示检测结果,等待一段时间以优化显示流畅性。
|
25天前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络模型的鱼眼镜头中人员检测算法matlab仿真
该内容是一个关于基于YOLOv2的鱼眼镜头人员检测算法的介绍。展示了算法运行的三张效果图,使用的是matlab2022a软件。YOLOv2模型结合鱼眼镜头畸变校正技术,对鱼眼图像中的人员进行准确检测。算法流程包括图像预处理、网络前向传播、边界框预测与分类及后处理。核心程序段加载预训练的YOLOv2检测器,遍历并处理图像,检测到的目标用矩形标注显示。
|
29天前
|
数据采集 Python
matlab疲劳驾驶检测项目,Python高级面试framework
matlab疲劳驾驶检测项目,Python高级面试framework
|
1月前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
1月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
1月前
|
算法 调度
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
|
1月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
1月前
|
运维 算法
基于改进遗传算法的配电网故障定位(matlab代码)
基于改进遗传算法的配电网故障定位(matlab代码)

热门文章

最新文章