稀疏表达是信号处理领域的一个重要的信号表达方式,而我接触到这个概念的是因为最近看的一篇点云处理的文章中用到了相关的算法。
一.什么是稀疏表达?
首先稀疏怎么理解那,简单来说,我们讲一个向量是稀疏的就是指向量中只有小部分的非零项。
稀疏表达就是用一小部分的基础信号的线性组合来表达 大多数或者完整的信号信息。这一小部分的基础信号被称为 元(atom)。元 一般 是从一个所谓的 过完备字典(over-complete dictionary)中选出的。矩阵表示:Y=D*X,D就是过完备字典,X就是稀疏向量。
过完备字典 是元的集合,而这个集合中 元的个数超过信号空间的维数,这样的话 对任意的信号 都可以由超过一种的不同元组合。
二.使用稀疏表达有哪些好处?
从上看,稀疏表达有一个明显的意义用尽可能少的基础信号来表达原始信号,这样在做变换时会简单一些。
稀疏性 是 广泛使用各种变换的原因之一,比如离散傅立叶变换,小波变换和奇异值分解。这些变换的目的一般是为了 分析信号的结构 并且以紧致或者稀疏的方式来表达这些结构。稀疏表达得到越来越多的使用,因为在很多应用中表现了很高性能,比如:降噪,压缩,特征提取,聚类,盲源分离。稀疏表达的思想也是小波降噪和聚类方法的基础,比如 支持向量机 和 相关向量机。
三.如何寻找稀疏表达?
寻找稀疏表达的技术一般称为稀疏编码。解码 只需要相关元的总和与适当的加权,但是这并是一个变换和 它的逆变换,通过一个过完备字典来生成稀疏表达是非平凡的。事实上,从任意一个词典中寻找 最小数量的元 的表达已经被证明是一个NP-hard。这样大部分的努力是在寻找一个次优方案。这些算法包括迭代的寻找单一系数的算法,比如:Matching Pursuit, Orthogonal Matching Pursuit,和同时生成所有的系数的算法,比如:Basis Pursuit, Basis Pursuit De-Noising,以及the Focal Underdetermined System Solver family of algorithms。
说完了稀疏性,回头再看,上面提到的过完备字典到底怎么得来那?留到下一篇说吧。