《OpenCV+TensorFlow深度學習與計算機視覺實戰》是清華大學出版社出版的一本圖書。
基本介紹
- 中文名:OpenCV+TensorFlow深度學習與計算機視覺實戰
- 出版社:清華大學出版社
- 作者:王曉華
- ISBN:9787302518426
圖書內容,目錄,
圖書內容
本書旨在掌握深度學習基本知識和特性的基礎上,培養使用TensorFlow+OpenCV進行實際編程以解決圖像處理相關問題的能力。全書力求通過通俗易懂的語言和詳細的程式分析,介紹TensorFlow的基本用法、高級模型設計和對應的程式編寫。 本書共13章,內容包括計算機視覺與深度學習的關係、Python的安裝和使用、Python數據處理及可視化、機器學習的理論和算法、計算機視覺處理庫OpenCV 、OpenCV圖像處理實戰、TensorFlow基本數據結構和使用、TensorFlow數據集的創建與讀取、BP神經網路、反饋神經網路、卷積神經網路等。本書強調理論聯繫實際,著重介紹TensorFlow+OpenCV解決圖像識別的套用,提供大量數據集供讀者使用,並以代碼的形式實現深度學習模型實例供讀者參考。
目錄
第1章 計算機視覺與深度學習 1
1.1 計算機視覺與深度學習的關係 1
1.1.1 人類視覺神經的啟迪 2
1.1.2 計算機視覺的難點與人工神經網路 3
1.1.3 套用深度學習解決計算機視覺問題 4
1.2 計算機視覺學習的基礎與研究方向 5
1.2.1 學習計算機視覺結構圖 5
1.2.2 計算機視覺的學習方式和未來趨勢 6
1.3 本章小結 7
第2章 Python的安裝與使用 8
2.1 Python基本安裝和用法 8
2.1.1 Anaconda的下載與安裝 9
2.1.2 Python編譯器PyCharm的安裝 12
2.1.3 使用Python計算softmax函式 15
2.2 TensorFlow類庫的下載與安裝(基於CPU模式) 16
2.3 TensorFlow類庫的下載與安裝(基於GPU模式) 18
2.3.1 CUDA配置 18
2.3.2 cuDNN配置 21
2.4 OpenCV類庫的下載與安裝 22
2.5 Python常用類庫中的threading 24
2.5.1 threading庫的使用 25
2.5.2 threading模組中重要的Thread類 25
2.5.3 threading中的Lock類 26
2.5.4 threading中的join類 27
2.6 本章小結 28
第3章 Python數據處理及可視化 29
3.1 從小例子起步—NumPy的初步使用 29
3.1.1 數據的矩陣化 29
3.1.2 數據分析 31
3.1.3 基於統計分析的數據處理 32
3.2 圖形化數據處理—Matplotlib包的使用 33
3.2.1 差異的可視化 33
3.2.2 坐標圖的展示 34
3.2.3 玩個大的數據集 36
3.3 深度學習理論方法—相似度計算 38
3.3.1 基於歐幾里得距離的相似度計算 38
3.3.2 基於餘弦角度的相似度計算 39
3.3.3 歐幾里得相似度與餘弦相似度的比較 40
3.4 數據的統計學可視化展示 41
3.4.1 數據的四分位 41
3.4.2 數據的四分位示例 42
3.4.3 數據的標準化 46
3.4.4 數據的平行化處理 47
3.4.5 熱點圖-屬性相關性檢測 49
3.5 Python數據分析與可視化實戰—某地降水的關係處理 50
3.5.1 不同年份的相同月份統計 50
3.5.2 不同月份之間的增減程度比較 52
3.5.3 每月降水是否相關 53
3.6 本章小結 54
第4章 深度學習的理論基礎—機器學習 55
4.1 機器學習基本分類 55
4.1.1 基於學科的分類 55
4.1.2 基於學習模式的分類 56
4.1.3 基於套用領域的分類 56
4.2 機器學習基本算法 57
4.2.1 機器學習的算法流程 57
4.2.2 基本算法的分類 58
4.3 算法的理論基礎 60
4.3.1 小學生的故事—求圓的面積 60
4.3.2 機器學習基礎理論—函式逼近 61
4.4 回歸算法 62
4.4.1 函式逼近經典算法—線性回歸算法 62
4.4.2 線性回歸的姐妹—邏輯回歸 64
4.5 機器學習的其他算法—決策樹 65
4.5.1 水晶球的秘密 65
4.5.2 決策樹的算法基礎—信息熵 66
4.5.3 決策樹的算法基礎—ID3算法 67
4.6 本章小結 68
第5章 計算機視覺處理庫OpenCV 70
5.1 認識OpenCV 70
5.1.1 OpenCV的結構 70
5.1.2 從雪花電視談起—在Python中使用OpenCV 74
5.2 OpenCV基本的圖片讀取 75
5.2.1 基本的圖片存儲格式 76
5.2.2 圖像的讀取與存儲 78
5.2.3 圖像的轉換 78
5.2.4 使用NumPy模組對圖像進行編輯 80
5.3 OpenCV的卷積核處理 81
5.3.1 計算機視覺的三種不同色彩空間 81
5.3.2 卷積核與圖像特徵提取 82
5.3.3 卷積核進階 84
5.4 本章小結 85
第6章 OpenCV圖像處理實戰 86
6.1 圖片的自由縮放以及邊緣裁剪 86
6.1.1 圖像的擴縮裁挖 86
6.1.2 圖像色調的調整 87
6.1.3 圖像的旋轉、平移和翻轉 89
6.2 使用OpenCV擴大圖像資料庫 90
6.2.1 圖像的隨機裁剪 90
6.2.2 圖像的隨機旋轉變換 91
6.2.3 圖像色彩的隨機變換 92
6.2.4 對滑鼠的監控 93
6.3 本章小結 94
第7章 Let’s play TensorFlow 95
7.1 TensorFlow遊樂場 95
7.1.1 I want to play a game 95
7.1.2 TensorFlow遊樂場背後的故事 99
7.1.3 如何訓練神經網路 101
7.2 Hello TensorFlow 102
7.2.1 TensorFlow名稱的解釋 102
7.2.2 TensorFlow基本概念 103
7.2.3 TensorFlow基本架構 105
7.3 本章小結 106
第8章 Hello TensorFlow,從0到1 107
8.1 TensorFlow的安裝 107
8.2 TensorFlow常量、變數和數據類型 109
8.3 TensorFlow矩陣計算 114
8.4 Hello TensorFlow 115
8.5 本章小結 120
第9章 TensorFlow重要算法基礎 122
9.1 BP神經網路簡介 122
9.2 BP神經網路兩個基礎算法詳解 124
9.2.1 小二乘法詳解 125
9.2.2 道士下山的故事—梯度下降算法 127
9.3 TensorFlow實戰—房屋價格的計算 130
9.3.1 數據收集 130
9.3.2 模型的建立與計算 131
9.3.3 TensorFlow程式設計 133
9.4 反饋神經網路反向傳播算法介紹 135
9.4.1 深度學習基礎 135
9.4.2 鏈式求導法則 136
9.4.3 反饋神經網路原理與公式推導 138
9.4.4 反饋神經網路原理的激活函式 143
9.4.5 反饋神經網路原理的Python實現 144
9.5 本章小結 150
第10章 TensorFlow數據的生成與讀取 151
10.1 TensorFlow的佇列 151
10.1.1 佇列的創建 151
10.1.2 執行緒同步與停止 155
10.1.3 佇列中數據的讀取 156
10.2 CSV檔案的創建與讀取 157
10.2.1 CSV檔案的創建 157
10.2.2 CSV檔案的讀取 158
10.3 TensorFlow檔案的創建與讀取 160
10.3.1 TFRecords檔案的創建 160
10.3.2 TFRecords檔案的讀取 163
10.3.3 圖片檔案的創建與讀取 164
10.4 本章小結 169
第11章 卷積神經網路的原理 170
11.1 卷積運算基本概念 170
11.1.1 卷積運算 171
11.1.2 TensorFlow中卷積函式實現詳解 172
11.1.3 使用卷積函式對圖像感興趣區域進行標註 176
11.1.4 池化運算 178
11.1.5 使用池化運算加強卷積特徵提取 180
11.2 卷積神經網路的結構詳解 181
11.2.1 卷積神經網路原理 181
11.2.2 卷積神經網路的套用實例—LeNet5網路結構 184
11.2.3 卷積神經網路的訓練 186
11.3 TensorFlow實現LeNet實例 186
11.3.1 LeNet模型分解 187
11.3.2 使用ReLU激活函式替代Sigmoid 191
11.3.3 程式的重構—模組化設計 195
11.3.4 卷積核和隱藏層參數的修改 199
11.4 本章小結 205
第12章 卷積神經網路公式的推導與套用 206
12.1 反饋神經網路算法 206
12.1.1 經典反饋神經網路正向與反向傳播公式推導 206
12.1.2 卷積神經網路正向與反向傳播公式推導 209
12.2 使用卷積神經網路分辨CIFAR-10數據集 217
12.2.1 CIFAR-10數據集下載與介紹 217
12.2.2 CIFAR-10模型的構建與數據處理 219
12.2.3 CIFAR-10模型的細節描述與參數重構 228
12.3 本章小結 229
第13章 貓狗大戰—實戰AlexNet圖像識別 230
13.1 AlexNet簡介 231
13.1.1 AlexNet模型解讀 231
13.1.2 AlexNet程式的實現 234
13.2 實戰貓狗大戰—AlexNet模型 239
13.2.1 數據的收集與處理 240
13.2.2 模型的訓練與存儲 244
13.2.3 使用訓練過的模型預測圖片 250
13.2.4 使用Batch_Normalization正則化處理數據集 257
13.3 本章小結 266