如何學(xué)好圖像處理——從小白到大神?
什么是數字圖像處理?歷史、以及它所研究的內容
本文引用地址:http://dyxdggzs.com/article/201702/344072.htm說(shuō)起圖像處理,你會(huì )想到什么?你是否真的了解這個(gè)領(lǐng)域所研究的內容??v向來(lái)說(shuō),數字圖像處理研究的歷史相當悠久;橫向來(lái)說(shuō),數字圖像處理研究的話(huà)題相當廣泛。
數字圖像處理的歷史可以追溯到近百年以前,大約在1920年的時(shí)候,圖像首次通過(guò)海底電纜從英國倫敦傳送到美國紐約。圖像處理的首次應用是為了改善倫敦和紐約之間海底電纜發(fā)送的圖片質(zhì)量,那時(shí)就應用了圖像編碼,被編碼后的圖像通過(guò)海底電纜傳送至目的地,再通過(guò)特殊設備進(jìn)行輸出。這是一次歷史性的進(jìn)步,傳送一幅圖片的時(shí)間從原來(lái)的一個(gè)多星期減少到了3小時(shí)。
1950年,美國的麻省理工學(xué)院制造出了第一臺配有圖形顯示器的電子計算機——旋風(fēng)I號(Whirlwind I)。旋風(fēng)I號的顯示器使用一個(gè)類(lèi)似于示波器的陰極射線(xiàn)管(Cathode Ray Tube,CRT)來(lái)顯示一些簡(jiǎn)單的圖形。1958年美國Calcomp公司研制出了滾筒式繪圖儀,GerBer公司把數控機床發(fā)展成為平板式繪圖儀。在這一時(shí)期,電子計算機都主要應用于科學(xué)計算,而為這些計算機配置的圖形設備也僅僅是作為一種簡(jiǎn)單的輸出設備。
隨著(zhù)計算機技術(shù)的進(jìn)步,數字圖像處理技術(shù)也得到了很大的發(fā)展。1962年,當時(shí)還在麻省理工學(xué)院攻讀博士學(xué)位的伊凡·蘇澤蘭(Ivan Sutherland)成功開(kāi)發(fā)了具有劃時(shí)代意義的“畫(huà)板”(Sketchpad)程式。而這正是有史以來(lái)第一個(gè)交互式繪圖系統,同時(shí)這也是交互式電腦繪圖的開(kāi)端。從此計算機和圖形圖像被更加緊密地聯(lián)系到了一起。鑒于伊凡·蘇澤蘭為計算機圖形學(xué)創(chuàng )立所做出的杰出貢獻,他于1988年被授予計算機領(lǐng)域最高獎——圖靈獎。
1964年,美國加利福尼亞的噴氣推進(jìn)實(shí)驗室用計算機對“旅行者七號”太空船發(fā)回的大批月球照片進(jìn)行處理,以校正航天器上攝影機中各種類(lèi)型的圖像畸變,收到了明顯的效果。在后來(lái)的宇航空間技術(shù)中,數字圖像處理技術(shù)都發(fā)揮了巨大的作用。
到了20世紀60年代末期,數字圖像處理已經(jīng)形成了比較完善的學(xué)科體系,這套理論在20世紀70年代發(fā)展得十分迅速,并開(kāi)始應用于醫學(xué)影像和天文學(xué)等領(lǐng)域。1972年,美國物理學(xué)家阿倫·馬克利奧德·柯麥科(Allan MacLeodCormack)和英國電機工程師戈弗雷·紐博爾德·豪恩斯弗爾德(Godfrey Newbold Housfield)發(fā)明了軸向斷層術(shù),并將其用于頭顱診斷。世界第一臺X射線(xiàn)計算機軸向斷層攝影裝置由EMI公司研制成功,這也就是人們通常所說(shuō)的CT(Computer Tomograph)。CT可通過(guò)一些算法用感知到的數據去重建通過(guò)物體的“切片”圖像。這些圖像組成了物體內部的再現圖像,也就是根據人的頭部截面的投影,經(jīng)計算機處理來(lái)進(jìn)行圖像重建。鑒于CT對于醫學(xué)診斷技術(shù)的發(fā)展所起到的巨大推動(dòng)作用,柯麥科和豪恩斯弗爾德于1979年獲得了諾貝爾生理或醫學(xué)獎。
隨后在2003年,諾貝爾生理或醫學(xué)獎的殊榮再次授予了兩位在醫療影像設備研究方面做出杰出貢獻的科學(xué)家——美國化學(xué)家保羅·勞特伯爾(Paul Lauterbur)和英國物理學(xué)家彼得·曼斯菲爾(Peter Mansfield)。兩位獲獎?wù)咴诶么殴舱癯上?Magnetic Resonance Imaging,MRI)顯示不同結構方面分別取得了開(kāi)創(chuàng )性成就。瑞典卡羅林斯卡醫學(xué)院稱(chēng),這兩位科學(xué)家在MRI領(lǐng)域的開(kāi)創(chuàng )性工作,代表了醫學(xué)診療和研究的重大突破。而事實(shí)上,核磁共振的成功同樣也離不開(kāi)數字圖像處理方面的發(fā)展。即使在今天,諸如MRI圖像降噪等問(wèn)題依然是數字圖像處理領(lǐng)域的熱門(mén)研究方向。
說(shuō)到數字圖像的發(fā)展歷程,還有一項至關(guān)重要的成果不得不提,那就是電荷耦合元件(Charge-coupled Device,CCD)。CCD最初是由美國貝爾實(shí)驗室的科學(xué)家維拉德·波義耳(Willard Sterling Boyle)和喬治·史密斯(George Elwood Smith)于1969年發(fā)明的。CCD的作用就像膠片一樣,它能夠把光學(xué)影像轉化為數字信號。今天人們所廣泛使用的數碼照相機、數碼攝影機和掃描儀都是以CCD為基礎發(fā)展而來(lái)的。換句話(huà)說(shuō),我們現在所研究的數字圖像主要也都是通過(guò)CCD設備獲取的。由于波義耳和史密斯在CCD研發(fā)上所做出的巨大貢獻,他們兩人共同榮獲了2009年度的諾貝爾物理學(xué)獎。
數字圖像處理在今天是非常熱門(mén)的技術(shù)之一,生活中無(wú)處不存在著(zhù)它的影子,可以說(shuō)它是一種每時(shí)每刻都在改變著(zhù)人類(lèi)生活的技術(shù)。但長(cháng)久以來(lái),很多人對數字圖像處理存在著(zhù)較大的曲解,人們總是不自覺(jué)地將圖像處理和Photoshop聯(lián)系在一起。大名鼎鼎的Photoshop無(wú)疑是當前使用最為廣泛的圖像處理工具。類(lèi)似的軟件還有Corel公司生產(chǎn)的CorelDRAW等軟件。
盡管Photoshop是一款非常優(yōu)秀的圖像處理軟件,但它的存在并不代表數字圖像處理的全部理論與方法。它所具有的功能僅僅是數字圖像處理中的一部分??偟膩?lái)說(shuō),數字圖像處理研究的內容主要包括如下幾個(gè)方面:
1)圖像獲取和輸出
2)圖像編碼和壓縮
3)圖像增強與復原
4)圖像的頻域變換
5)圖像的信息安全
6)圖像的區域分割
7)圖像目標的識別
8)圖像的幾何變換
但圖像處理的研究?jì)热?,又不僅限于上述內容!所以說(shuō)圖像處理的研究話(huà)題是相當寬泛的。那現在圖像處理都應用在哪些領(lǐng)域呢?或許我們可能熟知的例子有(當然,你應該還能舉出更多例子):
1)一些專(zhuān)業(yè)圖像處理軟件:Photoshop、CorelDRAW……
2)一些手機APP應用:美圖秀秀、玩圖……
3)一些醫學(xué)圖像處理應用:MRI、彩超圖像處理……
4)一些制造業(yè)上的應用:元器件檢測、瑕疵檢測……
5)一些攝像頭、相機上的應用:夜間照片的質(zhì)量改善……
6)一些電影工業(yè)上是應用:換背景、電影特技……
什么樣的人會(huì )去學(xué)(或者需要學(xué))圖像處理?
1)如果你是我上述那些應用領(lǐng)域的從業(yè)者,你當然需要掌握圖像方面的理論和技術(shù);2)相關(guān)專(zhuān)業(yè)的研究人員、大專(zhuān)院校的博士生、研究生。
所謂相關(guān)專(zhuān)業(yè)又是指什么呢?這個(gè)答案也可能相當寬泛,例如(但不僅限于此):Computer Science, Software Engineering, Electronic Engineering,Biomedical Engineering, Automation, Control, Applied Mathematics……
如何學(xué)好圖像處理——我的一些諫言
1)對于初級入門(mén)者
一個(gè)扎實(shí)的基礎和對于圖像處理理論的完整的、系統的整體認識對于后續的深入研究和實(shí)踐應用具有非常非常重要的意義。
我經(jīng)常喜歡拿武俠小說(shuō)《天龍八部》中的一段情節來(lái)向讀者說(shuō)明此中的道理,相信讀者對這部曾經(jīng)被多次搬上銀幕的金庸作品已經(jīng)耳熟能詳了。書(shū)中講到有個(gè)名叫鳩摩智的番僧一心想練就絕世武學(xué),而且他也算是個(gè)相當勤奮的人了。但是,他錯就錯在太過(guò)于急功近利,甚至使用道家的小無(wú)相功來(lái)催動(dòng)少林絕技??瓷先ネo(wú)比,而且可以在短時(shí)間內“速成”,但實(shí)則后患無(wú)窮。最終鳩摩智走火入魔,前功盡廢,方才大徹大悟。這個(gè)故事其實(shí)就告訴我們打牢基礎是非常重要的,特別是要取得更長(cháng)足的發(fā)展,就更是要對基本原理刨根問(wèn)底,力求甚解,從而做到庖丁解牛,游刃有余。
一些看似高深的算法往往是許多基礎算法的組合提升。例如,令很多人望而卻步的SIFT特征構建過(guò)程中,就用到了圖像金字塔、直方圖、高斯濾波這些非常非?;A的內容。但是,它所涉及的基礎技術(shù)顯然有好幾個(gè),如果缺乏對圖像處理理論的系統認識,你可能會(huì )感覺(jué)事倍功半。因為所有的地方好像都是溝溝坎坎。
關(guān)于課程——
在這個(gè)階段其實(shí)對于數學(xué)的要求并不高,你甚至可以從一些感性的角度去形象化的理解圖像處理中很多內容(但不包括頻域處理方面的內容)。具體到學(xué)習的建議,如果有條件(例如你還在高校里讀書(shū))你最好能選一門(mén)圖像處理方面的課程,系統地完整的地去學(xué)習一下。這顯然是入門(mén)的最好辦法。如此一來(lái),在建立一個(gè)完整的、系統的認知上相當有幫助。如果你沒(méi)辦法在學(xué)校里上一門(mén)這樣的課,網(wǎng)上的一些公開(kāi)課也可以試試。但現在中文MOOC上還沒(méi)有這方面的優(yōu)質(zhì)課程推薦。英文的課程則有很多,例如美國加州倫斯勒理工學(xué)院Rich教授的數字圖像處理公開(kāi)課——https://www.youtube.com/channel/UCaiJlKxXamoODQtlx486qJA?spfreload=10。
關(guān)于教材——
顯然,只聽(tīng)課其實(shí)還不太夠,如果能一并讀一本書(shū)就最好了。其實(shí)不用參考很多書(shū),只要一本,你能從頭讀到尾就很好了。如果你沒(méi)有條件去上一門(mén)課,那讀一本來(lái)完整的自學(xué)一下就更有必要了。這個(gè)階段,去網(wǎng)上到處找博客、看帖子是不行的。因為你特別需要在這個(gè)階段對這門(mén)學(xué)問(wèn)建立一個(gè)系統的完整的知識體系。東一塊、西一塊的胡拼亂湊無(wú)疑是坑你自己,你的知識體系就像一個(gè)氣泡,可能看起來(lái)很大,但是又脆弱的不堪一擊。
現在很多學(xué)校采用岡薩雷斯的《數字圖像處理》一書(shū)作為教材。這是一本非常非常經(jīng)典的著(zhù)作。但是我必須要提醒讀者:
1)這是一本專(zhuān)門(mén)為Electronic Engineering專(zhuān)業(yè)學(xué)生所寫(xiě)的書(shū)。它需要有信號與系統、數字信號處理這兩門(mén)課作為基礎。如果你沒(méi)有這兩門(mén)課的基礎,你讀這本書(shū)要么是看熱鬧,要么就是看不懂。
下面是岡書(shū)中的一張插圖。對于EE的學(xué)生來(lái)說(shuō),這當然不是問(wèn)題。但是如果沒(méi)有我說(shuō)的那兩門(mén)課的基礎,其實(shí)你很難把握其中的精髓。H和h,一個(gè)大小一個(gè)小寫(xiě),岡書(shū)中有的地方用H,有的地方用h,這都是有很深刻用意的。原作者并沒(méi)有特別說(shuō)明它們二者的區別,因為他已經(jīng)默認你應該知道二者是不同的。事實(shí)上,它們一個(gè)表示頻域信號,一個(gè)表示時(shí)域信號,這也導致有時(shí)候運算是卷積,有時(shí)候運算是乘法(當然這跟卷積定理有關(guān))。所以我并不太建議那些沒(méi)有這方面基礎的學(xué)生在自學(xué)的時(shí)候讀這本書(shū)。
2)岡薩雷斯教授的《數字圖像處理》第一版是在1977年出版的,到現在已經(jīng)快40年了;現在國內廣泛使用的第二版是2002年出版的(第三版是2007年但是其實(shí)二者差異并不大),到現在也有20年左右的時(shí)間了。事實(shí)上,岡薩雷斯教授退休也有快30年了。所以這本書(shū)的內容已經(jīng)偏于陳舊。數字圖像處理這個(gè)領(lǐng)域的發(fā)展絕對是日新月異,突飛猛進(jìn)的。特別在最近二三十年里,很多新思路,新方法不斷涌現。如果你看了我前面推薦的Rich教授的公開(kāi)課(這也是當前美國大學(xué)正在教學(xué)的內容),你一下子就會(huì )發(fā)現,原來(lái)我們的教育還停留在改革開(kāi)放之前外國的水平上。這其實(shí)特別可怕。所以我覺(jué)得岡薩雷斯教授的《數字圖像處理》作為學(xué)習過(guò)程中的一個(gè)補充還是不錯的,但是如果把它作為主參考,那真的就是:國外都洋槍洋炮了,我們還在大刀長(cháng)矛。
2)對于中級水平者
紙上得來(lái)終覺(jué)淺,絕知此事要躬行。對于一個(gè)具有一定基礎的,想更進(jìn)一步的中級水平的人來(lái)說(shuō),這個(gè)階段最重要的就是增強動(dòng)手實(shí)踐的能力。
還是說(shuō)《天龍八部》里面的一個(gè)角色——口述武功、嘆為觀(guān)止的王語(yǔ)嫣。王語(yǔ)嫣的腦袋里都是武功秘籍,但問(wèn)題是她從來(lái)都沒(méi)練過(guò)一招一式。結果是,然并卵。所以光說(shuō)不練肯定不靈啊。特別是,如果你將來(lái)想從事這個(gè)行業(yè),結果一點(diǎn)代碼都不會(huì )寫(xiě),那幾乎是不可想象的。學(xué)習階段,最常被用來(lái)進(jìn)行算法開(kāi)發(fā)的工具是Matlab和OpenCV。你可以把這兩個(gè)東西都理解為一個(gè)相當完善的庫。當然,在工業(yè)中C++用得更多,所以Matlab的應用還是很有限的。前面我們講到,圖像處理研究?jì)热萜鋵?shí)包括:圖像的獲取和編解碼,但使用Matlab和OpenCV就會(huì )掩蓋這部分內容的細節。你當然永遠不會(huì )知道,JPEG文件到底是如何被解碼的。
如果你的應用永遠都不會(huì )涉及這些話(huà)題,那么你一直用Matlab和OpenCV當然無(wú)所謂。例如你的研究領(lǐng)域是SIFT、SURF這種特征匹配,可以不必理會(huì )編解碼方面的內容。但是如果你的研究話(huà)題是降噪或者壓縮,可能你就繞不開(kāi)這些內容。最開(kāi)始學(xué)的時(shí)候,如果能把這部分內容也自己寫(xiě)寫(xiě),可能會(huì )加深你的理解。以后做高級應用開(kāi)發(fā)時(shí),再調用那些庫。所以具體用什么,要不要自己寫(xiě),是要視你所處的階段和自己的實(shí)際情況而定的。以我個(gè)人的經(jīng)驗,在我自學(xué)的時(shí)候,我就動(dòng)手寫(xiě)了Magic House,我覺(jué)得這個(gè)過(guò)程為我奠定了一個(gè)非常夯實(shí)的基礎,對于我后續的深入研究很有幫助。
下面這個(gè)文中,我給出了一些這方面的資源,代碼多多,很值得參考學(xué)習:圖像處理與機器視覺(jué)網(wǎng)絡(luò )資源收羅http://blog.csdn.NET/baimafujinji/article/details/32332079
3)對于高級進(jìn)階者
到了這個(gè)程度的讀者,編程實(shí)現之類(lèi)的基本功應該不在話(huà)下。但是要往深,往高去學(xué)習、研究和開(kāi)發(fā)圖像處理應用,你最需要的內容就變成了數學(xué)。這個(gè)是攔在很多處于這個(gè)階段的人面前的一大難題。如果你的專(zhuān)業(yè)是應用數學(xué),當然你不會(huì )感覺(jué)有問(wèn)題。但如果是其他專(zhuān)業(yè)背景的人就會(huì )越發(fā)感覺(jué)痛苦。
如果你的圖像處理是不涉及機器學(xué)習內容的,例如用Poisson方程來(lái)做圖像融合,那你就要有PDE數值解方面的知識;如果你要研究KAZE特征,你就必須要知道AOS方面的內容。如果你研究TV降噪,你又要知道泛函分析中的BV空間內容……這些詞你可能很多都沒(méi)聽(tīng)過(guò)??偟膩?lái)說(shuō),這塊需要的內容包括:復變函數、泛函分析、偏微分方程、變分法、數學(xué)物理方法……
如果你要涉足機器視覺(jué)方法的內容,一些機器學(xué)習和數據挖掘方法的內容就不可或缺。而這部分內容同樣需要很強大的數學(xué)基礎,例如最大似然方法、梯度下降法、歐拉-拉格朗日方程、最小二乘估計、凸函數與詹森不等式……
當然,走到這一步,你也已經(jīng)脫胎換骨,從小白到大神啦!路漫漫其修遠兮,吾將上下而求索。
評論