本书是一本基于OpenCV4和Python的机器学习实战手册,既详细介绍机器学习及OpenCV相关的基础知识,又通过具体实例展示如何使用OpenCV和Python实现各种机器学习算法,并提供大量示例代码,可以帮助你掌握机器学习实用技巧,解决各种不同的机器学习和图像处理问题。
全书共13章:第1章简要
介绍机器学习基础知识,并讲解如何安装OpenCV和Python工具;第2章介绍基本的OpenCV函数;第3章讨论监督学习算法,以及如何使用OpenCV和scikit-learn实现这些算法;第4章讨论数据表示和特征工程,并介绍OpenCV中提供的用于处理图像数据的常见特征提取技术;第5章展示如何使用OpenCV构建决策树进行医疗诊断;第6章讨论如何使用OpenCV构建支持向量机检测行人;第7章讨论朴素贝叶斯算法、多项式朴素贝叶斯等技术及实现,并展示如何使用贝叶斯学习实现垃圾邮件过滤;第8章讨论一
些无监督学习算法;第9章详细讲解如何构建深度神经网络来分类手写数字;第10章介绍用于分类的随机森林、bagging方法和boosting方法等;第11章讨论如何通过模型选择和超参数调优来比较各种分类器的结果;第12章介绍OpenCV4.0中引入的OpenVINO工具包;第13章给出一些处理实际机器学习问题的提示和技巧。
译者序
前言
作者简介
审校者简介
第一部分 机器学习与OpenCV的基础知识
第1章 机器学习体验
1.1 技术需求
1.2 开始机器学习
1.3 机器学习可以解决的问题
1.4 开始使用Python
1.5 开始使用OpenCV
1.6 安装
1.6.1 获取本书的最新代码
1.6.2 了解Python的Anaconda发行版
1.6.3 在conda环境中安装OpenCV
1.6.4 安装验证
1.6.5 OpenCV的m1模块概览
1.7 机器学习的应用
1.8 OpenCV 4.0的新功能
1.9 本章小结
第2章 用OpenCV处理数据
2.1 技术需求
2.2 理解机器学习的工作流程
2.3 使用OpenCV和Python处理数据
2.3.1 开始一个新的IPython或Jupyter会话
2.3.2 使用Python的NumPy包处理数据
2.3.3 用Python加载外部数据集
2.3.4 使用Matplotlib可视化数据
2.3.5 使用C++中的OpenCV TrainData容器处理数据
2.4 本章小结
第3章 监督学习的第一步
3.1 技术需求
3.2 理解监督学习
3.2.1 看看OpenCV中的监督学习
3.2.2 用评分函数度量模型性能
3.3 使用分类模型预测类标签
3.3.1 理解k-NN算法
3.3.2 用OpenCV实现k-NN
3.4 使用回归模型预测连续的结果
3.4.1 理解线性回归
3.4.2 OpenCV中的线性回归
3.4.3 使用线性回归预测波士顿房价
3.4.4 Lasso回归和岭回归的应用
3.5 使用逻辑回归分类鸢尾花的种类
3.5.1 理解逻辑回归
……
第4章 数据表示和特征工程
第二部分 基于OpenCV的运算
第5章 基于决策树进行医疗诊断
第6章 利用支持向量机进行行人检测
阿迪蒂亚·夏尔马(AdityaSharma),罗伯特·博世(RobertBosch)公司高级工程师,致力于解决真实世界的自动计算机视觉问题。曾获得罗伯特·博世公司2019年人工智能编程马拉松的第一名。