首页>参考读物>计算机科学与技术>人工智能

计算机视觉应用构建:OpenCV与TensorFlow实例
作者 : [美]沙姆沙德·安萨里(Shamshad Ansari) 著
译者 : 肖启阳 袁科 译
出版日期 : 2022-08-05
ISBN : 978-7-111-70876-6
定价 : 99.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 295
开本 : 16
原书名 : Building Computer Vision Applications Using Artificial Neural Networks: With Step-by-Step Examples in OpenCV and TensorFlow with Python
原出版社: Apress
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书首先介绍了图像处理基础知识、构建计算机视觉系统、深度学习与人工神经网络,然后重点阐述了深度学习用于图像识别及目标检测。之后,本书通过多个案例来介绍深度学习在计算机视觉方面的应用,同时探讨了云上计算机视觉建模。特别地,本书通过设问及循序渐进的学习目标,可以让读者深刻领会利用深度学习技术解决计算机视觉问题。

图书特色

Accure创始人、总裁兼首席执行官执笔
手把手教你构建工业级计算机视觉应用,包含大量Python实际代码示例

图书前言

20多年来,我有幸与一些伟大的数据科学家和计算机视觉专家一起合作。 一路上我学到了很多,尤其是构建大规模计算机视觉系统的最佳实践。在本书中,我介绍了从我自己的个人经历和我有机会与之共事的人的经历中学到的知识。我还介绍了计算机视觉领域一些伟大的贡献者和思想领袖的成果——尽管我还没有机会与他们合作,并在适当的地方引用了他们的作品。
当雇用新的工程师和科学家时,我面临的最大挑战之一是为他们提供系统的培训,以便他们能够在尽可能短的时间内开始在视觉系统开发方面做出贡献。网络上有大量与计算机视觉相关的在线资源和书籍,但鉴于计算机视觉领域广阔而复杂,人们很容易在这些资源和书籍所呈现的成堆信息中迷失。在本书中,我试图用一种结构化和系统化的方法来构建关键概念,并通过示例代码介绍如何开发真实的计算机视觉系统。我希望这可以帮助读者在阅读各章时将要点联系起来。我的目标是让这本书尽可能实用、尽可能便于读者上手。
本书首先介绍了计算机视觉的核心概念,并提供了辅助学习的代码示例。本书前半部分的代码示例主要是用OpenCV和Python编写的。
本书还介绍了机器学习的基本概念,并逐步展示了人工神经网络或深度学习的高级概念。每个概念都辅以实际用例的代码示例。所有与机器学习相关的代码示例都是用Python的TensorFlow编写的。
本书还给出了8个带有代码的计算机视觉实践案例。这些案例来自不同的行业,如医疗保健、安全、监视和制造业。我逐行解释了代码以帮助读者理解代码。本书有3章(第7~9章)专门讨论实际案例。这几章演示了如何从头开始构建视觉系统,包括从图像/视频采集到数据管道构建、模型培训和部署的过程。
训练最先进的计算机视觉模型需要大量的硬件资源,建议在云基础设施上利用最新的硬件资源(如GPU)和即用即付方式训练计算机视觉模型,这在经济上具有优势。最后一章,即第10章,介绍了在3个流行的云基础设施(GCP、AWS和微软Azure)上逐步构建基于机器学习的计算机视觉应用的方法。
虽然本书从基础概念一直介绍到在云上训练模型,但它有一定的先决条件,即具备 Python 编程语言的基础知识。本书旨在帮助在职专业人士、程序员、数据科学家以及本科生和研究生获得使用人工神经网络构建计算机视觉应用程序的实践知识。

上架指导

计算机\人工智能

封底文字

本书采用实用且循序渐进的方法,介绍如何将计算机视觉和机器学习概念应用于商业开发和工业应用。当读完本书并完成代码示例后,读者将获得基于深度学习技术开发计算机视觉应用的能力。

通过阅读本书,读者将能够:
运用图像处理和特征提取方法。
在计算机视觉应用开发中使用各种深度学习算法。
训练、管理和调整CNN及R-CNN、SSD和YOLO等目标检测模型的超参数。
使用Keras和TensorFlow建立神经网络模型。
发现在商业和工业中实施计算机视觉应用时的最佳实践。
在基于GPU的云基础设施上训练分布式模型。

