[套装书]深度学习之PyTorch物体检测实战+深度学习之图像识别:核心技术与案例实战(2册)

作者
董洪义言有三
丛书名
出版社
机械工业出版社
ISBN
9781912201037
简要
简介
内容简介书籍计算机书籍 ---------------------------深度学习之PyTorch物体检测实战--------------------------- 本书从物体检测的概念、发展、经典实现方法等几个方面系统地介绍了物体检测的相关知识,重点介绍了Faster RCNN、SDD和YOLO这三个经典的检测器,并利用PyTorch框架从代码角度进行了细致讲解。另外,本书进一步介绍了物体检测的轻量化网络、细节处理、难点问题及未来的发展趋势,从实战角度给出了多种优秀的解决方法,便于读者更深入地掌握物体检测技术,从而做到在实际项目中灵活应用。 本书共10章,涵盖的主要内容有物体检测与PyTorch框架基础概念与背景;PyTorch基础知识;基础卷积网络Backbone;两阶经典检测器Faster RCNN;单阶多层检测器SSD;单阶经典检测器YOLO;模型加速之轻量化网络;物体检测细节处理;物体检测难点问题;物体检测的未来发展。本书适合PyTorch框架爱好者和物体检测相关从业人员阅读,也适合深度学习和计算机视觉领域的研究人员阅读。 ---------------------------深度学习之图像识别:核心技术与案例实战--------------------------- 本书是一本讲述深度学习在计算机视觉领域的书籍,为机器学习和深度学习相关领域中需要学习图像识别和处理技术的读者量身定做。本书非常详尽地讲述了深度学习的各个知识点,包括深度学习卷积神经网络的理论知识、深度学习中的数据,以及图像分类、图像分割和目标检测等三大图像基础应用;另外还介绍了深度学习的数据可视化和模型可视化、深度学习中的常用损失函数、模型压缩以及深度学习模型部署的前后端基础知识。 本书从第4章开始,每章都配置有一到两个难易程度不同的案例,让读者在实践中更好地掌握相关领域的技术细节。读者在读完每章的理论知识后,就可以紧接着进行实践,并在已有代码的基础上进行修改和改进,从而理论与实践结合进行系统性的学习。
目录



---------------------------深度学习之PyTorch物体检测实战---------------------------


