小波科普文章精粹:看森林,也看树木

来源:互联网 发布:如何接电话变声软件 编辑:程序博客网 时间:2024/04/28 22:07

英文原名:Wavelets: Seeing the forest and the trees

转自:http://yswhu.bokee.com/viewdiary.10391865.html

一、前言

        在1998年11月15日这一天,Walt Disney Pictures 和 Pixar Animation Studios一起发布了一部全部由计算机漫画而制的电影,名字叫《一只甲壳虫的生活》(A Bug’s life),这是Disney和Pixar的第二次合作,跟三年前制片人Toy Story的突破一样,它开创了一个新的视角。一位评论家说:“《一只甲壳虫的生活》有许多漂亮的视觉创新,有错综复杂的细节,会使得大人们跟小孩子一样,从开始到结束都在观看;而且还从一些新的、迄今没有的柔和光谱中折射出的搞笑颜色。”

      只有最懂计算机图形学的常看电影的人才会提出许多数学建模的想法,这会使得在生动的蚂蚁故事中有可能发展所有特性,更不用说它们的许多结构,它们的无数的表情,还有它们跳跃、迁徙和围绕在一起鸣叫的方式。尽管这也出现了,一种特殊的建模技术使得它在电影中首次应用。一种计算机漫画方法是充分利用了一种叫做小波的数学程序的聚集性。

      思考小波的一种方法是考虑我们的眼睛是怎样看世界的。在现实世界中,你能在不同效果下和不同的分辨率下观察一座森林,就像在看一幅幅图片一样,比如,从一架飞过乡村的喷气式飞机的窗口看去,森林就是一张绿色的遮蓬;从一辆地上的车子的窗口看,“遮蓬”又成了许许多多的树,而且如果你停下车,走的更近去看,你就会看到树枝和树叶,然后你用一个放大镜再去看,你可能又会在一片叶子的尾端发现挂着一颗露珠。随着你不断地缩小尺寸,你能发现你以前不曾看到的细节。之后,用一张照片再去像刚才那样去做,你会很失望。放大照片去更接近一颗树,你看到的是一颗更模糊的树,树枝、树叶以及叶子上的露珠就看不到。尽管我们的眼睛能在不同分辨率下看到森林,但是照相机却只能一次拍一幅照片。

      计算机做的并不比照相机好。事实上,它们的分辨率级别是很低的。在一个计算机场景中,图片变成了一个像素集合体,这些像素比原始的粗糙的多。

      然而,不久各处的计算机将能做摄影家做梦都想做的事情。它们将能显示一座森林的交互式图像,就是观察者能放大去得到树木,树枝,甚至更为详细的树叶。它们之所以能做到是因为小波能压缩用来存储一幅图像的数据量,为一幅更详细的图像分配更少的空间。

      尽管作为一个组织的研究话题,小波还不到二十年,但是它从很多相关的概念发起,其间发展经历了两个多世纪,不断地被那些想在它们各种各样的约束中解决技术问题的科学家重新发现。信号处理器开掘了在电话线上传输清晰信息的道路,石油勘探家想要一个解释地震踪迹的更好方法。这时小波还没有成为在科学家中家喻户晓的词,直到其理论从众多的应用中解放出来,并且被合成一个纯数学理论。反过来说,这个合成物打开了科学家发现新应用的视野,比如,在今天,小波不仅应用于计算机图像处理和模仿,而且也被FBI用来编码三百万的指纹数据。在将来,科学家们会利用小波分析去诊断乳腺癌,寻找心脏异常性和预报天气。

