|
光学基础知识大讲堂
——第11期:采样与压缩感知
日常生活中,我们通常会遇到这样的情况,当你看一个电风扇,刚开始你能分辨得出转动的方向,速度达到一定程度的时候你已经分辨不出来了,甚至会产生错觉,似乎扇叶在倒着转!
图1 风扇转动动图(图片来源于网络)
其实,这就是采样的问题。在前面全息技术那一期中也有提到过人眼的视觉滞留效应,当人眼观看到某一帧画面的时候,会停留1/24秒左右的时间,也就是说1秒钟内如果连续放24帧以上的画面,那么你看到的是连续的画面,反之就是不连续的。再举个例子,如果一根木棍绕中心点转动,转动速度是1秒钟转一圈,然后用相机也是每隔1秒钟拍一张照片,那么你会发现所有的照片都是一样的,然后你认为它没有动。其实这就是采样频率不足导致的错觉,那采样频率达到多少才能真正看清图像呢?
图2 转动示意图(图片来源于网络)
显然,从上面的例子中可知,采样频率起码是原来的1倍以上才行,那具体多少呢?奈奎斯特采样定理告诉我们,采样频率必须高于原信号最高频率的2倍,才能完整保留原始信号中的信息。
暂且忘了上面的动图,图像不仅仅只有转动,还有诗和…咳咳…是频谱。好,关于图像的问题来了,而且还是2个:第一,为啥要采样啊?第二,图像到底是个啥啊?什么叫完整保留图像信息,那什么叫不完整咧?
首先回答第一个问题,为啥要采样。比如要调研一个庞大的样品库,全部调研是不现实的,所以必须采用抽样的模式进行,否则累死你。对于信号也一样,一个连续信号是由无数个离散信号组成,如果要对信号进行传输,就只能采用采样的方式,否则无论采样时间还是存储空间都是无法估量的。
接下来回答第二个问题,图像是啥。换句话说,就是图像的本质是什么,其实更精确地说应该是物质的本质是什么?由爱因斯坦的质能方程可以得知,物质是能量的一种表现形式,只不过它是我们看得到的,另外一些能量的表现形式我们看不到,比如热、非可见光的电磁波等等。那能量又是用什么来表示?正弦波。又有童鞋要问了,为啥是正弦波,不是方波、三角波或者其他波形来表示,答案是它总要有个波形吧。好吧,开个玩笑(有点冷),真实情况是其他所有的波形都可以用正弦波来表示(用逼近更准确,这个就厉害了),前面某一期中也提到过如何用正弦波合成方波(详见第5期:什么是超分辨中的图3)。
好,现在我们知道了,任何信号都是由正弦波组成的,从频域上可以分解成如下图一样的很多个频率成分,高频代表图像的细节成分,所以如果要真实还原图像,就必须把这所有的频率成分都包含进去。如果看不懂的童鞋,请先翻看第5期:什么是超分辨的物理本质部分。
图3 信号的傅里叶分析(图片来源于知乎,作者 Heinrich)
举个例子,如果想把一幅含有最高频率成分为15ω的图像复原,那么就必须要求采样后的频率成分大于15ω,当然采样频率高太多也没有用,因为传输后的图像最高水平也只能达到你原图像的像素。当然,前面只是一个例子,实际情况传输的信号图像高频成分都很高,所以你只有可能舍弃掉高频成分,而不会是全包含。另外一个方面,人眼本质上也是个探测器,有分辨率极限,所以没有必要要求传输图像分辨率非常的高,因为再清晰、分辨率再高的图像到人眼的分辨率最后都一样。
图4 像素较低的图片(图片来源于网络)
重点来了,如何理解奈奎斯特采样定理中采样频率必须高于2倍最高频率?高于最高频率前面已经提到了,必须包含,否则就等同于图像失真,丢失了图像的细节部分。接下来的问题是为什么是2倍的最高频率?
我们都知道,信号是由不同频率的正弦波组成,那么我们要探测一个正弦波,如何做到?最笨的办法就是把正弦波上的所有点都探测出来,不过那也是不现实的。那因为我们知道是正弦波,而且正弦波是有周期性的,所以我们只需要探测到如下图的2个点,我们就能确定这个正弦波的样子了,自然我们就能得到完整的正弦波信号。所以,我们把这二者结合起来,就变成了奈奎斯特采样定理:采样频率必须高于原信号最高频率的2倍,才能完整保留原始信号中的信息。
图5 正弦波采样图(图片来源于网络)
---------------------------------------华丽的分割线-----------------------------------------
前人总是那么的伟大,以至于我们只有膜拜的份。奈奎斯特告诉我们采样必须高于2倍最高频率,否则信息不全。毛主席也告诉我们,实践是检验真理的唯一标准,所以我们吭哧吭哧地验证,好像还真是那么回事儿。直到某一天,Tao和几个外国人(谁不重要,我也不认识)跳出来了,我可以远小于奈奎斯特采样率来重建信号,于是压缩感知理论诞生了。颠覆三观啊,用一个字评价这个理论:火。在短短几年时间内,其影响席卷了大半个应用学科,并被美国科技评论评为2007年度十大科技进展。
在解释什么是压缩感知之前,首先介绍下一般的压缩理论,一般的压缩是将内容中很多重复的东西用特定的字符代替。比如你买了大闸蟹,蟹用绳子绑住了,身上还有很多水,于是你先把它甩干,然后得知那绳子是什么材质,多少粗细,然后把绳子扔掉,家里有这样的绳子。最后你把大闸蟹带回家,再加点水,绑个一样的绳子就复原了。这个过程就是目前数据压缩的过程,它只是节省了你传输过程的成本(带回家变轻了),但是没有节省信息采集的成本(你买的时候老板不会同意把绳子去掉的,甩甩螃蟹还怕你甩死它)。而压缩感知倒确确实实是在采集数据的时候就大量减轻了工作量,接下来是见证奇迹的时刻。
这是一个数学问题,所以我们用数学的方式来简单解释下,包看懂。大学里都学过矩阵,假设Y=[y1,y2,…,ym],X= [x1,x2,…,xn],m远远小于n,总会存在这样一个观测矩阵A,使得下面的公式成立。
基础线性代数知识来了,假设n=1000,m=50,那要找到这么个矩阵A的条件是什么,条件是n=1000的矩阵X其中包含了很多个0,否则根本找不到A来获得m=50的矩阵Y。第二个问题,假设找到了上面的矩阵A,那么下面的公式成不成立?
简单看下公式的区别,多了最下面一行,显然公式成立,只不过变成相关的了,数据冗余了对不对,我不需要最下面那一行数据。所以,压缩感知理论的两大特性来了:不相关性和稀疏性(就是原图像矩阵X中含有很多的0)。只有满足这2个条件,压缩感知才能把原本1000行的数据通过计算的方式转换成50行的数据。
神奇吧,好像也还行。那最后一个问题,我们现实生活中图像都是稀疏的吗,即换成矩阵写法的时候会有很多0?答案:是的。举个例子,我们的原子结构是由什么构成的?原子核和电子,但是空气(真空)却占据了99.99..%的成分,这是一个道理。Over!!!
图6 原子结构示意图(图片来源于网络)
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-1 07:31
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社