【压缩感知合集9】压缩感知的OMP算法(算法步骤分析、举例分析、说明总结和缺陷)_呆呆象呆呆的博客-CSDN博客_压缩感知omp
压缩感知--数学基础_mrlonely001的博客-CSDN博客
压缩感知学习总结及Matlab代码实现_code_Joe123的博客-CSDN博客_压缩感知matlab
正交匹配追踪算法(OMP)_七味老友的博客-CSDN博客_正交匹配追踪算法
浅谈压缩感知(二十一):压缩感知重构算法之正交匹配追踪(OMP)_Karman_M的博客-CSDN博客
将图像或者高维数据化为一维的长矢量来处理,图中的 x是N*1长的原始信号,原始信号在开始是不稀疏的,在域是K稀疏的。x向域投影得到的信号是s
k稀疏是指在长度为N的向量s中仅仅有k个稀疏是非零的,剩余的N-k个稀疏为零。
详细解释:
需要被收集的信号x,可能稀疏(非零元素个数)也可能不是稀疏的,但是我们可以利用传统信号处理的方法,找到一个矩阵Ψ,使得x=ΨS是稀疏的,比如如果x是音频信号,矩阵Ψ就可能是一个DCT矩阵。这样s就是一个长度为N的K稀疏信号(非零元素为K个),CS理论告诉我们,对于这样的K稀疏信号,我们无需按照传统奈奎斯特采样定理一样以两倍信号最大频率去采样信号。CS告诉我们,如果信号在某一个正交空间具有稀疏性(即可压缩性),就能以较低的频率(远低于奈奎斯特采样频率)采样该信号,并可能以高概率精确的重建该信号。而这时的采样方式不再是离散化的单位矩阵采样,CS理论广泛采用高斯随机矩阵作为采样矩阵,这时采样的信号y=Φx,也即是y=ΦΨS=ΘS,其中y的长度变为M,M<<N。问题来了,这样长度为M的信号y能完美表达信号S吗?
CS理论告诉我们,这是可能的!!!
所谓压缩感知,最核心的概念在于试图从原理上降低对一个信号进行测量的成本。比如说,一个信号包含一千个数据,那么按照传统的信号处理理论,至少需要做一千次测量才能完整的复原这个信号。这就相当于是说,需要有一千个方程才能精确地解出一千个未知数来。但是压缩感知的想法是假定信号具有某种特点(比如在小波域上系数稀疏的特点),那么就可以只做三百次测量就完整地复原这个信号(这就相当于只通过三百个方程解出一千个未知数)。
上面其实我们得到了M个方程,而变量却有N个,要从方程y=Φx中找到这个x的解。这样的方程很明显是方程个数远远小于变量的个数,方程的解有无穷多个,怎样才能找到合适的x的解呢?CS理论,应用到了x具有K稀疏的特性,我们可以在这些无穷个解中去挑一个解,这个解必须非常稀疏。而这个稀疏的解就是x的解。
如何挑最稀疏的解呢?
根据稀疏的定义,自然而然想到了L0范数(向量中非零元素的个数)。其实挑这样的解就是解如下的优化问题: