《計算機視覺:算法與應用》探索了用于分析和解釋圖像的各種常用技術,描述了具有一定挑戰(zhàn)性的視覺應用方面的成功實例,兼顧專業(yè)的醫(yī)學成像和圖像編輯與交織之類有趣的大眾應用,以便學生能夠將其應用于自己的照片和視頻,從中獲得成就感和樂趣。本書從科學的角度介紹基本的視覺問題,將成像過程的物理模型公式化,然后在此基礎上生成對場景的逼真描述。作者還運用統(tǒng)計模型來分析和運用嚴格的工程方法來解決這些問題。
《計算機視覺:算法與應用》作為本科生和研究生“計算機視覺”課程的理想教材,適合計算機和電子工程專業(yè)學生使用,重點介紹現實中行之有效的基本技術,通過大量應用和練習來鼓勵學生大膽創(chuàng)新。此外,本書的精心設計和編排,使其可以作為計算機視覺領域中一本獨特的基礎技術參考和最新研究成果文獻。
作為人,我們可以輕松感知周圍的三維世界。相比之下,不管計算機視覺在近年來已經取得多么令人矚目的成果,但要讓計算機能像兩歲小孩那樣解釋和理解圖像,卻仍然是一個遙不可及的夢想。為什么計算機視覺會成為如此富有挑戰(zhàn)性的難題?它當前發(fā)展到了哪個階段? 圍繞著這些問題,《計算機視覺:算法與應用》探索了用于分析和解釋圖像的各種常用方法,描述了42個成功的視覺應用實例,既有醫(yī)學成像之類的專業(yè)應用,又有圖像編輯和拼接之類有趣的大眾應用。這種精心的編排和設計有利于學生將這些看似高深的技術應用于自己的照片和視頻,從而在趣味橫生的動手實踐中獲得成就感。 本書主題和特色: 編排結構有利于活躍課堂氣氛,適合面向項目的課程,針對各種特定課程提供了本書使用提示 各章末尾的習題著重強調對算法的測試,重點包含大量針對小型期中課題的建議 附錄中提供額外的補充材料和更詳細的數學知識介紹,包括線性代數、數值方法和貝葉斯估計理論 完整的參考文獻和各章的補充閱讀,全面覆蓋各個子領域的最新研究進展和成果
序
本書萌芽于2001年,當時,華盛頓大學的Steve Seitz邀我和他一起講一門課,課程名稱是“面向計算機圖形學的計算機視覺”。那個時候,計算機圖形學領域正在越來越多地使用計算機視覺技術,用它來創(chuàng)建基于圖像的真實物體的模型,用于產生視覺效果,用于通過計算攝影學技術來合并真實影像。我們決定聚焦于計算機視覺在若干有趣問題中的應用,例如使用個人照片的圖像拼接和基于照片的3D建模等,這一想法引起了學生們的共鳴。
從那時起,華盛頓大學和斯坦福大學就一直使用類似的課程大綱和項目導向的課程結構來進行常規(guī)計算機視覺課程的教學(在斯坦福大學,在2003年這門課程由我和David Fleet共同講授)。類似的課程大綱也被其他很多大學所采用,并被納入計算攝影學相關的更專業(yè)的課程。(有關如何在課程中使用本書的建議,請參見1.4節(jié)的表1.1。)
本書還反映了我在企業(yè)研究實驗室(DEC劍橋研究實驗室和微軟研究院)這二十年的計算機視覺研究經歷。在從事研究的過程中,我主要關注在真實世界中具有實際應用的問題和在實踐中行之有效的方法(算法)。因此,本書更強調在真實世界條件下有效的基本方法,而較少關注內在完美但難以實際應用的神秘的數學內容。
本書適用于計算機科學和電子工程專業(yè)高年級本科的計算機視覺課程。學生最好已經修過圖像處理或計算機圖形學課程,這樣一來,便可以少花一些時間來學習一般性的數學背景知識,多花一些時間來學習計算機視覺技術。本書也適用于研究生的計算機視覺課程(通過專研更富有挑戰(zhàn)性的應用和算法領域),作為基本技術和近期研究文獻的參考用書。為此,我盡量嘗試引用每個子領域中最新的研究進展,即便其技術細節(jié)過于復雜而無法在本書中涉及。
在課程教學過程中,我們發(fā)現,要使學生從容應對真實圖像及其帶來的挑戰(zhàn),讓他們嘗試實現一些小的課程設計(通常一個建立在另一個基礎之上),是很有幫助的。隨后,要求學生分成組選擇各自的主題,完成最終的課程設計。(有時,這些課程設計甚至能轉換為會議論文!)本書各章最后的習題包含有關小型中期課程設計題目的很多建議,也包含一些更開放的問題,這些問題的解決仍然是活躍的研究課題。只要有可能,我都會鼓勵學生用他們自己的個人照片來測試他們的算法,因為這可以更好地激發(fā)他們的興趣,往往會產生富有創(chuàng)造性的衍生問題,使他們更熟悉真實影像的多樣性和復雜性。
在闡述和解決計算機視覺問題的過程中,我常常發(fā)現從三個高層途徑獲取靈感是有幫助的。
* 科學層面:建立圖像形成過程的詳細模型,為了恢復感興趣量而構建其逆過程的數學方法(必要時,做簡化假設使其在數學上更容易處理)。
* 統(tǒng)計層面:使用概率模型來量化產生輸入圖像的未知量先驗似然率和噪聲測量過程,然后推斷所期望量的最可能的估計并分析其結果的不確定程度。使用的推斷算法往往與用于逆轉(科學的)圖像形成過程的優(yōu)化方法密切相關。
* 工程層面:開發(fā)出易于描述和實現且已知在實踐中行之有效的方法。測試這些方法,以便于了解其不足和失效模態(tài),及其期望的計算代價(運行時的性能)。
以上這三個途徑相互依存,并且貫穿本書始終。
我個人的研究和發(fā)展哲學(本書中的習題亦然)非常強調算法測試。在計算機視覺領域,提出一個算法在少數幾幅圖像上使某件事似乎可以做而不是把某件事做對,這太容易了。要想使算法有效,最理想的途徑是使用一種“三部曲”策略。
首先,在干凈的合成數據上測試算法,因為已知其精確結果。其次,在該數據上增加噪聲,評測性能是怎樣作為噪聲水平的函數退化的。最后,在真實世界數據上測試算法,優(yōu)先取自廣泛輸入源的數據,比如萬維網上的照片。只有這樣,我們才能確信該算法能夠處理真實世界的復雜性,即不符合某種簡化模型或假設的圖像。
為了在這一過程中幫助學生,本書附帶大量補充閱讀材料,這些都可以在本書網站找到,網址為http://szeliski.org/Book。具體資源類別(參見附錄C的描述)如下:
* 指向萬維網上可以找到的問題的常用數據集的鏈接;
* 指向軟件庫的鏈接,可幫助學生從基本任務入手,比如讀/寫圖像或創(chuàng)建和操作圖像;
* 與本書素材對應的幻燈片;
* 本書所引用的論文文獻列表。
在本領域發(fā)表新論文的教師和研究人員可能對后兩項資源更感興趣,但即便是普通學生,遲早也會發(fā)現它們是很有用的。有些軟件庫包含廣泛的計算機視覺算法的實現,能幫助你應對更難的項目(征得導師同意的情況下)。
致謝
我要感謝對本書寫作有幫助的所有人,他們的研究熱情、咨詢和鼓勵幫助我寫就本書。
McGill大學的Steve Zucker是第一個引導我涉足計算機視覺領域的人,他教導我們所有的學生要敢于質疑和辯論研究結果和研究方法,鼓勵我攻讀這個領域的研究生。
我的博士論文導師,卡內基·梅隆大學的Takeo Kanade(金出武雄)和Geoff Hinton,教給我良好的研究、寫作和報告的基本方法。他們激發(fā)了我對視覺處理、3D建模和統(tǒng)計方法的興趣,與此同時,Larry Matthies讓我見識了卡爾曼濾波和立體匹配。
Demetri Terzopoulos是我在涉足工業(yè)界后從事第一份研究工作的導師,他教給我成功發(fā)表論文的方法。Yvan Leclerc和Pascal Fua,我在斯坦福研究院(SRI International)短暫停留期間的同事,在可供選擇的計算機視覺研究方法方面給予我新的觀點。
在DEC劍橋研究實驗室工作的六年里,我有幸與很多同事共同工作,包括Ingrid Carlbom,Gudrun Klinker,Keith Waters,Richard Weiss,Stephane Lavallee和Sing Bing Kang(江勝明),同時也指導了最初的一大批杰出的暑期實習生,包括David Tonnesen,Sing Bing Kang(江勝明),James Coughlan,Harry Shum(沈向洋)。正是在這里,我與Daniel Scharstein就此開始長期合作,他目前在Middlebury學院工作。
在微軟研究院,我非常榮幸能和世界上最好的一些計算機視覺與計算機圖形學領域的研究員一起工作,他們是:Michael Cohen,Hugues Hoppe,Stephen Gortler,Steve Shafer,Matthew Turk,Harry Shum(沈向洋),Anandan,Phil Torr,Antonio Criminisi,Georg Petschnigg,Kentaro Toyama,Ramin Zabih,Shai Avidan,Sing Bing Kang(江勝明),Matt Uyttendaele,Patrice Simard,Larry Zitnick,Richard Hartley,Simon Winder,Drew Steedly,Chris Pal,Nebojsa Jojic,Patrick Baudisch,Dani Lischinski,Matthew Brown,Simon Baker,Michael Goesele,Eric Stollnitz,David Nistér,Blaise Aguera y Arcas,Sudipta Sinha,Johannes Kopf,Neel Joshi,Krishnan Ramnath。我也非常幸運能有如此杰出的實習生,他們是Polina Golland,Simon Baker,Mei Han(韓玫),Arno Sch?dl,Ron Dror,Ashley Eden,Jinxiang Chai(柴金祥),Rahul Swaminathan,Yanghai Tsin(秦漾海),Sam Hasinoff,Anat Levin,Matthew Brown,Eric Bennett,Vaibhav Vaish,Jan-Michael Frahm,James Diebel,Ce Liu(劉策),Josef Sivic,Grant Schindler,Colin Zheng,Neel Joshi,Sudipta Sinha,Zeev Farbman,Rahul Garg,Tim Cho,Yekeun Jeong,Richard Roberts,Varsha Hedau,Dilip Krishnan。
在微軟工作時,我還有機會與在華盛頓大學的杰出的同事合作,我是該校的合聘教授。我要感謝Tony DeRose和David Salesin,是他們最初鼓勵我參與華盛頓大學正在進行的研究。我要感謝我的長期合作者Brian Curless,Steve Seitz,Maneesh Agrawala,Sameer Agarwal,Yasu Furukawa。還要感謝我指導且和與我配合很好的學生,他們是:Frederic Pighin,Yung-Yu Chuang,Doug Zongker,Colin Zheng,Aseem Agarwala,Dan Goldman,Noah Snavely,Rahul Garg,Ryan Kaminsky。正如序開始時所提到的,本書發(fā)端于Steve Seitz邀請我一起講授的視覺課程,源于Steve的鼓勵、課程筆記和編輯輸入。
我還要感謝許多其他的計算機視覺研究人員,他們給了我很多關于本書的建設性建議,包括:Sing Bing Kang(江勝明),他是我的非正式版圖書編輯;Vladimir Kolmogorov,他撰寫了關于MRF推斷的線性規(guī)劃方法之附錄B.5.5;Daniel Scharstein,Richard Hartley,Simon Baker,Noah Snavely,Bill Freeman,Svetlana Lazebnik,Matthew Turk,Jitendra Malik,Alyosha Efros,Michael Black,Brian Curless,Sameer Agarwal,Li Zhang(張力),Deva Ramanan,Olga Veksler,Yuri Boykov,Carsten Rother,Phil Torr,Bill Triggs,Bruce Maxwell,Jana Kosecka,Eero Simoncelli,Aaron Hertzmann,Antonio Torralba,Tomaso Poggio,Theo Pavlidis,Baba Vemuri,Nando de Freitas,Chuck Dyer,Song Yi(宋毅),Falk Schubert,Roman Pflugfelder,Marshall Tappen,James Coughlan,Sammy Rogmans,Klaus Strobel,Shanmuganathan,Andreas Siebert,Yongjun Wu(吳勇軍),Fred Pighin,Juan Cockburn,Ronald Mallet,Tim Soper,Georgios Evangelidis,Dwight Fowler,Itzik Bayaz,Daniel O’Connor,Srikrishna Bhat。Shena Deuchers極為出色地完成了本書的排版編輯工作,提出了很多有價值的改進建議。Springer出版社的Wayne Wheeler和Simon Rees在本書整個出版過程中對我?guī)椭艽。Keith Price的“Annotated Computer Vision Bibliography”(注解版計算機視覺參考文獻)對追溯參考文獻和查找相關工作起著非常重要的作用。
我期望這本書準確、信息可靠和及時,所以如果你有任何改進本書的建議,不妨發(fā)電子郵件告訴我。
最后,沒有家人難以置信的支持和鼓勵,本書不可能問世,或者說不值得費時費力。謹以此書獻給我的父母,Zdzis?aw 和 Jadwiga,他們的愛、慷慨和成就總是激勵著我;獻給我的妹妹Basia,因為她對我所付出的畢生的手足之情;特別獻給Lyn,Anne和Stephen,他們在所有事情(包括本書這個項目)上每天都給予我鼓勵,使所有事情都有非凡的價值。
Wenatchee湖畔
2010年8月
Richard Szeliski博士計算機視覺領域的大師級人物。Szeliski博士在計算機視覺研究方面有25年以上的豐富經驗,先后任職干DEC和微軟研究院。1996年,他在微軟研究院任職期間,提出一種基于運動的全景圖像拼接模型,采用L-M算法,通過求圖像間的幾何變換關系來進行圖像匹配。此方法是圖像拼接領域的經典算法,Richard Szeliski也因此成為圖像拼接領域的奠基人。
艾海舟博士,清華大學計算機系教授,IEEE高級會員和IEEECS會員。先后于1985年、1988年和1991年獲得清華大學工學學士、碩士和博士學位,博士論文榮獲“1992年度清華大學優(yōu)秀博士論文”獎。1994-1996年,在比利時布魯塞爾自由大學做博士后研究。目前,在清華大學教授“數字圖像處理”和“計算機視覺”課程,研究方向為計算機視覺與模式識別。發(fā)表學術論文80余篇。
第1章 概述
么是計算機視覺?
簡史
本書概述
課程大綱樣例
標記法注釋
第2章 圖像形成
幾何基元和變換
光度測定學的圖像形成
數字攝像機
第3章 圖像處理
點算子
線性濾波
更多的鄰域算子
傅里葉變換
金字塔與小波
幾何變換
全局優(yōu)化
第4章 特征檢測與匹配
點與塊
邊緣
線條
第5章 分割
活動輪廓
分裂與歸并
均值移位和模態(tài)發(fā)現
規(guī)范圖割
圖割和基于能量的方法
第6章 基于特征的配準
基于2D和3D特征的配準
姿態(tài)估計
幾何內參數標定
第7章 由運動到結構
三角測量
二視圖由運動到結構
因子分解
光束平差法
限定結構和運動
第8章 稠密運動估計
平移配準
參數化運動
基于樣條的運動
光流
層次運動
第9章 圖像拼接
運動模型
全局配準
合成
第10章 計算攝影學
光度學標定
高動態(tài)范圍成像
超分辨率和模糊去除
圖像摳圖和合成
紋理分析與合成
第11章 立體視覺對應
極線幾何學
稀疏對應
稠密對應
局部方法
全局優(yōu)化
多視圖立體視覺
第12章 3D重建
由X到形狀
主動距離獲取
表面表達
基于點的表達
體積表達
基于模型的重建一恢復紋理映射與反照率
第13章 基于圖像的繪制
視圖插值
層次深度圖像
光場與發(fā)光圖
環(huán)境影像形板
基于視頻的繪制
第14章 識別
物體檢測
人臉識別
實例識別
類識別
上下文與場景理解
識別數據庫與測試集