二、改变现实(Transforming Reality)

        小波分析允许研究者们去隔离和操作隐藏在众多数据之中的模式的特殊类型,我们的眼睛能以同样的方法在森林中挑出树木,或者我们的耳朵能在交响曲中分辨出笛声。理解小波是怎样做这个的一种方法是开始在两种不同声音之间,比如叉子的音调和人声,找出不同点,之后敲打叉子,你会听到一种持续很长时间的纯音调。在数学理论中,这样的音调称为频率局部化,它由单个无更高频率音调的音符组成。相比之下,一个人说的话仅仅持续一秒钟,因此称为时间域局部化,它在频率域里没有局部化是因为说的话不是一个单音调,而是有许多不同频率的音调结合在一起的音调。

        在19世纪,数学家认为现实中的叉子音调是完美的,这个理论就是著名的傅立叶分析。Jean Baptiste Joseph Fourier, 一位法国数学家,在1807年声称任何反复波形(或者周期函数),像叉子发出的声波,能被一个无限的各种频率的正弦波和余弦波之合来表示。

        傅立叶理论的一个熟悉阐述是在音乐中发生的。当时一位音乐家演奏一个音符,他创造了一个不规则形状的声波,同样形状的波,只要音乐家持续演奏这个音符会不断重复。因此,通过傅立叶,这个音符被分解成正弦波与余弦波之和。最低频率的波称为这个音符的基频,最高频率的波称为泛音(overtones),比如,A音符在小提琴或长笛上演奏,就有一个周期为440HZ的基频和一个周期为880HZ、1320HZ等等的泛音,即使用小提琴和用长笛演奏同一音符,它们听起来也会不同,因为它们的泛音有不同的强度或幅度。正如在20世纪60年代音乐合成家阐述的一样,小提琴或长笛的一个信服的模仿能通过重新合并合适幅度的纯正弦波来完成。当然,这是在1807年傅立叶所预测到的。

        之后数学家们把傅立叶思想扩展到非周期函数(或波形),它们会随着时间不断改变,并不是重复同样的形状。最现实的波形是这样的类型:一辆摩托车先加速,然后减速,不断往复这样发出的声音。在图像中也是一样,在重复和不重复之间的区别是重要的,一个重复的模式可能被视为纹理或背景,而不重复的会被看作对象而被挑选出来。周期性的或重复的波由一系列离散的泛音组成,它们能被用于表示一幅图像中的重复的模式。非周期特征涉及到更多的复杂的频率谱,称为傅立叶变换,正如太阳光能被分离成不同颜色的光谱。The Fourier transform portrays the structure of a periodic wave in a much more revealing and concentrated from than a traditional graph of a wave would. 举例来说,摩托车发出的声音在傅立叶变换中,在一个特定的频率下会显示出一个峰值。

        傅立叶变换一直在被关注。在19世纪,傅立叶在物理学和工程学上解决了许多问题。它的主导地位使得科学家们和工程师们把它作为分析任何现象的完美方法。这个普遍看法迫使了一个对这个方法的封闭检查。结果在20世纪,数学家、物理学家和工程师发现了傅立叶的缺陷,即傅立叶变换在重造瞬间信号和有突然变化的信号时存在困难,比如说出的话或轻敲鼓的声音。音乐合成家仍然不能匹配音乐厅里小提琴家的演奏,因为小提琴家的演奏含有暂态的特征,比如弓与弦的接触,这些用正弦波很难表示。

        这个问题里面的原理能有著名的Heisenberg Indeterminacy Principle来阐述。在1927年,物理学家Werner Heisenberg认为从理论上讲一个物体的位置和速度不能同时被精确地测量。用信号处理来说,意思是在一个信号要同时知道某精确频率和该频率发生的精确时刻是不可能的。为了知道它的频率,信号必须按时延拓,反之亦然。在音乐形式里,意思是任何有短暂持续时间的信号必须有一个复杂的频谱,它由各种各样的正弦波组成。反过来说,任何由一些正弦波简单合成的信号必须在时间域里有复杂的呈现。因此,我们不能期望用叉子的管弦乐来重造鼓发出的声音。

三、无名主意(An idea with No Name)

        整个20世纪,不同领域的科学家,为了允许数据的表达适合信息的本性,他们都在努力挣脱这些限制。从本质上讲,他们既想获得低分辨率下的森林,即重复的背景信号,也想获得高分辨率下的树,即背景中个别的局部变量。尽管科学家都试图去解决这个问题,特别是他们研究的领域。他们开始得出了一个相同的结论,就是傅立叶变换自身的缺陷;他们也有了共同的解决方法,即把信号分割成没有纯正弦波的组件,它将有可能浓缩时域和频域的信息。这就是将要称之为小波的思想。

        第一个进入小波的是一个名叫Alfred Haar的Hungarian数学家,他在1909年发明了现在称为Haar小波的函数。这些函数由简单的短时正负交替脉冲组成。尽管Haar小波的短时脉冲作为小波理论来教会很好,但它们对大多数应用来说是无用的,因为它们有明显的跳跃线而不是平滑的曲线。例如,用Haar小波重构的图像像一个廉价的计算器显示,而且一个长笛声音的Haar小波重构太刺耳。

        在接下来的几十年里,小波理论的其他先驱者时而不时地发表一些理论文章。在20世纪30年代,英国数学家John Littlewood和R.E.A.C Paley发明了一种通过octaves群组频率的方法,这样可以创造一个有很好频率局部化的信号(它的频谱在于一个octave之间),而且在时间域里也相对的局部化。在1946年,一位British-Hungarian物理学家Dennis Gabor发明了Gabor变换,类似于傅立叶变换,它把一个波分割成时间频率包或者相邻的状态,最大可能地同时在时间和频率里具有局部化。在20世纪70年代和80年代,信号处理和图像处理组织发明了他们自己的小波分析版本,接着称为“子带编码”,“积分镜像滤波器”和“金字塔式算法”。

        虽然不是完全一样,但所有这些技术有相似的特性,它们把信号分解或转换成能在任何时间间隔局部化的组件,也能拉伸或连接一起来分析不同分辨率下的信号,这些小波的先驱还有另外一个共同点,即除了个别的专门组织外,没有人知道它们。但到了1984年,小波理论终于出现了。

