作者 |
本杰明·普朗什,艾略特·安德烈斯 罗伊·希尔克罗特 大卫·米兰·埃斯克里瓦 |
丛书名 |
智能系统与技术丛书 |
出版社 |
机械工业出版社 |
ISBN |
9782108191540 |
简要 |
简介 |
内容简介书籍计算机书籍 ---------------------------8083260 - 计算机视觉实战:基于TensorFlow 2--------------------------- 本书探讨了谷歌机器学习开源框架的全新版本TensorFlow 2,从计算机视觉和深度学习基础知识开始,介绍了如何从头开始构建神经网络,并将其用于计算机视觉任务,如图像分类、目标分割、视频分析等。展示了如何使用如Inception和ResNet等现代神经网络分类图像,使用YOLO、Mask R-CNN和U-Net提取特定内容,并辅以具体的代码示例。还介绍了迁移学习、数据增强、域适应等技术,以及如何在移动设备和网络浏览器中进行部署。 ---------------------------8067389 - 深入理解OpenCV:实用计算机视觉项目解析(原书第3版)--------------------------- 本书第3版仍然坚持“帮助计算机视觉工程师迈出掌握OpenCV的第一步”的初心。本书简化数学公式,但保留了重要的数学公式。针对当前热门的计算机视觉主题,如人脸及特征点检测、姿态估计,以及基于深度卷积网络的车牌识别,展示了从构思到运行的全过程,并提供了完整的项目代码。新版本加入“为项目找到最佳OpenCV算法”、“避免OpenCV中的常见陷阱”两个章节帮助程序员从成百上千的API中进行需求权衡、设计、技术选型、优化和避免陷阱。 |
目录 |
[套装书具体书目] 8067389 - 深入理解OpenCV:实用计算机视觉项目解析(原书第3版) - 9787111645771 - 机械工业出版社 - 定价 79 8083260 - 计算机视觉实战:基于TensorFlow 2 - 9787111688471 - 机械工业出版社 - 定价 89 ---------------------------8083260 - 计算机视觉实战:基于TensorFlow 2--------------------------- 译者序 前言 作者简介 审校者简介 第一部分 TensorFlow 2和应用于 计算机视觉的深度学习 第1章 计算机视觉和神经网络2 1.1 技术要求2 1.2 广义计算机视觉3 1.2.1 计算机视觉概述3 1.2.2 主要任务及其应用3 1.3 计算机视觉简史8 1.3.1 迈出成功的第一步9 1.3.2 深度学习的兴起12 1.4 开始学习神经网络14 1.4.1 建立神经网络15 1.4.2 训练神经网络23 1.5 本章小结30 问题30 进一步阅读30 第2章 TensorFlow基础和模型训练31 2.1技术要求31 2.2TensorFlow 2和Keras入门31 2.2.1 TensorFlow32 2.2.2 基于Keras的简单计算机视觉模型33 2.3TensorFlow 2和Keras详述36 2.3.1 核心概念36 2.3.2 高级概念42 2.4TensorFlow生态系统46 2.4.1 TensorBoard46 2.4.2 TensorFlow插件和扩展47 2.4.3 TensorFlow Lite和TensorFlow.js48 2.4.4 在何处运行模型48 2.5本章小结49 问题50 第3章 现代神经网络51 3.1 技术要求51 3.2 卷积神经网络51 3.2.1 用于多维数据的神经网络52 3.2.2 CNN操作53 3.2.3 有效感受野63 3.2.4 在TensorFlow中使用CNN64 3.3 训练过程微调67 3.3.1 现代网络优化器67 3.3.2 正则化方法71 3.4 本章小结76 问题76 进一步阅读77 第二部分 先进的经典识别 问题解决方案 第4章 主流分类工具80 4.1 技术要求80 4.2 了解高级CNN架构81 4.2.1 VGG:CNN的标准架构81 4.2.2 GoogLeNet 和Inception模块85 4.2.3 ResNet:残差网络92 4.3 利用迁移学习96 4.3.1 概述96 4.3.2 基于TensorFlow和Keras的迁移学习100 4.4 本章小结102 问题103 进一步阅读103 第5章 目标检测模型104 5.1 技术要求104 5.2 目标检测介绍104 5.2.1 背景105 5.2.2 模型的性能评价106 5.3 YOLO:快速目标检测算法108 5.3.1 YOLO介绍109 5.3.2 使用YOLO推理110 5.3.3 训练YOLO117 5.4 Faster R-CNN:强大的目标检测模型120 5.4.1 Faster R-CNN通用架构120 5.4.2 训练Faster R-CNN124 5.4.3 TensorFlow目标检测API126 5.5 本章小结127 问题127 进一步阅读127 第6章 图像增强和分割128 6.1 技术要求128 6.2 使用编码器-解码器进行图像变换128 6.2.1 编码器-解码器概述129 6.2.2 基本示例:图像去噪132 6.2.3 卷积编码器-解码器133 6.3 理解语义分割140 6.3.1 使用编码器-解码器进行目标分割140 6.3.2 比较困难的实例分割145 6.4 本章小结148 问题148 进一步阅读148 第三部分 高级概念和计算机 视觉新进展 第7章 在复杂和稀缺数据集上训练150 7.1 技术要求150 7.2 高效数据服务151 7.2.1 TensorFlow 数据API151 7.2.2 设置输入流水线153 7.2.3 优化和监控输入流水线158 7.3 如何处理稀缺数据162 7.3.1 增强数据集162 7.3.2 渲染合成数据集166 7.3.3 利用域适应和生成模型(VAE和GAN) 170 7.4 本章小结179 问题179 进一步阅读179 第8章 视频和循环神经网络181 8.1 技术要求181 8.2 RNN简介181 8.2.1 基本形式182 8.2.2 对RNN的基本理解183 8.2.3 学习RNN权重184 8.2.4 长短期记忆单元185 8.3 视频分类188 8.3.1 计算机视觉应用于视频188 8.3.2 使用LSTM分类视频189 8.4 本章小结194 问题195 进一步阅读195 第9章 优化模型并在移动设备上部署196 9.1 技术要求196 9.2 优化计算和占用的磁盘空间197 9.2.1 测量推理速度197 9.2.2 提高模型推理速度199 9.2.3 当模型依旧很慢时201 9.2.4 减小模型大小202 9.3 基于终端设备的机器学习203 9.3.1 考虑因素203 9.3.2 实践204 9.4 app示例:识别面部表情206 9.4.1 MobileNet简介207 9.4.2 在终端设备上部署模型208 9.5 本章小结216 问题216 附录217 参考文献222 问题答案231 ---------------------------8067389 - 深入理解OpenCV:实用计算机视觉项目解析(原书第3版)--------------------------- 译者序 前言 作者简介 审阅者简介 第1章 树莓派上的卡通化和皮肤颜色分析 1 1.1 访问摄像头 2 1.2 桌面应用程序的相机处理主循环 4 1.2.1 生成黑白素描 4 1.2.2 生成彩色绘画和卡通 6 1.2.3 用边缘滤波器来生成邪恶模式 8 1.2.4 用皮肤检测来生成外星人造型 9 1.3 皮肤变色器的实现 12 1.4 从桌面移植到嵌入式设备 19 1.4.1 用于开发嵌入式设备代码的设备配置 21 1.4.2 在嵌入式设备上安装OpenCV 27 1.5 小结 39 第2章 使用SfM模块从运动中恢复结构 40 2.1 技术要求 40 2.2 SfM的核心概念 41 2.2.1 相机标定和对极几何 42 2.2.2 立体重建和SfM 45 2.3 在OpenCV中实现SfM 48 2.3.1 图像特征匹配 48 2.3.2 找到特征轨迹 52 2.3.3 3D重建和可视化 55 2.3.4 用于稠密重建的MVS 57 2.4 小结 60 第3章 使用人脸模块进行人脸特征点及姿态检测 61 3.1 技术要求 61 3.2 背景和理论 63 3.2.1 主动外观模型与受约束的局部模型 63 3.2.2 回归方法 64 3.3 OpenCV中的人脸特征点检测 65 3.4 基于特征点的人脸方向估计 68 3.4.1 估计姿态计算 69 3.4.2 将姿态投影到图像上 70 3.5 小结 71 第4章 基于深度卷积网络的车牌识别 72 4.1 ANPR简介 72 4.2 ANPR算法 74 4.3 车牌检测 77 4.3.1 分割 78 4.3.2 分类 84 4.4 车牌识别 87 4.4.1 OCR分割 88 4.4.2 基于卷积神经网络的字符分类 89 4.5 小结 105 第5章 通过DNN模块进行人脸检测和识别 106 5.1 介绍人脸检测和人脸识别 106 5.1.1 人脸检测 108 5.1.2 人脸预处理 116 5.1.3 收集人脸并从中学习 127 5.1.4 人脸识别 138 5.1.5 收尾工作——保存和加载文件 141 5.1.6 收尾工作——制作一个漂亮的、交互体验好的GUI 141 5.2 小结 153 5.3 参考文献 154 第6章 Web计算机视觉之初识OpenCV.js 155 6.1 什么是OpenCV.js 155 6.2 编译OpenCV.js 157 6.3 OpenCV.js开发基础 159 6.4 访问摄像头流 165 6.5 图像处理和基本用户界面 169 6.5.1 阈值滤波器 170 6.5.2 高斯滤波器 170 6.5.3 canny滤波器 170 6.6 浏览器中的光流 174 6.7 在浏览器中使用Haar级联分类器进行人脸检测 178 6.8 小结 180 第7章 使用ArUco模块的Android相机校准和AR 182 7.1 技术要求 182 7.2 增强现实和姿态估计 183 7.2.1 相机校准 184 7.2.2 用于平面重建的增强现实标记 186 7.3 Android系统中的相机访问 188 7.4 使用ArUco进行相机校准 191 7.5 使用jMonkeyEngine实现增强现实 195 7.6 小结 196 第8章 带有拼接模块的iOS全景图 198 8.1 技术要求 198 8.2 全景图像拼接方法 199 8.2.1 全景图的特征提取和鲁棒匹配 200 8.2.2 变形图像,以便全景创建 203 8.3 项目概况 204 8.4 用CocoaPods设置iOS OpenCV项目 204 8.5 用于全景捕捉的iOS UI 205 8.6 Objective-C++包装器中的OpenCV拼接 209 8.7 小结 212 8.8 进一步阅读 212 第9章 为项目找到最佳OpenCV算法 213 9.1 技术要求 213 9.2 方案是否包含在OpenCV中 214 9.3 OpenCV中的算法选项 215 9.4 哪种算法最好 217 9.5 算法性能比较的示例 218 9.6 小结 223 第10章 避免OpenCV中的常见陷阱 224 10.1 OpenCV从v1到v4的历史 224 10.2 OpenCV中的历史算法 228 10.3 常见陷阱和建议解决方案 231 10.4 小结 236 10.5 进一步阅读 236 |