猜你喜欢

机器学习:使用OpenCV、Python和scikit-learn进行智能图像处理(原书第2版)

书籍作者:[印] 阿迪蒂亚·夏尔马 ISBN:9787111668268
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:5346
创建日期:2021-10-07 发布日期:2021-10-07
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
下载地址
内容简介

  《机器学习:使用OpenCV、Python和scikit-learn进行智能图像处理(原书第2版)》是一本基于OpenCV4和Python的机器学习实战手册,既详细介绍机器学习及OpenCV相关的基础知识,又通过具体实例展示如何使用OpenCV和Python实现各种机器学习算法,并提供大量示例代码,可以帮助你掌握机器学习实用技巧,解决各种不同的机器学习和图像处理问题。
  《机器学习:使用OpenCV、Python和scikit-learn进行智能图像处理(原书第2版)》共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是用于构建计算机视觉应用程序的一个开源库。《机器学习:使用OpenCV、Python和scikit-learn进行智能图像处理(原书第2版)》将全面介绍新发布的OpenCV4版本所提供的大量新特性和平台改进。
  首先,你将了解OpenCV4的新特性并安装OpenCV4来构建计算机视觉应用程序。然后,你将探索机器学习的基础知识,学习设计用于图像处理的各种算法,循序渐进地掌握监督学习和无监督学习,并将获得使用Python中的scikit-learn开发各种机器学习应用程序的实践经验。接着,你将学习决策树、支持向量机(SVM)、贝叶斯学习等各种机器学习算法,以及如何将这些算法应用于目标检测等计算机视觉操作。之后,你将深入研究深度学习和集成学习,并探索它们在现实世界中的应用,如手写数字分类和手势识别等。最后,你将学习用于构建图像处理系统的英特尔OpenVINO工具包。
  学习完《机器学习:使用OpenCV、Python和scikit-learn进行智能图像处理(原书第2版)》,你将掌握使用OpenCV4构建智能计算机视觉应用程序所需要的机器学习技能。

作者简介

  阿迪蒂亚·夏尔马(Aditya Sharma),罗伯特·博世(Robert Bosch)公司的一名高级工程师,致力于解决真实世界的自动计算机视觉问题。曾获得罗伯特·博世公司2019年人工智能编程马拉松的首名。在印度理工学院,他于2019年的ICIP和2019年的MICCAI上发表了有关深度学习医学成像的论文。在国际信息技术学院,他的工作主要是文档图像超分辨。
  他还是一个积极进取的作家,曾为DataCamp和LearnOpenCV撰写过很多有关机器学习和深度学习的文章。他不仅经营着自己的YouTube频道,还在NCVPRIPG会议(2017)以及阿里格尔穆斯林大学(Aligarh Muslim University)的深度学习研讨会上做过演讲。
  
  维什韦什·拉维·什里马利(Vishwesh Ravi Shrimali),于2018年毕业于彼拉尼博拉理工学院(BITS Pilani)机械工程专业。此后一直在BigVision LLC从事深度学习和计算机视觉方面的工作,还参与了官方OpenCV课程的创建。他对编程和人工智能有着浓厚的兴趣,并将其应用到机械工程项目中。他还在LearnOpenCV上写了多篇有关OpenCV和深度学习的博客。除了撰写博客和做项目,他喜欢散步和弹奏木吉他。
  
  迈克尔·贝耶勒(Michael Beyeler),是华盛顿大学神经工程和数据科学的博士后研究员,致力于仿生视觉的计算模型研究,以为盲人植入人工视网膜(仿生眼睛),改善盲人的感知体验。他的工作属于神经科学、计算机工程、计算机视觉和机器学习的交叉领域。他还是几个开源软件项目的主要贡献者,并在Python、C/C++、CUDA、MATLAB和Android等方面拥有专业的编程经验。迈克尔在加州大学欧文分校获得计算机科学博士学位,在瑞士苏黎世联邦理工学院获得生物医学工程硕士学位和电子工程学士学位。

编辑推荐
适读人群 :本书既适合想要从事机器学习及其相关领域研发的初学者,又适合致力于机器学习研究的高层次读者。