作者简介
沙姆沙德·安萨里(Shamshad Ansari) 是人工智能自动化公司Accure的创始人、总裁兼首席执行官。他比较擅长计算机视觉、机器学习、人工智能、认知科学、自然语言处理和大数据等技术,设计并开发了自动化AI解决方案开发平台Momentum。同时,他还是一名发明家,在人工智能和计算认知领域拥有4项美国专利。
沙姆沙德·安萨里曾担任IBM的高级软件工程师、Orbit Solutions的工程副总裁,以及Apixio的首席架构师和工程总监。

作者简介

[美]沙姆沙德·安萨里(Shamshad Ansari) 著:作者简介
沙姆沙德•安萨里(Shamshad Ansari)是人工智能自动化公司Accure的创始人、总裁兼首席执行官。他比较擅长计算机视觉、机器学习、人工智能、认知科学、自然语言处理和大数据等技术,设计并开发了自动化AI解决方案开发平台Momentum。同时,他还是一名发明家,在人工智能和计算认知领域拥有4项美国专利。
沙姆沙德•安萨里曾担任IBM的高级软件工程师、Orbit Solutions的工程副总裁,以及Apixio的首席架构师和工程总监。

译者序

人工神经网络是采用多层神经网络数据层表示的机器学习方法。随着海量带标签数据集的出现以及高性能GPU硬件的发展,人工神经网络成为风靡全球的技术。目前,神经网络已经在人脸识别、目标跟踪、自动驾驶、机器翻译等领域取得了广泛的成功。为此,国内外科技公司(如百度、腾讯、谷歌、Facebook等)都在人工神经网络技术方面投入大量的资金和人力,以便抢占相关核心技术的制高点。
计算机视觉(Computer Vision,CV)是计算机捕获和分析图像并对其进行解释与决策的技术。计算机视觉技术具有速度快、过程简单、准确度高等优点,目前在医学诊断、过程控制、质量检测、导航等领域获得了广泛应用。在计算机视觉应用中,计算机被预编程以解决特定的任务,基于机器学习的视觉方法现在正变得越来越普遍,尤其是利用人工神经网络解决现实世界中的计算机视觉问题已成为研究热点。
本书主要涉及微积分、线性代数、最优化以及概率论等方面的数学知识,这些往往让初学者望而却步。为此,本书绕开复杂的数学推导,利用深度学习框架TensorFlow对深度学习的基本概念、计算机视觉处理相关知识进行了深入浅出的讲解,并列举了大量示例和代码。即便数学基础不好的读者,也可以通过代码和示例轻松掌握相关知识。
本书首先介绍了图像处理的基础知识,以及如何构建计算机视觉系统、深度学习与人工神经网络,然后重点阐述了深度学习在图像识别及目标检测中的应用。最后,本书通过多个案例介绍了深度学习在计算机视觉方面的应用,同时探讨了云上计算机视觉建模。特别是,本书通过设问及循序渐进的学习目标,让读者深刻领会如何利用深度学习技术解决计算机视觉问题。不同于市面上其他深度学习书籍,本书对深度学习在计算机视觉方面的应用进行了系统的介绍。
本书的作者Shamshad Ansari是Accure公司的创始人、总裁兼首席执行官,专注于计算机视觉、机器学习、人工智能等领域多年,具有深厚的理论功底和丰富的实践经验,这为本书的写作打下了良好的基础。
本书由河南大学肖启阳和袁科两位老师主译。在翻译过程中,河南大学迈阿密学院张润楷和高清芳两位同学在翻译和校对方面提供了很多帮助,河南大学计算机与信息工程学院杨伟老师也给予了大力支持。机械工业出版社华章分社的刘锋编辑在翻译过程中提供了很多帮助。在此,对他们表示衷心的感谢。译文虽经反复修改和校对,但由于译者水平有限,书中难免有欠妥和纰漏之处,我们真诚地欢迎广大读者批评指正。