前言
第1篇 物体检测基础知识
第1章 浅谈物体检测与PyTorch 2
1.1 深度学习与计算机视觉 2
1.1.1 发展历史 2
1.1.2 计算机视觉 7
1.2 物体检测技术 9
1.2.1 发展历程 10
1.2.2 技术应用领域 11
1.2.3 评价指标 12
1.3 PyTorch简介 17
1.3.1 诞生与特点 17
1.3.2 各大深度学习框架对比 17
1.3.3 为什么选择PyTorch 19
1.3.4 安装方法 20
1.4 基础知识准备 22
1.4.1 Linux基础 22
1.4.2 Python基础 24
1.4.3 高效开发工具 29
1.5 总结 36
第2章 PyTorch基础 37
2.1 基本数据:Tensor 37
2.1.1 Tensor数据类型 37
2.1.2 Tensor的创建与维度查看 39
2.1.3 Tensor的组合与分块 41
2.1.4 Tensor的索引与变形 42
2.1.5 Tensor的排序与取极值 46
2.1.6 Tensor的自动广播机制与向量化 46
2.1.7 Tensor的内存共享 47
2.2 Autograd与计算图 48
2.2.1 Tensor的自动求导:Autograd 49
2.2.2 计算图 50
2.2.3 Autograd注意事项 51
2.3 神经网络工具箱torch.nn 52
2.3.1 nn.Module类 52
2.3.2 损失函数 55
2.3.3 优化器nn.optim 56
2.4 模型处理 59
2.4.1 网络模型库:torchvision.models 59
2.4.2 加载预训练模型 60
2.4.3 模型保存 61
2.5 数据处理 61
2.5.1 主流公开数据集 61
2.5.2 数据加载 63
2.5.3 GPU加速 65
2.5.4 数据可视化 66
2.6 总结 68
第3章 网络骨架:Backbone 69
3.1 神经网络基本组成 69
3.1.1 卷积层 70
3.1.2 激活函数层 72
3.1.3 池化层 75
3.1.4 Dropout层 76
3.1.5 BN层 77
3.1.6 全连接层 79
3.1.7 深入理解感受野 81
3.1.8 详解空洞卷积(Dilated Convolution) 82
3.2 走向深度:VGGNet 83
3.3 纵横交错:Inception 87
3.4 里程碑:ResNet 93
3.5 继往开来:DenseNet 95
3.6 特征金字塔:FPN 99
3.7 为检测而生:DetNet 106
3.8 总结 110
第2篇 物体检测经典框架
第4章 两阶经典检测器:Faster RCNN 112
4.1 RCNN系列发展历程 112
4.1.1 开山之作:RCNN 112
4.1.2 端到端:Fast RCNN 113
4.1.3 走向实时:Faster RCNN 114
4.2 准备工作 114
4.3 Faster RCNN总览 115
4.4 详解RPN 117
4.4.1 理解Anchor 117
4.4.2 RPN的真值与预测量 119
4.4.3 RPN卷积网络 120
4.4.4 RPN真值的求取 122
4.4.5 损失函数设计 124
4.4.6 NMS与生成Proposal 125
4.4.7 筛选Proposal得到RoI 126
4.5 RoI Pooling层 127
4.6 全连接RCNN模块 130
4.6.1 RCNN全连接网络 130
4.6.2 损失函数设计 131
4.7 Faster RCNN的改进算法 131
4.7.1 审视Faster RCNN 132
4.7.2 特征融合:HyperNet 133
4.7.3 实例分割:Mask RCNN 134
4.7.4 全卷积网络:R-FCN 137
4.7.5 级联网络:Cascade RCNN 139
4.8 总结 141
第5章 单阶多层检测器:SSD 142
5.1 SSD总览 142
5.1.1 SSD的算法流程 142
5.1.2 代码准备工作 143
5.2 数据预处理 144
5.2.1 加载PASCAL数据集 144
5.2.2 数据增强 144
5.3 网络架构 148
5.3.1 基础VGG结构 148
5.3.2 深度卷积层 149
5.3.3 PriorBox与边框特征提取网络 150
5.3.4 总体网络计算过程 153
5.4 匹配与损失求解 154
5.4.1 预选框与真实框的匹配 154
5.4.2 定位损失的计算 155
5.4.3 难样本挖掘 156
5.4.4 类别损失计算 156
5.5 SSD的改进算法 157
5.5.1 审视SSD 157
5.5.2 特征融合:DSSD 158
5.5.3 彩虹网络:RSSD 160
5.5.4 基于SSD的两阶:RefineDet 162
5.5.5 多感受野融合:RFBNet 165
5.6 总结 166
第6章 单阶经典检测器:YOLO 167
6.1 无锚框预测:YOLO v1 167
6.1.1 网络结构 167
6.1.2 特征图的意义 168
6.1.3 损失计算 169
6.2 依赖锚框:YOLO v2 171
6.2.1 网络结构的改善 171
6.2.2 先验框的设计 173
6.2.3 正、负样本与损失函数 175
6.2.4 正、负样本选取代码示例 176
6.2.5 工程技巧 179
6.3 多尺度与特征融合:YOLO v3 180
6.3.1 新网络结构DarkNet-53 180
6.3.2 多尺度预测 181
6.3.3 Softmax改为Logistic 182
6.4 总结 183
第3篇 物体检测的难点与发展
第7章 模型加速之轻量化网络 186
7.1 压缩再扩展:SqueezeNet 188
7.1.1 SqueezeNet网络结构 188
7.1.2 SqueezeNet总结 190
7.2 深度可分离:MobileNet 191
7.2.1 标准卷积 191
7.2.2 深度可分离卷积 192
7.2.3 MobileNet v1结构 193
7.2.4 MobileNet v1总结 198
7.2.5 MobileNet v2 198
7.3 通道混洗:ShuffleNet 200
7.3.1 通道混洗 201
7.3.2 网络结构 202
7.3.3 ShuffleNet v2 205
7.4 总结 207
第8章 物体检测细节处理 209
8.1 非极大值抑制:NMS 209
8.1.1 NMS基本过程 210
8.1.2 抑制得分:Soft NMS 212
8.1.3 加权平均:Softer NMS 213
8.1.4 定位置信度:IoU-Net 215
8.2 样本不均衡问题 217
8.2.1 不均衡问题分析 217
8.2.2 在线难样本挖掘:OHEM 219
8.2.3 专注难样本:Focal Loss 221
8.3 模型过拟合 224
8.3.1 数据增强 226
8.3.2 L1与L2正则化 227
8.4 总结 229
第9章 物体检测难点 230
9.1 多尺度检测 230
9.1.1 多尺度问题 230
9.1.2 降低下采样率与空洞卷积 232
9.1.3 Anchor设计 233
9.1.4 多尺度训练 235
9.1.5 特征融合 235
9.1.6 尺度归一化:SNIP 236
9.1.7 三叉戟:TridentNet 238
9.2 拥挤与遮挡 239
9.2.1 遮挡背景 240
9.2.2 排斥损失:Repulsion Loss 242
9.2.3 OR-CNN 244
9.3 总结 247
第10章 物体检测的未来发展 248
10.1 重新思考物体检测 248
10.1.1 精度与速度的权衡 249
10.1.2 卷积网络的可解释性与稳定性 249
10.1.3 训练:微调还是随机初始化 250
10.1.4 考虑物体间关系的检测 251
10.1.5 优化卷积方式 252
10.1.6 神经架构搜索:NAS 253
10.1.7 与产业结合的创新 255
10.2 摆脱锚框:Anchor-Free 257
10.2.1 重新思考Anchor 257
10.2.2 基于角点的检测:CornerNet 258
10.2.3 检测中心点:CenterNet 262
10.2.4 锚框自学习:Guided Anchoring 264
10.3 总结 266



