新書推薦:
《
南方谈话:邓小平在1992
》
售價:NT$
367.0
《
纷纭万端 : 近代中国的思想与社会
》
售價:NT$
500.0
《
中国古代文体形态研究(第四版)(中华当代学术著作辑要)
》
售價:NT$
765.0
《
朋党之争与北宋政治·大学问
》
售價:NT$
454.0
《
甲骨文丛书·波斯的中古时代(1040-1797年)
》
售價:NT$
403.0
《
以爱为名的支配
》
售價:NT$
286.0
《
台风天(大吴作品,每一种生活都有被看见的意义)
》
售價:NT$
245.0
《
打好你手里的牌(斯多葛主义+现代认知疗法,提升当代人的心理韧性!)
》
售價:NT$
301.0
|
內容簡介: |
本书主要面向OpenCV领域的研究与开发人员,采用原理结合实战的方式,介绍OpenCV 4的机器学习算法模块与深度神经网络模块中的核心算法原理与C++编程实战。全书共10章, 第1~3章, 介绍OpenCV 4的基础知识、基本图像操作和机器学习基础知识;第4~8章,介绍K-means、KNN、决策树、随机森林、Boosting算法和支持向量机等机器学习算法与编程实战;第9~10章,介绍神经网络与深度神经网络的基本原理与编程实战,并提供了不同深度学习模型的部署示例代码。
|
關於作者: |
朱斌,博士,国防科技大学副教授。长期从事计算机视觉与机器学习领域的教学与科研工作,主要研究方向为成像侦察与信息处理。主持国家自然科学基金、省自然科学基金各1项,主持或参与其他科研项目多项,其中,2项科研成果列装获军队科技进步二等奖2项,授权国家发明专利10余项。
|
目錄:
|
第1章概述1
1.1OpenCV简述1
1.2OpenCV的功能1
1.3OpenCV中的机器学习与深度神经网络模块2
1.4基本数据类型2
1.4.1数据类型概述2
1.4.2cv::Vec类3
1.4.3cv::Point类6
1.4.4cv::Scalar类8
1.4.5cv::Size类9
1.4.6cv::Rect类9
1.4.7cv::RotatedRect类13
1.4.8cv::Mat类14
1.4.9基本矩阵运算19
参考文献22
第2章OpenCV在机器学习任务中的基本图像操作23
2.1基本图像操作23
2.1.1读取、显示和存储图像23
2.1.2颜色空间转换30
2.1.3图像的几何变换36
2.1.4直方图均衡化49
2.1.5标注文字和矩形框57
2.2基本视频操作60
2.2.1读取和播放视频文件61
2.2.2处理视频文件62
2.2.3存储视频文件65
参考文献67
第3章机器学习的基本原理与OpenCV机器学习模块69
3.1机器学习的基本概念69
3.1.1机器学习的定义69
3.1.2机器学习的分类70
3.2机器学习的一般流程73
3.2.1机器学习流程73
3.2.2数据集74
3.2.3偏差与方差77
3.2.4评估分类器性能的方法79
3.3逻辑回归分类示例80
3.3.1图像数据与数据表示81
3.3.2逻辑回归模型82
3.3.3逻辑回归的损失函数83
3.4OpenCV支持的机器学习算法84
3.4.1机器学习模块的结构84
3.4.2机器学习模块中的算法85
3.4.3数据集准备87
3.4.4特征选择88
参考文献89
第4章K-means和KNN90
4.1算法原理90
4.1.1K-means原理90
4.1.2KNN原理92
4.2OpenCV实现95
4.2.1K-means的实现95
4.2.2KNN的实现97
4.3应用示例99
4.3.1K-means聚类示例99
4.3.2KNN手写数字识别示例106
4.3.3应用提示112
参考文献113
第5章决策树114
5.1决策树原理114
5.1.1决策树的基本思想114
5.1.2决策树的表示方法114
5.1.3最佳切分属性的选择116
5.1.4停止标准123
5.1.5剪枝123
5.2OpenCV实现123
5.2.1创建决策树123
5.2.2训练决策树126
5.2.3使用决策树预测127
5.3应用示例129
5.3.1蘑菇可食性分类129
5.3.2预测波士顿房价135
5.3.3应用提示142
参考文献142
第6章随机森林143
6.1随机森林原理143
6.1.1随机森林的基本思想143
6.1.2Bagging算法143
6.2OpenCV实现146
6.2.1OpenCV中的随机森林146
6.2.2创建随机森林147
6.2.3训练随机森林148
6.2.4使用随机森林预测148
6.3应用示例148
6.3.1蘑菇可食性分类149
6.3.2预测波士顿房价153
6.3.3应用提示158
参考文献158
第7章Boosting算法159
7.1Boosting算法原理159
7.1.1Boosting算法的基本思想159
7.1.2Boosting算法159
7.1.3AdaBoost算法160
7.2OpenCV实现164
7.2.1创建AdaBoost模型164
7.2.2训练AdaBoost模型166
7.2.3使用AdaBoost模型预测166
7.3应用示例166
7.3.1蘑菇可食性分类167
7.3.2英文字母分类问题169
7.3.3应用提示174
参考文献174
第8章支持向量机175
8.1支持向量机原理175
8.1.1统计学习理论概述175
8.1.2线性SVM算法基本原理179
8.1.3非线性SVM算法的基本原理190
8.1.4SVM回归算法的基本原理192
8.1.5SVM算法执行SRM准则的解释194
8.2OpenCV实现195
8.2.1OpenCV中的SVM算法195
8.2.2创建SVM模型197
8.2.3训练SVM模型199
8.2.4使用SVM模型预测202
8.3应用示例203
8.3.1使用HOG特征与SVM算法识别手写数字203
8.3.2应用提示213
参考文献214
第9章神经网络215
9.1神经网络算法原理215
9.1.1神经网络的结构与表示216
9.1.2单隐层前馈神经网络220
9.1.3多隐层前馈神经网络222
9.1.4梯度下降法225
9.1.5反向传播算法229
9.2OpenCV实现234
9.2.1OpenCV中的MLP算法234
9.2.2创建MLP模型235
9.2.3训练MLP模型237
9.2.4使用MLP模型预测239
9.3应用示例239
9.3.1使用神经网络识别手写数字239
9.3.2应用提示251
参考文献251
第10章深度神经网络252
10.1卷积神经网络的基本原理253
10.1.1卷积神经网络的结构254
10.1.2卷积层255
10.1.3池化262
10.1.4Softmax层263
10.1.5CNN特征学习的过程263
10.1.6CNN特征学习的原理266
10.2OpenCV的DNN模块268
10.2.1OpenCV支持的深度学习框架269
10.2.2支持的层类型269
10.2.3编译支持GPU加速的OpenCV269
10.2.4DNN模块的使用274
10.3应用示例286
10.3.1典型计算机视觉任务286
10.3.2使用GoogLeNet实现图像分类289
10.3.3使用YOLOv4实现目标检测295
10.3.4使用Mask R-CNN实现实例分割306
10.3.5使用GOTURN模型实现目标跟踪315
10.3.6使用DB算法实现场景文本检测319
10.3.7使用CRNN实现场景文本识别327
10.3.8应用提示338
参考文献339
|
|