压缩感知的基本思想是利用信号的稀疏性来降低采样数据量。具体来说,压缩感知假设信号可以表示为一个稀疏系数向量和一个原子字典的线性组合,其中原子字典是一组基函数或样本点,可以表示信号的各个部分。因此,压缩感知算法的任务是利用尽可能少的采样数据,同时从中提取出信号的稀疏系数向量,然后利用稀疏系数向量和原子字典进行信号重构。
奈奎斯特采样定理:若要不失真的恢复模拟信号,采样频率不应小于模拟信号频谱中最高频率的两倍。
基于奈奎斯特采样定理进行均匀采样,可以得到能够无失真恢复模拟信号的数字信号。
通过这种奈奎斯特采样得到的数字信号的数据量往往比较大,不利于存储和传输。该数字信号往往存在较大冗余,可以对其进行进一步压缩。
一开始就进行少量采样,然后根据这些少量的样本恢复原始信号,在采样过程中就对数据进行压缩。
压缩感知:当信号是稀疏或可压缩时,以远小于奈奎斯特定理的采样率,用随机采样获取信号的离散样本,然后通过非线性重构算法恢复原始数字信号。
虽然许多情况下信号往往不能满足稀疏性要求,但在合适的变换域内可以转化成稀疏信号。
压缩采样过程:
采样过程用公式简单的表示为:y = Φ x 。Φ 代表 M × N维的观测矩阵或采样矩阵, y 为压缩采样后的信号。
x 是含有 K 个非零值的稀疏信号向量,K 也被称为稀疏度。
采样矩阵 Φ 的每一行和信号 x 相乘就得到 y 中的一个数值,这一过程可以看成是对 x 的一次采样。 Φ 的每一行就代表一次测量, M 行的测量结果就是一个M 维的向量 y 。如果 M 很小的话,就实现了降维。
一般情况下,即使 Φ 是一个满秩矩阵,但由于 M << N ,使得 y = Φ x 是一个欠定方程组,已知 y 并不能求得 x 。但我们只关心稀疏信号 x 中的 K 个非零值,所以,只要采样矩阵 Φ 中的任意 M × K 的子矩阵是满秩的,就可以保留稀疏信号 x 的结构和信息。当 Φ 是一个随机矩阵时,它有很大概率能够满足这样的性质。
当 x 不满足稀疏条件时,可以通过一个基矩阵将其变换到另一合适域内,只要在该域下信号是稀疏的即可。我们把这样的变换称为稀疏变换或稀疏化,对应的基矩阵称为稀疏基。
稀疏变换后的压缩采样过程:
Ψ 代表稀疏基, x = Ψ α , y = Φ Ψ α 。把观测矩阵和稀疏基矩阵合并起来称为感知矩阵 Θ = Φ Ψ 。于是采样信号可以简写为 y = Θ x。
根据稀疏采样信号来恢复原始信号,如果感知矩阵满足 RIP 条件,可以通过求解一个 范数最优化问题来重构原始信号:
然而,上式是一个非凸优化问题,难以在多项式时间内求解。因此,如何寻找一种高效稳健的重构算法成为近年来压缩感知领域最重要的问题之一。
压缩感知理论主要包含三个研究方面:信号的稀疏表示、观测矩阵的设计和稀疏重构算法。
信号的稀疏表示
应用压缩感知理论的先决条件是信号是否稀疏,一个信号长度为 N 的信号 ,如果投影到某个正交变换基 下的变换向量中,只有少量的 个非零系数值(远大于零),其余大部分信号系数值为零,或者可以近似为零,那么就可以称信号 α 在正交变换基 下是稀疏的,即信号 在变换基 下可以稀疏表示为向量 ,那么 或
向量 的支撑集表达式为:。
其中 为向量 的第 i 个元素:,表示向量中非零元素的个数,若,那么就可以称向量 是 稀疏的信号, 称为信号的稀疏度。
当信号本身具有稀疏性时,变换基 可以是单位矩阵,然而现实中的大部分信号本身在时域上都没有稀疏性,为此可以通过稀疏变换基投影到某个变换域下进行稀疏表示,大部分正交变换基都可以作为变换基,如小波变换基、离散余弦变换基、傅里叶变换基等。
观测矩阵与 RIP 条件
通过一个大小为 M×N 观测矩阵 Φ 对长度为 N 的信号𝑦进行压缩采样后,可以得到一个长度为 M(M<<N)的观测向量 y,表达式为:y = Φx。
设计合适的观测矩阵可以有效提升压缩感知理论的应用效果,一般对于观测矩阵设计的主要原则有:具有一定的随机特性,以满足压缩感知理论的随机采样的原则;具有一定的实用性;满足有限等距性质,即满足 RIP 条件:
设 为满足上式的最小值 δ,K 为信号 x 的稀疏度,如果,则称观测矩阵Φ满足K阶RIP条件。但是通过这种方式判断观测矩阵是否满足RIP条件,实现起来过于复杂,因此有人提出了一种简单的替代条件:
☆☆☆ 如果观测矩阵 Φ 和稀疏变换基 Ψ 之间相关性非常低或不相关,则观测矩阵就大概率满足 RIP 条件。
现有的一些观测矩阵既可以很好地满足 RIP 条件,又具有良好的普适性,比如Gaussian 随机矩阵、Bernoulli 随机矩阵、部分 Fourier 矩阵和部分 Hadamard 矩阵等。
稀疏重构算法
稀疏重构是指从观测向量𝑧 = Φ𝑦中重构出原始的稀疏信号𝑦 = Ψ𝛼,通常将这个重构过程传换成 范数最小的优化求解问题。
现有重构算法主要有两大类:贪婪迭代算法和凸优化算法
贪婪迭代类重构算法的策略是多次反复的迭代:每次迭代过程中都选取一个与残差相关度最高、最匹配的原子存入原子候选集中,每次迭代结束时将本次信号重构结果与测量向量之间的差值作为下一次迭代的残差。经过逐步反复的迭代,最终得到一个残差值最小的结果作为最优结果,因此信号原子的选择是贪婪迭代类算法的关键。
凸优化类的算法是将重构问题由非凸问题转换为求解凸问题的过程,这类算法的计算量大,重构效率低,但重构效果好。
目前比较成熟的压缩感知重建算法主要分为三类:
(1)通过迭代选择原子和计算残差来实现信号重建的贪婪迭代算法;
(2)直接通过求解凸优化问题从而替代不容易求解的 范数问题的凸优化算法;
(3) 由贝叶斯和链式追踪(Chain Pursuing,CP) 为代表的组合类算法。