基于自适应曲线阈值和非局部稀疏正则化的压缩感知图像复原研究【自适应曲线阈值去除加性稳态白/有色高斯噪声】(Matlab代码实现)

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

文献来源:

 压缩传感(CS)是最近出现的技术,也是信号和图像处理中广泛研究的问题,它提出了一种新的框架,用于以明显低于奈奎斯特速率的速率同时采样和压缩稀疏或可压缩信号。也许,设计一个反映图像稀疏先验信息的有效正则化项在CS图像恢复中起着至关重要的作用。近年来,局部平滑度和非局部自相似性都导致了CS图像恢复的先验稀疏性。本文首先,建立了自适应曲线阈值判据,试图自适应去除CS恢复过程中恢复图像中出现的扰动,强加稀疏性。此外,还建立了一种新的稀疏性度量,称为联合自适应稀疏性正则化(JASR),该度量在变换域中同时强制执行局部稀疏性和非局部三维稀疏性。然后,提出了一种基于JASR的高保真CS图像恢复技术——CS-JASR。为了有效地求解所提出的相应优化问题,我们采用了拆分布雷格曼迭代。大量的实验结果证明了与目前最先进的CS图像修复方法相比,所提方法的充分性和有效性。

原文摘要:

Compressive sensing (CS) is a recently emerging technique and an extensively studied problem in signal and image processing, which suggests a new framework for the simultaneous sampling and compression of sparse or compressible signals at a rate significantly below the Nyquist rate. Maybe, designing an effective regularization term reflecting the image sparse prior information plays a critical role in CS image restoration. Recently, both local smoothness and nonlocal self-similarity have led to superior sparsity prior for CS image restoration. In this paper, first, an adaptive curvelet thresholding criterion is developed, trying to adaptively remove the perturbations appeared in recovered images during CS recovery process, imposing sparsity. Furthermore, a new sparsity measure called joint adaptive sparsity regularization (JASR) is established, which enforces both local sparsity and nonlocal 3-D sparsity in transform domain, simultaneously. Then, a novel technique for high-fidelity CS image recovery via JASR is proposed-CS-JASR. To efficiently solve the proposed corresponding optimization problem, we employ the split Bregman iterations. Extensive experimental results are reported to attest the adequacy and effectiveness of the proposed method comparing with the current state-of-the-art methods in CS image restoration.

📚2 运行结果

 

可视化代码:

%%% displaying the images
figure, 

subplot(2,3,1), imagesc(noise), colormap('gray'),
colorbar, title('noise'), axis off

subplot(2,3,4), imagesc(fftshift(noise_FFT_PSD)), colormap('jet'),
colorbar, title('noise FFT-PSD'), axis off

subplot(2,3,2), imagesc(x), colormap('gray'),
colorbar, title('ground-truth'), axis off

subplot(2,3,3), imagesc(z), colormap('gray'),
colorbar, axis off, title(sprintf('noisy image\nPSNR=%0.2fdB',psnr_noisy))

subplot(2,3,5), imagesc(x_est_ksigma), colormap('gray'),
colorbar, axis off, title(sprintf('denoised image using k-sigma\nPSNR=%0.2fdB',psnr_ksigma))

subplot(2,3,6), imagesc(x_est_ACT), colormap('gray'),
colorbar, axis off, title(sprintf('denoised image using ACT\nPSNR=%0.2fdB',psnr_act))


%%  Auxiliary function for generating Gaussian noise

function  [noise, noise_FFT_PSD] = generate_Gaussian_noise(SizeX)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% generate_Gaussian_noise creates stationary white/colored Gaussian noise
% with respect to a convolutional kernel selected randomly.
%
%
% FUNCTION INTERFACE:
%         [noise, noise_FFT_PSD] = generate_Gaussian_noise(SizeX)
%
% ________________________________________________________________________________
%  INPUT:        |  CLASS:  | DESCRIPTION:
% --------------------------------------------------------------------------------
%  SizeX         | (double) | Size of the ground-truth image.
%
%
% ________________________________________________________________________________
%  OUTPUTS:      |  CLASS:  | DESCRIPTION:
% --------------------------------------------------------------------------------
%  noise         | (double) | generated stationary Guassian noise.
% --------------------------------------------------------------------------------
%  noise_FFT_PSD | (double) | the noise FFT-PSD (as size as SizeX).  
%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
kernel_type  = randi([1 14]); % the randomly selected kernel for noise generation
normalizer   = @(n) (n-mean(n(:)))./std(n(:)); % making the noise zero-mean with unit variance

🎉3 参考文献

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

Compressive Sensing Image Restoration Using Adaptive Curvelet Thresholding and Nonlocal Sparse Regularization | IEEE Journals & Magazine | IEEE Xplore

🌈4 Matlab代码实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/72482.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2023网络安全常用工具汇总(附学习资料+工具安装包)

几十年来,攻击方、白帽和安全从业者的工具不断演进,成为网络安全长河中最具技术特色的灯塔,并在一定程度上左右着网络安全产业发展和演进的方向,成为不可或缺的关键要素之一。 话不多说,网络安全10款常用工具如下 1、…

node配置Web 服务器

1、什么是 Web 服务器 Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,Web服务器的基本功能就是提供Web信息浏览服务。 它只需支持HTTP协议、HTML文档格式及URL,与客户端的网络浏览器配合。 大多数 web 服务器都支持服…

分支语句和循环语句(1)

这篇文章我们详细的把分支语句和循环语句给大家进行讲解。 分支语句: if switch 循环语句: while for do while goto语句: 1.什么是语句? C语句可分为以下五类: 1. 表达式语句 2. 函数调用语句 3. 控制…