OpenCV是用于构建计算机视觉应用程序的一个开源库。本书将全面介绍新发布的OpenCV 4版本所提供的大量新特性和平台改进。
首先,你将了解OpenCV 4的新特性并安装OpenCV 4来构建计算机视觉应用程序。然后,你将探索机器学习的基础知识,学习设计用于图像处理的各种算法,循序渐进地掌握监督学习和无监督学习,并将获得使用Python中的scikit-learn开发各种机器学习应用程序的实践经验。接着,你将学习决策树、支持向量机(SVM)、贝叶斯学习等各种机器学习算法,以及如何将这些算法应用于目标检测等计算机视觉操作。之后,你将深入研究深度学习和集成学习,并探索它们在现实世界中的应用,如手写数字分类和手势识别等。*后,你将学习用于构建图像处理系统的英特尔OpenVINO工具包。
学习完本书,你将掌握使用OpenCV 4构建智能计算机视觉应用程序所需要的机器学习技能。

《机器学习:使用OpenCV、Python和scikit-learn进行智能图像处理(原书第2版)》电子书免费下载

pdf下载 txt下载 epub下载 mobi下载 azw3下载

前言

随着世界的不断变化,人们构建的机器越来越智能,对机器学习和计算机视觉专家的需求也在日益增长。顾名思义,机器学习就是机器进行学习的过程,即通过给定一组特定参数并将其作为输入进行预测。另一方面,计算机视觉提供了机器视觉,即计算机视觉使机器能够感知信息。当把这些技术组合在一起时,你就得到了一台可以使用视觉数据进行预测的机器,这使得机器拥有的能力更接近人类。当深度学习被加入时,机器的预测能力甚至可以超过人类。这似乎有些牵强,但是随着人工智能系统逐步取代基于决策的系统,这实际上已经成为现实。你拥有人工智能相机、人工智能监控器、人工智能音响系统、人工智能驱动处理器等。虽然不能保证你在读完本书之后就能够构建出一台人工智能相机,但是我们确实打算为你提供实现这些任务必需的工具。我们将要介绍的工具是功能最强大的OpenCV库,它是世界上规模最大的计算机视觉库。尽管OpenCV库在机器学习中的使用不是很普遍,但我们还是提供了一些有关如何将其应用于机器学习的例子和概念。在本书中,我们采用动手实践的方法,建议你尝试本书中提供的每一段代码,以构建一个应用程序来展示学到的知识。世界在变化,而本书就是我们帮助年轻人把世界变得更美好的方式之一。
目标读者
我们试图从头开始解释所有的概念,以使本书既适合初学者又适合高层次读者。读者需具备一些Python编程方面的基本知识,但这不是强制要求。当你遇到不能理解的Python语法时,请一定去网上查找。天助自助者。
主要内容
第1章介绍安装本书所需的软件及Python模块。
第2章带你了解一些基本的OpenCV函数。
第3章涵盖机器学习中监督学习方法的基础知识,并将通过OpenCV以及Python中的scikit-learn库带你了解一些监督学习方法示例。
第4章介绍使用OpenCV中的ORB进行特征检测和特征识别,还将试着帮大家理解维数灾难等重要概念。
第5章介绍决策树及其相关的重要概念,包括树的深度和剪枝等技术。还将介绍利用决策树预测乳腺癌诊断的一个实际应用。
第6章介绍支持向量机及如何用OpenCV实现它,还将介绍一个使用OpenCV进行行人检测的应用。
第7章将讨论朴素贝叶斯算法、多项式朴素贝叶斯等技术及其实现。最后构建一个机器学习应用程序,把数据分类成垃圾邮件和非垃圾邮件。
第8章首次介绍第二类机器学习算法—无监督学习。还将讨论k近邻、k均值等聚类技术。
第9章介绍深度学习技术,我们可以看到如何使用深度神经网络对MNIST数据集的图像进行分类。
第10章介绍用于分类的随机森林、bagging方法以及boosting方法等。
第11章回顾在各种机器学习方法中选择最优参数集的过程,以提升模型的性能。
第12章介绍在OpenCV 40中引入的OpenVINO工具包,并以图像分类为例介绍如何使用OpenCV中的OpenVINO工具包。
第13章对本书的重要主题进行总结,并谈谈接下来可以做些什么。
充分利用本书
如果你是Python的初学者,建议阅读任意一本优秀的Python编程书籍、在线教程或观看视频。你还可以研究一下DataCamp(http://wwwdatacampcom),利用交互式课程学习Python。
同时建议学习有关Python中Matplotlib库的一些基本概念。你可以试试这个教程:https://wwwdatacampcom/community/tutorials/matplotlib-tutorial-python。
在开始阅读本书之前,你不需要在系统上安装任何内容。我们将在第1章中介绍所有的安装步骤。
下载示例代码及彩色图像
本书的示例代码及所有截图和样图,可以从http://wwwpacktpubcom通过个人账号下载,也可以访问华章图书官网http://wwwhzbookcom,通过注册并登录个人账号下载。
本书的代码包也在GitHub上托管,网址为:https://githubcom/PacktPublishing/Machine-Learning-for-OpenCV-Second-Edition。如果代码有更新,将在现有的GitHub库上进行更新。

目录

译者序
前言
作者简介
审校者简介
第一部分 机器学习与OpenCV的基础知识
第1章 机器学习体验2
11 技术需求3
12 开始机器学习3
13 机器学习可以解决的问题4
14 开始使用Python5
15 开始使用OpenCV6
16 安装6
161 获取本书的最新代码7
162 了解Python的Anaconda发行版8
163 在conda环境中安装OpenCV9
164 安装验证10
165 OpenCV的ml模块概览12
17 机器学习的应用13
18 OpenCV 40的新功能13
19 本章小结14
第2章 用OpenCV处理数据15
21 技术需求15
22 理解机器学习的工作流程16
23 使用OpenCV和Python处理数据18
231 开始一个新的IPython或Jupyter会话18
232 使用Python的NumPy包处理数据20
233 用Python加载外部数据集24
234 使用Matplotlib可视化数据25
235 使用C++中的OpenCV TrainData容器处理数据29
24 本章小结30
第3章 监督学习的第一步31
31 技术需求31
32 理解监督学习32
321 看看OpenCV中的监督学习33
322 用评分函数度量模型性能33
33 使用分类模型预测类标签39
331 理解k-NN算法40
332 用OpenCV实现k-NN40
34 使用回归模型预测连续的结果47
341 理解线性回归47
342 OpenCV中的线性回归48
343 使用线性回归预测波士顿房价51
344 Lasso回归和岭回归的应用54
35 使用逻辑回归分类鸢尾花的种类55
351 理解逻辑回归55
352 加载训练数据56
353 使其成为一个二值分类问题57
354 数据检查57
355 将数据拆分成训练集和测试集58
356 训练分类器58
357 测试分类器59
36 本章小结59
第4章 数据表示和特征工程60
41 技术需求61
42 理解特征工程61
43 数据预处理62
431 特征标准化62
432 特征归一化63
433 将特征缩放到一个范围64
434 特征二值化64
435 缺失数据的处理65
44 理解降维66
441 用OpenCV实现主成分分析67
442 实现独立成分分析70
443 实现非负矩阵分解71
444 使用t-分布随机邻域嵌入可视化降维72
45 类别变量的表示74
46 文本特征的表示75
47 图像的表示77
471 使用颜色空间77
472 检测图像中的角点79
473 使用star检测器和BRIEF描述符82
474 使用面向FAST和可旋转的BRIEF84
48 本章小结85
第二部分 基于OpenCV的运算
第5章 基于决策树进行医疗诊断88
51 技术需求88
52 理解决策树89
521 构建我们的第一棵决策树91
522 可视化一棵经过训练的决策树97
523 探究决策树的内部工作原理99
524 评估特征的重要性100
525 理解决策规则101
526 控制决策树的复杂度102
53 使用决策树诊断乳腺癌102
531 加载数据集103
532 构建决策树104
54 使用决策树进行回归108
55 本章小结111
第6章 利用支持向量机进行行人检测112
61 技术需求113
62 理解线性SVM113
621 学习最优决策边界113
622 实现我们的第一个SVM115
63 处理非线性决策边界120
631 理解核技巧121
632 了解我们的核121
633 实现非线性SVM122
64 检测自然场景中的行人123
641 获取数据集124
642 面向梯度的直方图概述126
643 生成负样本127
644 实现SVM128
645 bootstrapping模型129
646 检测更大图像中的行人130
647 进一步完善模型132
65 使用SVM的多类分类133
651 关于数据134
652 属性信息134
66 本章小结136
第7章 利用贝叶斯学习实现一个垃圾邮件过滤器137
71 技术需求138
72 理解贝叶斯推理138
721 概率理论概述138
722 理解贝叶斯定理139
723 理解朴素贝叶斯分类器142
73 实现第一个贝叶斯分类器143
731 创建一个玩具数据集143
732 使用普通贝叶斯分类器对数据进行分类144
733 使用朴素贝叶斯分类器对数据进行分类147
734 可视化条件概率147
74 使用朴素贝叶斯分类器分类邮件149
741 加载数据集150
742 使用pandas建立一个数据矩阵152
743 数据预处理153
744 训练一个普通贝叶斯分类器153
745 在完整数据集上训练154
746 使用n-grams提升结果154
747 使用TF-IDF提升结果155
75 本章小结156
第8章 利用无监督学习发现隐藏结构157
81 技术需求157
82 理解无监督学习158
83 理解k-均值聚类158
84 理解最大期望161
841 实现最大期望解决方案162
842 了解最大期望的局限性164
85 使用k-均值压缩颜色空间169
851 可视化真彩色调色板170
852 使用k-均值减少调色板的颜色172
86 使用k-均值分类手写数字174
861 加载数据集175
862 运行k-均值175
87 将聚类组织为层次树176
871 理解层次聚类177
872 实现凝聚层次聚类178
873 聚类算法比较179
88 本章小结180
第三部分 基于OpenCV的高级机器学习
第9章 使用深度学习分类手写数字182
91 技术需求182
92 理解McCulloch-Pitts神经元183
93 理解感知器185
94 实现第一个感知器187
941 生成一个玩具数据集188
942 拟合感知器和数据189
943 评估感知器分类器190
944 将感知器应用于非线性可分的数据191
95 理解多层感知器193
951 理解梯度下降194
952 基于反向传播训练多层感知器196
953 用OpenCV实现一个多层感知器197
96 结识深度学习202
97 分类手写数字205
971 加载MNIST数据集205
972 预处理MNIST数据集206
973 使用OpenCV训练一个多层感知器207
974 使用Keras训练深度神经网络208
98 本章小结211
第10章 集成分类方法212
101 技术需求213
102 理解集成方法213
1021 理解平均集成214
1022 理解boosting集成217
1023 理解叠加集成219
103 将决策树组合成随机森林220
1031 理解决策树的缺点220
1032 实现第一个随机森林224
1033 用scikit-learn实现一个随机森林225
1034 实现超随机树226
104 利用随机森林进行人脸识别228
1041 加载数据集228
1042 预处理数据集229
1043 随机森林的训练和测试230
105 实现AdaBoost232
1051 用OpenCV实现AdaBoost232
1052 用scikit-learn实现AdaBoost233
106 把各种模型组合成一个投票分类器234
1061 理解各种投票方案234
1062 实现一个投票分类器235
1063 简单多数236
107 本章小结237
第11章 选择正确的模型与超参数调优238
111 技术需求239
112 模型评估239
1121 模型评估的错误方式239
1122 模型评估的正确方式240
1123 选择最佳模型241
113 理解交叉验证244
1131 用OpenCV手动实现交叉验证246
1132 用scikit-learn进行k折交叉验证247
1133 实现留一法交叉验证247
114 利用bootstrapping评估鲁棒性248
115 评估结果的显著性250
1151 实现Student t-检验251
1152 实现McNemar检验252
116 基于网格搜索的超参数调优253
1161 实现一个简单的网格搜索254
1162 理解验证集的值255
1163 网格搜索与交叉验证结合256
1164 网格搜索与嵌套交叉验证结合258
117 利用各种评估指标对模型评分259
1171 选择正确的分类器评估指标259
1172 选择正确的回归评估指标260
118 将算法链接起来形成管道260
1181 用scikit-learn实现管道261
1182 在网格搜索中使用管道262
119 本章小结263
第12章 使用基于OpenCV的OpenVINO264
121 技术需求264
122 OpenVINO简介265
123 OpenVINO工具包安装265
124 交互式人脸检测演示266
125 使用基于OpenCV的OpenVINO推理引擎267
126 使用基于OpenCV的OpenVINO模型组268
127 使用OpenCV和OpenVINO推理引擎进行图像分类269
1271 利用OpenVINO进行图像分类270
1272 利用OpenCV和OpenVINO进行图像分类271
128 本章小结273
第13章 尾声274
131 技术需求274
132 机器学习问题的解决方案275
133 构建自己的估计器276
1331 用C++编写自己的基于OpenCV的分类器276
1332 用Python编写自己的基于scikit-learn的分类器278
134 接下来要做的工作280
135 本章小结281

短评

很专业,对研究有帮助

2020-12-05 16:01:20

购书是方便快捷,图书也是正版。第一天下单,第二天就可以送到,发现书买错了可以申请退款,钱立马可以返回账户,整个过程省心省力让人放心。

2020-11-27 09:54:40