首页 > 编程语言 >基于压缩感知和KSVD的图像去噪算法matlab仿真

基于压缩感知和KSVD的图像去噪算法matlab仿真

时间:2023-05-29 23:32:49浏览次数:69  
标签:KSVD usedIndex 图像去噪 residual curDicMtx indx 查字典 matlab 字典

1.算法仿真效果 matlab2022a仿真结果如下:

1.png

2.算法涉及理论知识概要 K-SVD可以看做K-means的一种泛化形式,K-means算法总每个信号量只能用一个原子来近似表示,而K-SVD中每个信号是用多个原子的线性组合来表示的。K-SVD通过构建字典来对数据进行稀疏表示,经常用于图像压缩、编码、分类等应用。Y为要表示的信号,D为超完备矩阵(列数大于行数), X为系数矩阵,X与Y按列对应,表示D中元素按照Xi为系数线性组合为Y,我们的目的是找到让X尽量稀疏的D

2.png3.png

   字典学习的思想应该源来实际生活中的字典的概念。字典是前辈们学习总结的精华,当我们需要学习新的知识的时候,不必与先辈们一样去学习先辈们所有学习过的知识,我们可以参考先辈们给我们总结的字典,通过查阅这些字典,我们可以大致学会到这些知识。

    为了将上述过程用准确的数学语言描述出来,我们需要将“总结字典”、“查阅字典”做出一个更为准确的描述。就从我们的常识出发:

    我们通常会要求的我们的字典尽可能全面,也就是说总结出的字典不能漏下关键的知识点。

查字典的时候,我们想要我们查字典的过程尽可能简洁,迅速,准确。即,查字典要快、准、狠。 查到的结果,要尽可能地还原出原来知识。当然,如果要完全还原出来,那么这个字典和查字典的方法会变得非常复杂,所以我们只需要尽可能地还原出原知识点即可。

3.MATLAB核心程序

 
[n,K]=size(D);
a=[];
residual=x;
err=residual'*residual;
E2=1.15*sigma^2*n;
indx=zeros(1,K);
t=0;
while err > E2 && t < K/2
    t=t+1;
    proj=D'*residual;
    pos=find(abs(proj)==max(abs(proj)));
    pos=pos(1);
    indx(t)=pos;
    a=pinv(D(:,indx(1:t)))*x;
    residual=x-D(:,indx(1:t))*a;
    err=residual'*residual;
end;
indx(indx==0)=[];
temp=zeros(K,1); 
temp(indx)=a;
a=sparse(temp);
return;
function [nextDicMtx, nextSparRepMtx] = K_SVD(dataMtx, curDicMtx, curSparRepMtx)
nextDicMtx(:,1) = curDicMtx(:,1); 
for j = 2:1:size(curDicMtx,2)
	usedIndex = find(curSparRepMtx(j,:));
	if ~isempty(usedIndex)
        tmpSparRepMtx = curSparRepMtx(:,usedIndex);
        tmpSparRepMtx(j,:) = 0;
        errMtx = dataMtx(:,usedIndex)-curDicMtx*tmpSparRepMtx;
        [nextDicAtom,singularVal,nextSparVec] = svds(errMtx,1);
        nextSparRepMtx(j,usedIndex) = singularVal*nextSparVec';
        nextDicMtx(:,j) = nextDicAtom;
    else
        nextDicMtx(:,j) = curDicMtx(:,j); 
    end;
    
end;

标签:KSVD,usedIndex,图像去噪,residual,curDicMtx,indx,查字典,matlab,字典
From: https://blog.51cto.com/matworld/6374640

相关文章

  • 基于DNN网络的信道估计matlab仿真,仿真输出信道估计值的mse指标
    1.算法仿真效果matlab2022a仿真结果如下:    2.算法涉及理论知识概要       在信道变化迅速的系统中,通常依靠频域的导频子载波进行信道估计。导频子载波按照特定的规则插入到时频两维资源中。导频子载波处的信道响应可以通过最小二乘法(least-square,ls)和线性......
  • 基于DNN网络的信道估计matlab仿真,仿真输出信道估计值的mse指标
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要在信道变化迅速的系统中,通常依靠频域的导频子载波进行信道估计。导频子载波按照特定的规则插入到时频两维资源中。导频子载波处的信道响应可以通过最小二乘法(least-square,ls)和线性最小均方误差法(linearminimumm......
  • MATLAB模糊C均值聚类FCM改进的推荐系统协同过滤算法分析MovieLens电影数据集
    全文链接:http://tecdat.cn/?p=32594原文出处:拓端数据部落公众号在当今信息爆炸的时代,电影作为人们生活中不可或缺的娱乐方式,受到了越来越多的关注。而为了让观众能够更好地选择适合自己口味的电影,推荐系统成为了一个备受关注的研究领域。协同过滤算法是其中一种被广泛使用的方法......
  • m基于钱搜索算法的BCH编译码matlab仿真,仿真输出误码率曲线和编码增益曲线
    1.算法仿真效果matlab2022a仿真结果如下:  2.算法涉及理论知识概要 BCH编译码是一种纠错能力强,构造简单的信道编译码。BCH编译码的生成多项式可以由如下的式子表示:  ①BCH码是一种纠错码、线性分组码、循环码。 ②需要传输信息位数:k ③纠错能力:t ④总码长......
  • m基于Berlekamp-Massey钱搜索算法的BCH译码误码率matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下: 2.算法涉及理论知识概要      BCH编译码是一种纠错能力强,构造简单的信道编译码。BCH编译码的生成多项式可以由如下的式子表示: ①BCH码是一种纠错码、线性分组码、循环码。 ②需要传输信息位数:k ③纠错能力:t ④总......
  • 【Matlab基础】图表绘制
    1、plot(x,y,'~')线条类型:'--'虚线,':'点线,'-.'点划线(注意虚线是双减号) 绘制多条曲线:在每一条曲线的下面加上holdon曲线标注:legend函数图表命名:title函数 常见问题:1、如何保存高清图表?“编辑-复制图窗”,然后直接在Word里右键粘贴即可。 ......
  • m基于MATLAB的发票数字信息识别算法仿真,通过形态学处理进行字符分割,通过模板匹配实
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要形态学是图像处理中应用最为广泛的技术之一,主要用于从图像中提取对表达和描绘区域形状有意义的图像分量,使后续的识别工作能够抓住目标对象最为本质的形状特征,如边界和连通区域等。同时像细化、像素化和修剪毛刺等......
  • 基于SA模拟退火优化的TWVRP路径规划matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要模拟退火算法(simulatedannealing,SAA)来源于固体退火原理,是一种基于概率的算法。模拟退火算法来源于固体退火原理,是一种基于概率的算法,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增......
  • 基于GWO灰狼优化的生产线工件工序调度优化matlab仿真,仿真输出优化收敛曲线和工序调度
    1.算法仿真效果matlab2022a仿真结果如下:   2.算法涉及理论知识概要       灰狼优化算法(GWO),灵感来自于灰狼.GWO算法模拟了自然界灰狼的领导层级和狩猎机制.四种类型的灰狼,如α,β,δ,w被用来模拟领导阶层。此外,还实现了狩猎的三个主要步骤:寻找猎物、包围......
  • m基于ABC人工蜂群优化的无线传感器网络路由优化算法matlab仿真,对比优化前后网络寿命,
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要无线传感器网络通常使用电池电源,因此能量有限,属于一次性使用。因此,无线传感器网络在原理和应用平台上都有自己的特点:•有限的能源和存储容量传感器节点通常布置在无人值守的运行环境中,节点能量由电池提供,但在......