《OpenCV 4机器学习算法原理与编程实战》主要面向机器学习领域的研究与开发人员,采用原理结合实战的方式,介绍OpenCV 4 的机器学习算法模块与深度神经网络模块中的核心算法原理与C++编程实战。全书共10 章, 第1~3 章,介绍OpenCV 4 的基础知识、基本图像操作和机器学习基础知识;第4~8 章,介绍K-means、KNN、决策树、随机森林、Boosting 算法和支持向量机等机器学习算法与编程实战;第9~10 章,介绍神经网络与深度神经网络的基本原理与编程实战,并提供了多种类型的深度学习模型的部署示例代码。
《OpenCV 4机器学习算法原理与编程实战》基本聚焦于机器学习在计算机视觉领域的应用,既可以作为相关专业学生的教材,也可以作为研究人员或工程技术人员的参考资料。
第1 章 概述 ................................................................................................................... 1
1.1 OpenCV 简述 ......................................................................................................... 1
1.2 OpenCV 的功能 ..................................................................................................... 1
1.3 OpenCV 中的机器学习与深度神经网络模块 ..................................................... 2
1.4 基本数据类型 ........................................................................................................ 2
1.4.1 数据类型概述 ............................................................................................. 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 基本矩阵运算 ........................................................................................... 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.4 OpenCV 支持的机器学习算法 ........................................................................... 84
3.4.1 机器学习模块的结构 ............................................................................... 84
3.4.2 机器学习模块中的算法 ........................................................................... 85
3.4.3 数据集准备 ............................................................................................... 87
3.4.4 特征选择 ................................................................................................... 88
参考文献 ....................................................................................................................... 89
第4 章 K-means 和KNN ............................................................................................. 90
4.1 算法原理 .............................................................................................................. 90
4.1.1 K-means 原理 ............................................................................................ 90
4.1.2 KNN 原理 .................................................................................................. 92
4.2 OpenCV 实现 ....................................................................................................... 95
4.2.1 K-means 的实现 ........................................................................................ 95
4.2.2 KNN 的实现 .............................................................................................. 97
4.3 应用示例 .............................................................................................................. 99
4.3.1 K-means 聚类示例 .................................................................................... 99
4.3.2 KNN 手写数字识别示例 ........................................................................ 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.2 OpenCV 实现 ..................................................................................................... 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.2 Bagging 算法 ........................................................................................... 143
6.2 OpenCV 实现 ..................................................................................................... 146
6.2.1 OpenCV 中的随机森林 .......................................................................... 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.1 Boosting 算法原理 ............................................................................................. 159
7.1.1 Boosting 算法的基本思想 ...................................................................... 159
7.1.2 Boosting 算法的学习流程 ...................................................................... 159
7.1.3 AdaBoost 算法 ........................................................................................ 160
7.2 OpenCV 实现 ..................................................................................................... 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.4 SVM 回归算法的基本原理 .................................................................... 192
8.1.5 SVM 算法执行SRM 准则的解释 ......................................................... 194
8.2 OpenCV 实现 ..................................................................................................... 195
8.2.1 OpenCV 中的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.2 OpenCV 实现 ..................................................................................................... 234
9.2.1 OpenCV 中的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.4 Softmax 层 ............................................................................................. 263
10.1.5 CNN 特征学习的过程 .......................................................................... 264
10.1.6 CNN 特征学习的原理 .......................................................................... 266
10.2 OpenCV 的DNN 模块..................................................................................... 268
10.2.1 OpenCV 支持的深度学习框架 ............................................................ 269
10.2.2 支持的层类型 ....................................................................................... 269
10.2.3 编译支持GPU 加速的OpenCV .......................................................... 269
10.2.4 DNN 模块的使用 .................................................................................. 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
推荐帖子 最新更新时间:2023-06-11 02:48
EEWorld Datasheet 技术支持
热门活动
相关视频
可能感兴趣器件
随便看看
热门下载
热门文章
热门标签
评论