深度学习之图像识别:核心算法与实战案例(全彩版)
作者:言有三
出版社:清华大学出版社
出版时间:2023-07-01
ISBN:9787302635277
定价:¥159.00
第1章 神经网络与卷积神经网络基础 1
1.1 神经网络的生物基础与数学模型 1
1.1.1 神经元 1
1.1.2 感知机 3
1.1.3 多层感知机与反向传播算法 7
1.2 卷积神经网络基础 11
1.2.1 卷积的概念 12
1.2.2 卷积神经网络的基本概念 13
1.2.3 卷积神经网络的基本结构 17
1.3 总结 21
参考文献 22
第2章 深度学习优化基础 23
2.1 激活函数 23
2.1.1 S型函数 24
2.1.2 ReLU函数 25
2.2 参数初始化 31
2.2.1 简单初始化 31
2.2.2 标准初始化 31
2.2.3 Xavier与MSRA初始化 32
2.2.4 初始化方法的使用 32
2.3 标准化方法 33
2.3.1 什么是标准化 33
2.3.2 批次标准化 34
2.3.3 层标准化 37
2.3.4 实例标准化 37
2.3.5 组标准化 38
2.3.6 权重标准化 39
2.3.7 标准化方法的自动搜索 39
2.3.8 标准化的有效性问题 39
2.4 学习率与最优化 40
2.4.1 学习率策略 40
2.4.2 梯度下降法与动量法 45
2.4.3 Adagrad算法 46
2.4.4 Adadelta与RMSprop算法 47
2.4.5 Adam算法 47
2.4.6 牛顿法、拟牛顿法与共轭梯度法 48
2.5 正则化方法与泛化 48
2.5.1 过拟合与欠拟合 49
2.5.2 参数正则化 49
2.5.3 提前停止 50
2.5.4 模型集成 51
2.5.5 训练样本扩充 52
2.6 深度学习主流开源框架 52
2.6.1 Caffe简介 53
2.6.2 TensorFlow简介 53
2.6.3 PyTorch简介 54
2.6.4 Theano简介 55
2.6.5 Keras简介 55
2.6.6 MXNet简介 55
2.6.7 Chainer简介 56
2.7 总结 56
参考文献 57
第3章 深度学习中的数据使用方法 60
3.1 深度学习通用数据集的发展 60
3.1.1 MNIST数据集 60
3.1.2 CIFAR10和CIFAR100数据集 61
3.1.3 PASCAL数据集 63
3.1.4 ImageNet数据集 63
3.1.5 Microsoft COCO数据集 64
3.2 常见计算机视觉任务数据集 65
3.2.1 人脸数据集 65
3.2.2 自动驾驶数据集 75
3.2.3 医学数据集 77
3.3 数据收集、清洗与整理 81
3.3.1 数据收集 81
3.3.2 数据清洗与整理 83
3.4 数据标注 85
3.4.1 数据标注类型 85
3.4.2 数据标注方法 85
3.5 数据增强 87
3.5.1 单样本图像处理数据增强 88
3.5.2 多样本图像处理数据增强 92
3.5.3 自动化数据增强 94
3.5.4 数据生成增强 94
3.6 数据可视化 95
3.6.1 低维数据可视化 96
3.6.2 高维数据可视化 97
3.7 总结 99
参考文献 99
第4章 图像分类 101
4.1 图像分类基础 101
4.1.1 单标签图像分类问题 102
4.1.2 深度学习图像分类经典模型 104
4.1.3 优化目标 108
4.1.4 评测指标 110
4.2 多标签图像分类 111
4.2.1 多标签图像分类问题 111
4.2.2 多标签图像分类模型 112
4.2.3 多标签图像分类评估指标 113
4.3 细粒度图像分类 114
4.3.1 基于语义子区域的模型 114
4.3.2 基于高维特征的模型 116
4.4 半监督与无监督图像分类 117
4.4.1 基本问题与解决思路 117
4.4.2 半监督分类模型 119
4.4.3 无监督分类模型 120
4.4.4 自监督分类模型 121
4.5 其他图像分类问题的典型难题 122
4.5.1 类别不均衡问题 122
4.5.2 样本过少问题 123
4.5.3 零样本识别问题 123
4.6 简单表情图像分类实战 124
4.6.1 项目背景 124
4.6.2 数据预处理 126
4.6.3 网络结构配置 128
4.6.4 基于PyTorch的项目实践 130
4.6.5 基于Caffe的项目实践 137
4.6.6 项目总结 146
4.7 鸟类细粒度图像分类实战 147
4.7.1 项目背景 147
4.7.2 模型搭建 148
4.7.3 模型训练 151
4.7.4 项目总结 152
4.8 总结 152
参考文献 153
第5章 目标检测 155
5.1 目标检测基础 155
5.1.1 检测窗口选择 156
5.1.2 特征提取 156
5.1.3 分类器 157
5.1.4 经典的V-J人脸检测方法 159
5.1.5 评估指标 162
5.1.6 优化目标 166
5.1.7 深度学习目标检测概述 167
5.2 深度学习二阶段目标检测方法 168
5.2.1 Selective Search与R-CNN 168
5.2.2 RoI Pooling与SPPNet 171
5.2.3 Fast R-CNN方法 172
5.2.4 Faster R-CNN方法 175
5.2.5 R-FCN方法 177
5.2.6 特征金字塔 178
5.2.7 RoI Align简介 178
5.2.8 级联框架Cascade R-CNN 180
5.3 深度学习一阶段目标检测方法 180
5.3.1 YOLO v1方法 180
5.3.2 YOLO v2方法 183
5.3.3 YOLO v3方法 185
5.3.4 YOLO v4方法 186
5.3.5 YOLO v5方法 189
5.3.6 SSD方法 191
5.3.7 基于角点的检测方法 192
5.4 YOLO v3猫脸目标检测实战 194
5.4.1 项目背景 194
5.4.2 数据读取 194
5.4.3 模型搭建 199
5.4.4 优化目标 204
5.4.5 模型训练 212
5.4.6 模型测试 212
5.4.7 项目总结 217
5.5 总结 217
参考文献 218
第6章 图像分割 220
6.1 图像分割基础 220
6.1.1 图像分割的分类 220
6.1.2 经典的图像分割方法 222
6.1.3 评估指标与优化目标 226
6.2 语义分割 227
6.2.1 反卷积 227
6.2.2 语义分割基本流程 229
6.2.3 语义分割经典模型 230
6.2.4 语义分割核心技术与改进 232
6.2.5 条件随机场后处理 236
6.2.6 弱监督语义分割模型 236
6.3 Image Matting模型 237
6.3.1 基本概念 237
6.3.2 基于三值图的模型 237
6.3.3 不基于三值图的模型 240
6.3.4 小结 241
6.4 实例分割模型 241
6.4.1 基础实例分割模型 241
6.4.2 二阶段实例分割模型 245
6.4.3 一阶段实例分割模型 246
6.4.4 小结 250
6.5 嘴唇图像语义分割项目 251
6.5.1 项目背景 251
6.5.2 数据准备与读取 252
6.5.3 网络结构搭建 254
6.5.4 模型训练 256
6.5.5 模型测试 259
6.5.6 项目总结 260
6.6 人像抠图实战 261
6.6.1 项目背景 261
6.6.2 数据处理与读取 262
6.6.3 模型搭建与训练 266
6.6.4 模型测试 270
6.6.5 项目总结 272
6.7 总结 272
参考文献 272
第7章 模型可视化 275
7.1 模型可视化基础 275
7.1.1 为什么要研究模型可视化 275
7.1.2 模型可视化的研究方向 276
7.2 模型结构可视化 276
7.2.1 模型结构的定义 277
7.2.2 Graphiz可视化工具 278
7.2.3 Netron可视化工具 280
7.3 模型可视化分析 282
7.3.1 卷积参数与特征可视化 282
7.3.2 输入激活模式可视化 286
7.3.3 输入区域重要性可视化 289
7.4 模型可视化分析实践 293
7.4.1 梯度法可视化 293
7.4.2 反卷积可视化 296
7.4.3 CAM图可视化 302
7.4.4 项目总结 305
7.5 总结 305
参考文献 305
第8章 模型压缩 307
8.1 轻量级模型设计 307
8.1.1 全连接层的压缩 308
8.1.2 小卷积核的应用 309
8.1.3 卷积拆分与分组 312
8.1.4 特征通道优化利用 316
8.1.5 小结 317
8.2 模型剪枝 318
8.2.1 模型剪枝基础 318
8.2.2 模型稀疏学习 319
8.2.3 非结构化剪枝技术 322
8.2.4 结构化剪枝技术 324
8.2.5 小结 326
8.3 模型量化 326
8.3.1 模型量化基础 326
8.3.2 二值量化 327
8.3.3 8bit量化 331
8.3.4 自由位宽量化 334
8.3.5 小结 335
8.4 模型蒸馏 335
8.4.1 模型蒸馏基础 336
8.4.2 知识蒸馏框架 337
8.4.3 小结 339
8.5 结构化模型剪枝实践 339
8.5.1 方案选择 340
8.5.2 模型训练 340
8.5.3 模型剪枝 343
8.5.4 小结 346
8.6 8bit模型量化实践 346
8.6.1 方法选择 346
8.6.2 量化算法实现 347
8.6.3 模型量化与测试 353
8.6.4 小结 356
8.7 经典模型蒸馏实践 357
8.7.1 模型定义 357
8.7.2 模型训练 358
8.7.3 小结 360
8.8 总结 361
参考文献 361
第9章 模型部署与上线 365
9.1 微信小程序前端开发 365
9.1.1 小程序的技术特点与定位 365
9.1.2 Web前端基础 367
9.1.3 小程序开发工具 369
9.1.4 小程序前端目录 370
9.1.5 小程序前端开发 371
9.2 微信小程序服务端开发 376
9.2.1 域名注册与管理 377
9.2.2 服务端框架简介 377
9.2.3 算法搭建与实现 378
9.3 总结 382