四、伟大的合成(The Great Synthesis)

        Jean Morlet不打算去开始一个科学方法的研究,他仅仅是试图去帮地质学家找到一个更好的勘探石油的方法。

        石油地质学家通常通过大的噪声来定位地下石油的开采点。因为声波经过不同的材料,其传输速度是不一样的,地质学家能推断出地表下的哪种材料能传送地震波到地面,并且测量它们有多快反射。如果这种波能非常快的通过一层,它可能是一个盐包,它包裹着地下石油层。

        要描绘出地质学家是怎样传输一个声波的,这是一个机灵的数学问题。工程师通常用傅立叶分析来解决这个问题。不幸的是,地震信号包含许多暂态量,像波形从一个岩石层传到另一个岩石层发生的突然改变。这些暂态量包含地质学家寻找的信息,通常是岩石层的位置信息,但傅立叶分析会把空间信息延拓到所有位置。

        一位Elf-Aquitaine工程师Morlet发明了分析地震信号的自己的方法,它创造了在空间定位的组件,他称之为“不变形状的小波”(wavelets of constant shape),它们因Morlet小波而闻名。不论这些组件在时间域里被拉伸、压缩、或平移,它们都维持相同的形状。小波的其他家族都能采用一个不同的形状来建造,称之为母小波,可在时间域里拉伸、压缩和平移。研究者发现母小波的精确形状严重影响着近似的精度和压缩特性。早期版本小波之间的许多不同之处简单地可归结为母校包的选择不同。

        Morlet的方法不在课本中,但似乎很有效。在他个人计算机上,他能把一个波形分成小波包,然后把它们重新集合成原始波形。但他不满足于经验证据,开始询问其他科学家,这种方法是否有数学依据。

        Morlet从Alex Grossmann那里找到了他想要的答案,他是一位位于Centre de Physique Théorique in Marseilles的物理学家。在这一年里,Grossmann和Morlet一起工作来证实波形能够从它们的小波分解中重构。事实上,小波变换被证明比傅立叶变换优越,因为小波变换对计算中的错误不怎么敏感。傅立叶系数的截断或一个错误能把一个平滑信号转变成跳跃的信号,反之亦然,小波就可以避免这灾难性的后果。

        Morlet和Grossmann在1984年发表的文章首次使用“小波”这个词,当时还在?cole Normale Supérieure de Cachan的Yues Meyer,他是个广受尊敬的小波理论的发现者之一,在这年秋天听说了前面两位的文章。他第一个认识到Morlet小波与早期的数学小波之间的联系,比如在Littlewood和Paley的著作中的那些。(的确,Meyer在Morlet和Grossmann的文章发表之前已经计算了16个分离的小波概念的重现)

        Meyer继续发明了一类新小波,具有数学上的正交性,这使得小波变换很容易地像傅立叶变换那样操作。(正交性就是被一个小波俘获的信息对另一个小波俘获的信息是完全独立的)也许更重要的是他成了融入小波组织的纽带。

        在1986年,Meyer的学生Stéphane Mallat,当时正在攻读计算机领域的博士,把小波理论与已经存在的子带编码和积分镜像滤波器联系起来,组成了图像处理组织的小波版本。多分辨率分析的思想就是在不同尺度的分辨率下看信号,这个对图像处理领域的专家已经很熟悉。Mallat在Meyer的帮助下得出了小波在多分辨率分析过程中的隐蔽性。

        幸亏Mallat的工作,小波变得更容易。一个不知道母小波公式的人就能做小波分析。分析过程简化为简单的操作,就是把像素一起平均分组,反复不断地找出它们的不同之处。小波语言对那些对像“滤波器”,“高通频率”,“低通频率”这样的词汇熟悉的电子工程师来说也更简便。

        小波方法的最后的伟大部分是在1987年开始来做的,当时Ingrid Daubechies 正在纽约大学的Courant 研究院访问,之后又到在AT&T的贝尔实验室赴约,她发明了一类新小波,它们不仅正交(像Meyer小波一样),而且能用简单的数字滤波器的观点来实现,事实上是用短数字滤波器,这类新小波能跟Haar小波一样地去编程和使用,但却没有Haar小波的跳跃。现在的信号处理器有一个理想工具,就是把数字或数据分解成各种尺度下的contributions的方法。结合Daubechies和Mallat的思想,这有一个简单的正交变换,能够用现代数字计算机快速的计算。

        Daubechies小波有惊奇的特性,比如与分形理论有着亲密的联系。如果放大它们的波形,不管放大多大倍数,都能看到有特征的锯齿形摆动(characteristic jagged wiggles)。细节的精致复杂性意味着对这些小波来说有不简单的表达式,它们是难看的和不对称的,19世纪的数学家会从惊骇中反驳它们。但是像Model-TFord,它们因有用而漂亮。Daubechies小波把理论转化成实践工具,能被很容易地编程,能被只有很少数学训练的任何科学家使用。

