[套装书]OpenCV 4计算机视觉:Python语言实现(原书第3版)+OpenCV深度学习应用与性能优化实践(2册)

作者
约瑟夫·豪斯,乔·米尼奇诺 吴至文 郭叶军 宗炜 李鹏 赵娟
丛书名
智能系统与技术丛书
出版社
机械工业出版社
ISBN
9782108261725
简要
简介
内容简介书籍计算机书籍 ---------------------------8083545 - OpenCV 4计算机视觉:Python语言实现(原书第3版)--------------------------- 本书首先介绍OpenCV 4以及如何基于Python 3在各种平台上安装OpenCV 4。接下来,你将学习如何执行读取、写入、操纵,以及显示静态图像、视频和摄像机回馈等基本操作。你还将学习图像处理、视频分析、深度估计和分割,并通过构建一个简单的GUI应用程序获得实践经验。接下来,你将处理两类常见问题:人脸检测和人脸识别。你还将学习物体分类和机器学习的概念,这将使你能够创建和使用物体检测器和分类器,甚至跟踪电影或摄像机回馈中的物体。稍后,你将学习3D跟踪和增强现实。本书末尾,你将学习人工神经网络和深度神经网络,学习如何开发手写数字识别以及对人的性别和年龄分类的应用程序。 ---------------------------8071047 - OpenCV深度学习应用与性能优化实践--------------------------- Intel音视频团队与阿里巴巴图像处理专家联合撰写,知名专家联袂推荐,深入解析OpenCV DNN 模块、基于GPU/CPU的加速实现、性能优化技巧与可视化工具,以及人脸活体检测(完整案例)与主流识别项目解析。 第1~2章介绍了OpenCV编译、运行,深度学习模块(Open DNN)的架构、实现原理,以及深度学习的数学基础与如何快速上手。 第3~5章主要介绍了OpenCV的GPU加速原理,涵盖必要的并行计算知识、Intel GPU硬件结构,以及OpenCL和Vulkan加速实现,是性能优化工作的核心。 第6章介绍了CPU的硬件知识,以及深度学习模块的CPU加速方法,重点讲解了指令集SIMD加速,讨论了Halide后端加速、OpenVINO(Intel推理引擎)加速。 第7章介绍了常用的深度神经网络可视化工具——TensorBoard(适用于TensorFlow网络格式),Netscope(适用于Caffe网络格式),针对Intel硬件平台的性能调优工具VTune,以及高阶程序优化的思路和方法。 第8~9章重点讲解实践细节,包括用深度学习方法处理计算机视觉的基本问题,以及一个完整的人脸活体检测项目与主流识别项目解析。
目录
[套装书具体书目]
8071047 - OpenCV深度学习应用与性能优化实践 - 9787111656463 - 机械工业出版社 - 定价 89
8083545 - OpenCV 4计算机视觉:Python语言实现(原书第3版) - 9787111689485 - 机械工业出版社 - 定价 99



---------------------------8083545 - OpenCV 4计算机视觉:Python语言实现(原书第3版)---------------------------


