本書主要介紹和探討計算機視覺的一系列核心主題,包括相機成像,圖像處理、分析和感知,三維重建等。首先介紹了相機模型、成像過程以及圖像的顏色模型、照射模型、渲染模型等;然后系統(tǒng)性地介紹了圖像濾波、特征提取、圖像和視頻感知與理解等多種任務,不僅詳細講解了各任務中的經(jīng)典方法,還全面地介紹了前沿的基于深度學習的方法;最后介紹了三維重建中涉及的幾何原理、重建步驟以及基于深度學習的新方法。
本書針對每一個核心問題單獨成章,并著重講解基本概念。通過大量的彩圖,幫助讀者理解問題。適合作為本科及研究生的計算機視覺和數(shù)字圖像處理課程的教材,并且可以作為深度學習課程的參考書。同時,也可供對計算機視覺感興趣的相關專業(yè)人士參考。
本書以作者教學經(jīng)驗和研究成果為基礎,配合大量插圖,詳細講解傳統(tǒng)計算機視覺方法,基于手動特征的經(jīng)典算法,并深入介紹最前沿的深度學習技術。將傳統(tǒng)的知識與深度學習的力量相結(jié)合應對不斷變化的挑戰(zhàn)。
閱讀本書,您既能夠理解計算機視覺的基本原理,又能夠掌握當今最激動人心的技術。
在這個科技日新月異的時代,計算機視覺已然成為一個極具挑戰(zhàn)性和充滿潛力的領域。隨著計算機性能的提升和算法的不斷創(chuàng)新,我們似乎進入了一個全新的視覺時代,一個充滿無限可能性的時代。作為計算機視覺的從業(yè)者,我們深感榮幸,能夠在過去10年里,與眾多杰出的學生和朋友們一同探索這一領域的奧秘,見證計算機視覺從感知到重建的奇妙過程。
本書題為《計算機視覺:從感知到重建》,旨在為您提供一份全面且深入的指南,幫助您踏上探索計算機視覺的壯麗征程。在這本書中,我們將深入探討計算機視覺的一系列核心主題,從相機成像,圖像的處理、分析和感知,一直到三維重建,講解各主題的基礎理論、方法原理和經(jīng)典技術。
我們在此簡要介紹本書中各章的主要內(nèi)容,以便不同背景的讀者更有效地獲取所需信息。例如,剛開始接觸計算機視覺的讀者可以通讀全書并側(cè)重理論部分,有一定相關知識背景的讀者可以針對性地閱讀某些章節(jié)以加深理解,或?qū)⒈緯鳛楣ぞ邥樵兡硞領域的經(jīng)典方法和前沿方法。
第一章:相機成像模型 介紹了計算機視覺領域視角下的相機模型、成像過程以及圖像的顏色模型、亮度模型、渲染模型等。這些內(nèi)容能夠幫助讀者理解數(shù)字圖像的本源,掌握數(shù)字圖像和物理世界之間的邏輯關系、幾何關系,為入門計算機視覺,理解各種計算機視覺算法奠定基礎。
第二章:圖像空間濾波 空間濾波用于改善圖像質(zhì)量、去除噪聲和增強圖像特征,是一種關鍵的圖像處理的技術。本章將介紹多種不同的空間濾波方法,以及它們在圖像增強中的應用。另外,濾波或換言之卷積操作,也將在本書其他章節(jié)中頻繁出現(xiàn),希望讀者通過閱讀本章能夠理解并掌握這種經(jīng)典的數(shù)學方法。
第三章:圖像特征提取 介紹了如何從圖像中提取有意義的信息即圖像特征,包括傳統(tǒng)手動方法和基于深度學習的方法。正如我們?nèi)祟愖R別人臉更多的是借助五官和輪廓特征,而非人臉上的每個毛孔等細節(jié),實際上大多數(shù)的計算機視覺技術并不直接處理數(shù)字圖像,而是基于體量更加精簡、信息更為豐富的圖像特征進行后續(xù)的計算處理。
第四章:圖像分類 介紹了計算機視覺的入門級圖像感知任務,即理解圖像中的主要物體并輸出其類別。包括多種傳統(tǒng)方法和基于深度學習的新方法。本章首次涉及圖像表達、神經(jīng)網(wǎng)絡和卷積神經(jīng)網(wǎng)絡,因此也重點講解了相關的基礎知識。
第五章:圖像中目標檢測 介紹了定位和識別圖像中物體的任務,以及實現(xiàn)目標檢測的技術,包括傳統(tǒng)的方法和最新的深度學習框架。
第六章:圖像分割 介紹了這種將圖像中的每個像素標記為其對應物體類別的任務、語義分割的原理和應用,以及如何使用手動特征或深度學習來實現(xiàn)圖像分割。
第七章:視頻分類和行為識別 介紹了視頻序列的分析和理解任務。視頻是一系列連續(xù)的圖像,與單幀圖像相比,既有視頻分類等類似任務,也有視頻中的物體追蹤、動作識別和場景分析等新任務。從技術手段角度來看,既有應用于單幀圖像的技術的擴展,也有針對視頻數(shù)據(jù)提出的新技術。
第八章:圖像三維重建 介紹了如何從二維圖像還原出三維世界的模型,三維重建是計算機視覺領域的巔峰之一。本章詳細介紹了三維重建的幾何原理、從相機運動到點云重建的各個步驟,以及如何使用深度學習來改進三維重建的質(zhì)量。
總體而言,本書以圖像的成像、處理、理解和重建為脈絡,系統(tǒng)性地講解了計算機視覺領域各主要任務的理論、方法和技術。本書的獨特之處在于,既回顧了傳統(tǒng)的計算機視覺方法基于手動特征的經(jīng)典算法,又深入介紹了最前沿的深度學習技術。這對于現(xiàn)代計算機視覺的學習者尤為重要。一方面,以深度學習為代表的人工智能技術近年來極大地提高了許多視覺算法的表現(xiàn),拓展了計算機視覺技術成功落地的范圍,學習計算機視覺必須掌握這些前沿技術。而另一方面,許多具體任務又無法使用新興的深度學習方法來解決,如精確測量、高速實時檢測,或者無法獲得大規(guī)模數(shù)據(jù)的問題,這在實際應用中,尤其是農(nóng)業(yè)、工業(yè)問題中十分常見,所以學習者仍然有必要掌握基于手動特征的各種視覺方法和技術。本書即是這樣一本融合傳統(tǒng)與現(xiàn)代的教材,讓您既能夠理解計算機視覺的基本原理,又能夠掌握當今最激動人心的技術。
從多年的求學、科研和教學經(jīng)歷中,我們切身了解到學生們對于計算機視覺知識體系的困惑,對于知識圖譜和難度曲線設計或多或少的抱怨,以及對更好教材的渴望。因此,我們以自己的教學經(jīng)驗和研究成果為基礎,盡最大努力編寫這本教材,希望能夠滿足各類讀者的需求,無論您是渴望在計算機視覺領域深耕細作的研究生,還是想要初窺門徑的本科生,或是需要了解計算機視覺領域技術的科學家、工程師朋友。
計算機視覺是一個非;钴S且高速迭代的領域,許多新的英文單詞、命名或縮寫在成書時仍然沒有恰當且通用的中文翻譯,例如Transformer等,因此本書保留了一些英文單詞未做翻譯。除此以外,在一些涉及語料的數(shù)據(jù)集中,由于英文單詞作為數(shù)據(jù)的特殊性,在數(shù)據(jù)集的說明性示意圖中也未對英文進行翻譯。
最后,衷心感謝上海科技大學各位領導和上?萍即髮W信息學院院長虞晶怡教授對此事的關心和支持,感謝上?茖W技術出版社高在青編輯對本書付出的辛苦努力。感謝李晶、肖宇廷、金磊、錢深瀚、錢一成、許家樂、王晨宇、王若宇、胡俊豪、趙子伯、鐘子明、余澤浩、徐衍玉、廉東澤、劉聞、羅偉鑫、董思勛、胡華章、智軼浩、黃彬彬、于勁鵬、趙逸群、王碩、樸智新及其他課題組成員為本書內(nèi)容組織、編寫和修訂工作所做的貢獻。感謝國家自然科學基金委員會(項目編號61932020)對本書出版提供的資助。感謝各位讀者與我們一同踏上這段令人興奮的旅程。計算機視覺是一項永無止境的探索,而您的參與,將使這段旅程更加充實和有趣。愿這本書帶給您知識的光芒,啟迪您的思維,引領您走向計算機視覺的精彩未來。
祝您閱讀愉快,探索無窮!
高盛華 厲征鑫
2023年10月
高盛華簡介:
上海科技大學信息科學與技術學院教授,長期從事計算機視覺與機器學習領域研究,發(fā)表多篇高水平計算機視覺領域?qū)W術論文。
厲征鑫簡介:
上海科技大學信息科學與技術學院副研究員,博士畢業(yè)于江南大學,長期從事機器視覺、異常檢測相關研究,發(fā)表多篇計算機視覺領域論文。
第1章 相機成像模型 /1
1.1 引言 /1
1.2 簡單的相機模型 /2
1.2.1 相機數(shù)學模型 /2
1.2.2 相機的內(nèi)參 /4
1.2.3 相機的外參 /6
1.2.4 相機成像公式 /7
1.2.5 相機成像畸變 /7
1.3 圖像的顏色 /10
1.3.1 基于拜爾濾波器的顏色感知 /10
1.3.2 RGB顏色模型 /11
1.3.3 HSV顏色模型 /12
1.4 圖像的亮度 /14
1.4.1 空間中的光 /14
1.4.2 物體表面的光線反射 /16
1.4.3 薄透鏡成像的輻射度學 /17
1.4.4 數(shù)字成像過程 /19
1.5 渲染 /20
1.5.1 渲染方程 /20
1.5.2 光線追蹤算法 /20
1.6 本章小結(jié) /23
第2章 圖像空間濾波 /24
2.1 引言 /24
2.2 卷積和互相關 /25
2.2.1 卷積 /25
2.2.2 互相關 /26
2.3 圖像的平滑 /28
2.3.1 鄰域均值濾波 /28
2.3.2 加權均值濾波 /28
2.3.3 高斯均值濾波 /29
2.3.4 中值濾波 /30
2.3.5 雙邊濾波 /30
2.4 圖像的銳化 /32
2.4.1 梯度銳化 /32
2.4.2 拉普拉斯算子的二階微分銳化 /33
2.4.3 非銳化掩膜與高頻提升濾波 /34
2.5 本章小結(jié) /35
第3章 圖像特征提取 /36
3.1 引言 /36
3.2 基于非學習方法的邊緣檢測 /37
3.2.1 邊緣、導數(shù)和梯度 /39
3.2.2 邊緣的卷積形式計算 /40
3.2.3 噪聲對邊緣檢測的影響和處理方法 /41
3.2.4 Canny邊緣檢測算子 /43
3.3 基于深度學習的邊緣檢測 /45
3.3.1 HED/45
3.3.2 RCF/47
3.3.3 CASENet/49
3.4 基于非學習方法的關鍵點檢測 /51
3.4.1 角點檢測原理 /53
3.4.2 Harris角點檢測 /54
3.4.3 Harris角點檢測的優(yōu)勢與不足 /58
3.4.4 高斯拉普拉斯算子 /59
3.4.5 高斯差分算子 /64
3.5 基于深度學習的語義關鍵點檢測 /65
3.5.1 基于深度學習的人臉關鍵點檢測 /65
3.5.2 人體關鍵點檢測 /69
3.5.3 房間布局估計 /74
3.6 基于非學習方法的直線檢測 /78
3.6.1 最小二乘法 /78
3.6.2 基于RANSAC的直線擬合 /82
3.6.3 霍夫變換 /84
3.7 基于深度學習的線段檢測 /87
3.7.1 基于圖表示的線段檢測 /87
3.7.2 基于向量場表示的線段檢測 /88
3.7.3 語義直線檢測及應用 /89
3.8 本章小結(jié) /91
參考文獻 /91
第4章 圖像分類 /94
4.1 引言 /94
4.2 圖像表達 /97
4.3 基于手動特征的圖像表達 /98
4.3.1 基于顏色直方圖的圖像表達 /98
4.3.2 基于經(jīng)典的視覺詞袋模型的圖像表達 /99
4.3.3 基于空間金字塔匹配模型的圖像表達 /104
4.3.4 基于壓縮感知的圖像表達 /105
4.3.5 基于高斯混合模型的圖像特征編碼 /107
4.4 基于支持向量機的圖像分類 /108
4.4.1 面向線性可分數(shù)據(jù)的支持向量機分類 /108
4.4.2 面向非線性可分數(shù)據(jù)的支持向量機分類 /114
4.4.3 基于支持向量機的多分類實現(xiàn) /116
4.4.4 基于視覺詞袋模型和支持向量機的圖像分類 /116
4.5 基于自編碼器的圖像表達 /117
4.5.1 多層感知機 /118
4.5.2 自編碼器 /120
4.5.3 降噪自編碼器 /121
4.6 基于卷積神經(jīng)網(wǎng)絡的圖像分類 /122
4.6.1 卷積神經(jīng)網(wǎng)絡的組件 /122
4.6.2 神經(jīng)網(wǎng)絡的訓練 /128
4.6.3 代表性圖像分類卷積神經(jīng)網(wǎng)絡 /131
4.7 基于膠囊網(wǎng)絡的圖像分類 /143
4.7.1 CapsNet/144
4.7.2 堆疊膠囊自編碼器 /147
4.8 基于Transformer的圖像分類 /149
4.8.1 自然語言處理中的Transformer/149
4.8.2 基于Transformer的圖像分類 /151
4.9 本章小結(jié) /159
參考文獻 /159
第5章 圖像中目標檢測 /164
5.1 引言 /164
5.2 基于手動特征的目標檢測 /171
5.2.1 ViolaJones人臉檢測算法 /172
5.2.2 基于DPM的目標檢測 /176
5.3 基于卷積神經(jīng)網(wǎng)絡的目標檢測 /183
5.3.1 兩階段目標檢測算法 /185
5.3.2 單階段目標檢測算法 /190
5.3.3 無錨框的目標檢測算法 /195
5.4 基于Transformer的目標檢測 /199
5.4.1 DETR/199
5.4.2 Pix2seq/201
5.5 本章小結(jié) /203
參考文獻 /204
第6章 圖像分割 /207
6.1 引言 /207
6.2 基于手動特征的圖像分割算法 /209
6.2.1 基于圖論的圖像分割 /209
6.2.2 基于聚類的圖像分割 /213
6.3 語義分割 /216
6.3.1 FCN/218
6.3.2 U Net/219
6.3.3 DeepLab/220
6.3.4 PSPNet/223
6.4 實例分割 /223
6.4.1 MaskR CNN/225
6.4.2 YOLACT/225
6.4.3 SOLO/227
6.5 全景分割 /228
6.5.1 PanopticFPN/229
6.5.2 UPSNet/230
6.6 點云分割 /232
6.6.1 用于圖的卷積神經(jīng)網(wǎng)絡 /234
6.6.2 基于點云的語義分割 /238
6.7 本章小結(jié) /244
參考文獻 /244
第7章 視頻分類和行為識別 /248
7.1 引言 /248
7.2 基于手動特征的視頻分類 /253
7.2.1 基于詞袋模型的視頻表達和分類 /254
7.2.2 基于光流特征的視頻表達和分類 /254
7.3 基于循環(huán)神經(jīng)網(wǎng)絡的視頻分類 /263
7.3.1 循環(huán)神經(jīng)網(wǎng)絡 /263
7.3.2 雙向循環(huán)神經(jīng)網(wǎng)絡 /264
7.3.3 長短期記憶網(wǎng)絡 /266
7.3.4 門控制循環(huán)單元 /267
7.3.5 基于LSTM的視頻表達 /267
7.4 基于卷積神經(jīng)網(wǎng)絡的視頻分類 /270
7.4.1 單分支網(wǎng)絡 /270
7.4.2 多分支網(wǎng)絡 /278
7.5 基于Transformer的視頻分類 /282
7.5.1 ViViT/282
7.5.2 TimeSFormer/285
7.5.3 VideoSwinTransformer/286
7.5.4 VideoCLIP/288
7.5.5 VLM/290
7.6 時序動作定位 /291
7.6.1 單階段方法 /292
7.6.2 自頂向下的多階段方法 /295
7.6.3 自底向上的多階段方法 /299
7.7 本章小結(jié) /304
參考文獻 /304
第8章 圖像三維重建 /311
8.1 引言 /311
8.2 對極幾何 /313
8.3 相機標定 /317
8.4 基于傳統(tǒng)算法的多視圖立體重建 /321
8.4.1 簡單的基于匹配三維點空間坐標求解方法 /321
8.4.2 基于平面掃描的場景深度估計 /322
8.4.3 基于視差的深度估計 /323
8.4.4 基于PatchMatch的立體重建 /325
8.5 基于深度學習的多視角重建 /328
8.5.1 MVSNet/329
8.5.2 Fast MVSNet/330
8.6 基于深度學習的場景的單目深度估計 /332
8.6.1 有監(jiān)督學習的單目深度估計 /332
8.6.2 自監(jiān)督學習的單目視頻深度估計 /335
8.7 深度學習對基于不同形狀表達的三維重建 /338
8.7.1 基于體素的顯式三維表達 /338
8.7.2 基于多邊形網(wǎng)格的顯式三維表達 /344
8.7.3 基于隱函數(shù)的隱式物體表達 /348
8.7.4 基于神經(jīng)立體渲染的多視角重建 /353
8.8 本章小結(jié) /370
參考文獻 /370