五、小波是怎样工作的?(How Do Wavelets work?)

       到目前为止,小波的最多应用(“Killer app”)一直是数字图像压缩。它们是新JPEG2000数字图像标准的核心,WSQ(wavelet scalar quantization)方法被FBI用来压缩指纹数据库。在这个里面,小波被认为是图像的建造用的砖。一幅森林图像能从最宽的小波中获得:森林的一列绿,天空的一抹蓝。更为详细的是,更锐利的小波能帮助辨别树,用更精细的小波可把树干和树枝添加到图像中。像一个绘画用的单个笔刷一样,每个小波不是图像本身,但是众多小波在一起就能重建任何东西。不像绘画中的一支笔刷,一个小波能被做成任意小;一个小波没有物理尺寸限制是因为它在计算机内存中是以一系列简单的0和1存储的。

       与普遍的想法相反,小波它们本身不能压缩一幅图像,它们的工作是使压缩成为可能。要理解为什么,先假设一幅图像被一系列间隔的数字所编码,比如1,3,7,9,8,8,6,2。如果每个数字代表一个像素的亮暗程度,用0代表白,15代表黑,则这个字符串代表某一类在一个亮度背景下(1的,2的和3的)对象(7的,8的和9的)。

        多分辨率分析最简单形式对图像的滤波是通过把每一个相邻像素值平均。在上面的例子中,字符串结果是2,8,8,4:一个低分辨率图像仍然显示一个亮背景下的灰度对象。如果我们想从这里去重构一幅原始图像的退化版本,我们就需要重复每个数字,即为2,2,8,8,8,8,4,4。

        然而,假设我们想去完美的重现原始图像。我们在第一步中就必须保存一些附加信息,就是从低分辨率信号去获得高分辨率信号所能添加或减去的一个数字集合。这这个例子中,那些数字是-1,-1,0,2。(例如,把-1加到退化图像的第一个像素,则原始图像的第一个像素为1;用退化图像的第二个像素减去-1,就是原始图像的第二个像素)

        因此多分辨率分析的第一级把原始信号分割成低分辨率部分(2,8,8,4)和一个高分辨率部分或细节部分(-1,-1,0,2)。这高频率细节也成为Haar小波系数。事实上,整个程序就是在1909年发明的Haar小波变换的多分辨率版本。

        似乎不能认为小波变换的第一步已经得到所有。原始信号中有8个数字,变换中仍然有8个数字。但在典型数字图像中,大部分像素都与它们的邻像素非常相似:Sky pixels will occur next to sky pixels, forest pixels next to forest pixels。这意味着相邻像素的平均值将最有可能与原始像素值一样,因此细节系数的大多数会是0,或者非常接近0。如果我们把那些系数简单近似为0,我们需要的仅有信息就保留在低分辨率图像加上没有近似为0的一些细节系数之上。因此,需要存储图像的数据量已被压缩了将近一半。把高精度数字近似成只有更少数字的较低精度的过程称为量化(WSQ中的Q)

         变换和量化过程可以重复多次,每次以2的倍数来减少信息比特数,而且还平滑地降低图像的质量。根据用户的需求,这个过程可在更低分辨率开始出现之前停止,或者继续下去获得具有越来越精确细节的超低分辨率图像。用JPEG2000标准,在图像质量没有视觉上变化下可压缩到200:1。这样的小波分解可以通过一次平均多于2个邻像素值来获得,例如,最简单的Daubechies小波变换组合4个像素组成的组,用6个,8个甚至更多个来平滑一个。

        小波的一个令人着迷的特性是它们能跟我们人眼一样自动挑出相同的特征。那些量化后留下的小波系数与那些特别不同于邻像素的像素是对应的,比如一幅图像的边缘。因此,小波大多数是从图画边缘来重造图像,这些图画边缘是人们在描绘一张图画时所画的。的确,一些研究者指出小波变换与人类视觉之间的类似不是偶然的,那是我们的神经以与小波类似的方法对视觉信号进行滤波。