译者序
前言
作者简介
审校者简介
第1章 安装OpenCV 1
1.1 技术需求 2
1.2 OpenCV 4有哪些新特性 2
1.3 选择和使用合适的安装工具 3
1.3.1 在Windows上安装 3
1.3.2 在macOS上安装 7
1.3.3 在Debian、Ubuntu、Linux Mint以及类似系统上安装 8
1.3.4 在其他类UNIX系统上安装 11
1.4 运行示例 12
1.5 查找文档、帮助和更新 13
1.6 本章小结 13
第2章 处理文件、摄像头和GUI 14
2.1 技术需求 14
2.2 基本I/O脚本 14
2.2.1 读取/写入图像文件 15
2.2.2 在图像和原始字节之间进行转换 17
2.2.3 基于numpy.array访问图像数据 19
2.2.4 读取/写入视频文件 21
2.2.5 捕捉摄像头帧 22
2.2.6 在窗口中显示图像 23
2.2.7 在窗口中显示摄像头帧 24
2.3 项目Cameo(人脸跟踪和图像处理) 25
2.4 Cameo:面向对象的设计 26
2.4.1 基于managers.CaptureManager提取视频流 26
2.4.2 基于managers.WindowManager提取窗口和键盘 30
2.4.3 基于cameo.Cameo应用所有内容 31
2.5 本章小结 33
第3章 基于OpenCV的图像处理 34
3.1 技术需求 34
3.2 在不同颜色模型之间进行图像转换 34
3.3 探索傅里叶变换 35
3.4 创建模块 38
3.5 边缘检测 38
3.6 自定义核:获取卷积 39
3.7 修改应用程序 41
3.8 基于Canny的边缘检测 43
3.9 轮廓检测 43
3.9.1 边框、最小矩形区域以及最小外接圆 44
3.9.2 凸轮廓和Douglas-Peucker算法 46
3.10 检测线、圆以及其他形状 48
3.10.1 检测线 48
3.10.2 检测圆 49
3.10.3 检测其他形状 50
3.11 本章小结 50
第4章 深度估计和分割 51
4.1 技术需求 51
4.2 创建模块 52
4.3 从深度摄像头捕捉帧 52
4.4 将10位图像转换成8位图像 54
4.5 由视差图创建掩模 56
4.6 修改应用程序 57
4.7 基于普通摄像头的深度估计 59
4.8 基于GrabCut算法的前景检测 64
4.9 基于分水岭算法的图像分割 67
4.10 本章小结 69
第5章 人脸检测和识别 70
5.1 技术需求 71
5.2 Haar级联的概念化 71
5.3 获取Haar级联数据 72
5.4 使用OpenCV进行人脸检测 72
5.4.1 在静态图像上进行人脸检测 73
5.4.2 在视频上进行人脸检测 74
5.4.3 进行人脸识别 77
5.5 在红外线下换脸 83
5.5.1 修改应用程序的循环 84
5.5.2 掩模复制操作 86
5.6 本章小结 88
第6章 使用图像描述符检索和搜索图像 89
6.1 技术需求 89
6.2 理解特征检测和匹配的类型 90
6.3 检测Harris角点 90
6.4 检测DoG特征并提取SIFT描述符 92
6.5 检测快速Hessian特征并提取SURF描述符 95
6.6 使用基于FAST特征和BRIEF描述符的ORB 96
6.6.1 FAST 97
6.6.2 BRIEF 97
6.6.3 蛮力匹配 98
6.6.4 匹配两幅图像中的标识 98
6.7 使用K最近邻和比率检验过滤匹配 101
6.8 基于FLANN的匹配 104
6.9 基于FLANN进行单应性匹配 107
6.10 示例应用程序:文身取证 110
6.10.1 将图像描述符保存到文件 110
6.10.2 扫描匹配 111
6.11 本章小结 114
第7章 建立自定义物体检测器 115
7.1 技术需求 115
7.2 理解HOG描述符 116
7.2.1 HOG的可视化 116
7.2.2 使用HOG描述图像的区域 117
7.3 理解非极大值抑制 118
7.4 理解支持向量机 118
7.5 基于HOG描述符检测人 119
7.6 创建并训练物体检测器 122
7.6.1 理解BoW 122
7.6.2 将BoW应用于计算机视觉领域 123
7.6.3 k均值聚类 123
7.7 检测汽车 124
7.7.1 支持向量机和滑动窗口相结合 129
7.7.2 检测场景中的汽车 130
7.7.3 保存并加载经过训练的支持向量机 135
7.8 本章小结 135
第8章 物体跟踪 136
8.1 技术需求 136
8.2 基于背景差分检测运动物体 137
8.2.1 实现基本背景差分器 138
8.2.2 使用MOG背景差分器 140
8.2.3 使用KNN背景差分器 143
8.2.4 使用GMG和其他背景差分器 145
8.3 利用MeanShift和CamShift跟踪彩色物体 147
8.3.1 规划MeanShift示例 148
8.3.2 计算和反投影颜色直方图 148
8.3.3 实现MeanShift示例 152
8.3.4 使用CamShift 153
8.4 使用卡尔曼滤波器寻找运动趋势 155
8.4.1 理解预测和更新阶段 155
8.4.2 跟踪鼠标光标 156
8.5 跟踪行人 158
8.5.1 规划应用程序的流程 158
8.5.2 比较面向对象范式和函数范式 159
8.5.3 实现行人类 160
8.5.4 实现主函数 162
8.5.5 考虑接下来的步骤 165
8.6 本章小结 165
第9章 摄像头模型和增强现实 166
9.1 技术需求 166
9.2 理解3D图像跟踪和增强现实 167
9.2.1 理解摄像头和镜头参数 168
9.2.2 理解cv2.solvePnPRansac 172
9.3 实现demo应用程序 174
9.3.1 导入模块 174
9.3.2 执行灰度转换 175
9.3.3 执行2D到3D的空间转换 176
9.3.4 实现应用程序类 177
9.3.5 运行和测试应用程序 192
9.4 改进3D跟踪算法 195
9.5 本章小结 195
第10章 基于OpenCV的神经网络导论 197
10.1 技术需求 198
10.2 理解人工神经网络 198
10.2.1 理解神经元和感知器 199
10.2.2 理解神经网络的层 200
10.3 用OpenCV训练基本人工神经网络 202
10.4 训练多阶段人工神经网络分类器 203
10.5 基于人工神经网络识别手写数字 207
10.5.1 理解手写数字的MNIST数据库 207
10.5.2 为MNIST数据库选择训练参数 208
10.5.3 实现模块来训练人工神经网络 208
10.5.4 实现简单测试模块 212
10.5.5 实现主模块 212
10.5.6 试着提升人工神经网络训练性能 217
10.5.7 寻找其他潜在应用程序 218
10.6 在OpenCV中使用其他框架的深度神经网络 219
10.7 基于第三方深度神经网络的物体检测和分类 220
10.8 基于第三方深度神经网络的人脸检测和分类 223
10.9 本章小结 228
附录 基于曲线滤波器弯曲颜色空间 229



