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