压缩感知的重构算法
- 格式:doc
- 大小:1.66 MB
- 文档页数:38
基于图像结构模型的压缩感知图像重构方法随着数字图像在各个领域的广泛应用,如视频监控、医学影像以及移动通信等,对图像传输和存储的要求也越来越高。
然而,由于图像数据量庞大,传输和存储的成本也随之增加。
为了解决这一问题,压缩感知(Compressed Sensing,CS)技术被提出并逐渐得到应用。
压缩感知技术的基本思想是在图像采集中对图像进行压缩,即不直接采集完整的图像数据,而是对其进行稀疏采样,然后通过稀疏的采样数据来重构完整的图像。
而图像结构模型就是其中一种常用的重构方法之一。
图像结构模型是一种基于图像自身的特性进行建模和重构的方法。
它利用图像的边缘、纹理和结构等特征来提取图像信息,从而实现更加准确和高质量的图像重构。
下面将介绍基于图像结构模型的压缩感知图像重构方法的具体步骤和原理。
一、图像结构模型的建立在压缩感知图像重构过程中,首先需要建立图像结构模型。
这个步骤涉及到对图像的稀疏表示,常用的方法有小波变换、稀疏表示字典以及图像分割等。
小波变换是一种常用的图像分析和压缩方法,通过将图像进行小波变换来提取图像的频域信息,进而实现图像的稀疏表示。
稀疏表示字典则是通过提前建立一个字典,将图像的局部结构进行编码,从而实现图像的稀疏表示。
图像分割是将图像划分为若干个小块,每个小块可以看做是具有相似结构的局部区域,从而实现图像的稀疏表示。
二、图像重构算法建立好图像结构模型后,下一步就是利用稀疏采样数据对图像进行重构。
常用的图像重构算法有基于最小二乘法的估计(Least Squares,LS)、基于迭代阈值法的估计(Iterative Shrinkage-Thresholding Algorithm,ISTA)以及基于广义估计最小二乘法的估计(Generalized Estimation of Signal and Noise,GESPAR)等。
LS方法是一种常见的图像重构算法,它通过将图像重构问题转换成一个最小二乘问题,通过最小化重构图像与原始图像之间的欧式距离来进行重构。
基于压缩感知的信号重构算法研究共3篇基于压缩感知的信号重构算法研究1基于压缩感知的信号重构算法研究随着信息技术的发展以及现代通信系统的广泛应用,人们对于信号重构算法的研究也越来越深入。
其中,基于压缩感知的信号重构算法受到了广泛关注。
本文将从以下四个方面来探讨该算法的研究。
一、压缩感知的基本原理压缩感知的核心思想是将一个高维信号(如图像、音频等)映射到一个较低维的空间中,然后再通过一个线性投影方式将数据压缩。
利用测量矩阵可以将压缩后的数据重构到原来的高维空间中,并且能够利用未知信号的稀疏性完成恢复过程。
这种低维的表示方式可以使数据占用的空间大大减小,因此压缩感知成为了高效的信号采样方式。
二、常见的压缩感知算法常见的压缩感知算法包括OMP算法、CoSaMP算法、MPCP算法等。
其中OMP算法是一种迭代算法,用于寻找稀疏表示向量。
CoSaMP算法考虑到了噪声的影响,能够更准确地进行稀疏重构。
MPCP算法则是多向量压缩感知的拓展,用于处理多个信号的联合稀疏性问题。
三、压缩感知在图像压缩方面的应用基于压缩感知的信号重构算法在图像压缩方面的应用也是较为广泛的。
传统的JPEG和PNG等图像压缩算法虽然能够将图像进行压缩,但是重构后的图像质量较差,并且对于稀疏性较强的图像处理能力有限。
基于压缩感知的算法能够更好地处理稀疏性强的图像,同时也能够提高图像的显示效果。
四、压缩感知在音频处理方面的应用除了在图像处理方面的应用,基于压缩感知的信号重构算法在音频处理方面也具有广泛的应用前景。
例如在音频采样、去噪、提取声音等方面都有着极为广泛的应用。
此外,利用压缩感知的技术,人们还可以用较小的存储空间存储大量音乐等高质量音频数据。
综上所述,基于压缩感知的信号重构算法是一种高效且优越的信号处理方法,具有较广泛的应用前景。
在未来的研究中,我们可以结合更多的数据处理技术来提高算法的效率和精度基于压缩感知的信号重构算法在信号处理中具有广泛应用前景,能够更好地处理稀疏性较强的信号,并提高信号质量。
压缩感知重构算法——SP算法SP(subspace pursuit)算法是压缩感知中⼀种⾮常重要的贪婪算法,它有较快的计算速度和较好的重构概率,在实际中应⽤较多。
本⽂给出了SP算法的matlab代码,以及相应的测试函数。
参考⽂献:Dai W, Milenkovic O. Subspace pursuit for compressive sensing signal reconstruction[J]. Information Theory, IEEE Transactions on, 2009, 55(5): 2230-2249.⽂献下载地址:Matlab代码:SP_paper.mfunction x=SP_paper(Phi,y,K)%SP算法%获取Phi矩阵的⾏数和列数[M,N]=size(Phi);%初始化步骤%将Phi的每列与y做相关,得到⼀个N*1的矩阵(列向量)correlation=Phi'*y;%对correlation取绝对值后排序,按从⼤到⼩的顺序[var,pos] = sort(abs(correlation),'descend');%声明⼀个空集T,⽤于记录Phi的列数标值T=[];T=union(T,pos(1:K));y_r=resid_paper(y,Phi(:,T));%迭代%使⽤如下形式的do---while结构% while(1)% if(condition)% break;% end% endcount=1;while(1)%根据残差计算待增加的列数,得到T_addcorrelation=Phi'*y_r;[var,pos] = sort(abs(correlation),'descend');T_add=union([],pos(1:K));%合并已有的T和T_addT=union(T,T_add);%x_p=((Phi(:,T)'*Phi(:,T))\eye(length(T)))*Phi(:,T)'*y;%proj_paper(y,Phi(:,T));%更新下标记录T[var,pos] = sort(abs(x_p),'descend');%取前K个最⼤值T=union([],T(pos(1:K)));%计算新的残差y_r_n=resid_paper(y,Phi(:,T));%判断是否退出循环,且置为最⼤迭代100次if(norm(y_r_n)>=norm(y_r) || count>100)break;end%若不退出循环,进⾏新⼀轮的迭代y_r=y_r_n;count=count+1;end%退出循环后,做最后的数据输出x=zeros(N,1);x(T)=((Phi(:,T)'*Phi(:,T))\eye(length(T)))*Phi(:,T)'*y;endfunction y_r=resid_paper(y,Phi)%计算y在Phi上的投影残差%获取矩阵Phi的⾏数和列数,M没有⽤[M,N]=size(Phi);%判断矩阵(Phi'*Phi)是否可逆if(rank(Phi'*Phi)~=N)error('矩阵不可逆');endy_p=Phi*((Phi'*Phi)\eye(N))*Phi'*y;y_r=y-y_p;end%%%%%%%%%%%%%%%%%%%%%%%%dataGen.mfunction [y,Phi,x]=dataGen(M,N,K)% 产⽣贪婪算法所需要的数据%⽣成-1/+1的原始信号xx = zeros(N,1);q = randperm(N); %y=randperm(n),是把1到n这些数随机打乱得到的⼀个数字序列。
压缩感知的重构算法算法的重构是压缩感知中重要的一步,是压缩感知的关键之处。
因为重构算法关系着信号能否精确重建,国内外的研究学者致力于压缩感知的信号重建,并且取得了很大的进展,提出了很多的重构算法,每种算法都各有自己的优缺点,使用者可以根据自己的情况,选择适合自己的重构算法,大大增加了使用的灵活性,也为我们以后的研究提供了很大的方便。
压缩感知的重构算法主要分为三大类:1.组合算法2.贪婪算法3.凸松弛算法每种算法之中又包含几种算法,下面就把三类重构算法列举出来。
组合算法:先是对信号进行结构采样,然后再通过对采样的数据进行分组测试,最后完成信号的重构。
(1) 傅里叶采样(Fourier Representaion)(2) 链式追踪算法(Chaining Pursuit)(3) HHS追踪算法(Heavy Hitters On Steroids)贪婪算法:通过贪婪迭代的方式逐步逼近信号。
(1) 匹配追踪算法(Matching Pursuit MP)(2) 正交匹配追踪算法(Orthogonal Matching Pursuit OMP)(3) 分段正交匹配追踪算法(Stagewise Orthogonal Matching Pursuit StOMP)(4) 正则化正交匹配追踪算法(Regularized Orthogonal Matching Pursuit ROMP)(5) 稀疏自适应匹配追踪算法(Sparisty Adaptive Matching Pursuit SAMP)凸松弛算法:(1) 基追踪算法(Basis Pursuit BP)(2) 最小全变差算法(Total Variation TV)(3) 内点法(Interior-point Method)(4) 梯度投影算法(Gradient Projection)(5) 凸集交替投影算法(Projections Onto Convex Sets POCS)算法较多,但是并不是每一种算法都能够得到很好的应用,三类算法各有优缺点,组合算法需要观测的样本数目比较多但运算的效率最高,凸松弛算法计算量大但是需要观测的数量少重构的时候精度高,贪婪迭代算法对计算量和精度的要求居中,也是三种重构算法中应用最大的一种。
2023-11-11contents •压缩感知理论概述•基于压缩感知的重构算法基础•基于压缩感知的信号重构算法•基于压缩感知的图像重构算法•基于压缩感知的重构算法优化•基于压缩感知的重构算法展望目录01压缩感知理论概述在某个基或字典下,稀疏信号的表示只包含很少的非零元素。
稀疏信号通过测量矩阵将稀疏信号转换为测量值,然后利用优化算法重构出原始信号。
压缩感知压缩感知基本原理压缩感知理论提出。
2004年基于稀疏基的重构算法被提出。
2006年压缩感知技术被应用于图像处理和无线通信等领域。
2008年压缩感知在雷达成像和医学成像等领域取得重要突破。
2010年压缩感知发展历程压缩感知应用领域压缩感知可用于高分辨率雷达成像,提高雷达系统的性能和抗干扰能力。
雷达成像医学成像无线通信图像处理压缩感知可用于核磁共振成像、超声成像和光学成像等领域,提高成像速度和分辨率。
压缩感知可用于频谱感知和频谱管理,提高无线通信系统的频谱利用率和传输速率。
压缩感知可用于图像压缩和图像加密等领域,实现图像的高效存储和传输。
02基于压缩感知的重构算法基础重构算法的基本概念基于压缩感知的重构算法是一种利用稀疏性原理对信号进行重构的方法。
重构算法的主要目标是恢复原始信号,尽可能地保留原始信号的信息。
重构算法的性能受到多种因素的影响,如信号的稀疏性、观测矩阵的设计、噪声水平等。
重构算法的数学模型基于压缩感知的重构算法通常采用稀疏基变换方法,将信号投影到稀疏基上,得到稀疏表示系数。
通过求解一个优化问题,得到重构信号的估计值。
重构算法的数学模型包括观测模型和重构模型两个部分。
重构算法的性能评估重构算法的性能评估通常采用重构误差、重构时间和计算复杂度等指标进行衡量。
重构误差越小,说明重构算法越能准确地恢复原始信号。
重构时间越短,说明重构算法的效率越高。
计算复杂度越低,说明重构算法的运算速度越快。
03基于压缩感知的信号重构算法基于稀疏基的重构算法需要选择合适的稀疏基,使得信号能够稀疏表示,同时需要解决稀疏基选择不当可能导致的过拟合或欠拟合问题。
压缩感知的重构算法稀疏表示是指将信号表示为一个较小数量的基向量的线性组合。
这个基向量矩阵通常称为稀疏基或字典。
信号的稀疏表示可以通过优化问题来得到,即求解一个最小化问题来找到最优的稀疏表示系数。
最小化问题通常以L1范数最小化为目标,即最小化信号的稀疏度度量。
最小化是指通过已知的采样数据和稀疏表示系数来重构原始信号。
重构问题通常可以转化为一个约束最小二乘问题,通过求解这个问题可以得到信号的最优重构。
1.基于L1范数最小化的重构算法:最小化信号的L1范数是一种经典的压缩感知重构算法。
通过求解一个线性约束最小二乘问题可以得到信号的最优重构。
这种方法的优点是理论上有稳定重构性能的保证,但是计算复杂度较高。
2.置信传播算法:置信传播算法是一种迭代算法。
该算法通过迭代地更新稀疏表示系数和重构信号,直到收敛为止。
置信传播算法的优点是计算复杂度较低,但是收敛速度相对较慢。
3.近似最小极大算法:近似最小极大算法是一种近似求解方法。
该算法通过迭代地求解一个最小二乘问题和一个最大问题来更新稀疏表示系数。
该算法的优点是计算复杂度较低,并且具有良好的稳定性。
4.正交匹配追踪算法:正交匹配追踪算法是一种逐步求解方法。
该算法通过迭代地选择最佳的基向量来逼近信号的稀疏表示,从而实现信号的重构。
该算法的优点是计算复杂度较低,但是需要事先知道稀疏度。
压缩感知的重构算法在图像处理、信号处理等领域具有广泛的应用。
它能够在少量采样的情况下实现有效的信号重构,从而大大降低数据采集和传输的成本。
通过研究不同的重构算法,可以进一步提高压缩感知的重构性能,推动其在实际应用中的广泛应用。
压缩感知的重构算法算法的重构是压缩感知中重要的一步,是压缩感知的关键之处。
因为重构算法关系着信号能否精确重建,国内外的研究学者致力于压缩感知的信号重建,并且取得了很大的进展,提出了很多的重构算法,每种算法都各有自己的优缺点,使用者可以根据自己的情况,选择适合自己的重构算法,大大增加了使用的灵活性,也为我们以后的研究提供了很大的方便。
压缩感知的重构算法主要分为三大类:1.组合算法2.贪婪算法3.凸松弛算法每种算法之中又包含几种算法,下面就把三类重构算法列举出来。
组合算法:先是对信号进行结构采样,然后再通过对采样的数据进行分组测试,最后完成信号的重构。
(1) 傅里叶采样 (Fourier Representaion)(2) 链式追踪算法( Chaining Pursuit)(3) HHS 追踪算法( Heavy Hitters On Steroids) 贪婪算法:通过贪婪迭代的方式逐步逼近信号。
(1) 匹配追踪算法( Matching Pursuit MP )(2) 正交匹配追踪算法( Orthogonal Matching Pursuit OMP)(3) 分段正交匹配追踪算法( Stagewise Orthogonal Matching Pursuit StOMP)(4) 正则化正交匹配追踪算法( Regularized Orthogonal Matching Pursuit ROMP )(5) 稀疏自适应匹配追踪算法 ( Sparisty Adaptive Matching Pursuit SAMP) 凸松弛算法:(1) 基追踪算法( Basis Pursuit BP)(2) 最小全变差算法( Total Variation TV )(3) 内点法( Interior-point Method )(4) 梯度投影算法( Gradient Projection)(5) 凸集交替投影算法( Projections Onto Convex Sets POCS) 算法较多,但是并不是每一种算法都能够得到很好的应用,三类算法各有优缺点,组合算法需要观测的样本数目比较多但运算的效率最高,凸松弛算法计算量大但是需要观测的数量少重构的时候精度高,贪婪迭代算法对计算量和精度的要求居中,也是三种重构算法中应用最大的一种。
压缩感知图像重构算法研究近年来,压缩感知技术在图像和视频重构中得到了越来越多的应用。
压缩感知图像重构算法是基于稀疏表示理论和压缩感知理论进行研究和开发的。
该算法通过适当的采样率和稀疏表示模型可以实现在相机捕获到的传感器数据中,去除冗余信息,达到图像压缩和重构的相对高效率的目的。
在研究过程中,该算法涉及压缩感知理论、贪心算法和基于凸优化的方法等多个方面。
下面,本文将对压缩感知图像重构算法进行深入的探讨与研究。
一、压缩感知理论压缩感知的理论基础是稀疏表示理论,其核心思想是信号可以被一组基相对较少的系数线性表示。
在压缩感知图像重构算法中,可以通过选择适当的稀疏基,使得图像在该稀疏基下具有较少的非零系数,从而实现图像数据的压缩。
压缩感知理论认为,如果信号具有稀疏性,则可以通过采取较少的测量来获取信号信息。
比如,对于N × N的图像,如果该图像在某个收缩基下有k个非零系数,那么只需要2k个采样信号就可以重构出该图像。
这种思想在具体应用中可以采用压缩感知成像技术进行实现。
二、贪心算法贪心算法是指在求解问题时,采用局部最优化策略,逐步推进获得全局最优解的方法。
贪心算法在压缩感知图像重构算法中应用极为广泛,如OMP和MP等常用的算法。
这些算法的核心思想是通过一系列逐步加入新的系数,来逐步重构信号的过程,最终获得一个较为稀疏的信息表示。
贪心算法与其他优化算法不同,它不需要求解优化问题的解析解,而是通过一些寻优策略来逐步优化目标函数,从而得到近似解。
但是,贪心算法常常存在跳出某个局部最优解的风险,因此需要在具体应用时谨慎设计算法和选取算法参数。
三、基于凸优化的方法基于凸优化的方法是一种较为高效、可靠性较高的算法,近年来在压缩感知图像重构算法中的应用得到了大量关注。
该方法的基本思路是,将原始问题转化为一个约束最优化问题,并采用一些高效的求解该类问题的算法,以获得较好的优化解。
基于凸优化的方法有很多种,如迭代收缩和交换算法、Lee-algorithm、Gradient Projection方法等。
压缩感知重构算法压缩感知重构算法的基本原理是,通过对信号进行稀疏表示,即使信号的采样点很少,也可以通过一些数学方法还原出原始信号。
这是因为信号在一些表示域下是稀疏的,即信号的大部分能量分布在少量的系数上。
通过采集这些系数,我们可以还原出原始信号。
一个基本的压缩感知重构算法包括以下几个步骤:1.确定信号的稀疏表示域:信号可以在不同的表示域下进行稀疏表示,例如频域、小波域等。
选择适合的表示域可以提高重构的准确性和效率。
2.选择测量矩阵:测量矩阵用于采样原始信号,通常是一个随机矩阵。
选择合适的测量矩阵可以使得重构的误差最小化。
3.采样信号:通过与测量矩阵相乘,可以得到信号的部分采样。
这些采样是原始信号的线性组合。
4.信号重构:根据采样结果和稀疏表示域,可以使用优化算法(如最小二乘法、基追踪算法等)对信号进行重构。
重构的过程就是求解一个优化问题,目标是使得重构信号尽可能接近原始信号,并且在稀疏表示域下具有稀疏性。
1.测量矩阵选择:选择合适的测量矩阵对重构结果有重要影响,但如何选择适合的测量矩阵仍然是一个开放问题。
2.稀疏表示域的选择:信号可以在不同的表示域下进行稀疏表示,不同的表示域会对重构结果产生影响。
如何选择适合的表示域也是一个值得研究的问题。
3.重构算法的复杂度:对于大规模问题,如何设计高效的重构算法是一个具有挑战性的问题。
仍然需要在保证重构质量的前提下提高算法的效率。
总结起来,压缩感知重构算法是一种通过对信号稀疏表示来进行高质量重构的方法。
尽管存在挑战和问题,但该算法在信号处理和图像处理领域有广泛的应用前景,有望为未来的技术发展提供新的思路。
(文章标题:压缩感知重构算法Matlab代码详解)一、引言近年来,压缩感知技术在信号处理领域中得到了广泛的应用。
压缩感知重构算法是其中的重要一环,它通过对信号进行稀疏表示和测量,实现了信号的高效重构。
本文将深入探讨压缩感知重构算法的原理与实现,并结合Matlab代码进行详细解析。
二、压缩感知重构算法原理压缩感知重构算法的核心思想是通过测量矩阵将原始信号映射到低维空间,然后在低维空间进行稀疏表示和重构。
在Matlab中,可以通过一系列的数学运算和变换来实现这一过程。
1. 稀疏表示在压缩感知重构算法中,稀疏性是一个关键要素。
原始信号可以表示为一个稀疏向量,即大部分元素为零。
在Matlab中,可以利用稀疏表示算法对信号进行稀疏化处理,例如使用OMP(Orthogonal Matching Pursuit)算法或L1范数最小化算法。
2. 测量矩阵设计测量矩阵的设计对压缩感知的效果有着直接的影响。
在Matlab中,可以通过随机生成矩阵或使用特定的正交矩阵来设计测量矩阵。
常用的有高斯随机矩阵、哈达玛矩阵等。
3. 信号重构通过稀疏表示和测量矩阵映射,可以得到一组稀疏系数,然后利用逆变换将稀疏系数还原为原始信号。
在Matlab中,可以利用逆变换算法如DCT(Discrete Cosine Transform)或FFT(Fast Fourier Transform)来完成信号的重构。
三、压缩感知重构算法Matlab代码详解接下来,我们将结合Matlab代码对压缩感知重构算法进行详细的实现和解析。
1. 稀疏表示```matlab% 使用OMP算法进行稀疏表示x_sparse = OMP(A, y, sparsity_level);```在上述代码中,A代表测量矩阵,y代表测量结果,sparsity_level 代表稀疏度。
通过调用OMP算法,可以得到稀疏表示的结果x_sparse。
2. 测量矩阵设计```matlab% 随机生成高斯测量矩阵A = randn(m, n);A = A / norm(A, 'fro');```以上代码展示了如何在Matlab中随机生成一个高斯测量矩阵,并进行归一化处理。
image recovery and are able to recover textures efficiently and accurately.The nonlinear diffusion regularization is beneficial for preserving the edge of an image.We use three steps to solve the complex model:First,we use the SGK algorithm to train the dictionary and obtain the sparse representation in the log-image.Second,we propose an alternating minimization algorithm to solve the remainder.Finally,we transform the recovered log-image into a real domain.Numerical experiments show that the proposed model preserves both edges and structures while removing multiplicative noise quickly.Key words:Compressed Sensing;Reconstruction algorithm;Matching pursuit; Dice coefficient;Sparse representation目录第一章引言 (1)1.1研究目的与意义 (1)1.2国内外研究现状 (1)1.3论文的主要工作与章节安排 (2)第二章压缩感知基本理论和应用 (4)2.1压缩感知理论 (4)2.1.1信号的稀疏表示 (5)2.1.2信号的编码测量 (5)2.1.3信号的重构 (6)2.2压缩感知的应用 (7)2.3本章小结 (8)第三章基于压缩感知的重构算法 (9)3.1匹配追踪(MP)和正交匹配追踪算法(OMP) (9)3.2正则化正交匹配追踪算法(ROMP) (10)3.3分段正交匹配追踪算法(StOMP) (11)3.4压缩采样匹配追踪(CoSaMP)和子空间追踪算法(SP) (11)3.5稀疏度自适应匹配追踪算法(SAMP) (12)3.6本章小结 (13)第四章基于稀疏度估计的子空间追踪算法 (14)4.1SESP算法 (14)4.1.1稀疏度估计 (14)4.1.2算法步骤 (15)4.2实验结果及实验分析 (15)4.3本章小结 (18)第五章改进的稀疏度自适应匹配追踪算法 (19)5.1广义Dice系数匹配准则 (19)5.2指数变步长 (20)5.3ISAMP算法步骤 (21)5.4实验结果及分析 (22)5.4.1广义Dice系数匹配准则的有效性 (22)5.4.2参数 和a对信号恢复性能的影响 (23)5.4.3一维信号重构结果比较 (24)5.4.4二维图像重构结果比较 (25)5.5本章小结 (27)第六章基于SGK算法稀疏表示的乘性噪声去噪 (28)6.1基于SGK算法稀疏表示的加性噪声去噪 (28)6.2乘性噪声去噪的方法 (30)6.3基于SGK稀疏表示的乘性噪声去噪 (31)6.3.1基于SGK稀疏表示的乘性噪声去噪模型 (31)6.3.2模型求解方法 (32)6.3.3实验结果及分析 (35)6.4本章小结 (43)第七章总结与展望 (44)7.1总结 (44)7.2展望 (44)参考文献 (45)攻读学位期间的研究成果 (48)致谢 (49)学位论文独创性声明.......................................................................学位论文知识产权权属声明...........................................................70 70第一章引言第一章引言1.1研究目的与意义随着现代科学技术的快速发展,人们所需的信息量也越来越大。
浅谈压缩感知(⼆⼗三):压缩感知重构算法之压缩采样匹配追踪(CoSaMP)主要内容:1. CoSaMP的算法流程2. CoSaMP的MATLAB实现3. ⼀维信号的实验与结果4. 测量数M与重构成功概率关系的实验与结果⼀、CoSaMP的算法流程压缩采样匹配追踪(CompressiveSampling MP)是D. Needell继ROMP之后提出的⼜⼀个具有较⼤影响⼒的重构算法。
CoSaMP也是对OMP 的⼀种改进,每次迭代选择多个原⼦,除了原⼦的选择标准之外,它有⼀点不同于ROMP:ROMP每次迭代已经选择的原⼦会⼀直保留,⽽CoSaMP每次迭代选择的原⼦在下次迭代中可能会被抛弃。
⼆、CS_CoSaMP的MATLAB实现(CS_CoSaMP.m) function [ theta ] = CS_CoSaMP( y,A,K )% CS_CoSaOMP% Detailed explanation goes here% y = Phi * x% x = Psi * theta% y = Phi*Psi * theta% 令 A = Phi*Psi, 则y=A*theta% K is the sparsity level% 现在已知y和A,求theta% Reference:Needell D,Tropp J A.CoSaMP:Iterative signal recovery from% incomplete and inaccurate samples[J].Applied and Computation Harmonic% Analysis,2009,26:301-321.[m,n] = size(y);if m<ny = y'; %y should be a column vectorend[M,N] = size(A); %传感矩阵A为M*N矩阵theta = zeros(N,1); %⽤来存储恢复的theta(列向量)pos_num = []; %⽤来迭代过程中存储A被选择的列序号res = y; %初始化残差(residual)为yfor kk=1:K %最多迭代K次%(1) Identificationproduct = A'*res; %传感矩阵A各列与残差的内积[val,pos]=sort(abs(product),'descend');Js = pos(1:2*K); %选出内积值最⼤的2K列%(2) Support MergerIs = union(pos_num,Js); %Pos_theta与Js并集%(3) Estimation%At的⾏数要⼤于列数,此为最⼩⼆乘的基础(列线性⽆关)if length(Is)<=MAt = A(:,Is); %将A的这⼏列组成矩阵Atelse %At的列数⼤于⾏数,列必为线性相关的,At'*At将不可逆if kk == 1theta_ls = 0;endbreak; %跳出for循环end%y=At*theta,以下求theta的最⼩⼆乘解(Least Square)theta_ls = (At'*At)^(-1)*At'*y; %最⼩⼆乘解%(4) Pruning[val,pos]=sort(abs(theta_ls),'descend');%(5) Sample Updatepos_num = Is(pos(1:K));theta_ls = theta_ls(pos(1:K));%At(:,pos(1:K))*theta_ls是y在At(:,pos(1:K))列空间上的正交投影res = y - At(:,pos(1:K))*theta_ls; %更新残差if norm(res)<1e-6 %Repeat the steps until r=0break; %跳出for循环endendtheta(pos_num)=theta_ls; %恢复出的thetaend三、⼀维信号的实验与结果%压缩感知重构算法测试clear all;close all;clc;M = 64; %观测值个数N = 256; %信号x的长度K = 12; %信号x的稀疏度Index_K = randperm(N);x = zeros(N,1);x(Index_K(1:K)) = 5*randn(K,1); %x为K稀疏的,且位置是随机的Psi = eye(N); %x本⾝是稀疏的,定义稀疏矩阵为单位阵x=Psi*thetaPhi = randn(M,N); %测量矩阵为⾼斯矩阵A = Phi * Psi; %传感矩阵y = Phi * x; %得到观测向量y%% 恢复重构信号xtictheta = CS_CoSaMP( y,A,K );x_r = Psi * theta; % x=Psi * thetatoc%% 绘图figure;plot(x_r,'k.-'); %绘出x的恢复信号hold on;plot(x,'r'); %绘出原信号xhold off;legend('Recovery','Original')fprintf('\n恢复残差:');norm(x_r-x) %恢复残差四、测量数M与重构成功概率关系的实验与结果clear all;close all;clc;%% 参数配置初始化CNT = 1000; %对于每组(K,M,N),重复迭代次数N = 256; %信号x的长度Psi = eye(N); %x本⾝是稀疏的,定义稀疏矩阵为单位阵x=Psi*thetaK_set = [4,12,20,28,36]; %信号x的稀疏度集合Percentage = zeros(length(K_set),N); %存储恢复成功概率%% 主循环,遍历每组(K,M,N)ticfor kk = 1:length(K_set)K = K_set(kk); %本次稀疏度M_set = 2*K:5:N; %M没必要全部遍历,每隔5测试⼀个就可以了PercentageK = zeros(1,length(M_set)); %存储此稀疏度K下不同M的恢复成功概率for mm = 1:length(M_set)M = M_set(mm); %本次观测值个数fprintf('K=%d,M=%d\n',K,M);P = 0;for cnt = 1:CNT %每个观测值个数均运⾏CNT次Index_K = randperm(N);x = zeros(N,1);x(Index_K(1:K)) = 5*randn(K,1); %x为K稀疏的,且位置是随机的Phi = randn(M,N)/sqrt(M); %测量矩阵为⾼斯矩阵A = Phi * Psi; %传感矩阵y = Phi * x; %得到观测向量ytheta = CS_CoSaMP(y,A,K); %恢复重构信号thetax_r = Psi * theta; % x=Psi * thetaif norm(x_r-x)<1e-6 %如果残差⼩于1e-6则认为恢复成功P = P + 1;endendPercentageK(mm) = P/CNT*100; %计算恢复概率endPercentage(kk,1:length(M_set)) = PercentageK;endtocsave CoSaMPMtoPercentage1000 %运⾏⼀次不容易,把变量全部存储下来%% 绘图S = ['-ks';'-ko';'-kd';'-kv';'-k*'];figure;for kk = 1:length(K_set)K = K_set(kk);M_set = 2*K:5:N;L_Mset = length(M_set);plot(M_set,Percentage(kk,1:L_Mset),S(kk,:));%绘出x的恢复信号hold on;endhold off;xlim([0256]);legend('K=4','K=12','K=20','K=28','K=36');xlabel('Number of measurements(M)');ylabel('Percentage recovered');title('Percentage of input signals recovered correctly(N=256)(Gaussian)');五、参考⽂章。
《分布式压缩感知的重构算法研究》篇一一、引言随着信息技术的飞速发展,大数据时代已经到来。
面对海量的数据,如何高效地进行数据压缩与重构成为了研究热点。
分布式压缩感知(Distributed Compressive Sensing,DCS)作为一种新兴的技术,能够有效地解决大规模数据压缩与重构的问题。
本文旨在研究分布式压缩感知的重构算法,以提高数据压缩与重构的效率。
二、分布式压缩感知概述分布式压缩感知是一种将压缩感知(Compressed Sensing)和分布式处理相结合的技术。
它通过在多个节点上同时进行数据的压缩与测量,将大规模的数据压缩成小规模的数据,并利用分布式处理的优势,实现对数据的快速重构。
三、分布式压缩感知的重构算法针对分布式压缩感知的重构算法,本文研究了两种主流的算法:基于凸优化的重构算法和基于稀疏恢复的重构算法。
1. 基于凸优化的重构算法基于凸优化的重构算法通过将非凸优化问题转化为凸优化问题,利用凸优化的理论和方法进行求解。
在分布式压缩感知中,该算法通过最小化测量数据的L1范数或L2范数,实现对原始数据的重构。
该算法具有较好的稳定性和鲁棒性,但计算复杂度较高。
2. 基于稀疏恢复的重构算法基于稀疏恢复的重构算法是另一种重要的重构算法。
它利用了信号的稀疏性或可压缩性,通过寻找最优的稀疏解来恢复原始数据。
在分布式压缩感知中,该算法通过设计合适的稀疏基函数和优化算法,实现对原始数据的快速恢复。
该算法具有较高的恢复精度和较低的计算复杂度。
四、实验与分析为了验证两种重构算法的有效性,本文进行了大量的实验。
实验结果表明,基于凸优化的重构算法在处理大规模数据时具有较好的稳定性和鲁棒性,但计算复杂度较高;而基于稀疏恢复的重构算法在恢复精度和计算复杂度方面具有较好的性能。
此外,我们还发现,在分布式环境下,通过合理地设计节点间的协作与通信机制,可以进一步提高重构算法的效率和精度。
五、结论与展望本文对分布式压缩感知的重构算法进行了深入研究,并取得了以下结论:1. 基于凸优化的重构算法在处理大规模数据时具有较好的稳定性和鲁棒性;2. 基于稀疏恢复的重构算法在恢复精度和计算复杂度方面具有较好的性能;3. 在分布式环境下,通过合理地设计节点间的协作与通信机制,可以进一步提高重构算法的效率和精度。
压缩感知中的信号重构算法研究压缩感知信号重构算法是一种基于信号压缩和信号恢复的技术,可以在不损失信号细节的情况下对信号进行重构。
该算法通常用于音频和视频处理中,以便在存储和传输过程中减少数据量。
本文将探讨压缩感知中的信号重构算法,包括其基本思想、应用场景和算法设计。
一、压缩感知信号重构算法的基本原理压缩感知信号重构算法的基本思想是,通过对信号进行压缩,减少存储和传输所需的数据量。
信号的压缩可以通过引入随机噪声或信号预处理来实现。
在信号重构过程中,将压缩后的信号与原始信号进行比较,并恢复出未压缩的部分。
这个过程被称为信号恢复。
压缩感知信号重构算法可以应用于多种场景中。
例如,在音频处理中,可以将未压缩的音频信号转换为压缩后的信号,以便在存储和传输过程中减少数据量。
在视频处理中,可以将未压缩的视频信号转换为压缩后的信号,以便在存储和传输过程中减少数据量,并提高视频压缩比。
二、压缩感知信号重构算法的应用场景压缩感知信号重构算法可以应用于多种场景中,包括以下几个方面。
1. 音频处理音频处理是压缩感知信号重构算法最常见的应用场景之一。
该算法可以将未压缩的音频信号转换为压缩后的信号,以便在存储和传输过程中减少数据量。
压缩后的音频信号可以用于在线音乐播放、移动设备存储和广播等领域。
2. 视频处理视频处理也是压缩感知信号重构算法的常见应用场景之一。
该算法可以将未压缩的视频信号转换为压缩后的信号,以便在存储和传输过程中减少数据量。
压缩后的的视频信号可以用于在线视频播放、移动设备存储和广播等领域。
3. 通信领域压缩感知信号重构算法还可以应用于通信领域。
例如,在无线电通信中,可以将未压缩的无线电信号转换为压缩后的信号,以便在传输过程中减少数据量。
在数字通信中,可以将压缩后的信号转换为未压缩的信号,以便进行数字传输。
三、压缩感知信号重构算法的算法设计压缩感知信号重构算法的算法设计主要包括两个步骤。
1. 引入随机噪声在信号重构过程中,引入随机噪声可以随机化信号的特征,从而减轻信号的压缩比。
《分布式压缩感知的重构算法研究》篇一一、引言在数字化信息时代,大数据和机器智能在各种领域广泛应用。
数据的收集和处理的规模不断增大,其背后要求的信息获取、传输、处理与存储等技术手段亟待革新。
而分布式压缩感知作为一种新颖的信息处理方法,旨在结合了分布式技术和压缩感知(CS)理论的优点,被广泛应用于图像处理、信号处理和无线通信等领域。
本文将重点研究分布式压缩感知的重构算法,分析其性能及优缺点,并探讨其未来的研究方向。
二、分布式压缩感知概述分布式压缩感知(Distributed Compressive Sensing, DCS)是一种基于压缩感知理论的新型信息处理技术。
它将传统集中式信号处理的方法,如传统信号压缩,进行改进,使之可以分布处理不同区域或节点上的数据。
分布式压缩感知具有信息量巨大、信噪比高、信息质量可靠等优点,可有效地应用于大尺度信号或数据网络。
三、重构算法介绍在分布式压缩感知中,重构算法是关键部分。
其基本思想是利用已知的测量值和稀疏性约束条件,通过优化算法来恢复原始信号或数据。
目前常见的重构算法包括贪婪算法、凸优化算法和组合算法等。
1. 贪婪算法:通过局部最优的搜索策略,在每一步迭代中寻找最匹配的元素进行迭代求解。
这类算法简单且效率高,但在信号复杂度较高时效果较差。
2. 凸优化算法:利用信号的稀疏性特点,将重构问题转化为凸优化问题,使用传统的凸优化技术求解。
该类算法具有良好的数学理论基础和全局收敛性,但在面对复杂度高且大规模的数据时效率可能有所下降。
3. 组合算法:结合压缩感知理论的多种特点进行优化。
这种算法更加复杂但可以在复杂的网络环境中更有效地恢复原始信号或数据。
四、重构算法性能分析不同的重构算法在分布式压缩感知中各有优劣。
贪婪算法在简单信号的恢复上表现出色,但面对复杂信号时可能无法得到满意的恢复效果。
而凸优化算法虽然具有强大的数学理论基础和全局收敛性,但在处理大规模数据时可能效率较低。
《分布式压缩感知的重构算法研究》篇一一、引言随着信息技术的飞速发展,大数据时代已经到来。
在处理海量数据时,压缩感知(Compressed Sensing)技术因其能够以低于传统采样定理的采样率获取数据中的关键信息而受到广泛关注。
而随着网络环境的复杂性和数据的分散性增加,分布式压缩感知(Distributed Compressed Sensing)逐渐成为研究的热点。
分布式压缩感知在处理分布式数据时,可以更有效地利用资源,提高数据处理的效率。
本文将重点研究分布式压缩感知的重构算法,以期为相关领域的研究和应用提供理论支持。
二、分布式压缩感知概述分布式压缩感知是一种将压缩感知与分布式计算相结合的技术。
在这种技术中,数据被分割成多个部分,分别在不同的节点上进行压缩感知处理。
每个节点对数据的局部进行测量和编码,然后将编码后的数据通过网络进行传输和融合,最后在中心节点进行全局的重构。
这种技术能够有效地处理分布式数据,提高数据处理的速度和效率。
三、分布式压缩感知的重构算法研究(一)算法概述分布式压缩感知的重构算法主要包括局部重构和全局重构两个阶段。
局部重构是在各个节点上对局部数据进行重构,以获取原始数据的近似值。
全局重构则是在中心节点上,利用所有节点的局部重构结果进行全局的重构,以恢复原始数据的完整信息。
(二)算法分类根据不同的重构策略和算法思想,可以将分布式压缩感知的重构算法分为以下几类:1. 集中式重构算法:该类算法将所有节点的局部重构结果传输到中心节点,由中心节点进行全局的重构。
该类算法简单易行,但需要大量的通信开销。
2. 分布式迭代重构算法:该类算法利用各节点之间的信息交换和迭代计算,实现分布式数据的重构。
该类算法可以减少通信开销,提高算法的效率。
3. 基于稀疏性的重构算法:该类算法利用信号的稀疏性进行重构,能够更准确地恢复原始数据。
(三)算法研究进展近年来,关于分布式压缩感知的重构算法研究取得了重要的进展。
《分布式压缩感知的重构算法研究》篇一一、引言随着信息技术的快速发展,数据量的增长呈指数级增长,这给数据的存储、传输和处理带来了巨大的挑战。
压缩感知(Compressed Sensing,CS)作为一种新兴的信号处理技术,以其高效的数据压缩能力和稀疏信号的恢复能力受到了广泛关注。
然而,传统的压缩感知技术主要适用于集中式处理场景,在分布式场景下存在一定局限性。
因此,分布式压缩感知(Distributed Compressed Sensing,DCS)技术应运而生,其通过将信号在多个节点上进行分布式采样和压缩,实现了在分布式环境下对信号的有效处理和恢复。
本文旨在研究分布式压缩感知的重构算法,探讨其理论原理、实现方法和应用前景。
二、分布式压缩感知理论原理分布式压缩感知是一种将原始信号分解为多个子信号,并在多个节点上进行分布式采样的技术。
这些节点通过网络进行协同工作,实现对原始信号的恢复。
与传统的压缩感知相比,分布式压缩感知更适用于分布式环境下的信号处理。
在分布式压缩感知中,每个节点对子信号进行采样和压缩,然后将压缩后的数据通过网络传输到中心节点。
中心节点利用全局的测量矩阵和稀疏基对接收到的数据进行重构,最终恢复出原始信号。
这个过程涉及到的关键技术包括分布式采样、数据压缩、网络传输和信号重构等。
三、分布式压缩感知的重构算法研究针对分布式压缩感知的重构算法,目前已经有很多研究成果。
其中,基于贪婪算法、凸优化方法和组合批处理等方法的重构算法是研究热点。
1. 贪婪算法贪婪算法是一种启发式搜索算法,通过局部最优的选择来逐步逼近全局最优解。
在分布式压缩感知的重构算法中,贪婪算法通过迭代的方式选择非零元素,逐步恢复出原始信号。
常见的贪婪算法包括正交匹配追踪(OMP)算法、稀疏度自适应匹配追踪(SAMP)算法等。
这些算法具有较低的计算复杂度和较好的重构性能,适用于实时性要求较高的场景。
2. 凸优化方法凸优化方法是一种通过求解凸优化问题来恢复原始信号的方法。
压缩感知的重构算法算法的重构是压缩感知中重要的一步,是压缩感知的关键之处。
因为重构算法关系着信号能否精确重建,国内外的研究学者致力于压缩感知的信号重建,并且取得了很大的进展,提出了很多的重构算法,每种算法都各有自己的优缺点,使用者可以根据自己的情况,选择适合自己的重构算法,大大增加了使用的灵活性,也为我们以后的研究提供了很大的方便。
压缩感知的重构算法主要分为三大类:1.组合算法2.贪婪算法3.凸松弛算法每种算法之中又包含几种算法,下面就把三类重构算法列举出来。
组合算法:先是对信号进行结构采样,然后再通过对采样的数据进行分组测试,最后完成信号的重构。
(1) 傅里叶采样(Fourier Representaion)(2) 链式追踪算法(Chaining Pursuit)(3) HHS追踪算法(Heavy Hitters On Steroids)贪婪算法:通过贪婪迭代的方式逐步逼近信号。
(1) 匹配追踪算法(Matching Pursuit MP)(2) 正交匹配追踪算法(Orthogonal Matching Pursuit OMP)(3) 分段正交匹配追踪算法(Stagewise Orthogonal Matching Pursuit StOMP)(4) 正则化正交匹配追踪算法(Regularized Orthogonal Matching Pursuit ROMP)(5) 稀疏自适应匹配追踪算法(Sparisty Adaptive Matching Pursuit SAMP)凸松弛算法:(1) 基追踪算法(Basis Pursuit BP)(2) 最小全变差算法(Total Variation TV)(3) 内点法(Interior-point Method)(4) 梯度投影算法(Gradient Projection)(5) 凸集交替投影算法(Projections Onto Convex Sets POCS)算法较多,但是并不是每一种算法都能够得到很好的应用,三类算法各有优缺点,组合算法需要观测的样本数目比较多但运算的效率最高,凸松弛算法计算量大但是需要观测的数量少重构的时候精度高,贪婪迭代算法对计算量和精度的要求居中,也是三种重构算法中应用最大的一种。
下面分别就贪婪算法中的MP,OMP算法以及凸松弛算法中的BP算法进行详细的介绍。
三种重建算法本节主要是介绍一些基本的重建算法,比如贪婪迭代算法中的匹配追踪算法,正交匹配追踪算法,以及凸松弛算法中的基追踪算法,对其原理进行了介绍,并用matlab代码重构出来一维和二维的图形,进而比较这几种算法的性能。
1.匹配追踪算法(Matching Pursuit MP )匹配追踪算法是Mallat 和ZHANG 在小波分析的基础上提出的,是贪婪迭代算法中的比较基本的算法,有其显著的特点,是学习研究贪婪算法的基础。
1.1 MP 算法的原理x y Φ=,其中测量矩阵Φ又称为过完备字典,每一列被称为一个原子,则测量矩阵中有n 个原子,而y 的长度为m ,原子的个数远远大于信号的长度,即m<<n ,因此测量矩阵又称为过完备字典。
信号y 在测量矩阵上进行分解,Φ可以用{ϕϕn ...1}来表示,单位向量长度为1,要对过完备字典的原子进行归一化处理。
MP 算法的基本思想:从观测矩阵(过完备字典)中选择一个与信号y 相关性最大(最匹配)的原子,也就是观测矩阵中的一列,构建信号的稀疏逼近,求出信号的残差,重复上面的操作,继续选择与信号残差最匹配的一个原子,如此反复迭代直到达到迭代次数,最后信号y 就可以表示为这些原子的线性组合。
MP 进行稀疏分解的步骤[1][2]:从观测矩阵中选择一个与信号y 最匹配的原子,也就是内积最大的一个原子,即:|<y,ϕΓ0>|=sup ),...1(n i ∈|<y,ϕi >| (1) 其中,Γ0表示字典矩阵的列索引。
先将信号y 投影到向量 Φ∈Γϕ0上,信号y 也可以表示为:R y y 100,+Γ>Γ=<ϕϕ (2)(2)式等号右边的第一项为观测矩阵中最匹配原子ϕΓ0的垂直投影分量,等式右边的第二项R 1是y 通过ϕΓ0分解后的残差,且与y 正交。
(2)式可以写为:|||||,|||||10222R y y +Γ=><ϕ (3) 对残差R 1进行上面同样的分解,在第n 次迭代过程中:R R R n n n n n 1,++Γ>Γ=<ϕϕ (4) 因为R n 和ϕΓn 正交,则(4)式可以表示为:|||||,|||||1222R R R n n n n ++Γ=><ϕ (5) 最后,信号y 可以表示为:R y n i n i i i y 10,+=+Γ>Γ<=∑ϕϕ (6)因为最后的残差R n 1+正交于上次迭代产生的残差R n ,则最后的表达式为:|||||,|||||1222R y y n i n o i ++Γ=><∑=ϕ (7) 由(7)式可知,当残差R n 1+为零时,可以得到信号的精确分解。
定理1[3] 存在0>λ,使得一切对于0≥n 时,有||||||||21y n n R λ-+≤成立。
这样(7)式中,||||1R n +按照指数衰减的形式趋于零,也就是|,|||||202><∑Γ==ϕi y y n i 成立。
参考文献:[1] 曹离然.面向压缩感知的稀疏信号重建算法研究.[D].哈尔滨工业大学,2011.[2] Y .C.PATI.Orthogonal Matching Pursuit: Recursive Function Approximation with Applications to Wavelet Decomposition.IEEE.1993:40-44[3] 韩红平.压缩感知中信号重构算法的研究.[D].南京邮电大学,2012.1.2 MP 算法的理论框图根据上面的MP 算法的原理,得出MP 算法的理论图[1],这样更容易理解。
图1:MP算法框图参考文献:[1] 韩红平.压缩感知中信号重构算法的研究[D].南京邮电大学,20121.3 MP 算法的算法流程根据1.2中介绍的MP 算法的理论框图,现在写出MP 算法的算法流程[1][2],这样让我们对MP 算法有一个更加清晰的理解。
输入:测量矩阵)(N M ⨯Φ,测量向量)1(⨯N y ,稀疏度k 输出:重构信号∧x(1):初始化余量y r =0,迭代次数n=0 1;(2):计算余量与测量矩阵的每一列的内积r g n T n 1-Φ=;共有N 个内积数值。
(3):找出N 个g n 中的绝对值最大的元素)(k g n ,k 为对应的最大内积的列号。
(4):计算信号的近似解][][][1k k k g x x n n n +=-;(5):更新余量ϕk n n n k g r r ⋅-=-][1;(6):若满足迭代条件,则n=n+1,x n x =∧,若不满足迭代条件则返回步骤(2);迭代次数为稀疏度的2倍。
参考文献:[1] Linfeng Du,Rui Wang. Analysis on Greedy Reconstruction Algorithms Based on Compressed Sensing.[J].IEEE 2012:783-789[2] 文首先.压缩感知匹配追踪算法的研究.[D].20131.4 MP 算法的信号重构本节分别通过对一维离散信号,二维Lena 为例,进行MP 算法的信号重构。
(1)一维离散信号的MP算法仿真本次仿真使用matlab随机生成的一维离散信号,稀疏度k=23,信号长度N=256,观测向量的长度M=80,那么采样率M/N=0.3,其中的观测矩阵 是高斯随机矩阵。
采用MP算法对一维信号进行重构,重构图如1:图1:MP算法重构一维信号通过上面的重构可以得出,MP算法对一维信号有很好的重构效果。
(2)二维lena图像的MP算法重构我们上面的研究知道MP算法对一维信号有很好的重构作用,但是算法不只是要在一维信号中有好的重构功能,还要能很好的重构二维信号才可以,这样应用的范围才会更大。
我们知道压缩感知重构的是可压缩的稀疏信号,二维信号是不稀疏的,这就要在进行算法重构的时候进行一些处理,我们可以先采用离散余弦变换(dct)使数据稀疏,算法重构结束之后再进行离散反余弦变换(idct),这样就转化为了我们所需要的。
本次在matlab中的仿真,我们采用的是256256的Lena的二维图像,M=180,N=256,稀疏度k=40,M/N=0.7,观测矩阵是高斯随机矩阵,采用MP算法对二维图像进行重构,重构效果如图2(b):(a)原始图片(b)MP算法重构(M/N=0.7)通过上面的(a)图和(b)图可知,采样率为0.7的时候,MP算法也能对二维图像进行精确重构。
2.正交匹配追踪算法(OMP)2.1OMP算法的原理OMP算法是在MP算法的基础上进行改进的,沿用了MP算法的重构的思想,但是又对MP 算法进行了改进,使得算法的效率更高,应用更加的广泛。
MP 算法的信号分解中步骤中介绍:R y y 100,+Γ>Γ=<ϕϕ,这说明信号在已经选择的原子上的投影(等是右边第一项)是非正交的,还存在着残差,也就是说每次迭代的过程是次最优的,不是最优解,要想最终的迭代收敛,需要的迭代次数较多。
OMP 算法就是根据MP 算法的不足之处加以改进,把所选择的原子首先通过Schimidt 正交化处理,使得在达到迭代条件的时候需要的迭代次数较MP 算法少,但是正交化的过程中会增加计算量。
在每一步中如何对选择的全部原子进行正交化处理呢?这是OMP 算法和MP 算法的不同之处。
下面介绍OMP 算法正交化原理[1]: 信号y 经k 步分解:R a k k n k n n y +Γ=∑=ϕ1且0,>=Γ<ϕnR k ,n=1,…,k (1) (1)式和MP 算法的不同在于,MP 算法是残差和前面的一个分量正交,而OMP 算法是残差和前面的每个分量都正交。
k+1步分解为:R a k k n k n n y 1111+++=+Γ=∑ϕ 且 0,1>=Γ<+ϕnR k n=1,…,k+1 (2) k+1阶减去k 阶:R R a a a kk k k k n k n k n k n -+Γ+Γ-++++=+∑111111)(ϕϕ (3) 要想对选择的全部原子进行正交化处理,要求(3)式等于零。
测量矩阵的原子不正交,为了说明(3)式等于零,下面引入一个辅助模型,模型表示的是ϕΓ+1k 对前k 个项ϕΓn(n=1,…,k )的依赖,数学语言描述如下:r b k kn kn n n +Γ=Γ∑=+ϕϕ11且 <ϕΓnr k , > =0,n=1,…,k (4)ϕΓ+1k 在),...,(1ϕϕk上张成的正交投影,等式右边的第二项是残差,(4)式代入(3)式中:0)()(1111111=-++Γ+-++++++=∑R R r a b a a ak k k k k kn k k kn k nkn nϕ(5)如果(6)和(7)式成立,则(5)式必然成立,0111=+-+++b a a akn k k k n k n (6)0111=-++++R Rr a k k kk k (7)令a a k k k =++11,有:b a a akn k kn k n-=+1 n =1,…,k (8)01=-++R R r a k n k k n =1,…,k (9)(8)和(9)两式成立,以上就是OMP 算法进行正交化的过程。