---------------------------8071047 - OpenCV深度学习应用与性能优化实践---------------------------


序一
序二
序三
序四
前言
第1章OpenCV和深度学习 1
1.1 OpenCV处理流程 1
1.1.1 OpenCV库 1
1.1.2 OpenCV深度学习应用的典型流程 3
1.2 机器学习的数学视角 5
1.2.1 机器学习和非机器学习 5
1.2.2 从人工神经网络到深度学习 8
1.2.3 破除神秘——神经网络是如何训练的 11
1.3 OpenCV深度学习模块 16
1.3.1 主要特性 16
1.3.2 OpenCV DNN图像分类举例(Python) 17
1.4 本章小结 19
第2章OpenCV深度学习模块解析 20
2.1 深度学习模块分层架构总览 20
2.2 语言绑定和测试层 21
2.2.1 深度学习模块的Python语言绑定 21
2.2.2 深度学习模块的正确性测试和性能测试 23
2.3 API层 30
2.3.1Layer 30
2.3.2Net 32
2.3.3 35
2.4DNN 37
2.4.1 37
2.4.2 推理引擎数据对象管理 43
2.4.3 推理引擎重点层解释 47
2.4.4 层的合并优化 62
2.5 引擎加速层 66
2.5.1 深度学习模块支持的运算目标设备 67
2.5.2 深度学习模块支持的加速后端 68
2.5.3 加速方式的选择 69
2.6 本章小结 70
第3章并行计算与GPU架构 71
3.1 并行计算浅谈 71
3.2 Intel GPU架构及其在并行计算中的应用 74
3.2.1Intel GPU 74
3.2.2SIMD棗AOSSOA 82
3.2.3cl_intel_subgroupsIntel GPU 89
3.3 100
4基于Vulkan的加速实现 101
4.1 初识Vulkan 101
4.2 使用Vulkan加速 102
4.3 Vulkan后端加速过程解析 104
4.3.1 数据对象初始化 105
4.3.2 后端运算节点初始化 108
4.3.3 调用后端运算节点进行前向运算 111
4.3.4 Vulkan后端库 113
4.4 本章小结 119
第5章基于OpenCL的加速实现 120
5.1 OpenCL简介 120
5.2 如何使用OpenCL加速 125
5.3 OpenCL加速详解 128
5.3.1 OpenCL API封装 129
5.3.2 DNN模块的卷积层实现详解 132
5.3.3 ocl4dnn库的卷积运算类详解 134
5.3.4 卷积核函数auto-tuning机制解析 138
5.4 本章小结 143
第6章CPU及第三方库加速的实现 144
6.1 原生CPU加速实现 144
6.1.1 基于多线程技术的加速 147
6.1.2 基于并行指令的加速 153
6.2 Halide后端的实现 157
6.2.1 Halide介绍 158
6.2.2 如何启用Halide 163
6.2.3 Halide后端的实现原理 165
6.3 Intel推理引擎后端的实现 171
6.3.1 Intel推理引擎介绍 171
6.3.2 如何启用推理引擎后端 172
6.3.3 Intel推理引擎后端的实现原理 176
6.4 本章小结 185
第7章可视化工具与性能优化 186
7.1 Netscope:基于Web的Caffe网络可视化工具 186
7.2 TensorBoard:助力TensorFlow程序的理解和调试 188
7.2.1 图的可视化 188
7.2.2 数据的可视化 191
7.2.3 调试的可视化 197
7.3VTuneIntel 199
7.3.1 200
7.3.2Intel VTune 202
7.3.3VTune 211
7.4 程序优化流程总结和建议 213
7.5 本章小结 215
第8章支付级人脸识别项目开发实战 216
8.1 活体检测的概念与方法 216
8.2 支付级人脸识别项目流程 218
8.3 基于OpenCV的支付级人脸识别项目具体实现 220
8.3.1 数据准备 222
8.3.2 活体检测模型训练 230
8.3.3 支付级人脸识别系统实现 238
8.4 本章小结 244
第9章深度学习模块不同场景下的应用实践 245
9.1 图像分类 245
9.1.1 图像分类经典网络结构 245
9.1.2 GoogLeNet 247
9.1.3 图像分类程序源码分析 249
9.1.4 图像分类程序运行结果 255
9.2 目标检测 256
9.2.1 SSD算法解析 256
9.2.2 目标检测程序源码分析 257
9.2.3 目标检测程序运行结果 260
9.3 语义分割 261
9.3.1 FCN模型 262
9.3.2 语义分割程序源码分析 263
9.3.3 语义分割程序运行结果 267
9.4 视觉风格变换 268
9.4.1 视觉风格变换模型 268
9.4.2 视觉风格变换程序源码分析 269
9.4.3 视觉风格变换程序运行结果 271
9.5 本章小结 273
附录AOpenCV的编译安装及patch开发流程 274
附录Bintel_gpu_frequency工具的安装和使用 280

推荐

车牌查询
桂ICP备20004708号-3