深度学习与计算机视觉——基于PyTorch(微课版)

深度学习与计算机视觉从入门到精通,配套丰富资源
分享 推荐 0 收藏 30 阅读 2.2K
李春艳 (作者) 978-7-115-64931-7

关于本书的内容有任何问题,请联系 刘博

1、本书开篇介绍Anaconda、CUDA、CUDNN和PyTorch等工具包的安装步骤,方便初学者学习编程环境的创建和配置。
2、本书以深度学习算法的处理流程为主线,依次介绍数据准备、模型搭建、模型训练和测试、保存和重载模型等内容。
3、本书在内容安排上采用循序渐进的方式,先介绍相关知识和函数,然后再讲实际应用中如何使用它们来解决问题。通过对CNN的深入理解后,有助于读者今后学习其他神经网络(如:RNN、GAN)。
4、本书后续章节主要介绍计算机视觉的主要研究方向的概述、应用场景、算法和应用案例,包括:图像分类、目标检测、图像分割、人脸识别、生成模型。

内容摘要

“深度学习与计算机视觉” 是一门理论性和实践性都很强的课程,它是Python程序设计、机器学习等前期课程的进阶和强化课程。
本书秉承理论与实践并重的理念,围绕深度学习与计算机视觉知识展开介绍。本书首先介绍深度学习与计算机视觉概念,工具的安装与配置。然后详细讨论NumPy与Tensor基础知识,以及数据集、卷积神经网络、模型训练与测试、图像分类等理论知识与算法实现,为读者学习目标检测、图像分割、人脸识别、生成模型等内容奠定基础。通过阅读本书,读者能了解深度学习的总体流程,理解计算机视觉任务的算法实现、改进及应用。
本书适合具有一定Python编程基础并对深度学习感兴趣的在校学生和教师,初次接触PyTorch深度学习框架的研究人员,或具备其他深度学习框架(如TensorFlow、Keras、Caffe等)使用经验的、想快速了解PyTorch深度学习框架的爱好者、高校学生和研究人员阅读。

目录

