压缩感知是一种採样方法,它和变换编码类似,后者被广泛用于涉及到大规模数据採样的现代通信系统中。变换编码将高维空间中的输入信号。转换成很低的低维空间中的信号。变换编码器的样例有著名的小波变换和普遍存在的傅立叶变换。

压缩感知技术将变换编码成功的用于可压缩信号或者是稀疏信号。将一个K稀疏N维离散时间信号x进行编码。是通过计算一个m维的測量向量y来完毕的,y是x的线性投影。这能够通过下式进行简洁表示:y=Phi*x。在这里,Phi代表一个m*N的矩阵,一般是在实数领域中。在这个框架中,投影基被如果成是不相关的,在这个基下,信号能够有一个稀疏表示。

虽然重构信号是一个欠定问题。信号稀疏性的先验使求解问题成为可能。CS理论中一个很著名的结果是能够使用优化的策略进行信号重构,方法是寻找最稀疏的信号使得y=Phi*x成立。

换句话说,重构问题能够归结为L0最优化问题。

在无噪的情况下。L0最优化只须要m=2K个随机投影就能重构出稀疏信号。不幸的是,L0最优化问题是一个NP-hard问题。这个问题引发了大量的CS 理论研究和实践,实践主要是环绕设计低计算复杂度的測量和重构算法。

Donoho和Candes等人的工作表明,CS重构确实是一个多项式时间问题,尽管是在多于2K次測量的约束条件下。这些发现表明不一定必须使用求解L0最优化问题进行重构。并且通过求解一个更简单的L1最优化问题,这能够通过线性规划问题。L1和L0在一定条件下是等价的,仅仅要測量矩阵满足一定的RIP条件。

虽然LP技术在设计重构算法中非常重要。可是它们的计算复杂度仍然非常高。非常难应用到非常多应用中。在这些样例中,对于高速解码算法的需求——最好是线性时间——是非常重要的,虽然不得不提高測量的个数。几种低复杂度的重构技术近期被提了出来,包含群測方法和基于置信传播的算法。

近期。一类迭代贪婪算法引起了人们的注意,由于这些算法的计算复杂度低。而且有较好的几何解释。

包含OMP 、ROMP和StOMP等。这些方法的基本出发点是迭代寻找未知信号的支撑集。在每次迭代中。向量x的一个或者多个坐标被选出来进行測试,測试的方法是计算正则化的測量向量和Phi的列之间的相关系数。假设被觉得是足够好,待选列逐步被选入到x的当前支撑集中。

追踪算法迭代进行这种步骤,直到正确支撑集中全部的坐标被选入到预计的支撑集中。

OMP策略的计算复杂度依赖于正确重构所须要的迭代次数:标准的OMP通常执行K次迭代,因此它的重构复杂度大约为O(KmN)(很多其它信息查看Section-IV
C)。这种计算复杂度比LP算法要低非常多。尤其是当信号的稀疏度K非常小的时候。可是。追踪算法没有和LP算法一样级别的重构性能保证。

为了保证OMP算法能恢复成功,要求Phi的随意两列之间的相关系数不超过1/2K。它由Gershgorin Circle定理证明,它比RIP的要求还要严格。ROMP算法能够重构出全部的K稀疏信号,要求Phi满足特定參数的RIP条件(delta_{2K}<=0.06/sqrt(log(K))),它比普通的L1线性规划问题要求有更强的RIP条件,分母上多了一个sqrt(log(K))。

本文的主要贡献是提出了一种新的算法。称作子空间追踪算法(SP)。它有和LP算法类似的能够证明的重构性能。而且计算复杂度很低。这个算法既能够无噪和有噪的情况。在无噪情况下。假如矩阵Phi满足带有一定參数的RIP条件,那么SP算法能够准确重构出原始信号。

当測量不准却,或者信号不是严格稀疏的,重构失真有一个上界,这个上界与測量的常数倍数和摄动能量有关。

对于很稀疏的信号,K<=const*sqrt(N),计算复杂度的上界是O(mNK),当信号的稀疏度更小的时候,甚至能达到O(mNlog(K))。

原文:http://dsp.rice.edu/sites/dsp.rice.edu/files/cs/SubspacePursuit.pdf

转载请注明出处:http://blog.csdn.net/zhyoulun/article/details/41978129

