链接: https://pan.baidu.com/s/1sQEseOLWdwTbKmjQp-GenQ?pwd=vs2b 提取码: vs2b
出版社: 机械工业出版社
ISBN:9787111733393
版次:1
商品编码:13867141
品牌:机工出版
包装:平装
丛书名: 智能系统与技术丛书
开本:16开
出版时间:2023-09-01
用纸:胶版纸
页数:558
编辑推荐
适读人群 :适合PyTorch初中级读者及计算机视觉相关技术人员阅读
深度学习是近年来计算机视觉应用在多个方面取得进步的驱动力。本书以实践为驱动,结合具体应用场景,基于真实数据集全面系统地介绍如何使用PyTorch解决50多个计算机视觉问题。
首先,你将学习使用NumPy和PyTorch从头开始构建神经网络(NN),并了解调整神经网络超参数的最佳实践。然后,你将学习如何使用卷积神经网络(CNN)和迁移学习完成图像分类任务,并且理解其中的工作原理。随后,你将学习二维和三维多目标检测、图像分割、人体姿态估计等多个实际任务,并使用R-CNN、Fast R-CNN、Faster R-CNN、SSD、YOLO、U-Net、Mask R-CNN、Detectron2等框架实现这些任务。在自编码器和GAN部分,本书将指导你学习面部表情替换、面部图像生成和面部表情处理技术。之后,你将学习如何将计算机视觉与NLP技术(LSTM、transformer等)和强化学习技术(深度Q学习等)相结合,实现OCR、图像标题生成、目标检测和汽车自动驾驶智能体等应用。最后,你将学习如何将神经网络模型部署到AWS云等实际应用场景。
内容简介
本书基于真实数据集,全面系统地阐述现代计算机视觉实用技术、方法和实践,涵盖50多个计算机视觉问题。全书分为四部分:di一部分(第1~3章)介绍神经网络和PyTorch的基础知识,以及如何使用PyTorch构建并训练神经网络,包括输入数据缩放、批归一化、超参数调整等;第二部分(第4~10章)介绍如何使用卷积神经网络、迁移学习等技术解决更复杂的视觉相关问题,包括图像分类、目标检测和图像分割等;第三部分(第11~13章)介绍各种图像处理技术,包括自编码器模型和各种类型的GAN模型;第四部分(第14~18章)探讨将计算机视觉技术与NLP、强化学习和OpenCV等技术相结合来解决传统问题的新方法。本书内容丰富新颖,语言文字表述清晰,应用实例讲解详细,图例直观形象,适合PyTorch初中级读者及计算机视觉相关技术人员阅读。
目录
CONTENTS
目 录
译者序
前言
第一部分 面向计算机视觉的
深度学习基础知识
第1章 人工神经网络基础 2
1.1 比较人工智能与传统机器学习 3
1.2 人工神经网络的构建模块 4
1.3 实现前向传播 6
1.3.1 计算隐藏层的值 6
1.3.2 应用激活函数 7
1.3.3 计算输出层的值 9
1.3.4 计算损失值 9
1.3.5 前向传播的代码 11
1.4 实现反向传播 14
1.4.1 梯度下降的代码 15
1.4.2 使用链式法则实现
反向传播 17
1.5 整合前向传播与反向传播 20
1.6 理解学习率的影响 22
1.7 总结神经网络的训练过程 28
1.8 小结 29
1.9 课后习题 29
第2章 PyTorch基础 30
2.1 安装PyTorch 30
2.2 PyTorch张量 32
2.2.1 初始化张量 33
2.2.2 张量运算 34
2.2.3 张量对象的自动梯度 37
2.2.4 PyTorch的张量较
NumPy的ndarrays
的优势 38
2.3 使用PyTorch构建神经网络 39
2.3.1 数据集、数据加载器和
批大小 45
2.3.2 预测新的数据点 48
2.3.3 实现自定义损失函数 49
2.3.4 获取中间层的值 50
2.4 使用序贯方法构建神经网络 51
2.5 保存并加载PyTorch模型 54
2.5.1 state dict 54
2.5.2 保存 55
2.5.3 加载 55
2.6 小结 55
2.7 课后习题 56
第3章 使用PyTorch构建深度
神经网络 57
3.1 表示图像 57
3.2 为什么要使用神经网络进行
图像分析 62
3.3 为图像分类准备数据 64
3.4 训练神经网络 66
3.5 缩放数据集以提升模型准确度 71
3.6 理解不同批大小的影响 74
3.6.1 批大小为32 75
3.6.2 批大小为10 000 79
3.7 理解不同损失优化器的影响 80
3.8 理解不同学习率的影响 83
3.8.1 学习率对缩放数据集
的影响 83
3.8.2 不同学习率对非缩放
数据集的影响 88
3.9 理解不同学习率衰减的影响 90
3.10 构建更深的神经网络 93
3.11 理解不同批归一化的影响 94
3.11.1 没有批归一化的非常小
的输入值 96
3.11.2 经过批归一化的非常小
的输入值 98
3.12 过拟合的概念 100
3.12.1 添加dropout的影响 100
3.12.2 正则化的影响 102
3.13 小结 106
3.14 课后习题 106
第二部分 物体分类与目标检测
第4章 卷积神经网络 108
4.1 传统深度神经网络的问题 108
4.2 CNN的构建模块 111
4.2.1 卷积 112
4.2.2 滤波器 113
4.2.3 步长和填充 114
4.2.4 池化 115
4.2.5 整合各个构建模块 116
4.2.6 卷积和池化的图像平移
不变性原理 117
4.3 实现CNN 117
4.3.1 使用PyTorch构建基于
CNN的架构 118
4.3.2 基于Python的前向传播 121
4.4 使用深度CNN分类图像 123
4.5 实现数据增强 127
4.5.1 图像增强 127
4.5.2 对一批图像执行数据增强
及collate_fn的必要性 137
4.5.3 用于图像平移的数据
增强 140
4.6 特征学习结果的可视化 143
4.7 构建对真实图像进行分类
的CNN 153
4.8 小结 161
4.9 课后习题 162
第5章 面向图像分类的迁移学习 163
5.1 迁移学习简介 163
5.2 理解VGG16架构 164
5.3 理解ResNet架构 174
5.4 实现人脸关键点检测 178
5.5 多任务学习—实现年龄估计
和性别分类 186
5.6 torch_snippets库简介 195
5.7 小结 200
5.8 课后习题 200
第6章 图像分类的实战技术 201
6.1 生成CAM 201
6.2 数据增强和批归一化 207
6.3 模型实现的实践要点 212
6.3.1 处理不平衡数据 212
6.3.2 分类图像中目标的大小 213
6.3.3 训练数据和验证数据
之间的差异 213
6.3.4 扁平层中的节点数 214
6.3.5 图像的大小 214
6.3.6 使用OpenCV实用程序 214
6.4 小结 215
6.5 课后习题 215
第7章 目标检测基础 216
7.1 目标检测简介 216
7.2 为训练图像样本创建真值 217
7.3 理解区域建议 220
7.3.1 使用SelectiveSear