第 1 章 深度学习与计算机视觉概述 ....... 1
1.1 深度学习 ............................................... 1
1.1.1 人工智能、机器学习、深度学习 ................................................ 1
1.1.2 深度学习的应用 ............................ 3
1.1.3 深度学习框架 ................................ 3
1.2 计算机视觉 ........................................... 5
1.2.1 计算机视觉概述 ............................ 5
1.2.2 计算机视觉的用途 ........................ 7
1.2.3 计算机视觉任务 ............................ 7
1.2.4 计算机视觉在生活中的应用 ...... 10
1.3 本章小结 ............................................. 12
1.4 习题 ..................................................... 12
第 2 章 工具的安装与配置 .................... 13
2.1 安装Anaconda .................................... 13
2.2 安装PyTorch ....................................... 16
2.2.1 安装CPU版的PyTorch ............... 17
2.2.2 安装GPU版的PyTorch ............... 18
2.3 配置Jupyter Notebook ........................ 29
2.3.1 生成Jupyter Notebook配置文件 .............................................. 29
2.3.2 修改Jupyter Notebook的默认浏览器 .............................................. 30
2.3.3 修改Jupyter Notebook的默认路径 .............................................. 31
2.3.4 Jupyter Notebook的基本用法 ..... 32
2.4 安装常用工具包 ................................. 34
2.5 本章小结 ............................................. 37
2.6 习题 ..................................................... 37
第 3 章 NumPy与Tensor基础 ............. 38
3.1 NumPy基础 ......................................... 38
3.1.1 创建NumPy数组 ......................... 38
3.1.2 获取数组元素 .............................. 43
3.1.3 数组运算 ...................................... 44
3.1.4 数组变形 ...................................... 47
3.2 Tensor基础 .......................................... 52
3.2.1 认识PyTorch中的Tensor............. 52
3.2.2 创建Tensor ................................... 53
3.2.3 修改Tensor的形状 ...................... 56
3.2.4 Tensor的常见操作 ....................... 58
3.3 NumPy数组与Tensor比较 ................. 61
3.4 本章小结 ............................................. 62
3.5 习题 ..................................................... 62
第 4 章 数据集...................................... 64
4.1 数据集 ................................................. 64
4.1.1 定义数据集 .................................. 65
4.1.2 加载数据集 .................................. 67
4.1.3 PyTorch自带的数据集 ................ 68
4.2 构造图片的地址列表 ......................... 71
4.2.1 os和glob模块 .............................. 71
4.2.2 构造地址列表案例 ...................... 72
4.3 利用地址列表定义图片数据集 .......... 75
4.3.1 pandas ........................................... 75
4.3.2 Image类 ....................................... 78
4.3.3 定义图片数据集案例 .................. 79
4.4 本章小结 ............................................. 81
4.5 习题 ..................................................... 81
第 5 章 卷积神经网络 ........................... 83
5.1 卷积神经网络概述 ............................. 83
5.1.1 CNN ............................................. 83
5.1.2 torch.nn ........................................ 84
5.2 卷积 ..................................................... 85
5.2.1 卷积核 .......................................... 85
5.2.2 图像卷积运算 .............................. 86
5.2.3 特征图尺寸运算 .......................... 88
5.2.4 深度可分离卷积 .......................... 88
5.3 卷积层、批量归化层、激活
函数层 ................................................. 89
5.3.1 卷积层 .......................................... 89
5.3.2 批量归一化层 .............................. 92
5.3.3 激活函数层 .................................. 93
5.4 池化层、链接层 ................................. 97
5.4.1 池化层 .......................................... 97
5.4.2 链接层 ........................................ 101
5.5 常见的CNN及搭建实例 .................. 102
5.5.1 AlexNet ...................................... 102
5.5.2 VGG ........................................... 103
5.5.3 GoogLeNet ................................. 104
5.5.4 ResNet ........................................ 106
5.5.5 倒残差结构案例 ........................ 108
5.5.6 MobileNetV2案例 ..................... 110
5.5.7 从零开始构建CNN模型案例 ............................................ 115
5.6 本章小结 ........................................... 116
5.7 习题 ................................................... 116
第 6 章 模型训练与测试 ......................118
6.1 损失函数 ........................................... 118
6.1.1 损失函数概述 ............................ 118
6.1.2 PyTorch中的常用损失函数及其使用方法 .................................... 119
6.2 优化器 ............................................... 122
6.2.1 优化器概述 ................................ 122
6.2.2 常用优化器及其使用方法 ........ 124
6.3 模型训练、测试与调整 ................... 130
6.3.1 模型训练 .................................... 130
6.3.2 模型测试 .................................... 131
6.3.3 调整学习率 ................................ 131
6.3.4 模型训练与测试综合案例 ........ 133
6.4 模型保存与加载 ............................... 138
6.4.1 模型保存 .................................... 139
6.4.2 模型加载 .................................... 139
6.5 迁移学习 ........................................... 139
6.5.1 迁移学习基本概念 .................... 140
6.5.2 调用模型迁移学习 .................... 140
6.6 本章小结 ........................................... 145
6.7 习题 ................................................... 145
第 7 章 图像分类 ................................ 147
7.1 图像分类概述 ................................... 147
7.2 数据集 ............................................... 148
7.2.1 数据集介绍 ................................ 148
7.2.2 数据集划分和定义 .................... 149
7.2.3 数据预处理 ................................ 150
7.2.4 加载数据集 ................................ 152
7.3 构建网络模型 ................................... 152
7.4 训练与测试模型 ............................... 157
7.4.1 相关函数定义 ............................ 157
7.4.2 模型训练与验证 ........................ 163
7.5 性能评估 ........................................... 171
7.6 本章小结 ........................................... 173
7.7 习题 ................................................... 174
第 8 章 目标检测 ................................ 175
8.1 目标检测概述 ................................... 175
8.1.1 概述 ............................................ 175
8.1.2 历史、应用场景 ........................ 175
8.1.3 目标检测的主要问题与主要挑战 ............................................ 176
8.1.4 数据集 ........................................ 176
8.1.5 评估指标 .................................... 177
8.1.6 常见目标检测算法 .................... 178
8.2 基于两步法的目标检测 ................... 179
8.2.1 “两步法”概述 .......................... 179
8.2.2 二阶段检测算法概述 ................ 179
8.2.3 Faster R-CNN模型 .................... 180
8.2.4 基于Faster R-CNN的图片检测和识别 ................................ 181
8.3 YOLO目标检测算法 ....................... 186
8.3.1 YOLO概述 ................................ 186
8.3.2 YOLO训练过程 ........................ 189
8.3.3 损失函数 .................................... 190
8.3.4 基于YOLO模型的图片检测和识别 ............................................ 191
8.4 SSD目标检测算法 ........................... 197
8.4.1 SSD基本概念 ............................ 198
8.4.2 SSD核心思想 ............................ 198
8.4.3 SSD训练过程 ............................ 199
8.4.4 SSD训练样本 ............................ 199
8.4.5 损失函数 .................................... 200
8.4.6 基于SSD模型的图片检测和识别 ............................................ 201
8.5 其他目标检测算法及改进 ............... 206
8.5.1 其他目标检测算法 .................... 206
8.5.2 多尺度目标检测 ........................ 210
8.5.3 非极大值抑制的改进 ................ 211
8.5.4 其他改进措施 ............................ 211
8.6 本章小结 ........................................... 212
8.7 习题 ................................................... 212
第 9 章 图像分割 ................................ 215
9.1 图像分割的概述和应用场景 ........... 215
9.2 图像分割的传统方法 ....................... 218
9.2.1 图像分割评估指标 .................... 219
9.2.2 基于阈值的图像分割方法 ........ 221
9.2.3 基于边缘的图像分割方法 ........ 222
9.2.4 基于区域的图像分割方法 ........ 225
9.2.5 基于聚类的图像分割方法 ........ 225
9.2.6 其他传统图像分割方法 ............ 226
9.3 基于深度学习的图像分割 ............... 226
9.3.1 图像分割数据集 ........................ 226
9.3.2 基于全卷积网络的图像分割方法 ............................................ 229
9.3.3 基于目标检测的图像分割方法 ............................................ 234
9.3.4 其他基于深度学习的图像分割方法 ............................................ 238
9.4 图像分割应用案例 ........................... 240
9.4.1 遥感图像分割 ............................ 240
9.4.2 医疗影像分割 ............................ 245
9.4.3 街景分割 .................................... 247
9.5 本章小结 ........................................... 250
9.6 习题 ................................................... 250
第 10 章 人脸识别 .............................. 251
10.1 人脸检测 ......................................... 251
10.1.1 数据集介绍 .............................. 251
10.1.2 人脸检测框架 .......................... 252
10.1.3 数据预处理 .............................. 255
10.1.4 网络模型处理 .......................... 258
10.1.5 模型训练 .................................. 259
10.1.6 模型测试 .................................. 262
10.1.7 小结 .......................................... 263
10.2 提取人脸特征 ................................. 263
10.2.1 网络模型构建 .......................... 263
10.2.2 模型训练 .................................. 264
10.2.3 模型测试 .................................. 267
10.3 人脸识别 ......................................... 268
10.3.1 代码框架 .................................. 268
10.3.2 建立人脸数据库 ...................... 269
10.3.3 完成人脸识别 .......................... 269
10.4 本章小结 ......................................... 271
10.5 习题 ................................................. 271
第 11 章 生成模型 .............................. 273
11.1 生成模型的基本概念及应用场景 ................................................. 273
11.1.1 生成模型的基本概念 .............. 273
11.1.2 生成模型的应用场景 .............. 275
11.2 PixelRNN和PixelCNN ................... 276
11.3 变分自编码器.................................. 279
11.4 生成对抗网络 ................................. 282
11.4.1 生成对抗网络的工作方式 ...... 282
11.4.2 生成对抗网络的改进 .............. 284
11.5 案例分析 ......................................... 286
11.5.1 使用VAE生成手写数字图片 .......................................... 286
11.5.2 使用GAN生成手写数字图片 .......................................... 288
11.6 本章小结 ......................................... 291
11.7 习题 ................................................. 291

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

李春艳,红河学院计科系教师,讲授课程:计算机视觉与图像处理、计算机组成原理。
主要研究项目及领域:
项目:特征融合的人脸活体检测方法研究
领域:计算机视觉

购买本书用户

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部