压缩感知——SP(subspace pursuit)重构算法前言翻译的更多相关文章

  1. 压缩感知重构算法之SP算法python实现

    压缩感知重构算法之OMP算法python实现 压缩感知重构算法之CoSaMP算法python实现 压缩感知重构算法之SP算法python实现 压缩感知重构算法之IHT算法python实现 压缩感知重构 ...

  2. 浅谈压缩感知(六):TVAL3

    这一节主要介绍一下压缩感知中的一种基于全变分正则化的重建算法——TVAL3. 主要内容: TVAL3概要 压缩感知方法 TVAL3算法 快速哈达玛变换 实验结果 总结 1.TVAL3概要 全称: To ...

  3. 压缩感知重构算法之子空间追踪(SP)

    SP的提出时间比CoSaMP提出时间稍晚一些,但和压缩采样匹配追踪(CoSaMP)的方法几乎是一样的.SP与CoSaMP主要区别在于“In each iteration, in the SP algo ...

  4. 浅谈压缩感知(二十四):压缩感知重构算法之子空间追踪(SP)

    主要内容: SP的算法流程 SP的MATLAB实现 一维信号的实验与结果 测量数M与重构成功概率关系的实验与结果 SP与CoSaMP的性能比较 一.SP的算法流程 压缩采样匹配追踪(CoSaMP)与子 ...

  5. 浅谈压缩感知(二十八):压缩感知重构算法之广义正交匹配追踪(gOMP)

    主要内容: gOMP的算法流程 gOMP的MATLAB实现 一维信号的实验与结果 稀疏度K与重构成功概率关系的实验与结果 一.gOMP的算法流程 广义正交匹配追踪(Generalized OMP, g ...

  6. 浅谈压缩感知(二十五):压缩感知重构算法之分段正交匹配追踪(StOMP)

    主要内容: StOMP的算法流程 StOMP的MATLAB实现 一维信号的实验与结果 门限参数Ts.测量数M与重构成功概率关系的实验与结果 一.StOMP的算法流程 分段正交匹配追踪(Stagewis ...

  7. 压缩感知重构算法之OLS算法python实现

    压缩感知重构算法之OMP算法python实现 压缩感知重构算法之CoSaMP算法python实现 压缩感知重构算法之SP算法python实现 压缩感知重构算法之IHT算法python实现 压缩感知重构 ...

  8. 浅谈压缩感知(三十):压缩感知重构算法之L1最小二乘

    主要内容: l1_ls的算法流程 l1_ls的MATLAB实现 一维信号的实验与结果 前言 前面所介绍的算法都是在匹配追踪算法MP基础上延伸的贪心算法,从本节开始,介绍基于凸优化的压缩感知重构算法. ...

  9. 压缩感知重构算法之压缩采样匹配追踪(CoSaMP)

    压缩采样匹配追踪(CompressiveSampling MP)是D. Needell继ROMP之后提出的又一个具有较大影响力的重构算法.CoSaMP也是对OMP的一种改进,每次迭代选择多个原子,除了 ...

随机推荐

  1. dns-sd._udp.<domain>. 域名发现 本质和MDNS同

    DNS Service Discovery is a way of using standard DNS programming interfaces, servers, and packet for ...

  2. [NOIP2015模拟10.27] 挑竹签 解题报告(拓扑排序)

    Description 挑竹签——小时候的游戏夏夜,早苗和诹访子在月光下玩起了挑竹签这一经典的游戏.挑竹签,就是在桌上摆上一把竹签,每次从最上层挑走一根竹签.如果动了其他的竹签,就要换对手来挑.在所有 ...

  3. CSRF的原理

    CSRF是什么? (Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一,也被称为“One Click ...

  4. Pickling

    Pickle translates almost any type of object into a string. pickle.dumps takes an object as a paramet ...

  5. html中隐藏一个元素的方法

    display:none;                                                      隐藏不占位 opacity:0; fliter:alpha(opa ...

  6. poj2823/hdu3415 - 数据结构 单调队列

    poj2823 题目链接 长度为N的数组,求宽度k的滑动窗口在数组上滑动时窗口内的最大值或最小值 如果用单调队列做,求最小值时,队列应该严格递增的.所以插入时,队尾大于等于插入值的元素都应被舍弃,因为 ...

  7. 【C#Windows 服务】 《二》INI配置文件

    一.工具: VS2015+NET Framework4.5. 二.操作: 1.创建INIHelp帮助类 2.丰富帮助类操作 3.windows实例调用 三.代码: 1.INI帮助类: 1 2 3 4 ...

  8. Ubuntu命令行快捷启动Pycharm

    我pycharm安装目录为/home/dell/pycharm-community-2018.1.2/bin.那么安装完成之后系统不会给pycharm添加系统路径,只有把终端切换到安装目录/home/ ...

  9. 13-Linux中进程与线程的概念以及区别

    linux进程与线程的区别,早已成为IT界经常讨论但热度不减的话题.无论你是初级程序员,还是资深专家,都应该考虑过这个问题,只是层次角度不同罢了.对于一般的程序员,搞清楚二者的概念并在工作中学会运用是 ...

  10. Python 生成器 Generator 和迭代器 Iterator

    #最近一周刚开始接触python,基本的语法,和使用特性和Java差别还是蛮大的. 今天接触到Python的迭代器和生成器有点不是很明白,所以搜索了先关资料整理了一些自己的理解和心得 简述(Profi ...