译者  
2021年10月

图书目录

译者序
前言
致谢
第1章 前提条件和软件安装 1
1.1 Python和PIP 1
1.2 virtualenv 3
1.3 TensorFlow 4
1.4 PyCharm IDE 4
1.5 OpenCV 5
1.6 附加库 6
第2章 图像和视频处理的核心概念 7
2.1 图像处理 7
2.2 图像基础 7
2.3 像素 8
2.4 坐标系 8
2.5 操作图像的Python和OpenCV代码 10
2.6 画图 13
2.7 总结 18
第3章 图像处理技术 19
3.1 图像转换 19
3.2 图像算术运算与位运算 28
3.3 掩码 36
3.4 通道分割与合并 38
3.5 利用平滑处理和模糊处理降噪 40
3.6 阈值二值化 46
3.7 梯度和边缘检测 52
3.8 轮廓 56
3.9 总结 58
第4章 构建基于机器学习的计算机视觉系统 59
4.1 图像处理流水线 59
4.2 特征提取 60
4.3 特征选择 79
4.4 模型训练 80
4.5 模型部署 82
4.6 总结 84
第5章 深度学习与人工神经网络 85
5.1 人工神经网络 85
5.2 TensorFlow 102
5.3 第一个使用深度学习的计算机视觉模型:手写数字分类 104
5.4 模型评估 110
5.5 超参数 113
5.6 保存模型和恢复模型 117
5.7 卷积神经网络 121
5.8 总结 135
第6章 深度学习用于目标检测 136
6.1 目标检测 136
6.2 交并比 137
6.3 R-CNN 138
6.4 Fast R-CNN 139
6.5 Faster R-CNN 140
6.6 Mask R-CNN 141
6.7 单发多盒检测 144
6.8 YOLO 148
6.9 YOLO的局限性 150
6.10 目标检测算法的比较 153
6.11 利用TensorFlow训练目标检测模型 155
6.12 利用训练的模型检测目标 171
6.13 用于目标检测的YOLOv3模型训练 182
6.14 利用训练的YOLOv3模型检测目标 190
6.15 总结 194
第7章 实例:视频中的目标跟踪 195
7.1 准备工作环境 196
7.2 读取视频流 197
7.3 加载目标检测模型 199
7.4 检测视频帧中的目标 199
7.5 利用dHash算法为目标创建唯一标识 201
7.6 用汉明距离法计算图像相似度 202
7.7 目标跟踪 202
7.8 在Web浏览器中显示实时视频流 204
7.9 整合 207
7.10 总结 214
第8章 实例:人脸识别 215
8.1 FaceNet及其架构 215
8.2 人脸识别模型的训练 220
8.3 实时人脸识别系统的开发 226
8.4 总结 230
第9章 工业应用:工业制造中的实时缺陷检测 231
9.1 实时表面缺陷检测系统 231
9.2 图像注释 244
9.3 总结 248
第10章 云上计算机视觉建模 249
10.1 TensorFlow分布式训练 250
10.2 TensorFlow分布策略 251
10.3 TF_CONFIG:TensorFlow集群配置 255
10.4 使用参数服务器的分布式训练示例代码 256
10.5 在云上执行分布式训练的步骤 259
10.6 基于谷歌云的分布式训练 260
10.7 基于Azure的分布式训练 267
10.8 基于AWS的分布式训练 275
10.9 总结 285

教学资源推荐
作者: [希腊] 斯皮罗斯·G. 扎菲斯塔斯(Spyros G. Tzafestas) 著
作者: 李进 谭毓安 著
作者: [美] 查鲁·C. 阿加沃尔(Charu C. Aggarwal)著
作者: [波]伍拉迪斯罗·霍曼达(Władysław Homenda) [加]维托德·派提兹 (Witold Pedrycz) 著
参考读物推荐
作者: 王健宗 李泽远 何安珣 著
作者: 林政 刘正宵 李江楠 著
作者: [意]迪诺·埃斯波西托(Dino Esposito) 弗朗西斯科·埃斯波西托(Francesco Esposito) 著