本書以Python語言為工具,以圖像為載體,對計算機視覺涉及的操作和變換方法進行了詳細的介紹及實現。全書共分10章,分別為計算機視覺概述、編程語言Python及庫簡介、數字圖像預處理、圖像特征與檢測、機器學習、BP神經網絡基礎、卷積神經網絡CNN、經典神經網絡結構分析、百度EasyDL入門以及計算機視覺在制造行業(yè)應用案例分析。
本書可作為高等院校智能制造工程、人工智能等相關專業(yè)的教材,亦可作為圖像處理、多媒體編程、計算機視覺領域人員的實用參考書。
第1章 計算機視覺概述 1
本章思維導圖 1
本章學習目標 2
1.1 計算機視覺、模式識別和機器視覺 2
1.2 計算機視覺與生物視覺 2
1.3 機器學習在計算機視覺中的作用 6
1.4 計算機視覺的應用領域 7
1.5 計算機視覺技術可能面臨的挑戰(zhàn) 10
本章小結 11
習題 11
第2章 編程語言Python及庫簡介 12
本章思維導圖 12
本章學習目標 13
2.1 搭建開發(fā)環(huán)境和使用 13
2.1.1 Anaconda的安裝 13
2.1.2 Spyder漢化與簡介 13
2.1.3 Spyder編程示例 15
2.2 編程語言Python 15
2.2.1 Python注釋 16
2.2.2 print輸出語句 16
2.2.3 標識符 17
2.2.4 變量的操作 17
2.2.5 行與縮進 18
2.2.6 常用五大標準數據類型 18
2.2.7 運算符 21
2.2.8 分支語句 23
2.2.9 循環(huán)語句 24
2.2.10 函數 26
2.2.11 模塊 28
2.2.12 包 29
2.2.13 類 30
2.3 科學計算庫NumPy 32
2.3.1 NumPy簡介 32
2.3.2 多維數組對象 32
2.3.3 索引方法 35
2.3.4 數組維度的變換 35
2.3.5 對象的屬性 36
2.3.6 數組的數學函數 37
2.3.7 NumPy中幾個典型函數 39
2.4 可視化庫Matplotlib簡介 41
2.4.1 最基礎的繪圖示例 41
2.4.2 標簽和圖例 43
2.4.3 子圖 44
2.5 機器學習Scikit-learn庫簡介 45
2.5.1 數據集 46
2.5.2 數據集劃分 48
2.5.3 數據預處理 49
2.5.4 通用學習模式 50
2.6 圖像處理OpenCV庫簡介 51
2.6.1 OpenCV核心模塊 52
2.6.2 OpenCV圖像基礎操作 53
2.7 深度學習框架PyTorch 56
2.7.1 創(chuàng)建Tensor 57
2.7.2 Tensor運算 61
2.7.3 PyTorch網絡搭建所需函數/類 65
本章小結 65
習題 65
第3章 數字圖像預處理 67
本章思維導圖 67
本章學習目標 67
3.1 圖像采樣與量化 68
3.1.1 坐標系約定 68
3.1.2 采樣 68
3.1.3 量化 69
3.2 色彩空間 70
3.2.1 RGB色彩空間 71
3.2.2 GRAY色彩空間 72
3.2.3 YCrCb色彩空間 74
3.2.4 HSV色彩空間 75
3.3 圖像幾何變換 76
3.3.1 縮放 76
3.3.2 翻轉 77
3.3.3 旋轉(直角旋轉) 78
3.3.4 仿射變換 79
3.4 直方圖修正 83
3.4.1 灰度圖像直方圖 83
3.4.2 圖像清晰化 84
3.4.3 全局閾值處理 90
3.4.4 自適應閾值處理 91
3.5 圖像去噪及卷積 92
3.5.1 圖像噪聲 92
3.5.2 均值濾波 93
3.5.3 中值濾波 94
3.5.4 高斯濾波 95
3.5.5 卷積與銳化 97
3.5.6 二值圖像的去噪 101
本章小結 104
習題 105
第4章 圖像特征與檢測 107
本章思維導圖 107
本章學習目標 108
4.1 邊緣檢測 108
4.1.1 Roberts算子 110
4.1.2 Prewitt算子 111
4.1.3 Sobel算子 112
4.1.4 Scharr算子 113
4.1.5 Laplacian算子 114
4.1.6 Canny算子 116
4.1.7 圖像傅里葉變換 117
4.1.8 邊緣檢測的作用 119
4.2 圖像幾何參數的檢測 119
4.2.1 基于輪廓的對象識別 119
4.2.2 Hough變換 123
4.3 圖像紋理的檢測 127
4.4 基于哈希值的檢測 131
4.4.1 均值哈希 132
4.4.2 差異哈希 134
4.5 基于LBP算子的特征檢測 136
4.5.1 基本LBP算子 136
4.5.2 圓形LBP算子 137
4.5.3 旋轉不變LBP特征 137
4.5.4 均勻LBP模式 138
4.5.5 LBPH(LBP特征統(tǒng)計直方圖) 139
4.6 基于HOG算子的特征檢測 141
4.7 基于色彩的提取 144
4.8 基于差分的提取 146
4.8.1 幀間差分 146
4.8.2 背景差分 148
4.9 光流追蹤 151
4.9.1 稀疏光流 151
4.9.2 密集光流 152
本章小結 152
習題 154
第5章 機器學習 155
本章思維導圖 155
本章學習目標 156
5.1 K-Means實現 157
5.2 K最近鄰算法 159
5.2.1 歐氏距離(euclidean distance) 160
5.2.2 曼哈頓距離(manhattan distance) 160
5.2.3 閔可夫斯基距離(minkowski distance) 161
5.2.4 余弦距離(cosine distance) 161
5.3 樸素貝葉斯算法 163
5.3.1 貝葉斯公式 163
5.3.2 樸素貝葉斯 164
5.4 決策樹算法 167
5.4.1 特征選擇 168
5.4.2 決策樹的修剪 169
5.5 支持向量機SVM 171
5.6 主成分分析PCA算法 173
5.7 線性回歸算法 176
5.7.1 線性回歸導入 176
5.7.2 代價函數 177
5.7.3 梯度下降法 178
5.7.4 嶺回歸(ridge regression) 184
5.7.5 套索回歸(lasso regression) 185
5.7.6 彈性網絡(elastic net) 186
5.8 邏輯回歸算法 186
5.8.1 Sigmoid函數 187
5.8.2 代價函數 189
5.9 模型評估 193
5.9.1 混淆矩陣 193
5.9.2 分類問題常用評估指標 194
5.9.3 回歸問題常用評估指標 196
5.9.4 評估方法 197
本章小結 198
習題 199
第6章 BP神經網絡基礎 201
本章思維導圖 201
本章學習目標 202
6.1 感知機 202
6.2 感知機的激活函數 203
6.3 神經網絡的激活函數 204
6.3.1 Sigmoid函數 204
6.3.2 Tanh函數 206
6.3.3 ReLU函數 206
6.3.4 Leaky ReLU、PReLU、RReLU函數 207
6.3.5 ELU函數 208
6.3.6 SELU函數 208
6.4 輸出層的設計 209
6.4.1 恒等函數和Softmax函數 210
6.4.2 Softmax函數的特征 211
6.4.3 輸出層的神經元 211
6.5 損失函數 212
6.6 鏈式法則與計算圖的反向傳播 212
6.7 隱藏層 214
6.8 PyTorch實現線性回歸 214
6.9 PyTorch實現邏輯回歸 218
6.10 BP神經網絡入門示例 220
本章小結 221
習題 222
第7章 卷積神經網絡CNN 223
本章思維導圖 223
本章學習目標 223
7.1 輸入層 224
7.2 全連接層 225
7.3 全連接層在圖像處理中的問題 225
7.4 卷積層 226
7.5 池化層 228
7.6 激活層 229
7.7 特征圖形象化 229
7.8 簡單的CNN網絡示例 231
本章小結 232
習題 233
第8章 經典神經網絡結構分析 234
本章思維導圖 234
本章學習目標 234
8.1 典型網絡LeNet5 235
8.1.1 LeNet5解析 235
8.1.2 PyTorch實現LeNet5 236
8.1.3 PyTorch實現模型的保存與加載 238
8.2 典型網絡AlexNet 241
8.2.1 AlexNet網絡分析 242
8.2.2 局部響應歸一化 243
8.2.3 批歸一化 243
8.2.4 Dropout 244
8.2.5 實現AlexNet 245
8.3 典型網絡VGGNet 248
8.3.1 VGGNet網絡分析 248
8.3.2 手工構建VGGNet 251
8.4 典型網絡Inception 251
8.4.1 Inception網絡分析 252
8.4.2 手工構建Inception網絡 255
8.5 典型網絡ResNet 255
8.5.1 ResNet網絡分析 256
8.5.2 手工構建ResNet 258
8.6 幾種網絡的比較 258
8.7 卷積神經網絡的發(fā)展 259
8.7.1 分類網絡 260
8.7.2 檢測網絡 261
8.7.3 分割網絡 261
本章小結 263
習題 263
第9章 百度EasyDL入門 264
本章思維導圖 264
本章學習目標 264
9.1 圖像分類 265
9.1.1 創(chuàng)建數據集 265
9.1.2 數據集標注 267
9.1.3 模型訓練 267
9.1.4 模型校驗 269
9.1.5 模型發(fā)布 269
9.1.6 體驗模型 270
9.2 物體檢測 270
9.2.1 創(chuàng)建數據集 270
9.2.2 數據集標注 270
9.2.3 模型訓練 271
9.2.4 模型校驗 271
9.2.5 模型發(fā)布和體驗模型 272
9.3 圖像分割 272
本章小結 273
習題 273
第10章 計算機視覺在制造行業(yè)應用案例分析 274
本章思維導圖 274
本章學習目標 274
10.1 齒輪齒數統(tǒng)計分析 275
10.2 滾動軸承故障診斷 276
10.3 薄壁件銑削顫振監(jiān)測 279
本章小結 281
習題 281
參考文獻 282