OpenCV 4機(jī)器學(xué)習(xí)算法原理與編程實(shí)戰(zhàn)
定 價(jià):108 元
- 作者:朱斌
- 出版時(shí)間:2021/3/1
- ISBN:9787121408304
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP181
- 頁碼:352
- 紙張:
- 版次:01
- 開本:16開
本書主要面向OpenCV領(lǐng)域的研究與開發(fā)人員,采用原理結(jié)合實(shí)戰(zhàn)的方式,介紹OpenCV 4的機(jī)器學(xué)習(xí)算法模塊與深度神經(jīng)網(wǎng)絡(luò)模塊中的核心算法原理與C++編程實(shí)戰(zhàn)。全書共10章, 第1~3章, 介紹OpenCV 4的基礎(chǔ)知識(shí)、基本圖像操作和機(jī)器學(xué)習(xí)基礎(chǔ)知識(shí);第4~8章,介紹K-means、KNN、決策樹、隨機(jī)森林、Boosting算法和支持向量機(jī)等機(jī)器學(xué)習(xí)算法與編程實(shí)戰(zhàn);第9~10章,介紹神經(jīng)網(wǎng)絡(luò)與深度神經(jīng)網(wǎng)絡(luò)的基本原理與編程實(shí)戰(zhàn),并提供了不同深度學(xué)習(xí)模型的部署示例代碼。
朱斌,博士,國防科技大學(xué)副教授。長期從事計(jì)算機(jī)視覺與機(jī)器學(xué)習(xí)領(lǐng)域的教學(xué)與科研工作,主要研究方向?yàn)槌上駛刹炫c信息處理。主持國家自然科學(xué)基金、省自然科學(xué)基金各1項(xiàng),主持或參與其他科研項(xiàng)目多項(xiàng),其中,2項(xiàng)科研成果列裝獲軍隊(duì)科技進(jìn)步二等獎(jiǎng)2項(xiàng),授權(quán)國家發(fā)明專利10余項(xiàng)。
第1章 概述 1
1.1 OpenCV簡述 1
1.2 OpenCV的功能 1
1.3 OpenCV中的機(jī)器學(xué)習(xí)與深度神經(jīng)網(wǎng)絡(luò)模塊 2
1.4 基本數(shù)據(jù)類型 2
1.4.1 數(shù)據(jù)類型概述 2
1.4.2 cv::Vec類 3
1.4.3 cv::Point類 6
1.4.4 cv::Scalar類 8
1.4.5 cv::Size類 9
1.4.6 cv::Rect類 9
1.4.7 cv::RotatedRect類 13
1.4.8 cv::Mat類 14
1.4.9 基本矩陣運(yùn)算 19
參考文獻(xiàn) 22
第2章 OpenCV在機(jī)器學(xué)習(xí)任務(wù)中的基本圖像操作 23
2.1 基本圖像操作 23
2.1.1 讀取、顯示和存儲(chǔ)圖像 23
2.1.2 顏色空間轉(zhuǎn)換 30
2.1.3 圖像的幾何變換 36
2.1.4 直方圖均衡化 49
2.1.5 標(biāo)注文字和矩形框 57
2.2 基本視頻操作 60
2.2.1 讀取和播放視頻文件 61
2.2.2 處理視頻文件 62
2.2.3 存儲(chǔ)視頻文件 65
參考文獻(xiàn) 67
第3章 機(jī)器學(xué)習(xí)的基本原理與OpenCV機(jī)器學(xué)習(xí)模塊 69
3.1 機(jī)器學(xué)習(xí)的基本概念 69
3.1.1 機(jī)器學(xué)習(xí)的定義 69
3.1.2 機(jī)器學(xué)習(xí)的分類 70
3.2 機(jī)器學(xué)習(xí)的一般流程 73
3.2.1 機(jī)器學(xué)習(xí)流程 73
3.2.2 數(shù)據(jù)集 74
3.2.3 偏差與方差 77
3.2.4 評(píng)估分類器性能的方法 79
3.3 邏輯回歸分類示例 80
3.3.1 圖像數(shù)據(jù)與數(shù)據(jù)表示 81
3.3.2 邏輯回歸模型 82
3.3.3 邏輯回歸的損失函數(shù) 83
3.4 OpenCV支持的機(jī)器學(xué)習(xí)算法 84
3.4.1 機(jī)器學(xué)習(xí)模塊的結(jié)構(gòu) 84
3.4.2 機(jī)器學(xué)習(xí)模塊中的算法 85
3.4.3 數(shù)據(jù)集準(zhǔn)備 87
3.4.4 特征選擇 88
參考文獻(xiàn) 89
第4章 K-means和KNN 90
4.1 算法原理 90
4.1.1 K-means原理 90
4.1.2 KNN原理 92
4.2 OpenCV實(shí)現(xiàn) 95
4.2.1 K-means的實(shí)現(xiàn) 95
4.2.2 KNN的實(shí)現(xiàn) 97
4.3 應(yīng)用示例 99
4.3.1 K-means聚類示例 99
4.3.2 KNN手寫數(shù)字識(shí)別示例 106
4.3.3 應(yīng)用提示 112
參考文獻(xiàn) 113
第5章 決策樹 114
5.1 決策樹原理 114
5.1.1 決策樹的基本思想 114
5.1.2 決策樹的表示方法 114
5.1.3 最佳切分屬性的選擇 116
5.1.4 停止標(biāo)準(zhǔn) 123
5.1.5 剪枝 123
5.2 OpenCV實(shí)現(xiàn) 123
5.2.1 創(chuàng)建決策樹 123
5.2.2 訓(xùn)練決策樹 126
5.2.3 使用決策樹預(yù)測 127
5.3 應(yīng)用示例 129
5.3.1 蘑菇可食性分類 129
5.3.2 預(yù)測波士頓房價(jià) 135
5.3.3 應(yīng)用提示 142
參考文獻(xiàn) 142
第6章 隨機(jī)森林 143
6.1 隨機(jī)森林原理 143
6.1.1 隨機(jī)森林的基本思想 143
6.1.2 Bagging算法 143
6.2 OpenCV實(shí)現(xiàn) 146
6.2.1 OpenCV中的隨機(jī)森林 146
6.2.2 創(chuàng)建隨機(jī)森林 147
6.2.3 訓(xùn)練隨機(jī)森林 148
6.2.4 使用隨機(jī)森林預(yù)測 148
6.3 應(yīng)用示例 148
6.3.1 蘑菇可食性分類 149
6.3.2 預(yù)測波士頓房價(jià) 153
6.3.3 應(yīng)用提示 158
參考文獻(xiàn) 158
第7章 Boosting算法 159
7.1 Boosting算法原理 159
7.1.1 Boosting算法的基本思想 159
7.1.2 Boosting算法 159
7.1.3 AdaBoost算法 160
7.2 OpenCV實(shí)現(xiàn) 164
7.2.1 創(chuàng)建AdaBoost模型 164
7.2.2 訓(xùn)練AdaBoost模型 166
7.2.3 使用AdaBoost模型預(yù)測 166
7.3 應(yīng)用示例 166
7.3.1 蘑菇可食性分類 167
7.3.2 英文字母分類問題 169
7.3.3 應(yīng)用提示 174
參考文獻(xiàn) 174
第8章 支持向量機(jī) 175
8.1 支持向量機(jī)原理 175
8.1.1 統(tǒng)計(jì)學(xué)習(xí)理論概述 175
8.1.2 線性SVM算法基本原理 179
8.1.3 非線性SVM算法的基本原理 190
8.1.4 SVM回歸算法的基本原理 192
8.1.5 SVM算法執(zhí)行SRM準(zhǔn)則的解釋 194
8.2 OpenCV實(shí)現(xiàn) 195
8.2.1 OpenCV中的SVM算法 195
8.2.2 創(chuàng)建SVM模型 197
8.2.3 訓(xùn)練SVM模型 199
8.2.4 使用SVM模型預(yù)測 202
8.3 應(yīng)用示例 203
8.3.1 使用HOG特征與SVM算法識(shí)別手寫數(shù)字 203
8.3.2 應(yīng)用提示 213
參考文獻(xiàn) 214
第9章 神經(jīng)網(wǎng)絡(luò) 215
9.1 神經(jīng)網(wǎng)絡(luò)算法原理 215
9.1.1 神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)與表示 216
9.1.2 單隱層前饋神經(jīng)網(wǎng)絡(luò) 220
9.1.3 多隱層前饋神經(jīng)網(wǎng)絡(luò) 222
9.1.4 梯度下降法 225
9.1.5 反向傳播算法 229
9.2 OpenCV實(shí)現(xiàn) 234
9.2.1 OpenCV中的MLP算法 234
9.2.2 創(chuàng)建MLP模型 235
9.2.3 訓(xùn)練MLP模型 237
9.2.4 使用MLP模型預(yù)測 239
9.3 應(yīng)用示例 239
9.3.1 使用神經(jīng)網(wǎng)絡(luò)識(shí)別手寫數(shù)字 239
9.3.2 應(yīng)用提示 251
參考文獻(xiàn) 251
第10章 深度神經(jīng)網(wǎng)絡(luò) 252
10.1 卷積神經(jīng)網(wǎng)絡(luò)的基本原理 253
10.1.1 卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu) 254
10.1.2 卷積層 255
10.1.3 池化 262
10.1.4 Softmax層 263
10.1.5 CNN特征學(xué)習(xí)的過程 263
10.1.6 CNN特征學(xué)習(xí)的原理 266
10.2 OpenCV的DNN模塊 268
10.2.1 OpenCV支持的深度學(xué)習(xí)框架 269
10.2.2 支持的層類型 269
10.2.3 編譯支持GPU加速的OpenCV 269
10.2.4 DNN模塊的使用 274
10.3 應(yīng)用示例 286
10.3.1 典型計(jì)算機(jī)視覺任務(wù) 286
10.3.2 使用GoogLeNet實(shí)現(xiàn)圖像分類 289
10.3.3 使用YOLOv4實(shí)現(xiàn)目標(biāo)檢測 295
10.3.4 使用Mask R-CNN實(shí)現(xiàn)實(shí)例分割 306
10.3.5 使用GOTURN模型實(shí)現(xiàn)目標(biāo)跟蹤 315
10.3.6 使用DB算法實(shí)現(xiàn)場景文本檢測 319
10.3.7 使用CRNN實(shí)現(xiàn)場景文本識(shí)別 327
10.3.8 應(yīng)用提示 338
參考文獻(xiàn) 339