---------------------------深度学习之图像识别:核心技术与案例实战---------------------------


前言
第1章 神经网络基础 1
1.1 神经网络的生物基础与数学模型 1
1.1.1 神经元 1
1.1.2 感知机 2
1.1.3 BP算法 6
1.2 卷积神经网络基础 10
1.2.1 卷积神经网络的基本结构 11
1.2.2 卷积与权值共享 13
1.2.3 感受野与池化 14
第2章 深度学习优化基础 17
2.1 深度学习主流开源框架 17
2.1.1 Caffe简介 18
2.1.2 TensorFlow简介 18
2.1.3 PyTorch简介 19
2.1.4 Theano简介 20
2.1.5 Keras简介 20
2.1.6 MXNet简介 21
2.1.7 Chainer简介 21
2.2 网络优化参数 22
2.2.1 常用激活函数 22
2.2.2 参数初始化方法 26
2.2.3 最优化方法 27
2.2.4 归一化方法 31
2.2.5 正则化方法 33
第3章 深度学习中的数据 36
3.1 深度学习通用数据集的发展 36
3.1.1 MNIST数据集 36
3.1.2 CIFAR10和CIFAR100数据集 37
3.1.3 PASCAL数据集 38
3.1.4 ImageNet数据集 38
3.1.5 Microsoft COCO数据集 39
3.2 常见的计算机视觉任务数据集 40
3.2.1 人脸数据集 40
3.2.2 自动驾驶数据集 52
3.2.3 医学数据集 55
3.3 数据增强 59
3.3.1 有监督数据增强 60
3.3.2 无监督数据增强 63
3.4 数据的收集与标注 65
3.4.1 数据收集 65
3.4.2 数据标注 67
3.4.3 数据清洗与整理 68
第4章 图像分类 70
4.1 图像分类基础 70
4.1.1 图像分类问题 70
4.1.2 深度学习图像分类发展简史 72
4.1.3 评测指标与优化目标 75
4.1.4 图像分类的挑战 76
4.2 移动端实时表情分类实战 77
4.2.1 项目背景 78
4.2.2 数据预处理 80
4.2.3 项目方案 82
4.2.4 模型训练与测试 84
4.2.5 项目总结 88
4.3 细粒度图像分类实战 89
4.3.1 项目背景 89
4.3.2 项目方案 90
4.3.3 模型训练与测试 92
4.3.4 参数调试 97
4.3.5 项目总结 102
第5章 图像分割 103
5.1 传统图像分割方法 103
5.1.1 阈值法 103
5.1.2 区域生长法与超像素 105
5.1.3 图切割 105
5.1.4 活动轮廓模型 106
5.2 深度学习图像分割 109
5.2.1 基本流程 110
5.2.2 反卷积 110
5.2.3 多尺度与感受野 112
5.2.4 CRF方法 113
5.2.5 Image Matting与图像融合 114
5.3 移动端实时图像分割项目 115
5.3.1 项目背景 115
5.3.2 项目方案 116
5.3.3 模型训练与总结 126
5.4 一个实时肖像换背景项目 127
5.4.1 项目背景 127
5.4.2 项目方案 128
5.4.3 模型训练与测试 134
5.4.4 项目总结 138
第6章 目标检测 139
6.1 目标检测基础 139
6.1.1 检测窗口选择 140
6.1.2 特征提取 141
6.1.3 分类器 142
6.1.4 V-J人脸检测算法 143
6.2 深度学习目标检测方法 145
6.2.1 Selective search与R-CNN 146
6.2.2 RoI Pooling与SPPNet 147
6.2.3 Fast R-CNN与Faster R-CNN 149
6.2.4 YOLO方法 152
6.2.5 SSD方法 154
6.2.6 目标检测中的关键技术 155
6.3 实战Faster-R-CNN目标检测 157
6.3.1 项目背景 157
6.3.2 py-faster-rcnn框架解读 157
6.3.3 模型定义与分析 170
6.3.4 模型训练与测试 180
6.3.5 项目总结 183
第7章 数据与模型可视化 185
7.1 数据可视化 185
7.1.1 低维数据可视化 185
7.1.2 高维数据可视化 187
7.2 模型可视化 190
7.2.1 模型结构可视化 190
7.2.2 模型权重可视化 198
7.2.3 特征图可视化 201
7.3 可视化案例 202
7.3.1 项目背景 202
7.3.2 数据接口定义 204
7.3.3 网络结构定义 205
7.3.4 可视化代码添加 207
7.3.5 可视化训练指标 207
第8章 模型压缩 209
8.1 模型压缩方法 209
8.1.1 模型设计压缩 210
8.1.2 网络剪枝与量化 213
8.1.3 张量分解 216
8.1.4 模型蒸馏与迁移学习 216
8.2 模型压缩实战 218
8.2.1 网络分析 220
8.2.2 输入尺度和第一层卷积设计 224
8.2.3 网络宽度与深度压缩 226
8.2.4 弥补通道损失 228
8.2.5 总结 230
第9章 损失函数 231
9.1 分类任务损失 231
9.1.1 什么是0-1 loss 231
9.1.2 熵与交叉熵loss 231
9.1.3 softmax loss及其变种 232
9.1.4 KL散度 237
9.1.5 Hinge loss简介 237
9.1.6 Exponential loss与Logistic loss 237
9.1.7 多标签分类任务loss 238
9.2 回归任务损失 238
9.2.1 L1 loss与L2 loss 238
9.2.2 L1 loss与L2 loss的改进 239
9.3 常见图像任务与loss使用 240
9.3.1 图像基础任务 240
9.3.2 风格化与图像复原,超分辨重建 240
9.3.3 生成对抗网络 241
9.3.4 总结 245
第10章 模型部署与上线 246
10.1 微信小程序前端开发 246
10.1.1 小程序的技术特点与定位 246
10.1.2 Web前端基础 248
10.1.3 小程序开发工具 251
10.1.4 小程序前端 252
10.1.5 小程序前端开发 254
10.2 微信小程序服务端开发 260
10.2.1 域名注册与管理 260
10.2.2 服务端框架简介 261
10.2.3 算法搭建与实现 262
10.3 Caffe环境配置 264
10.3.1 依赖库安装 264
10.3.2 Caffe编译安装 266



有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4