最近在做图像处理方面的事情,遇到很多卷积。其实以前学信号的时候也遇到过。一直都是云里雾里,看了这篇讲解还是比较生动透彻的,拿来跟大家分享~~
原文转载自:http://blog.csdn.net/yeeman/article/details/6325693
卷积
最近总是和卷积打交道,工作需要,每天都要碰到它好几次,不胜烦恼,因为在大学时候学信号与系统的时候就没学会,我于是心想一定要把卷积完全搞明白。正好同办公室的同学也问我什么是卷积,师姐昨天也告诉我说:"我也早就想把这个问题搞明白了!"经过一段时间的思考之后,有一些很有趣的体会和大家分享。
听说卷积这种运算式物理学家发明的,在实际中用得不亦乐乎,而数学家却一直没有把运算的意义彻底搞明白。仔细品以下,还是有那么点滋味的。
下面先看一下剑桥大学的教科书对卷积的定义:
我们都知道这个公式,但是它有什么物理意义呢,平时我们用卷积做过很多事情,信号处理时,输出函数是输入函数和系统函数的卷积,在图像处理时,两组幅分辨率不同的图卷积之后得到的互相平滑的图像可以方便处理。卷积甚至可以用在考试作弊中,为了让照片同时像两个人,只要把两人的图像卷积处理即可,这就是一种平滑的过程,可是我们怎么才能真正把公式和实际建立起一种联系呢,也就是说,我们能不能从生活中找到一种很方便且具体的例子来表达公式的物理意义呢?
有一个七品县令,喜欢用打板子来惩戒那些市井无赖,而且有个惯例:如果没犯大罪,只打一板,释放回家,以示爱民如子。
有一个无赖,想出人头地却没啥指望,心想:既然扬不了善名,出恶名也成啊。怎么出恶名?炒作呗!怎么炒作?找名人呀!他自然想到了他的行政长官——县令。
无赖于是光天化日之下,站在县衙门前撒了一泡尿,后果是可想而知地,自然被请进大堂挨了一板子,然后昂首挺胸回家,躺了一天,嘿!身上啥事也没有!第二天 如法炮制,全然不顾行政长管的仁慈和衙门的体面,第三天、第四天......每天去县衙门领一个板子回来,还喜气洋洋地,坚持一个月之久!这无赖的名气已 经和衙门口的臭气一样,传遍八方了!
县令大人噤着鼻子,呆呆地盯着案子上的惊堂木,拧着眉头思考一个问题:这三十个大板子怎么不好使捏?......想当初,本老爷金榜题名时,数学可是得了满分,今天好歹要解决这个问题:
——人(系统!)挨板子(脉冲!)以后,会有什么表现(输出!)?
——费话,疼呗!
——我问的是:会有什么表现?
——看疼到啥程度。像这无赖的体格,每天挨一个板子啥事都不会有,连哼一下都不可能,你也看到他那得意洋洋的嘴脸了(输出0);如果一次连揍他十个板子, 他可能会皱皱眉头,咬咬牙,硬挺着不哼(输出1);揍到二十个板子,他会疼得脸部扭曲,象猪似地哼哼(输出3);揍到三十个板子,他可能会象驴似地嚎叫, 一把鼻涕一把泪地求你饶他一命(输出5);揍到四十个板子,他会大小便失禁,勉强哼出声来(输出1);揍到五十个板子,他连哼一下都不可能(输出0)—— 死啦!
县令铺开坐标纸,以打板子的个数作为X轴,以哼哼的程度(输出)为Y轴,绘制了一条曲线:
——呜呼呀!这曲线象一座高山,弄不懂弄不懂。为啥那个无赖连挨了三十天大板却不喊绕命呀?
——呵呵,你打一次的时间间隔(Δτ=24小时)太长了,所以那个无赖承受的痛苦程度一天一利索,没有叠加,始终是一个常数;如果缩短打板子的时间间隔 (建议Δτ=0.5秒),那他的痛苦程度可就迅速叠加了;等到这无赖挨三十个大板(t=30)时,痛苦程度达到了他能喊叫的极限,会收到最好的惩戒效果, 再多打就显示不出您的仁慈了。
——还是不太明白,时间间隔小,为什么痛苦程度会叠加呢?
——这与人(线性时不变系统)对板子(脉冲、输入、激励)的响应有关。什么是响应?人挨一个板子后,疼痛的感觉会在一天(假设的,因人而异)内慢慢消失 (衰减),而不可能突然消失。这样一来,只要打板子的时间间隔很小,每一个板子引起的疼痛都来不及完全衰减,都会对最终的痛苦程度有不同的贡献:
t个大板子造成的痛苦程度=Σ(第τ个大板子引起的痛苦*衰减系数)[衰减系数是(t-τ)的函数,仔细品味]
数学表达为:y(t)=∫T(τ)H(t-τ)
——拿人的痛苦来说卷积的事,太残忍了。除了人以外,其他事物也符合这条规律吗?
——呵呵,县令大人毕竟仁慈。其实除人之外,很多事情也遵循此道。好好想一想,铁丝为什么弯曲一次不折,快速弯曲多次却会轻易折掉呢?
——恩,一时还弄不清,容本官慢慢想来——但有一点是明确地——来人啊,将撒尿的那个无赖抓来,狠打40大板!
傅立叶变换和卷积的物理意义
这里没有数学公式,倒不是像费曼那样高风亮节,而是这里输入公式太烦,不然...
突然说这个话题是因为在水房洗衣的时候,一数学系正在刮胡子的哥们突然问我傅立叶变换的物理意义是什么?当时我就死机了,不知怎么答。
傅立叶变换伴随了我四年,从数学分析课上学会计算,然后光学中的夫朗和费衍射,接着信号处理,然后是SRTP中的数字全息都和这个息息相关,可是,课堂上强调的是会算,会用就行了,而对其物理意义,书上语焉不详,老师只字未提。
傅立叶变换的产生,是一个叫约瑟夫.傅立叶的法国人《热的分析理论》中作为一个数学工具而引入的,所以它的发展一直在其工具出身的阴影下,对于其意义不同学科有不同版本的阐释,但更多的是作为一个计算工具辅助计算,所以要我说其有什么物理意义,一时间真的不知怎么回答。
于是我只好举个例子,傅立叶变换在光学上的物理意义。
我们都知道,会聚透镜(简单地说,就是普通的凸透镜啦)除了具有成像性质外,最有用的就是它还具有进行二维傅 立叶变换的本领。由物理光学可知,在单位振幅的平面光波垂直照明下 的夫朗和费衍射,恰好实现衍射屏透过率函数的傅立叶变换。
即一束光通过凸透镜在焦平面上采集到的图像即为这束光的频率空间信息,亦即数学上对这束光进行一次傅立叶变换后的结果。
所以傅立叶变换在这里的物理意义就是将光的空间分布转换为频率分布(相空间),在靠近原点的部分为图像低频部分,远离原点部分为图像高频部分。
这时那哥们就问:那么变换后高频部分对应图像的哪一部分呢?因为有个老师讲课时说,原来原点部分对应变换后距原点无穷远处,而原来的无穷远处则对应变换后的原点。(我突然想起了倒易空间,联想到这个没什么道理)
直觉上我觉得这样说是错误的,因为傅立叶变换并非一一对应的,频率空间上任何一处,哪怕只有一点都与原来的整幅图像有关,也就是说,这是非局域性的。
举个例子,全息图,任取全息图的一部分还原(做一次逆傅立叶变换)成的图像都是原来的整幅图像,但由于高频信息的缺失所以还原图像比原图像要模糊。
而频率空间体现的是什么呢?是原图像的变化程度。举个最简单的例子,一束平行光经过凸透镜后在焦平面(即频率空间)上会聚为一点,在数学上就是平面波函数经过傅立叶变换后得到一个常量(信号处理上又称为直流量),意思是原来的图像(平面波)没有"起伏"(即光强变化,因为是平行光),所以在原点(低频)处有一点强光,数学上是冲击函数,这样搞过信号的人大概会共鸣了吧。
没错!信号书上经典例题,对阶跃函数和冲击函数通过傅立叶变换在物理光学上的对应就是平行光通过凸透镜。
这就是傅立叶变换在光学上的物理意义,至于傅立叶变换在量子力学上的意义...不写公式光靠文字描述的话我讲不清楚。
还有就是卷积了,我只能说,它的图像意义便是两个函数随着自变量的变化不断重叠的面积的叠加,至于其物理意义我就说不清了,因为我接触卷积以来,它都只是计算工具,拉普拉斯变换啊之类的用于计算两个函数叠加的工具,变换之后又做逆变换,然后很方便地得出正确结果。
我知道这肯定是不足的,除了知道怎么算(这是基础!),然后知道图像意义,可是卷积肯定有对应的物理意义。工科老师上课时只是把这个当成一个工具,能用就行,可是这对学物理的我来说,对why有一种近似着魔的obsession,就像Nolan的《The Prestige》里面对决的两个魔术师一样...
P.S.Google卷积的物理意义得到的多数是定义,数学表达,图像意义,或者干脆给个例题:一个系统,其单位冲激响应为h(t),当输入信号为f(t)时,该系统的输出为y(t)。y(t)是f(t)和h(t)的卷积。
这些都不是其物理意义,最好给一个物理过程对应卷积的计算过程。