科学网

 找回密码
  注册

tag 标签: 压缩感知

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

关于压缩感知的几点拙见
yuleiwhu 2013-3-15 22:45
近年来,有关压缩感知的话题越来越多,诸如“基于xx的压缩感知xx”,“压缩感知在xx的应用”,还有类似“基于压缩感知的xxxx”的题目,层出不穷,如果有一条曲线来描述这个爆炸式的流行,那$NumbersOfPapers \propto e^{(t-2004)}$可能会比较合适,其中t是当前的时间。我本人也是从2008年底才开始接触这个“新名词”,认真的研读了一下当时的几篇原创性的文章,例如 E. J. Candès, J. Romberg, and T. Tao, “Robust Uncertainty Principles: Exact Signal Reconstruction from Highly Incomplete Frequency Information,” IEEE T. Inform. Theory., vol. 52, no. 2, pp. 489–509, 2006. R. G. Baraniuk, “Compressive Sensing,” in Proc. of Annual Conf. Information Sciences and Systems, CISS’2008, 2007, vol. 24, no. 4, pp. iv–v. E. J. Candès and E. J. Candes, “The Restricted Isometry Property and Its Implications for Compressed Sensing,” Comptes Rendus Mathematique, vol. 346, no. 9–10, pp. 589–592, 2008. 按照我的理解,压缩感知理论,是一个同Nyquist对等的采样框架,只不过两者对信号的假设不同而已(Nyquist假设信号的带宽是有限的,CS假设信号是稀疏的)。从这一点来看,压缩感知其实也就是比Nyquist采样定理对信号的假设更严格而已,因而其结果当然可以用更少的采样数目来恢复原始信号。而在实际自然界中,往往大多数信号确实又满足稀疏性这个条件,例如图像、声音、雷达信号、地震波等等。这就使得,压缩感知可以被广泛的应用的这些领域。 采样过程:$Y=\Phi f$ 恢复过程:$f^* = \Phi^{-1} Y$ 其中,$\Phi: F\to \mathbb{R}^M$, $\Phi^{-1}: \mathbb{R}^M\to F$, $F\subset \mathcal{H}$。 压缩感知 传统Nyquist采样 信号假设 k-稀疏 带限信号 采样约束 矩阵(RIP) 2倍带宽的脉冲采样 恢复算法 L1规则化 低通滤波 如果只是去研究压缩感知的理论框架,的确非常完美,概括下来主要包括三个方面的问题: 信号的稀疏性:强调对信号本身的约束; 感知矩阵的非相干性:强调对采样方法的约束; 恢复(重建)算法。 信号的稀疏性(k)提供了可压缩的可能性,压缩感知的非相干性(RIP)提出了保证了压缩数据可恢复的条件(与稀疏性k、采样数m和信号长度N相关),而恢复算法将压缩数据恢复出来。 这三个方面的问题,相互依赖,而又各自自成体系。 虽然,漂亮的压缩感知理论框架吸引了大多数研究人员的眼球,但是是否在使用这种技术以前,首先关注一下下面的问题: 为什么压缩感知是从MRI图像处理中演变而来? 除了MRI图像本身采集效率问题以外,是不是跟MRI的成像原理也有关系?如果有关系,那么是否应该在使用压缩感知前,事先考虑一下当前应用使用压缩感知的可行性?难道我们用压缩感知做普通的视频采集也有很大优势? PS: 个人感觉这压缩感知简直就是为MRI量身定做,我不知道其他领域是否有跟MRI相似的成像原理,或许也可以拿来就用,但是如果用CS做普通的视频、图像、语音等等等等,有点儿像杀鸡用牛刀了,弄巧成拙。
2 次阅读|0 个评论
[转载]压缩感知
ChinaAbel 2013-1-23 22:02
有关压缩感知的综述性文献(来自http://lsec.cc.ac.cn/~xuzq/xu_cs.pdf) 压缩感知(徐志强).pdf
个人分类: 图像处理|3255 次阅读|0 个评论
[转载]The Nuit Blanche Chronicles 2012
热度 1 oliviazhang 2012-12-31 09:04
Nuit Blanche 是压缩感知领域影响力最大的一个博客。可惜在国内无法浏览这个博客(除非“翻墙”)。最近博客的博主Igor把2012年所发表的博文汇总成册,以方便下载。详细说明转载如下: The Nuit Blanche Chronicles 2012 are here . The e-book/pdf lists all the entries on Nuit Blanche from Dec 14, 2011 till Dec 21, 2012 .The formatting is crap, it doesn't allow the links to show up (it's a real shame, if somebody has a better way, I am all ears) but it does two useful things: the blog can be read offline on a tablet, a nice thing when you want to unplug and put some perspective on all this The search feature within a pdf is likely much better than Google's.
个人分类: 研究动态|2452 次阅读|3 个评论
[转载]压缩感知与非线性等概念
热度 1 femir 2012-11-27 10:43
压缩感知是近年来极为热门的研究前沿,在若干应用领域中都引起瞩目。关于这个题目,松鼠会已经翻译了两篇文章,一篇来自于压缩感知技术最初的研究者陶哲轩( 链接 ),一篇来自威斯康辛大学的数学家艾伦伯格(本文正文)。这两篇文章都是普及性的,但是由于作者是专业的研究人员,所以事实上行文仍然偏于晦涩。因此我不揣冒昧,在这里附上一个画蛇添足的导读,以帮助更多的读者更好了解这个新颖的研究领域在理论和实践上的意义。 压缩感知从字面上看起来,好像是数据压缩的意思,而实则出于完全不同的考虑。经典的数据压缩技术,无论是音频压缩(例如 mp3),图像压缩(例如 jpeg),视频压缩(mpeg),还是一般的编码压缩(zip),都是从数据本身的特性出发,寻找并剔除数据中隐含的冗余度,从而达到压缩的目的。这样的压缩有两个特点:第一、它是发生在数据已经被完整采集到之后;第二、它本身需要复杂的算法来完成。相较而言,解码过程反而一般来说在计算上比较简单,以音频压缩为例,压制一个 mp3 文件的计算量远大于播放(即解压缩)一个 mp3 文件的计算量。 稍加思量就会发现,这种压缩和解压缩的不对称性正好同人们的需求是相反的。在大多数情况下,采集并处理数据的设备,往往是廉价、省电、计算能力较低的便携设备,例如傻瓜相机、或者录音笔、或者遥控监视器等等。而负责处理(即解压缩)信息的过程却反而往往在大型计算机上进行,它有更高的计算能力,也常常没有便携和省电的要求。也就是说,我们是在用廉价节能的设备来处理复杂的计算任务,而用大型高效的设备处理相对简单的计算任务。这一矛盾在某些情况下甚至会更为尖锐,例如在野外作业或者军事作业的场合,采集数据的设备往往曝露在自然环境之中,随时可能失去能源供给或者甚至部分丧失性能,在这种情况下,传统的数据采集-压缩-传输-解压缩的模式就基本上失效了。 压缩感知的概念就是为了解决这样的矛盾而产生的。既然采集数据之后反正要压缩掉其中的冗余度,而这个压缩过程又相对来说比较困难,那么我们为什么不直接「采集」压缩后的数据?这样采集的任务要轻得多,而且还省去了压缩的麻烦。这就是所谓的「压缩感知」,也就是说,直接感知压缩了的信息。 可是这看起来是不可能的事情。因为压缩后的数据并不是压缩前的数据的一个子集,并不是说,本来有照相机的感光器上有一千万个像素,扔掉其中八百万个,剩下的两百万个采集到的就是压缩后的图像,──这样只能采集到不完整的一小块图像,有些信息被永远的丢失了而且不可能被恢复。如果要想采集很少一部分数据并且指望从这些少量数据中「解压缩」出大量信息,就需要保证:第一:这些少量的采集到的数据包含了原信号的全局信息,第二:存在一种算法能够从这些少量的数据中还原出原先的信息来。 有趣的是,在某些特定的场合,上述第一件事情是自动得到满足的。最典型的例子就是医学图像成像,例如断层扫描(CT)技术和核磁共振(MRI)技术。对这两种技术稍有了解的人都知道,这两种成像技术中,仪器所采集到的都不是直接的图像像素,而是图像经历过全局傅立叶变换后的数据。也就是说,每一个单独的数据都在某种程度上包含了全图像的信息。在这种情况下,去掉一部分采集到的数据并不会导致一部分图像信息永久的丢失(它们仍旧被包含在其它数据里)。这正是我们想要的情况。 上述第二件事就要归功于陶哲轩和坎戴的工作了。他们的工作指出,如果假定信号(无论是图像还是声音还是其他别的种类的信号)满足某种特定的「稀疏性」,那么从这些少量的测量数据中,确实有可能还原出原始的较大的信号来,其中所需要的计算部分是一个复杂的迭代优化过程,即所谓的「L1-最小化」算法。 把上述两件事情放在一起,我们就能看到这种模式的优点所在。它意味着:我们可以在采集数据的时候只简单采集一部分数据(「压缩感知」),然后把复杂的部分交给数据还原的这一端来做,正好匹配了我们期望的格局。在医学图像领域里,这个方案特别有好处,因为采集数据的过程往往是对病人带来很大麻烦甚至身体伤害的过程。以 X 光断层扫描为例,众所周知 X 光辐射会对病人造成身体损害,而「压缩感知」就意味着我们可以用比经典方法少得多的辐射剂量来进行数据采集,这在医学上的意义是不言而喻的。 这一思路可以扩展到很多领域。在大量的实际问题中,我们倾向于尽量少地采集数据,或者由于客观条件所限不得不采集不完整的数据。如果这些数据和我们所希望重建的信息之间有某种全局性的变换关系,并且我们预先知道那些信息满足某种稀疏性条件,就总可以试着用类似的方式从比较少的数据中还原出比较多的信号来。到今天为止,这样的研究已经拓展地非常广泛了。 但是同样需要说明的是,这样的做法在不同的应用领域里并不总能满足上面所描述的两个条件。有的时候,第一个条件(也就是说测量到的数据包含信号的全局信息)无法得到满足,例如最传统的摄影问题,每个感光元件所感知到的都只是一小块图像而不是什么全局信息,这是由照相机的物理性质决定的。为了解决这个问题,美国 Rice 大学的一部分科学家正在试图开发一种新的摄影装置(被称为「单像素照相机」),争取用尽量少的感光元件实现尽量高分辨率的摄影。有的时候,第二个条件(也就是说有数学方法保证能够从不完整的数据中还原出信号)无法得到满足。这种时候,实践就走在了理论前面。人们已经可以在算法上事先很多数据重建的过程,但是相应的理论分析却成为了留在数学家面前的课题。 但是无论如何,压缩感知所代表的基本思路:从尽量少的数据中提取尽量多的信息,毫无疑问是一种有着极大理论和应用前景的想法。它是传统信息论的一个延伸,但是又超越了传统的压缩理论,成为了一门崭新的子分支。它从诞生之日起到现在不过五年时间,其影响却已经席卷了大半个应用科学。 非线性科学是一门研究非线性现象共性的基础学科。它是自本世纪六十年代以来,在各门以非线性为特征的分支学科的基础上逐步发展起来的综合性学科,被誉为本世纪自然科学的“第三次革命”。 非线性科学几乎涉及了自然科学和社会科学的各个领域 ,并正在改变人们对现实世界的传统看法。科学界认为:非线性科学的研究不仅具有重大的科学意义,而且对国计民生的决策和人类生存环境的利用也具有实际意义。由非线性科学所引起的对确定论和随机论、有序与无序、偶然性与必然性等范畴和概念的重新认识,形成了一种新的自然观,将深刻地影响人类的思维方法,并涉及现代科学的逻辑体系的根本性问题。 (二)线性与非线性的意义 “线性”与“非线性”是两个数学名词。所谓“线性”是指两个量之间所存在的正比关系。若在直角坐标系上画出来,则是一条直线。由线性函数关系描述的系统叫线性系统。在线性系统中,部分之和等于整体。描述线性系统的方程遵从叠加原理,即方程的不同解加起来仍然是原方程的解。这是线性系统最本质的特征之一。 “非线性”是指两个量之间的关系不是“直线”关系,在直角坐标系中呈一条曲。 最简单的非线性函数是一元二次方程即抛物线方程。简单地说,一切不是一次的函数关系,如一切高于一次方的多项式函数关系,都是非线性的。由非线性函数关系描述的系统称为非线性系统。 (三)线性与非线性的区别 定性地说,线性关系只有一种,而非线性关系则千变万化,不胜枚举。线性是非线性的特例,它是简单的比例关系,各部分的贡献是相互独立的;而非线性是对这种简单关系的偏离,各部分之间彼此影响,发生偶合(错别字?耦合)作用,这是产生非线性问题的复杂性和多样性的根本原因。正因为如此,非线性系统中各种因素的独立性就丧失了:整体不等于部分之和,叠加原理失效,非线性方程的两个解之和不再是原方程的解。因此,对于非线性问题只能具体问题具体分析。线性与非线性现象的区别一般还有以下特征:(1)在运动形式上,线性现象一般表现为时空中的平滑运动,并可用性能良好的函数关系表示,而非线性现象则表现为从规则运动向不规则运动的转化和跃变;(2)线性系统对外界影响的响应平缓、光滑,而非线性系统中参数的极微小变动,在一些关节点上,可以引起系统运动形式的定性改变。在自然界和人类社会中大量存在的相互作用都是非线性的,线性作用只不过是非线性作用在一定条件下的近似。 (四)非线性问题研究的历史概况 非线性问题的“个性”很强,处理起来十分棘手。历史上曾有过一些解非线性方程的“精品”,但与大量存在的非线性方程相比,只能算是“凤毛麟角”。因此,长期以来,对非线性问题的研究一直分散在自然科学和技术科学的各个领域。本世纪六十年代以来,情况发生了变化。人们几乎同时从非线性系统的两个极端方向取得了突破:一方面从可积系统的一端,即从研究多自由度的非线性偏微分方程的一端获得重大进展。如在浅水波方程中发现了“孤子”,发展起一套系统的数学方法,如反散射法,贝克隆变换等,对一些类型的非线性方程给出了解法;另一方面,从不可积系统的极端,如在天文学、生态学等领域对一些看起来相当简单的不可积系统的研究,都发现了确定性系统中存在着对初值极为敏感的复杂运动。促成这种变化的一个重要原因十计算机的出现和广泛应用。科学家们以计算机为手段,勇敢地探索那些过去不能用解析方法处理的非线性问题,从中发掘出规律性的认识,并打破了原有的学科界限,从共性、普适性方面来探讨非线性系统的行为。 (五)非线性科学研究的范围 非线性科学的研究范围究竟有多大?目前尚无定论。有人主张,非线性科学应包括那些可以定量分析、精确计算、有数学理论或实验研究的领域。也有人认为,耗散结构、协同学、突变论等应划归非线性科学,因为这“三论”中的许多定量分析,有些概念和方法(如分岔、自组织、图形、分维等——是和非线性科学相同的。 值得注意的是,这“三论”中有些内容是带有哲理性或思辩色彩的。但非线性科学的主体是明确的,这就是混沌(Chaos)、分形(Fractral)、孤子(Soliton)。)——孤立波与孤立子孤子或孤波为一种特殊的相干结构,是由于系统中的色散与非线性两种作用相互平衡的结果。事实上,虽然孤立子或孤立波一词常在广泛的范围内被引用,但无一般形式的定义,因为它还在发展中,给它下个严格的定义比较困难,且为时尚早。通常孤立波也叫定域行波,也就是“前无古人,后无来着”,一个孤零零的波在传播。而在应用数学和工程中,孤立子被理解为非线性演化方程局部化的行波解,经过互相碰撞后不改变波形和速度(或许相位发生变化)。 在粒子物理等领域内,孤立子被看做是具有某个“安全系数”的特殊孤立波,在相互作用时,波形与速度只有微弱改变的孤立波,或被理解为:非线性演化方程能量有限的解,这些能量集中在空间有限区域,不随时间扩散到无限区域中去。可见,不是所有的孤立波都是孤立子,但有时人们并不严格区分二者。孤立子的特点是,有出奇的稳定性,如同刚性粒子一样。在空间上局域,在时间上长寿。除孤立子外,自然界还存在大量的其他相干结构。它们与孤立子的不同之处在于,它们在相互作用时并不严格保持形状不变,而是汇合、分裂。最引人注目的是各种尺度的涡旋。几个流体涡旋可集合成一个大斡,一个大涡可被强大的外力作用打碎。对这些结构形成机理的认识和它们之间的相互作用的研究仍是非线性科学的前沿。 (七)——混沌 混沌是确定性系统中由于内禀随机性而产生的一种外在复杂的、貌似无规的运动 。混沌并不是无序和紊乱,更像是没有周期的秩序。在理想模型中,它可能包含着无穷的内在层次,层次间存在着“自相似性”。混沌的行为归宿就是奇怪吸引子,即分形。对混沌的研究是从对微分方程求解开始的。二十世纪初,著名的法国数学家和理论天文学家庞加莱发现某些特殊的微分方程的可解性与解值对其初始条件极为敏感,初始条件的细微差别可导致其解值的巨大偏差,甚至产生无解现象。但他的发现没有引起数学家和物理学家的重视。1963年,美国气象学家洛仑兹在计算机上用他建立的微分方程模拟气象变化的时候,偶然发现输入的初始条件的极细微的差别,可以引起模拟结果的巨大变化。洛仑兹打了个比喻说,在南半球某地一只蝴蝶的翅膀的偶然扇动所引起的微小气流几星期后可能变成席卷北半球某地的一场龙卷风,这就是天气的“蝴蝶效应”。它的本质仍然是非现性耦合。洛仑兹的发现意味着混沌理论的诞生。 (八)——分形 分形是不能用通常的长度、面积、体积表示的几何形体,其内部存在着无穷层次,具有见微知著、由点及面的自相似结构。自相似即局部与整体的相似性。适当放大或缩小几何尺寸,分形的真个结构并不改变,这就是标度不变性。 海岸线,闪电,松花蛋或数枝等,就具有分形特征 。换言之,分形是局部以某种方式与整体相似的形态。分形可分多种类型,如简单分形、自仿射分形、多分形、随机分形、胖分形及复平面上的分形等。描述分形特征的参数叫分维。据称,分形理论开创了20世纪数学的新阶段,是刻画混沌运动的直观的几何语言,是更接近于现实生活的数学。它是美籍法国数学家罗德尔布罗特在本世纪70年代中期创立的。 (九)——小波 小波(Wavelet) 分析技术是揭示分形局域标度性质的有力工具。可以说,分形概念的出现为人们认识事物的局部与整体的关系提供了以种辨证的思维方式,为描述自然和社会的复杂现象提供了一种简洁有力的几何语言。而小波分析,则是在工具和方法上的重大突破,以成功地应用于许多非线性问题的研究中。小波,也叫子波,从数学上说,小波是满足一定条件的函授(母小波)通过平移和伸缩得到的函授族。这一方法是从傅立叶变换中发展起来的,其核心是多分辨分析。它不仅可以实现信号的时频局部化,而且与加窗傅氏变换相比,具有局部化格式随频率高低变化的优点。通过小波变换,可以看到分析的丰富细节,为推测动力学根源提供了方便。
个人分类: 压缩传感|2374 次阅读|1 个评论
又一个BSBL算法推导出来
热度 1 oliviazhang 2012-11-26 13:15
最近我和本源等合作了一篇论文,已经投稿到了IEEE SPL。这篇文章里,又一个新的BSBL算法推导出来。该算法尽管性能上稍微弱于BSBL-EM,BSBL-BO等,但是速度非常快,所以比较适合大规模的问题。 文章的信息如下: Fast Marginalized Block SBL Algorithm by Benyuan Liu, Zhilin Zhang, Hongqi Fan, Zaiqi Lu, Qiang Fu 下载链接: http://arxiv.org/abs/1211.4909 摘要: The performance of sparse signal recovery can be improved if both sparsity and correlation structure of signals can be exploited. One typical correlation structure is intra-block correlation in block sparse signals. To exploit this structure, a framework, called block sparse Bayesian learning (BSBL) framework, has been proposed recently. Algorithms derived from this framework showed promising performance but their speed is not very fast, which limits their applications. This work derives an efficient algorithm from this framework, using a marginalized likelihood maximization method. Thus it can exploit block sparsity and intra-block correlation of signals. Compared to existing BSBL algorithms, it has close recovery performance to them, but has much faster speed. Therefore, it is more suitable for recovering large scale datasets.
个人分类: 我的论文|8249 次阅读|1 个评论
BSBL算法被IEEE Trans. on Signal Processing接收了
热度 8 oliviazhang 2012-11-17 15:01
我们的BSBL算法从月份投出去,到现在终于被IEEE Trans. on Signal Processing接收了。论文如下: Zhilin Zhang, Bhaskar. D. Rao, Extension of SBL Algorithms for theRecovery of Block Sparse Signals with Intra-Block Correlation , to appear in IEEE Trans. on Signal Processing 文章可以在arXiv上下载: http://arxiv.org/abs/1201.0862 BSBL以及相关试验代码可以在这里下载: http://dsp.ucsd.edu/~zhilin/BSBL.html 文章摘要如下: We examine the recovery of block sparse signals and extend the framework in two important directions; one by exploiting signals' intra-block correlation and the other by generalizing signals' block structure. We propose two families of algorithms based on the framework of block sparse Bayesian learning (BSBL). One family, directly derived from the BSBL framework, requires to know the block structure. Another family, derived from an expanded BSBL framework, is based on a weaker assumption on the block structure, and can be used in the case when the block structure is completely unknown. Using these algorithms we show that exploiting intra-block correlation is very helpful in improving recovery performance. These algorithms also shed light on how to modify existing algorithms or design new ones to exploit such correlation to improve performance. 下面是相关的应用工作,均发表或者接收在IEEE Trans. on Biomedical Engineering: Zhilin Zhang, Tzyy-Ping Jung, Scott Makeig, Bhaskar D. Rao, Compressed Sensing for Energy-Efficient Wireless Telemonitoring of Non-Invasive Fetal ECG via Block Sparse Bayesian Learning , IEEE Trans. Biomedical Engineering, accepted Zhilin Zhang, Tzyy-Ping Jung, Scott Makeig, Bhaskar D. Rao, Compressed Sensing of EEG for Wireless Telemonitoring with Low Energy Consumption and Inexpensive Hardware , IEEE Trans. Biomedical Engineering, accepted 至此,BSBL的工作就宣告一个段落了。从BSBL算法研究开始到现今,围绕这个框架总共 1,发表/接收了4篇文章到IEEE期刊,分别是IEEE Journal of Selected Topics in Signal Processing, IEEE Trans. on Signal Processing,和IEEE Trans. on Biomedical Engineering 2,发表了若干篇会议文章(CVPR,MICCAI,ICASSP等等) 3,四篇期刊文章在审 4,拿到了工业界5位数的现金奖励(美元)和6位数年薪的工作offer(美元) 5,帮国内的朋友结合某应用领域申请到了30万(RMB)的funding 6,1 US 专利(在审)
个人分类: 我的论文|15066 次阅读|11 个评论
[转载]转载:压缩感知基本概念与简单编程实例。
热度 2 zhangenzhan 2012-10-29 11:13
http://anony3721.blog.163.com/blog/static/5119742012423105942528/ 压缩感知(Compressed sensing),也被称为压缩采样(Compressive sampling)或稀疏采样(Sparse sampling),是一种寻找欠定线性系统的稀疏解的技术。如果一个线性方程组未知数的数目超过方程的数目,这个方程组被称为欠定,并且一般而言有无数个解。但是,如果这个欠定系统只有唯一一个稀疏解,那么我们可以利用压缩感知理论和方法来寻找这个解。值得注意的是,不是所有欠定线性方程组都有稀疏解。 压缩感知利用了很多信号中所存在的冗余(换言之,这些信号并非完全是噪声)。具体而言,很多信号都是稀疏的;在适当的表示域中,它们的很多系数都是等于或约等于零。 在信号获取阶段,压缩感知在信号并不稀疏的域对信号进行线性测量。 为了从线性测量中重构出原来的信号,压缩感知求解一个称为L1-范数正则化的最小二乘问题。从理论上可以证明,在某些条件下,这个正则化最小二乘问题的解正是原欠定线性系统的稀疏解 % sparse_in_frequency.m % %This code demonstrate compressive sensing example. In this %example the signal is sparse in frequency domain and random samples %are taken in time domain. close all; clear all; %setup path for the subdirectories of l1magic % path(path, 'C:MATLAB7l1magic-1.1Optimization'); % path(path, 'C:MATLAB7l1magic-1.1Data'); %length of the signal N=1024; %Number of random observations to take K=256; %Discrete frequency of two sinusoids in the input signal k1=29; k2=100; n=0:N-1; %Sparse signal in frequency domain. x=sin(2*pi*(k1/N)*n)+sin(2*pi*(k2/N)*n); % This code demonstrates the compressive sensing using a sparse signal in frequency domain. The signal consists of summation of % two sinusoids of different frequencies in time domain. The signal is sparse in Frequency domain and therefore K random % measurements are taken in time domain. figure; subplot(2,1,1); plot(x) grid on; xlabel('Samples'); ylabel('Amplitude'); title('Original Signal,1024 samples with two different frequency sinsuoids'); xf=fft(x); subplot(2,1,2); plot(abs(xf)) grid on; xlabel('Samples'); ylabel('Amplitude'); title('Frequency domain, 1024 coefficients with 4-non zero coefficients'); %creating dft matrix B=dftmtx(N); Binv=inv(B); % The inverse discrete Fourier transform matrix, Binv,equals CONJ(dftmtx(N))/N. %Taking DFT of the signal xf = B*x.'; %Selecting random rows of the DFT matrix q=randperm(N); %creating measurement matrix A=Binv(q(1:K),:); % 在IDFT矩阵中任选K=256行 %taking random time measurements y=(A*xf); % 对x的fft后的xf(1024-by-1)的数据做IDFT得到256个时域稀疏采样值,通过plot(real(y))和原来的x对比,注意如何在时域中取K=256个采样值 �lculating Initial guess x0=A.'*y; % 注意:待恢复时域信号xprec的DFT值xp的估计初值x0如何给? y 是时域稀疏采样值 %Running the recovery Algorithm tic xp=l1eq_pd(x0,A, ,y,1e-5); toc figure; subplot(2,1,1) plot(t,x) grid on; xlabel('Time'); ylabel('Amplitude'); title(sprintf('Original Signal, UWB Pulse RF freq=%g GHz',f/1e9)); subplot(2,1,2) plot(t,real(xp),'r') grid on; xlabel('Time'); ylabel('Amplitude'); title(sprintf('Recovered UWB Pulse Signal with %d random samples',K)); %%%%%%%%%%%%%%%%%%飘逸的分割线%%%%%%%%%%%%%%%%%%%%%%%%%% % 用到的函数 % l1eq_pd.m % % Solve % min_x ||x||_1 s.t. Ax = b % % Recast as linear program % min_{x,u} sum(u) s.t. -u = x = u, Ax=b % and use primal-dual interior point method % % Usage: xp = l1eq_pd(x0, A, At, b, pdtol, pdmaxiter, cgtol, cgmaxiter) % % x0 - Nx1 vector, initial point. % % A - Either a handle to a function that takes a N vector and returns a K % vector , or a KxN matrix. If A is a function handle, the algorithm % operates in "largescale" mode, solving the Newton systems via the % Conjugate Gradients algorithm. % % At - Handle to a function that takes a K vector and returns an N vector. % If A is a KxN matrix, At is ignored. % % b - Kx1 vector of observations. % % pdtol - Tolerance for primal-dual algorithm (algorithm terminates if % the duality gap is less than pdtol). % Default = 1e-3. % % pdmaxiter - Maximum number of primal-dual iterations. % Default = 50. % % cgtol - Tolerance for Conjugate Gradients; ignored if A is a matrix. % Default = 1e-8. % % cgmaxiter - Maximum number of iterations for Conjugate Gradients; ignored % if A is a matrix. % Default = 200. % % Written by: Justin Romberg, Caltech % Email: jrom@acm.caltech.edu % Created: October 2005 % function xp = l1eq_pd(x0, A, At, b, pdtol, pdmaxiter, cgtol, cgmaxiter) largescale = isa(A,'function_handle'); if (nargin 5), pdtol = 1e-3; end if (nargin 6), pdmaxiter = 50; end if (nargin 7), cgtol = 1e-8; end if (nargin 8), cgmaxiter = 200; end N = length(x0); alpha = 0.01; beta = 0.5; mu = 10; gradf0 = ; % starting point --- make sure that it is feasible if (largescale) if (norm(A(x0)-b)/norm(b) cgtol) disp('Starting point infeasible; using x0 = At*inv(AAt)*y.'); AAt = @(z) A(At(z)); = cgsolve(AAt, b, cgtol, cgmaxiter, 0); if (cgres 1/2) disp('A*At is ill-conditioned: cannot find starting point'); xp = x0; return; end x0 = At(w); end else if (norm(A*x0-b)/norm(b) cgtol) disp('Starting point infeasible; using x0 = At*inv(AAt)*y.'); opts.POSDEF = true; opts.SYM = true; = linsolve(A*A', b, opts); if (hcond 1e-14) disp('A*At is ill-conditioned: cannot find starting point'); xp = x0; return; end x0 = A'*w; end end x = x0; u = (0.95)*abs(x0) + (0.10)*max(abs(x0)); % set up for the first iteration fu1 = x - u; fu2 = -x - u; lamu1 = -1./fu1; lamu2 = -1./fu2; if (largescale) v = -A(lamu1-lamu2); Atv = At(v); rpri = A(x) - b; else v = -A*(lamu1-lamu2); Atv = A'*v; rpri = A*x - b; end sdg = -(fu1'*lamu1 + fu2'*lamu2); tau = mu*2*N/sdg; rcent = - (1/tau); rdual = gradf0 + + ; resnorm = norm( ); pditer = 0; done = (sdg pdtol) | (pditer = pdmaxiter); while (~done) pditer = pditer + 1; w1 = -1/tau*(-1./fu1 + 1./fu2) - Atv; w2 = -1 - 1/tau*(1./fu1 + 1./fu2); w3 = -rpri; sig1 = -lamu1./fu1 - lamu2./fu2; sig2 = lamu1./fu1 - lamu2./fu2; sigx = sig1 - sig2.^2./sig1; if (largescale) w1p = w3 - A(w1./sigx - w2.*sig2./(sigx.*sig1)); h11pfun = @(z) -A(1./sigx.*At(z)); = cgsolve(h11pfun, w1p, cgtol, cgmaxiter, 0); if (cgres 1/2) disp('Cannot solve system. Returning previous iterate. (See Section 4 of notes for more information.)'); xp = x; return end dx = (w1 - w2.*sig2./sig1 - At(dv))./sigx; Adx = A(dx); Atdv = At(dv); else w1p = -(w3 - A*(w1./sigx - w2.*sig2./(sigx.*sig1))); H11p = A*(sparse(diag(1./sigx))*A'); opts.POSDEF = true; opts.SYM = true; = linsolve(H11p, w1p); if (hcond 1e-14) disp('Matrix ill-conditioned. Returning previous iterate. (See Section 4 of notes for more information.)'); xp = x; return end dx = (w1 - w2.*sig2./sig1 - A'*dv)./sigx; Adx = A*dx; Atdv = A'*dv; end du = (w2 - sig2.*dx)./sig1; dlamu1 = (lamu1./fu1).*(-dx+du) - lamu1 - (1/tau)*1./fu1; dlamu2 = (lamu2./fu2).*(dx+du) - lamu2 - 1/tau*1./fu2; % make sure that the step is feasible: keeps lamu1,lamu2 0, fu1,fu2 0 indp = find(dlamu1 0); indn = find(dlamu2 0); s = min( ); indp = find((dx-du) 0); indn = find((-dx-du) 0); s = (0.99)*min( ); % backtracking line search suffdec = 0; backiter = 0; while (~suffdec) xp = x + s*dx; up = u + s*du; vp = v + s*dv; Atvp = Atv + s*Atdv; lamu1p = lamu1 + s*dlamu1; lamu2p = lamu2 + s*dlamu2; fu1p = xp - up; fu2p = -xp - up; rdp = gradf0 + + ; rcp = - (1/tau); rpp = rpri + s*Adx; suffdec = (norm( ) = (1-alpha*s)*resnorm); s = beta*s; backiter = backiter + 1; if (backiter 32) disp('Stuck backtracking, returning last iterate. (See Section 4 of notes for more information.)') xp = x; return end end % next iteration x = xp; u = up; v = vp; Atv = Atvp; lamu1 = lamu1p; lamu2 = lamu2p; fu1 = fu1p; fu2 = fu2p; % surrogate duality gap sdg = -(fu1'*lamu1 + fu2'*lamu2); tau = mu*2*N/sdg; rpri = rpp; rcent = - (1/tau); rdual = gradf0 + + ; resnorm = norm( ); done = (sdg pdtol) | (pditer = pdmaxiter); disp(sprintf('Iteration = %d, tau = %8.3e, Primal = %8.3e, PDGap = %8.3e, Dual res = %8.3e, Primal res = %8.3e',... pditer, tau, sum(u), sdg, norm(rdual), norm(rpri))); if (largescale) disp(sprintf(' CG Res = %8.3e, CG Iter = %d', cgres, cgiter)); else disp(sprintf(' H11p condition number = %8.3e', hcond)); end end
个人分类: 生活点滴|4195 次阅读|4 个评论
我们一篇脑电信号的压缩感知文章被IEEE T-BME接收了
热度 3 oliviazhang 2012-9-24 14:18
Our paper on compressed sensing of EEG for wireless telemonitoring has been accepted by IEEE Trans. on Biomedical Engineering. Here is the summary of this paper: (1) EEG在时域不是稀疏的,在其它变换域(比如离散余弦变换域,小波域)也不是稀疏的(如上图中左下子图所示); (2) 对于这种非稀疏信号,我们采用BSBL框架中的算法BSBL-BO来恢复; (3) 恢复的质量不仅用常规的性能评价指标来衡量,还采用独立分量分析(ICA)分解来衡量。当恢复的信号有较大误差时,分解出来的独立分量会出现失真。我们试验显示,BSBL恢复的信号的质量能保证独立分量不会出现明显的失真。 (4) 小波压缩与压缩传感的客观比较在压缩传感领域常常被有意或无意地忽视。文中我们用客观冷静的观点评价了两者的优劣。 这篇文章是我们第二篇关于非稀疏信号重建的文章。也是我们脑机接口项目的第一部。不过尽管刚刚被杂志接收,但是里面的算法对我们实验室来说已经过时了。我们现在有更好的算法,并将在下个月投出去。 Anyway, here is the paper: Zhilin Zhang, Tzyy-Ping Jung, Scott Makeig, Bhaskar D. Rao, Compressed Sensing of EEG for Wireless Telemonitoring with Low Energy Consumption and Inexpensive Hardware ,to appear in IEEE Trans. on Biomedical Engineering Abstract: Telemonitoring of electroencephalogram (EEG) through wireless body-area networks is an evolving direction in personalized medicine. Among various constraints in designing such a system, three important constraints are energy consumption, data compression, and device cost. Conventional data compression methodologies, although effective in data compression, consumes significant energy and cannot reduce device cost. Compressed sensing (CS), as an emerging data compression methodology, is promising in catering to these constraints. However, EEG is non-sparse in the time domain and also non-sparse in transformed domains (such as the wavelet domain). Therefore, it is extremely difficult for current CS algorithms to recover EEG with the quality that satisfies the requirements of clinical diagnosis and engineering applications. Recently, Block Sparse Bayesian Learning (BSBL) was proposed as a new method to the CS problem. This study introduces the technique to the telemonitoring of EEG. Experimental results show that its recovery quality is better than state-of-the-art CS algorithms, and sufficient for practical use. These results suggest that BSBL is very promising for telemonitoring of EEG and other non-sparse physiological signals. The code and related data can be downloaded at: https://sites.google.com/site/researchbyzhang/bsbl , or http://dsp.ucsd.edu/~zhilin/BSBL.html
个人分类: 我的论文|10981 次阅读|5 个评论
当今信息科学领域的香饽饽和万金油——压缩感知
热度 6 zmpenguestc 2012-8-27 00:41
压缩感知( Compressed sensing,CS) ,又称压缩传感,或压缩采样( Compressive sampling) ,它由 E. J. Candes , J. Romberg , T. Tao 和 D. L. Donoho 等学者于 2004 年提出。迄今为止,已形成了较完善的理论体系。作为一种新的采样理论,它通过挖掘信号的稀疏特性,在远小于奈奎斯特( Nyquist )采样率的条件下,用随机采样获取信号的离散样本,然后通过非线性重建算法完美重建信号。压缩感知理论一经提出,就引起了学术界和工业界的广泛关注。它在信息论、图像处理、光学 / 微波成像、模式识别、通信工程、大气科学、生物医学、地球科学等领域受到高度关注,并被美国科技评论评为 2007 年度十大科技进展。 压缩感知理论已经成为当今信息科学领域的香饽饽和万金油。以“压缩感知”为关键字进行查询, 2012 年 NSFC 资助课题多达 77 项(见下表),且不包括“压缩传感”、“稀疏感知”、“稀疏表示”、“稀疏重构”、“超完备字典”等关键词查询结果。正如上世纪 80 年代“小波变换”来势凶猛和掀起研究热潮一样,国内学者正在兴起新一轮压缩感知研究的热潮,且已经渗透到科学研究及工程技术的各个领域。 项目批准号/ 申请代码1 项目名称 项目负责人 依托单位 批准 金额 项目起止年月 61262084/ F020701 图像压缩感知与图像加密融合算法研究 周南润 南昌大学 47 2013-01 至2016-12 61201246/ F010105 基于压缩感知理论的电能质量稀疏测量与自适应控制研究 钟毅 武汉理工大学 24 2013-01 至2015-12 61201117/ F010810 基于压缩感知的新型碳纳米球管显微CT重建算法研究 郑健 苏州生物医学工程技术研究所 25 2013-01 至2015-12 61271240/ F010204 基于压缩感知的分布式视频高效传输技术研究 郑宝玉 南京邮电大学 80 2013-01 至2016-12 61271238/ F010205 基于光子轨道角动量纠缠的压缩“鬼”成像研究 赵生妹 南京邮电大学 75 2013-01 至2016-12 61272381/ F020502 基于压缩感知理论的稳健性视频水印技术研究 赵慧民 广东技术师范学院 80 2013-01 至2016-12 61227007/ F030408 时-空-谱压缩感知的灵巧红外图谱一体化探测仪 张天序 华中科技大学 300 2013-01 至2016-12 11204062/ A040408 热光关联及其应用的研究 张素恒 河北大学 24 2013-01 至2015-12 61203257/ F030404 基于压缩感知的鲁棒性语音情感识别研究 张石清 台州学院 24 2013-01 至2015-12 61201367/ F010303 压缩感知雷达中感知矩阵自适应构建理论与关键技术研究 张劲东 南京航空航天大学 27 2013-01 至2015-12 61271411/ F010404 基于分离式二维压缩感知的自适应成像系统研究 张宝菊 天津师范大学 80 2013-01 至2016-12 61272276/ F020503 三维组织压缩感知与交互式物理仿真方法研究 袁志勇 武汉大学 20 2013-01 至2013-12 61263048/ F030705 面向复杂场景自动目标检测和识别的变换域视觉注意模型研究 余映 云南大学 45 2013-01 至2016-12 71271098/ G0118 基于压缩感知的地铁安全监测数据重构与施工安全风险评估 余明晖 华中科技大学 58 2013-01 至2016-12 61202380/ F020809 基于分布式压缩感知的无线视觉传感器网络多视点信息有效获取相关机制研究 由磊 天津大学 26 2013-01 至2015-12 61271335/ F010305 鲁棒性压缩感知关键技术的研究 杨震 南京邮电大学 83 2013-01 至2016-12 61203269/ F030408 基于粒子重叠分布及实时稀疏字典的行人跟踪方法研究 杨阳 山东大学 24 2013-01 至2015-12 61273043/ F0302 基于最优控制与滤波理论的快速磁共振成像关键技术研究 杨然 中山大学 84 2013-01 至2016-12 51204186/ E042203 煤矿物联网多源异构监测信息源端压缩采集方法研究 徐永刚 中国矿业大学 25 2013-01 至2015-12 61205200/ F051205 基于压缩感知的光学相干多普勒脑血管成像技术研究 徐平 杭州电子科技大学 28 2013-01 至2015-12 61202051/ F020104 基于自适应压缩感知的地震信号稀疏表示与高效重构 向秀桥 中国地质大学(武汉) 24 2013-01 至2015-12 51265018/ E050302 水下运动目标时变噪声场欠定盲提取模型及其算法研究 伍星 昆明理工大学 50 2013-01 至2016-12 61201344/ F010301 基于压缩感知,矩阵填充和鲁棒的主成分分析的四元数信号处理方法研究 伍家松 东南大学 26 2013-01 至2015-12 61201221/ F010202 多小区协作MIMO通信系统的有限反馈技术研究 吴雅婷 上海大学 25 2013-01 至2015-12 81201161/ H1811 基于压缩感知机理的EEG信号癫痫波形自动检测与识别方法研究 吴敏 中国人民解放军南京军区南京总医院 23 2013-01 至2015-12 61273079/ F030307 面向高效实时目标监测的阵列化传感器网络体系关键技术研究 王智 浙江大学 83 2013-01 至2016-12 11201054/ A011201 基于迭代支撑集检测的稀疏信号重构算法的研究和拓展 王亦伦 电子科技大学 22 2013-01 至2015-12 41274137/ D040901 时移地震叠前差异数据表征油藏参数变化方法研究 王守东 中国石油大学(北京) 70 2013-01 至2016-12 61271261/ F0102 深空激光可靠通信的关键技术研究 王汝言 重庆邮电大学 80 2013-01 至2016-12 61273020/ F030504 低秩矩阵复原的Schatten-q(0Q1)正则化理论与算法研究 td 王建军 西南大学 58 2013-01 至2016-12 61271354/ F0103 频谱稀疏信号的压缩采样与阵列处理方法研究 王华力 中国人民解放军理工大学 70 2013-01 至2016-12 61271212/ F010204 基于压缩感知融合深度的三维视频编码关键技术的研究 王国中 上海大学 76 2013-01 至2016-12 11204109/ A040502 稀疏观测约束下基于压缩感知的水下目标方位估计研究 王彪 江苏科技大学 25 2013-01 至2015-12 61275016/ F050105 折反射全向非均匀压缩成像技术研究 谭树人 中国人民解放军国防科学技术大学 78 2013-01 至2016-12 61271331/ F010304 时-空联合压缩感知3D超分辨雷达成像机理研究 宋耀良 南京理工大学 86 2013-01 至2016-12 61271173/ F010204 基于视频信号空时稀疏的压缩感知重构方法 宋彬 西安电子科技大学 70 2013-01 至2016-12 61271012/ F010404 带限信号压缩感知重建及其应用 渠刚荣 北京交通大学 88 2013-01 至2016-12 31202036/ C1908 基于高维空间分析与机器学习观点的鲆鲽类养殖行为学监控及智能分析 年睿 中国海洋大学 25 2013-01 至2015-12 11271010/ A010505 关于压缩感知中一些算法的几个问题 莫群 浙江大学 50 2013-01 至2016-12 61202276/ F020508 基于表达残差稀疏性的遮挡人脸识别方法研究 米建勋 哈尔滨工业大学 22 2013-01 至2015-12 61261040/ F010401 面向山区铁路异物侵限监测的压缩感知视频图像处理方法研究 罗晖 华东交通大学 43 2013-01 至2016-12 61271452/ F010401 非凸稀疏先验图像恢复建模理论和算法 卢成武 重庆文理学院 60 2013-01 至2016-12 61261005/ F010602 基于稀疏特性的地下管线电磁散射高效算法研究 刘志伟 华东交通大学 40 2013-01 至2016-12 61201149/ F010204 基于实数表示的移动视频广播传输方法研究 刘雨 北京邮电大学 25 2013-01 至2015-12 61271450/ F010403 基于光场的高动态范围超分辨率成像研究 刘宇驰 中国人民解放军空军雷达学院 85 2013-01 至2016-12 41274119/ D040901 基于OC-seislet变换的三维叠前复杂地震波场迭代数据插值方法研究 刘洋 吉林大学 90 2013-01 至2016-12 61271343/ F010304 基于压缩感知的非均匀空间立体阵SAR层析三维成像新方法的研究 刘梅 哈尔滨工业大学 70 2013-01 至2016-12 61202336/ F020502 基于随机投影的图像纹理特征及其应用研究 刘丽 中国人民解放军国防科学技术大学 25 2013-01 至2015-12 61271440/ F010404 基于压缩感知的高分辨率红外成像理论和方法研究 刘昆 中国人民解放军国防科学技术大学 80 2013-01 至2016-12 61201332/ F010408 基于压缩感知的高效率量子态层析技术 刘吉英 中国人民解放军国防科学技术大学 25 2013-01 至2015-12 61201289/ F010404 窄带高分辨率超声探测方法研究 林杰 西安电子科技大学 26 2013-01 至2015-12 11201366/ A0114 基于非整数阶梯度的稀疏信号重构方法研究 李科学 西安交通大学 22 2013-01 至2015-12 11204014/ A040414 基于光谱压缩的线阵推帚式超光谱成像机理研究 李欢 北京空间机电研究所 26 2013-01 至2015-12 11271297/ A0114 测量值相关的稀疏信号可重构条件研究 李海洋 西安交通大学 60 2013-01 至2016-12 61273195/ F030119 基于CS算法的数字信号压缩和高效数字系统设计的研究 李刚 浙江工业大学 80 2013-01 至2016-12 61202499/ F020703 基于视觉显著内容的图像半脆弱自恢复水印算法研究 李春雷 中原工学院 23 2013-01 至2015-12 61261015/ F010102 面向无线传感器网络的源-信道-网络联合无线传输理论研究 贾向东 西北师范大学 40 2013-01 至2016-12 11210301034/ A011201 压缩传感理论与应用国际会议 黄正海 天津大学 3 2012-06 至2012-08 11201450/ A010504 基于压缩感知的稀疏信号重建算法的理论研究 黄尉 中国科学技术大学 22 2013-01 至2015-12 61201433/ F010304 基于压缩感知的稀疏阵列MIMO-SAR成像及动目标检测 黄平平 内蒙古工业大学 24 2013-01 至2015-12 注:上表数据来源于NSFC ISIS系统网站
个人分类: 基金小议|41244 次阅读|18 个评论
稀疏表达、压缩感知
zhenliangli 2012-4-5 22:48
推荐一篇对于稀疏表达和压缩感知介绍的文章 http://www.cvchina.info/2010/06/01/sparse-representation-vector-matrix-tensor-1/ http://www.cvchina.info/2010/07/13/sparse_representation_vector_matrix_tensor2/ 压缩感知科普文两篇 http://www.cvchina.info/2010/06/08/compressed-sensing-2/
个人分类: Machine Intelligence|7287 次阅读|0 个评论
[转载]压缩感知科普(一)
femir 2011-1-13 10:18
压缩感知是近年来极为热门的研究前沿,在若干应用领域中都引起瞩目。关于这个题目,松鼠会已经翻译了两篇文章,一篇来自于压缩感知技术最初的研究者陶哲轩( 链接 ),一篇来自威斯康辛大学的数学家艾伦伯格(本文正文)。这两篇文章都是普及性的,但是由于作者是专业的研究人员,所以事实上行文仍然偏于晦涩。因此我不揣冒昧,在这里附上一个画蛇添足的导读,以帮助更多的读者更好了解这个新颖的研究领域在理论和实践上的意义。 压缩感知从字面上看起来,好像是数据压缩的意思,而实则出于完全不同的考虑。经典的数据压缩技术,无论是音频压缩(例如 mp3),图像压缩(例如 jpeg),视频压缩(mpeg),还是一般的编码压缩(zip),都是从数据本身的特性出发,寻找并剔除数据中隐含的冗余度,从而达到压缩的目的。这样的压缩有两个特点:第一、它是发生在数据已经被完整采集到之后;第二、它本身需要复杂的算法来完成。相较而言,解码过程反而一般来说在计算上比较简单,以音频压缩为例,压制一个 mp3 文件的计算量远大于播放(即解压缩)一个 mp3 文件的计算量。 稍加思量就会发现,这种压缩和解压缩的不对称性正好同人们的需求是相反的。在大多数情况下,采集并处理数据的设备,往往是廉价、省电、计算能力较低的便携设备,例如傻瓜相机、或者录音笔、或者遥控监视器等等。而负责处理(即解压缩)信息的过程却反而往往在大型计算机上进行,它有更高的计算能力,也常常没有便携和省电的要求。也就是说,我们是在用廉价节能的设备来处理复杂的计算任务,而用大型高效的设备处理相对简单的计算任务。这一矛盾在某些情况下甚至会更为尖锐,例如在野外作业或者军事作业的场合,采集数据的设备往往曝露在自然环境之中,随时可能失去能源供给或者甚至部分丧失性能,在这种情况下,传统的数据采集-压缩-传输-解压缩的模式就基本上失效了。 压缩感知的概念就是为了解决这样的矛盾而产生的。既然采集数据之后反正要压缩掉其中的冗余度,而这个压缩过程又相对来说比较困难,那么我们为什么不直接「采集」压缩后的数据?这样采集的任务要轻得多,而且还省去了压缩的麻烦。这就是所谓的「压缩感知」,也就是说,直接感知压缩了的信息。 可是这看起来是不可能的事情。因为压缩后的数据并不是压缩前的数据的一个子集,并不是说,本来有照相机的感光器上有一千万个像素,扔掉其中八百万个,剩下的两百万个采集到的就是压缩后的图像,──这样只能采集到不完整的一小块图像,有些信息被永远的丢失了而且不可能被恢复。如果要想采集很少一部分数据并且指望从这些少量数据中「解压缩」出大量信息,就需要保证:第一:这些少量的采集到的数据包含了原信号的全局信息,第二:存在一种算法能够从这些少量的数据中还原出原先的信息来。 有趣的是,在某些特定的场合,上述第一件事情是自动得到满足的。最典型的例子就是医学图像成像,例如断层扫描(CT)技术和核磁共振(MRI)技术。对这两种技术稍有了解的人都知道,这两种成像技术中,仪器所采集到的都不是直接的图像像素,而是图像经历过全局傅立叶变换后的数据。也就是说,每一个单独的数据都在某种程度上包含了全图像的信息。在这种情况下,去掉一部分采集到的数据并不会导致一部分图像信息永久的丢失(它们仍旧被包含在其它数据里)。这正是我们想要的情况。 上述第二件事就要归功于陶哲轩和坎戴的工作了。他们的工作指出,如果假定信号(无论是图像还是声音还是其他别的种类的信号)满足某种特定的「稀疏性」,那么从这些少量的测量数据中,确实有可能还原出原始的较大的信号来,其中所需要的计算部分是一个复杂的迭代优化过程,即所谓的「L1-最小化」算法。 把上述两件事情放在一起,我们就能看到这种模式的优点所在。它意味着:我们可以在采集数据的时候只简单采集一部分数据(「压缩感知」),然后把复杂的部分交给数据还原的这一端来做,正好匹配了我们期望的格局。在医学图像领域里,这个方案特别有好处,因为采集数据的过程往往是对病人带来很大麻烦甚至身体伤害的过程。以 X 光断层扫描为例,众所周知 X 光辐射会对病人造成身体损害,而「压缩感知」就意味着我们可以用比经典方法少得多的辐射剂量来进行数据采集,这在医学上的意义是不言而喻的。 这一思路可以扩展到很多领域。在大量的实际问题中,我们倾向于尽量少地采集数据,或者由于客观条件所限不得不采集不完整的数据。如果这些数据和我们所希望重建的信息之间有某种全局性的变换关系,并且我们预先知道那些信息满足某种稀疏性条件,就总可以试着用类似的方式从比较少的数据中还原出比较多的信号来。到今天为止,这样的研究已经拓展地非常广泛了。 但是同样需要说明的是,这样的做法在不同的应用领域里并不总能满足上面所描述的两个条件。有的时候,第一个条件(也就是说测量到的数据包含信号的全局信息)无法得到满足,例如最传统的摄影问题,每个感光元件所感知到的都只是一小块图像而不是什么全局信息,这是由照相机的物理性质决定的。为了解决这个问题,美国 Rice 大学的一部分科学家正在试图开发一种新的摄影装置(被称为「单像素照相机」),争取用尽量少的感光元件实现尽量高分辨率的摄影。有的时候,第二个条件(也就是说有数学方法保证能够从不完整的数据中还原出信号)无法得到满足。这种时候,实践就走在了理论前面。人们已经可以在算法上事先很多数据重建的过程,但是相应的理论分析却成为了留在数学家面前的课题。 但是无论如何,压缩感知所代表的基本思路:从尽量少的数据中提取尽量多的信息,毫无疑问是一种有着极大理论和应用前景的想法。它是传统信息论的一个延伸,但是又超越了传统的压缩理论,成为了一门崭新的子分支。它从诞生之日起到现在不过五年时间,其影响却已经席卷了大半个应用科学。
个人分类: 压缩传感|1 次阅读|0 个评论
[转载]压缩传感(Compressed sensing)
热度 1 w52191114 2010-8-13 03:13
压缩传感(Compressed sensing) 2010年3月4日 cvchina 6 条评论 《连线》 报道 了叫压缩传感(Compressed sensing)的数学和应用算法研究热门领域,这项研究利用数学中的稀疏概念, 从噪声中重建图像或其它数据集 。 压缩传感的发现是一次意外,当时是加州理工学院教授(现在去了斯坦福)的Emmanuel Cands在研究名叫 Shepp-Logan Phantom 的图像,这种标准图像常被计算机科学家和工程师测试图像算法。Cands检查的图像质量非常差,充满了噪声,他认为名叫L1-minimization的数学算法能去除掉噪声条纹,结果他按一个键后算法真的起作用了。但在图像变干净的同时,他发现图像的细节出人意料的完美起来。他随后向当时在UCLA的同事陶哲轩展示了这一奇迹。第二天晚上,陶哲轩就完成了一组札记,它们成为两人合作的压缩传感领域 第一篇论文 的基础。Emmanuel Cands认为压缩传感(简写CS)技术具有广阔的应用前景,比如MRI,数码相机。数码相机镜头收集了大量的数据,然后再压缩,压缩时丢弃掉90%的数据。如果有CS,如果你的照相机收集了如此多的数据只是为了随后的删除,那么为什么不一开始就丢弃那90%的数据,直接去除冗余信息不仅可以节省电池电量,还能节省空间。 来源 这里还有一个关于cs的 资源页面
个人分类: 计算机视觉|3402 次阅读|1 个评论
压缩感知对成像技术带来的挑战
热度 1 Cannabis 2010-1-12 03:47
压缩感知(Compressive Sensing, or Compressed Sampling,简称CS)是近几年流行起来的一个介于数学和信息科学的新方向,由Candes、Terres Tao等人提出,挑战传统的采样编码技术,即Nyquist采样定理。这个理论一经推出,跟进者众矣,paper众多,blog也很多。 其实CS这个东西在很早以前就有了,只不过当时没有人这样命名,只是后来Candes等人觉得要有个好名字,就给起了这样的一个名字,其核心思想就是利用较少的采样点恢复出原信号。这个工作在2000年前就有人做了,比如我知道的一个华人数学教授他当年的博士论文就是用少的小波系数恢复原图像,其实就是这个CS。在Ronberg的论文里还用到了他博士论文里的公式,关于TV算法的,但据说没有引用他的论文。 我比较关注的关于成像方面的应用。近几年,有一种称之为计算成像的技术得到长足的发展,我知道的有MIT、Arizona、Duke等学校都有这样的研究小组,比较著名的有Random Lenses,Coding Aperture imaging, ghost imaging等,试图利用非传统成像技术获得更多的信息,进行图像重建。
个人分类: 生活点滴|10538 次阅读|1 个评论
[小红猪]压缩感知与单像素照相机
eloa 2009-3-10 14:09
小红猪小分队 发表于 2009-03-10 12:38 木遥 按:这是数学家陶哲轩在 他自己的blog 上写的一篇科普文章,讨论的是近年来在应用数学领域里最热门的话题之一:压缩感知(compressed sensing)。所谓压缩感知,最核心的概念在于试图从原理上降低对一个信号进行测量的成本。比如说,一个信号包含一千个数据,那么按照传统的信号处理理论,至少需要做一千次测量才能完整的复原这个信号。这就相当于是说,需要有一千个方程才能精确地解出一千个未知数来。但是压缩感知的想法是假定信号具有某种特点(比如文中所描述得在小波域上系数稀疏的特点),那么就可以只做三百次测量就完整地复原这个信号(这就相当于只通过三百个方程解出一千个未知数)。可想而知,这件事情包含了许多重要的数学理论和广泛的应用前景,因此在最近三四年里吸引了大量注意力,得到了非常蓬勃的发展。陶哲轩本身是这个领域的奠基人之一(可以参考 《陶哲轩:长大的神童》 一文),因此这篇文章的权威性毋庸讳言。另外,这也是比较少见的由一流数学家直接撰写的关于自己前沿工作的普及性文章。需要说明的是,这篇文章是虽然是写给非数学专业的读者,但是也并不好懂,也许具有一些理工科背景会更容易理解一些。 【作者 Terence Tao;译者 山寨盲流,他的更多译作在 这 , 那 ;校对 木遥】 最近有不少人问我究竟压缩感知是什么意思(特别是随着最近这个概念名声大噪),所谓单像素相机又是怎样工作的(又怎么能在某些场合比传统相机有优势呢)。这个课题已经有了大量文献,不过对于这么一个相对比较新的领域,还没有一篇优秀的非技术性介绍。所以笔者在此小做尝试,希望能够对非数学专业的读者有所帮助。 具体而言我将主要讨论摄像应用,尽管压缩传感作为测量技术应用于比成像广泛得多的领域(例如天文学,核磁共振,统计选取,等等),我将在帖子结尾简单谈谈这些领域。 相机的用途,自然是记录图像。为了简化论述,我们把图像假设成一个长方形阵列,比如说一个10242048像素的阵列(这样就总共是二百万像素)。为了省略彩色的问题(这个比较次要),我们就假设只需要黑白图像,那么每个像素就可以用一个整型的灰度值来计量其亮度(例如用八位整型数表示0到255,16位表示0到65535)。 接下来,按照最最简化的说法,传统相机会测量每一个像素的亮度(在上述例子中就是二百万个测量值),结果得到的图片文件就比较大(用8位灰度值就是2MB,16位灰度就是4MB)。数学上就认为这个文件是用超高维矢量值描绘的(在本例中就是约二百万维)。 在我开始讲压缩感知这个新故事之前,必须先快速回顾一下老式压缩的旧故事。(已经了解图像压缩算法的读者可以跳过这几段。) 上述的图片会占掉相机的很多存储空间(上传到计算机里还占磁盘空间),在各种介质之间传输的时候也要浪费时间。于是,相机带有显著压缩图像的功能就顺理成章了(通常能从2MB那么大压缩到十分之一200KB的一小坨)。关键是尽管所有图片所构成的空间要占用2MB的自由度或者说熵,由有意义的图片所构成的空间其实要小得多,尤其是如果人们愿意降低一点图像质量的话。(实际上,如果一个人真的利用所有的自由度随机生成一幅图片,他不大可能得到什么有意义的图像,而是得到相当于电视荧屏上的静电雪花那样的随机噪声之类。) 怎么样压缩图像?方式多种多样,其中有些非常先进,不过我来试试用一种不太高科技的(而且也不太精确的)说法来描述一下这些先进技术。图像通常都含有大片无细节部分比如在风景照里面,将近一半的画面都可能被单色的天空背景占据。我们假设提取一个大方块,比方说100100像素,其中完全是同一颜色的假设是全白的吧。无压缩时,这个方块要占10000字节存储空间(按照8位灰度算);但是我们可以只记录这个方块的维度和坐标,还有填充整个方块的单一颜色;这样总共也只要记录四五个字节,省下了可观的空间。不过在现实中,压缩效果没有这么好,因为表面看来没有细节的地方其实是有着细微的色差的。所以,给定一个无细节方块,我们记录其平均色值,就把图片中这一块区域抽象成了单色色块,只留下微小的残余误差。接下来就可以继续选取更多色彩可见的方块,抽象成单色色块。最后剩下的是亮度(色彩强度)很小的,肉眼无法察觉的细节。于是就可以抛弃这些剩余的细节,只需要记录那些可见色块的大小,位置和亮度。日后则可以反向操作,重建出比原始图像质量稍低一些,占空间却小得多的复制图片。 其实上述的算法并不适合处理颜色剧烈变动的情况,所以在实际应用中不很有效。事实上,更好的办法不是用均匀色块,而是用不均匀的色块比方说右半边色彩强度平均值大于左半边这样的色块。这种情况可以用(二维)Haar小波系统来描述。后来人们又发现一种更平滑的小波系统更能够避免误差,不过这都是技术细节,我们就不深入讨论了。然而所有这些系统的原理都是相同的:把原始图像表示为不同小波(类似于上文中的色块)的线性叠加,记录显著的(高强度的)小波的系数,放弃掉(或者用阈值排除掉)剩下的小波系数。这种小波系数硬阈值压缩算法没有实际应用的算法(比如JPEG 2000标准中所定义的)那么精细,不过多少也能描述压缩的普遍原理。 总体来讲(也是非常简化的说法),原始的10242048图像可能含有两百万自由度,想要用小波来表示这个图像的人需要两百万个不同小波才能完美重建。但是典型的有意义的图像,从小波理论的角度看来是非常稀疏的,也就是可压缩的:可能只需要十万个小波就已经足够获取图像所有的可见细节了,其余一百九十万小波只贡献很少量的,大多数观测者基本看不见的随机噪声。(这也不是永远适用:含有大量纹理的图像比如毛发、毛皮的图像用小波算法特别难压缩,也是图像压缩算法的一大挑战。不过这是另一个故事了。) 接下来呢,如果我们(或者不如说是相机)事先知道两百万小波系数里面哪十万个是重要的,那就可以只计量这十万个系数,别的就不管了。(在图像上设置一种合适的过滤器或叫滤镜,然后计量过滤出来的每个像素的色彩强度,是一种可行的系数计量方法。)但是,相机是不会知道哪个系数是重要的,所以它只好计量全部两百万个像素,把整个图像转换成基本小波,找出需要留下的那十万个主导基本小波,再删掉其余的。(这当然只是真正的图像压缩算法的一个草图,不过为了便于讨论我们还是就这么用吧。) 那么,如今的数码相机当然已经很强大了,没什么问题干吗还要改进?事实上,上述的算法,需要收集大量数据,但是只需要存储一部分,在消费摄影中是没有问题的。尤其是随着数据存储变得很廉价,现在拍一大堆完全不压缩的照片也无所谓。而且,尽管出了名地耗电,压缩所需的运算过程仍然算得上轻松。但是,在非消费领域的某些应用中,这种数据收集方式并不可行,特别是在传感器网络中。如果打算用上千个传感器来收集数据,而这些传感器需要在固定地点呆上几个月那么长的时间,那么就需要尽可能地便宜和节能的传感器这首先就排除了那些有强大运算能力的传感器(然而这也相当重要我们在接收处理数据的接收端仍然需要现代科技提供的奢侈的运算能力)。在这类应用中,数据收集方式越傻瓜越好(而且这样的系统也需要很强壮,比如说,能够忍受10%的传感器丢失或者各种噪声和数据缺损)。 这就是压缩传感的用武之地了。其理论依据是:如果只需要10万个分量就可以重建绝大部分的图像,那何必还要做所有的200万次测量,只做10万次不就够了吗?(在实际应用中,我们会留一个安全余量,比如说测量30万像素,以应付可能遭遇的所有问题,从干扰到量化噪声,以及恢复算法的故障。)这样基本上能使节能上一个数量级,这对消费摄影没什么意义,对传感器网络而言却有实实在在的好处。 不过,正像我前面说的,相机自己不会预先知道两百万小波系数中需要记录哪十万个。要是相机选取了另外10万(或者30万),反而把图片中所有有用的信息都扔掉了怎么办? 解决的办法简单但是不太直观。就是用非小波的算法来做30万个测量尽管我前面确实讲过小波算法是观察和压缩图像的最佳手段。实际上最好的测量其实应该是(伪)随机测量比如说随机生成30万个滤镜图像并测量真实图像与每个滤镜的相关程度。这样,图像与滤镜之间的这些测量结果(也就是相关性)很有可能是非常小非常随机的。但是这是关键所在构成图像的2百万种可能的小波函数会在这些随机的滤镜的测量下生成自己特有的特征,它们每一个都会与某一些滤镜成正相关,与另一些滤镜成负相关,但是与更多的滤镜不相关。可是(在极大的概率下)2百万个特征都各不相同;更有甚者,其中任意十万个的线性组合仍然是各不相同的(以线性代数的观点来看,这是因为一个30万维线性子空间中任意两个10万维的子空间极有可能互不相交)。因此,基本上是有可能从这30万个随机数据中恢复图像的(至少是恢复图像中的10万个主要细节)。简而言之,我们是在讨论一个哈希函数的线性代数版本。 然而这种方式仍然存在两个技术问题。首先是噪声问题:10万个小波系数的叠加并不能完全代表整幅图像,另190万个系数也有少许贡献。这些小小贡献有可能会干扰那10万个小波的特征,这就是所谓的失真问题。第二个问题是如何运用得到的30万测量数据来重建图像。 我们先来关注后一个问题。如果我们知道了2百万小波中哪10万个是有用的,那就可以使用标准的线性代数方法(高斯消除法,最小二乘法等等)来重建信号。(这正是线性编码最大的优点之一它们比非线性编码更容易求逆。大多数哈希变换实际上是不可能求逆的这在密码学上是一大优势,在信号恢复中却不是。)可是,就像前面说的那样,我们事前并不知道哪些小波是有用的。怎么找出来呢?一个单纯的最小二乘近似法会得出牵扯到全部2百万系数的可怕结果,生成的图像也含有大量颗粒噪点。要不然也可以代之以一种强力搜索,为每一组可能的10万关键系数都做一次线性代数处理,不过这样做的耗时非常恐怖(总共要考虑大约10的17万次方个组合!),而且这种强力搜索通常是NP完备的(其中有些特例是所谓的子集合加总问题)。不过还好,还是有两种可行的手段来恢复数据: 匹配追踪:找到一个其标记看上去与收集到的数据相关的小波;在数据中去除这个标记的所有印迹;不断重复直到我们能用小波标记解释收集到的所有数据。 基追踪(又名L1模最小化):在所有与录得数据匹配的小波组合中,找到一个最稀疏的,也就是其中所有系数的绝对值总和越小越好。(这种最小化的结果趋向于迫使绝大多数系数都消失了。)这种最小化算法可以利用单纯形法之类的凸规划算法,在合理的时间内计算出来。 需要注意到的是,这类图像恢复算法还是需要相当的运算能力的(不过也还不是太变态),不过在传感器网络这样的应用中这不成问题,因为图像恢复是在接收端(这端有办法连接到强大的计算机)而不是传感器端(这端就没办法了)进行的。 现在已经有严密的结果显示,对原始图像设定不同的压缩率或稀疏性,这两种算法完美或近似完美地重建图像的成功率都很高。匹配追踪法通常比较快,而基追踪算法在考虑到噪声时则显得比较准确。这些算法确切的适用范围问题在今天仍然是非常热门的研究领域。(说来遗憾,目前还没有出现对P不等于NP问题的应用;如果一个重建问题(在考虑到测量矩阵时)是NP完备的,那它刚好就不能用上述算法解决。) 由于压缩传感还是一个相当新的领域(尤其是严密的数学结果刚刚出现),现在就期望这个技术应用到实用的传感器上还为时尚早。不过已经有概念验证模型出现了,其中最著名的是Rice大学研制的单像素相机。 最后必须提到的是,压缩传感技术是一种抽象的数学概念,而不是具体的操作方案,它可以应用到成像以外的许多领域。以下只是其中几个例子: 磁共振成像(MRI)。在医学上,磁共振的工作原理是做许多次(但次数仍是有限的)测量(基本上就是对人体图像进行离散拉东变换(也叫X光变换)),再对数据进行加工来生成图像(在这里就是人体内水的密度分布图像)。由于测量次数必须很多,整个过程对患者来说太过漫长。压缩传感技术可以显著减少测量次数,加快成像(甚至有可能做到实时成像,也就是核磁共振的视频而非静态图像)。此外我们还可以以测量次数换图像质量,用与原来一样的测量次数可以得到好得多的图像分辨率。 天文学。许多天文现象(如脉冲星)具有多种频率震荡特性,使其在频域上是高度稀疏也就是可压缩的。压缩传感技术将使我们能够在时域内测量这些现象(即记录望远镜数据)并能够精确重建原始信号,即使原始数据不完整或者干扰严重(原因可能是天气不佳,上机时间不够,或者就是因为地球自传使我们得不到全时序的数据)。 线性编码。压缩传感技术提供了一个简单的方法,让多个传送者可以将其信号带纠错地合并传送,这样即使输出信号的一大部分丢失或毁坏,仍然可以恢复出原始信号。例如,可以用任意一种线性编码把1000比特信息编码进一个3000比特的流;那么,即使其中300位被(恶意)毁坏,原始信息也能完全无损失地完美重建。这是因为压缩传感技术可以把破坏动作本身看作一个稀疏的信号(只集中在3000比特中的300位)。 许多这种应用都还只停留在理论阶段,可是这种算法能够影响测量和信号处理中如此之多的领域,其潜力实在是振奋人心。笔者自己最有成就感的就是能看到自己在纯数学领域的工作(例如估算傅立叶子式的行列式或单数值)最终具备造福现实世界的前景。
个人分类: 数学|2536 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-1 22:44

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部