本書結合理論和實踐,主要介紹如何使用圖像處理和深度學習技術來使計算機感知和理解圖形。全書分為概述、OpenCV 圖像基本操作、深度學習與計算機視覺、計算機視覺基礎技術、計算機視覺綜合應用五大部分(共 11 章)。概述部分(第 1 章)主要介紹計算機視覺的概念和發(fā)展史;OpenCV 圖像基本操作(第 2 章)主要介紹基于OpenCV 的圖像處理操作;深度學習與計算機視覺(第3 章)主要介紹深度學習的概念及其應用、深度學習的實現(xiàn)框架TensorFlow 的用法以及卷積神經(jīng)網(wǎng)絡的概念、結構和算法;計算機視覺基礎技術(第4~9 章)主要介紹圖像分類、目標檢測、圖像分割、場景文字識別、人體關鍵點檢測、圖像生成等關鍵技術的原理、方法及應用;計算機視覺綜合應用(第 10、11 章)主要介紹視覺交互機器人和無人駕駛的自動巡線兩個大型綜合實驗。本書圍繞基本理論,設置了較多的實驗操作和實踐案例,通過自己動手練習,幫助讀者鞏固所學內(nèi)容。
許桂秋,數(shù)據(jù)中國“百校工程”項目運營總監(jiān)。2000年9月―2004年6月,廈門大學,計算機科學與技術專業(yè)學習,獲工學學士;2007年8月―2011年4月,中國石油天然氣股份有限公司,項目經(jīng)理,工程師;2011年6月―2016年7月,曙光信息產(chǎn)業(yè)股份有限公司,項目經(jīng)理,工程師;主要從事大數(shù)據(jù),人工智能等新一代信息技術領域的產(chǎn)教融合研究。主要著作出版情況:《大數(shù)據(jù)導論》、《Python編程基礎與應用》、《NoSQL數(shù)據(jù)庫原理與應用》、《數(shù)據(jù)挖掘與機器學習》等9本系列教材,浙江科技出版社,2019年。
目 錄
第1章 概述 1
1.1 什么是計算機視覺 1
1.2 計算機視覺的發(fā)展史 3
第2章 OpenCV圖像基本操作 6
2.1 如何使用OpenCV 6
2.2 圖像的基礎操作 8
2.2.1 圖像的基本表示方法 8
2.2.2 圖像的讀取、顯示和存儲 11
2.2.3 視頻序列的讀取和存儲 16
2.2.4 圖像像素的處理與訪問 20
2.2.5 獲取圖像屬性 23
2.2.6 圖像RoI 23
2.2.7 圖像通道的拆分與合并 25
2.3 圖像的幾何變換 28
2.3.1 圖像縮放 28
2.3.2 圖像翻轉 30
2.3.3 圖像仿射變換 31
2.3.4 圖像透視 34
2.4 圖像的算術運算 35
2.4.1 圖像的加法運算 35
2.4.2 圖像的加權和運算 37
2.4.3 圖像的按位邏輯運算 38
第3章 深度學習與計算機視覺 42
3.1 深度學習概述 42
3.1.1 深度學習的概念 42
3.1.2 深度學習的發(fā)展歷程 42
3.2 卷積神經(jīng)網(wǎng)絡 45
3.2.1 卷積神經(jīng)網(wǎng)絡的研究歷史與意義 45
3.2.2 卷積神經(jīng)網(wǎng)絡的基本結構 46
3.2.3 卷積神經(jīng)網(wǎng)絡的工作原理 48
3.2.4 卷積神經(jīng)網(wǎng)絡的發(fā)展趨勢 49
3.2.5 實驗—機器人識別你的字 50
3.3 基于深度學習的計算機視覺 56
3.3.1 計算機視覺與深度學習的關系 56
3.3.2 計算機視覺和深度學習發(fā)展的加速器—GPU 58
3.3.3 計算機視覺與深度學習的基礎與研究方向 59
3.4 深度學習的實現(xiàn)框架TensorFlow 60
3.4.1 TensorFlow簡介 60
3.4.2 TensorFlow環(huán)境的搭建 60
3.4.3 TensorFlow計算模型—計算圖 68
3.4.4 TensorFlow數(shù)據(jù)模型—張量 70
3.4.5 TensorFlow運行模型—會話 74
第4章 圖像分類 76
4.1 定義與應用場景 76
4.2 實現(xiàn)方法 77
4.3 常用數(shù)據(jù)集 80
4.4 實驗—機器人看圖識物 82
4.5 實驗—機器人識別人臉表情 100
第5章 目標檢測 112
5.1 定義與應用場景 112
5.2 實現(xiàn)方法 113
5.2.1 基于候選區(qū)域的目標檢測算法 114
5.2.2 基于直接回歸的目標檢測算法 119
5.3 常用數(shù)據(jù)集 122
5.4 實驗—機器人捕捉人臉并識別 123
5.5 實驗—無人駕駛中的目標檢測 141
第6章 圖像分割 146
6.1 定義與應用場景 146
6.2 實現(xiàn)方法 147
6.2.1 基于特征編碼的模型 147
6.2.2 基于區(qū)域選擇的模型 148
6.2.3 基于上采樣/反卷積的模型 150
6.2.4 基于RNN的模型 151
6.2.5 基于提高特征分辨率的模型 152
6.3 常用數(shù)據(jù)集 152
6.4 實驗—無人駕駛場景感知 153
第7章 場景文字識別 165
7.1 定義與應用場景 165
7.2 實現(xiàn)方法 167
7.2.1 傳統(tǒng)方法時期 167
7.2.2 深度學習方法時期 167
7.3 常用數(shù)據(jù)集 170
7.4 實驗—無人值守車牌識別機器人 171
第8章 人體關鍵點檢測 179
8.1 定義與應用場景 179
8.1.1 人體關鍵點檢測的定義 179
8.1.2 人體關鍵點檢測的應用場景 180
8.2 實現(xiàn)方法 182
8.2.1 自頂向下 183
8.2.2 自底向上 184
8.3 常用數(shù)據(jù)集 186
8.3.1 MPII數(shù)據(jù)集 187
8.3.2 MSCOCO數(shù)據(jù)集 188
8.4 實驗—姿態(tài)識別互動機器人 189
第9章 圖像生成 194
9.1 定義與應用場景 194
9.1.1 圖像生成的定義 194
9.1.2 圖像生成的應用 195
9.2 實現(xiàn)方法 196
9.2.1 GAN模型 196
9.2.2 PixelRNN/PixelCNN模型 197
9.2.3 VAE模型 198
9.3 常用數(shù)據(jù)集 200
9.4 實驗—機器人書法學習 200
第10章 視覺交互機器人 212
10.1 實驗目的 212
10.2 實驗背景 212
10.3 實驗原理 212
10.4 實驗環(huán)境 215
10.5 實驗步驟 215
10.5.1 利用CNN主流架構的mini_Xception訓練情感分類 215
10.5.2 視覺交互機器人綜合實驗 221
第11章 無人駕駛的自動巡線 228
11.1 實驗目的 228
11.2 實驗背景 228
11.3 實驗原理 230
11.4 實驗環(huán)境 231
11.5 實驗步驟 231
11.5.1 數(shù)據(jù)準備 231
11.5.2 網(wǎng)絡設計 231
11.5.3 模型訓練 237
11.5.4 模型測試 243