六、将来的小波(Wavelets in the Future)

        随着小波理论的基础建立起来,这个领域在随后的时间会有飞速的发展。关于小波的研究名单从1990年的40人到目前在线时事通讯的投稿人超过了17000人。而且,它还会通过理论与实践的结合继续进化。工程师不断地在尝试新的应用,对数学家来说,仍有重要的理论问题需要解答。

        尽管小波在图像压缩里面很出名,但许多的研究者对把小波用于模式识别感兴趣,比如,在天气预报中,它们能减少计算机模型带来的庞大数据。从传统上讲,这些模型对气压在巨大的数据表格点上进行采样,然后用这些信息预测这些数据将会怎样变化。然而,这种方法占用了大量的计算机内存。一个气候模型使用一个1000×1000×1000的格子需要十亿数据点,而这仍然是一个十分粗糙的模型。

        然而,格子中的大多数数据都是冗余的。在你的城镇的大气压可能与一里外的大气压一样。如果把小波用于天气模型,它们能用与天气预报采用的同样方法观察数据,关注于那些有显著变化的地方。在液体动力学的其他问题也可用同样方法来解决。比如,在Los Alamos 国家实验室,小波用于研究一颗炸弹爆炸所产生的震荡波。

        正如近期上演的计算机漫画的电影所描述的一样,小波在电影里也有着明媚的未来。因为小波变换是一个可逆过程,它能容易地合成一幅图像,也能容易地分析它。这种观点与一种新计算机漫画方法有关,这种方法称为Subdivision Surfaces,基本上是在逆变换中使用多分辨率分析:为了画一个卡通人物,漫画家仅仅需要指定一些关键点的移动路线,就能创建一个低分辨率的人物。然后计算机做可逆的多分辨分析,使得人物像一个真人一样,而不是一个呆板的图画。

        Subdivision Surfaces在1998年的电影《一只甲壳虫的生活》中得到应用,取代了NURBs的笨拙方法。NURBs方法在1995年的一个Toy Story电影中使用过。有趣的是,在1999年的Toy Story2中用到了这两种方法,在里面Toy Story1中的人物保留了NURBs,但是新人物是基于Subdivision Surfaces的。Subdivision Surfaces的下一个领域可能是视频游戏,在这里它们都消除了今天图像里的块效应。

        同时,在理论这一方面,数学家们仍然在针对二维和三维图像寻找更好形式的小波。尽管标准小波方法善于挑边缘,但是它们是一次一个像素来完成,这对表示一些非常简单的曲线或直线是效率低下的。斯坦福大学的David Donoho和Emmanuel Candès提出了一种新类小波,叫做“ridgelets”,特别设计用来检测沿线的不连续部分。其他研究者正在研究多小波,能用来编码在同一条传输线上传输的多种信号,比如彩色图像中的三种颜色值在一次被传输时。

      当问到去判断数学的价值时,数学家经常指出,开发去解决纯数学问题的观念在若干年后会产生不可预料的应用。但是小波的故事描绘出更复杂和更有意思的画面,在这种情形下,特定的应用研究会产生新的理论合成,反过来也会开拓科学家开发新应用的视野。小波的更广泛的含义是我们不应当把基础应用科学作为研究的终点,好的科学需要我们既看到理论上的森林,也看到实践中的树。

【后记】:对这篇文章的再次翻译原于自己找不到以前翻译做过的笔记,更重要的是自己喜欢Dana Mackenzie写的这篇小波。他没有用精密的数学公式来演绎,而是用很简洁的语言向我们阐述了小波的发展史和对小波的理解,文章深入浅出,对了解小波全貌很有帮助。“看森林也看树木”一下子概括了小波的独有特性,这也是它优于傅立叶变换的地方。我们看到,在这短短的二十年里,小波得到了迅速地发展,从理论到应用,而且它的应用远没有停止。自从选了图像处理与计算机视觉作为研究方向,就选了《小波分析》这门课,里面全定理和公式,很难理解掌握。但看了这篇文章,再回过头去深入学习,发觉对小波的特性有了深刻的了解,也看到了它在图像处理中发挥出的巨大作用,自己也把小波应用于课题研究,相信在以后,小波会以它独特的优势在图像处理领域发挥更大的作用!

0 0
原创粉丝点击