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

压缩感知技术将变换编码成功的用于可压缩信号或者是稀疏信号。将一个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. ajax中Post和Get请求方式的区别?

    ajax中Post和Get请求方式的区别: 1.Post传输数据时,不需要在URL中显示出来,而Get方法要在URL中显示. 2.Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的 ...

  2. 用fcntl锁一个文件来保护操作

    int testfd; /* fd for test*/ if((testfd = open("/usr/local/pgsql/bin/test_fd",O_RDWR|O_CRE ...

  3. python import windows文件路经

    import sys sys.path.append("E:\\python\\workspacepython\\PY001\\src\\testpy01") import str ...

  4. NodeJS学习笔记 (21)事件机制-events(ok)

    模块概览 events模块是node的核心模块之一,几乎所有常用的node模块都继承了events模块,比如http.fs等. 模块本身非常简单,API虽然也不少,但常用的就那么几个,这里举几个简单例 ...

  5. 包及常用模块(time、datetime、random、sys)

    什么是包?‘ #官网解释 Packages are a way of structuring Python’s module namespace by using “dotted module nam ...

  6. java源码学习

    Collection List ArrayList LinkedList Vector Stack Set HashSet TreeSet Map HashMap TreeMap LinkedHash ...

  7. Java基础学习总结(27)——7 款开源 Java 反编译工具

    今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程.尤其是像.NET.Java这样的运行在 ...

  8. MyBatis学习总结(10)——批量操作

    一.mybatis中的批量操作    批量操作核心就是一次传入多个数据然后进行相关操作,增删改查中掌握其中一个其他的也不成问题 1.最新在做的短信平台,要批量插入群发的短信记录: 当然批量操作还有:批 ...

  9. Opencv 三次样条曲线(Cubic Spline)插值

    本系列文章由 @YhL_Leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/47707679 1.样条曲线简介 样条曲 ...

  10. docker安装cloudera manager,切换cloudera-scm用户报错can not open session

    在root帐号下su - cloudera-scm报错can not open session 在网上搜,大概是说ulimit超过限制之类,搞了很久才找到/etc/security/limits.d/ ...