【Windows 常用工具系列 5 -- Selenium IDE的使用方法 】

文章目录 Selenium 介绍Selenium IDE 介绍 Selenium IDE安装Chrome 浏览器安装Selenium IDE使用 Selenium 介绍 Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。 Selenium家庭成员有三个,分别是S…

SQL | 计算字段

7-创建计算字段 7.1-计算字段 存储在数据库中的数据一般不是我们所需要的字段格式, 需要公司名称,同时也需要公司地址,但是这两个数据存储在不同的列中。 省,市,县和邮政编码存储在不同的列中,但是当我们…

基于Java+SpringBoot+vue前后端分离校园社团信息管理设计实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

多线程与高并发--------线程池

线程池 一、什么是线程池 在开发中,为了提升效率的操作,我们需要将一些业务采用多线程的方式去执行。 比如有一个比较大的任务,可以将任务分成几块,分别交给几个线程去执行,最终做一个汇总就可以了。 比如做业务操…

2023年上半年数学建模竞赛题目汇总与难度分析

2023年上半年数学建模竞赛题目汇总与难度分析 ​由于近年来国赛ABC题出题方式漂浮不定,没有太大的定性,目前总体的命题方向为,由之前的单一模型问题变为数据分析评价优化或者预测类题目是B、C题的主要命题方向。为了更好地把握今年命题的主方…

从0开始搭建ns3环境以及NetAnim简单使用

一、环境准备 ns3是基于GNU/Linux平台使用C开发的工具软件,在windows系统中安装使用ns3环境,可以使用虚拟机VMware并安装ubuntu系统来实现,现将本教程所用到的虚拟机和系统镜像放到网盘提供下载 名称链接提取码VMware Workstation 17 Proht…

Apache JMeter:完全指南

Apache JMeter 是一款开源的性能测试工具,可以用于测试 Web 应用程序、FTP 服务器、数据库等各种类型的服务器。本文将以 JMeter 5.5 为例介绍 JMeter 的使用方法。 下载和安装 由于 JMeter 是使用 Java 开发的,因此在运行之前必须先安装 JDK。您可以在…

知识图谱基本工具Neo4j使用笔记 四 :使用csv文件批量导入图谱数据

文章目录 一、系统说明二、说明三、简单介绍1. 相关代码以及参数2. 简单示例 四、实际数据实践1. 前期准备(1) 创建一个用于测试的neo4j数据库(2)启动neo4j 查看数据库 2. 实践(1) OK 上面完成后&#xff0…

AIGC+游戏:一个被忽视的长赛道

(图片来源:Pixels) AIGC彻底变革了游戏,但还不够。 数科星球原创 作者丨苑晶 编辑丨大兔 消费还没彻底复苏,游戏却已经出现拐点。 在游戏热度猛增的背后,除了版号的利好因素外,AIGC技术的广泛…

Stable Diffusion WebUI 从零基础到入门

本文主要介绍Stable Diffusion WebUI的实际操作方法,涵盖prompt推导、lora模型、vae模型和controlNet应用等内容,并给出了可操作的文生图、图生图实战示例。适合对Stable Diffusion感兴趣,但又对Stable Diffusion WebUI使用感到困惑的同学&am…

ORCA优化器浅析——CDXLScalarFilter Class for DXL filter operators

CDXLScalarFilter CDXLScalarFilter为Class for representing DXL filter operators。CDXLScalarFilter相对于CDXLScalar没有增加其他数据成员。 class CDXLScalarFilter : public CDXLScalar{ private: CDXLScalarFilter(CDXLScalarFilter &); // private copy ctor pub…

Vue 中使用 WebWorker

目录 安装 loader 应用场景 打包时错误处理 安装 loader npm install worker-loader -D 如果直接把worker.js放到public目录下,则不需要安装loader vue.config.js const { defineConfig } require(vue/cli-service)module.exports defineConfig({transpileDe…

2023-08-13 LeetCode每日一题(合并两个有序数组)

2023-08-13每日一题 一、题目编号 88. 合并两个有序数组二、题目链接 点击跳转到题目位置 三、题目描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 …

【推荐系统】wss课程-排序

排序01-多目标模型 这节课的内容是推荐系统排序的多目标模型。这节课的内容分两部分。 - 第一部分是模型结构。模型把用户特征、物品特征、统计特征、场景特征作为输入,输出对多个指标的预估。 - 第二部分内容是降采样和校准。在实际的推荐系统中,正负…

29 | 广州美食店铺数据分析

广州美食店铺数据分析 一、数据分析项目MVP加/价值主张宣言 随着经济的快速发展以及新媒体的兴起,美食攻略、美食探店等一系列东西进入大众的眼球,而人们也会在各大平台中查找美食推荐,因此本项目做的美食店铺数据分析也是带有可行性的。首先通过对广东省的各市美食店铺数量…

Docker高级篇_DockerFile

目录 DockerFile简介构建DockerFile构建过程解析Docker执行Dockerfile的大致流程 DockerFile常用保留字指令FROMMAINTAINERRUNEXPOSEWORKDIRUSERENVVOLUMEADDCOPYCMDENTRYPOINT案例使用虚悬镜像 Docker微服务 DockerFile简介 Dockerfile是用来构建Docker镜像的文本文件&#x…

Java学习手册——第一篇Java简介

今后Java学习手册就来给大家梳理JavaSE的基础知识啦, 除了这个专栏我们还有其他专栏:前端、安全、后端等。 希望大家可以在这里一起讨论学习哟~ Java学习手册——第一篇Java简介 1. Java基础知识2. Java能干嘛3. Java基础环境搭建 1. Java基础知识 出生…