深度学习与计算机视觉:理论与实践 / 高等院校大数据与人工智能应用人才培养系列教材
定价:¥79.90
作者: 王艳娟
出版社:机械工业出版社
- 机械工业出版社
- 9787111817758
- 1-1
- 477
内容简介
《深度学习与计算机视觉 : 理论与实践》系统地介绍了深度学习与计算机视觉领域的基本概念、基本原理和基本方法。全书共10章,主要包括计算机视觉的基本概念、基本原理;深度学习的基本知识和基本原理;卷积神经网络的基本知识和基本方法;迁移学习的相关知识;图像分类的基本知识和主流算法模型;目标检测的基本原理和主流算法模型;图像分割的基本知识。同时,还介绍了生成式模型,如生成对抗网络、扩散模型等。为帮助读者充分了解和掌握基础理论知识,第1~9章附有思维导图及习题,并且第2~9章配有项目实战,每个项目实战都有详细的指导手册以及源代码包,帮助读者将理论应用于实践。第10章是综合实践,帮助读者系统地消化和应用本书的理论知识。本书概念清晰、系统性强、重点突出、图文并茂。
《深度学习与计算机视觉 : 理论与实践》既可作为高等院校人工智能相关专业和计算机相关专业的本科生教材,也可供深度学习与计算机视觉领域的研究生和工程技术人员参考。
《深度学习与计算机视觉 : 理论与实践》既可作为高等院校人工智能相关专业和计算机相关专业的本科生教材,也可供深度学习与计算机视觉领域的研究生和工程技术人员参考。
目录
前言
第1章 计算机视觉概述 1
1.1 计算机视觉技术概述 1
1.1.1 计算机视觉的概念 1
1.1.2 计算机视觉技术的发展历程 2
1.1.3 计算机视觉的功能 3
1.1.4 计算机视觉系统组成 4
1.1.5 计算机视觉的应用 7
1.2 计算机视觉管道 9
1.2.1 输入数据 10
1.2.2 图像预处理 12
1.2.3 特征提取 14
1.2.4 分类器学习算法 15
1.3 计算机视觉处理常用工具 17
1.3.1 OpenCV简介 17
1.3.2 OpenCV-Python 17
1.3.3 OpenCV的基础模块 18
1.3.4 其他CV常用工具 18
1.4 Anaconda开发环境配置 19
1.4.1 Anaconda简介 19
1.4.2 Anaconda常用操作指令 19
1.5 PyTorch框架安装 20
1.5.1 PyTorch简介 20
1.5.2 PyTorch常用函数 20
1.5.3 Jupyter Notebook使用PyTorch 22
1.6 PyCharm安装 24
1.6.1 PyCharm创建Python项目 24
1.6.2 PyCharm使用PyTorch 29
本章小结 31
习题 31
第2章 深度学习基础 32
2.1 机器学习概述 33
2.1.1 什么是机器学习 33
2.1.2 机器学习的类别 34
2.1.3 机器学习的重要分支—深度
学习 34
2.1.4 机器学习的应用场景 35
2.2 感知机 37
2.2.1 感知机的定义 37
2.2.2 感知机的学习机制 40
2.2.3 单层感知机的局限 40
2.3 多层感知机 42
2.3.1 多层感知机架构 43
2.3.2 隐藏层的设计 44
2.4 激活函数 45
2.4.1 线性转移函数 45
2.4.2 Heaviside阶跃函数(二元
分类器) 46
2.4.3 Sigmoid函数 47
2.4.4 softmax函数 48
2.4.5 双曲正切函数(tanh) 48
2.4.6 修正线性单元(ReLU) 49
2.5 前馈过程 50
2.5.1 前馈计算 51
2.5.2 特征学习 52
2.6 误差函数 53
2.6.1 误差函数的定义 53
2.6.2 误差函数的意义 54
2.6.3 如何选择合适的误差函数 54
2.6.4 均方误差函数 56
2.6.5 交叉熵损失函数 56
2.7 优化算法 58
2.7.1 优化的定义 58
2.7.2 批量梯度下降法 60
2.7.3 随机梯度下降法 61
2.7.4 小批量梯度下降法 62
2.8 反向传播 63
2.8.1 反向传播的定义 63
2.8.2 反向传播的总结 65
2.9 项目实战:基于神经网络的
手写数字识别 65
本章小结 68
习题 69
第3章 卷积神经网络 70
3.1 使用MLP进行图像分类 71
3.1.1 MLP概述 71
3.1.2 MLP进行图像分类 71
3.1.3 MLP的缺点 73
3.2 CNN架构 73
3.2.1 CNN概述 73
3.2.2 卷积层 76
3.2.3 池化层 79
3.2.4 全连接层 81
3.2.5 Dropout层 82
3.3 彩色图像分类 85
3.3.1 彩色图像的卷积 85
3.3.2 计算复杂度的变化 86
3.4 使用CNN进行图像分类 86
3.4.1 构建模型架构 87
3.4.2 参数计算方法 88
3.5 评价指标 89
3.5.1 混淆矩阵 89
3.5.2 精确率 90
3.5.3 召回率 90
3.5.4 F1得分 90
3.6 数据集的处理方法 91
3.6.1 数据集预处理 91
3.6.2 数据集划分 94
3.7 超参数优化 95
3.7.1 超参数分类 96
3.7.2 超参数优化 97
3.8 项目实战:基于CNN的鸢尾花
分类 99
3.8.1 数据集准备 99
3.8.2 模型设计 100
3.8.3 实验准备 100
3.8.4 实验代码 100
3.8.5 实验结果分析 103
本章小结 104
习题 105
第4章 迁移学习 106
4.1 迁移学习基础 107
4.1.1 迁移学习的背景 107
4.1.2 迁移学习的概念 109
4.1.3 迁移学习的分类 111
4.2 迁移学习方法 113
4.2.1 基于实例的迁移学习方法 113
4.2.2 基于特征的迁移学习方法 114
4.2.3 基于模型的迁移学习方法 116
4.2.4 基于关系的迁移学习方法 117
4.3 迁移学习工作原理 120
4.3.1 使用预训练网络作为分类器 120
4.3.2 使用预训练网络作为特征
提取器 125
4.3.3 微调 127
4.4 项目实战:利用迁移学习进行
鲜花分类 131
本章小结 136
习题 136
第5章 图像分类 137
5.1 经典的卷积神经网络模型 137
5.1.1 LeNet模型 138
5.1.2 AlexNet模型 139
5.1.3 VGGNet模型 141
5.2 基于残差的网络模型 143
5.2.1 ResNet模型 143
5.2.2 DenseNet模型 145
5.3 基于Transformer的网络模型 148
5.3.1 Transformer网络介绍 148
5.3.2 ViT模型 152
5.3.3 Swin Transformer模型 154
5.3.4 Mamba 模型 157
5.4 轻量化的网络模型 159
5.4.1 MobileNet模型 159
5.4.2 PP-LCNet模型 161
5.5 项目实战:动物图像分类 163
5.5.1 模型构建 163
5.5.2 训练阶段 164
5.5.3 图像推理 165
本章小结 166
习题 167
第6章 目标检测 168
6.1 目标检测概述 168
6.1.1 目标检测和图像分类的区别 169
6.1.2 目标检测基本流程 169
6.1.3 核心问题与挑战 170
6.2 目标检测关键技术 171
6.2.1 候选区域 171
6.2.2 网络预测 173
6.2.3 非极大值抑制(NMS) 173
6.2.4 评价指标 174
6.3 Two-Stage系列模型 175
6.3.1 R-CNN模型 175
6.3.2 SPP-Net模型 177
6.3.3 Fast R-CNN模型 179
6.3.4 Faster R-CNN模型 181
6.3.5 Grid R-CNN模型 184
6.4 YOLO系列模型 185
6.4.1 从Two-Stage到One-Stage 185
6.4.2 YOLO系列发展历程 186
6.4.3 YOLOv8 192
6.4.4 YOLOv11 196
6.4.5 YOLOv13 201
6.4.6 YOLO26 204
6.5 项目实战:基于YOLO的动物识别与检测 206
本章小结 210
习题 211
第7章 图像分割 212
7.1 图像分割基础 212
7.1.1 图像分割概述 212
7.1.2 图像分割的应用 215
7.1.3 图像分割方法的评价指标 216
7.2 深度学习语义分割基础网络 221
7.2.1 FCN网络模型 221
7.2.2 U-Net网络模型 223
7.2.3 SegNet网络模型 225
7.2.4 PSPNet网络模型 226
7.2.5 DeepLabv3+网络模型 227
7.2.6 SCTNet网络模型 228
7.3 项目实战:基于YOLOv5模型的
微颗粒图像分割 230
本章小结 235
习题 235
第8章 生成对抗网络 236
8.1 生成对抗网络概述 237
8.1.1 背景 237
8.1.2 GAN的定义 237
8.1.3 GAN的优缺点 238
8.2 GAN的主流应用 239
8.2.1 文本生成图像 239
8.2.2 图像翻译 240
8.2.3 图像超分辨率重建 241
8.2.4 其他应用 243
8.3 模型架构 243
8.3.1 GAN模型结构 243
8.3.2 训练GAN 245
8.3.3 目标函数 247
8.4 模型评估 249
8.4.1 IS评价指标 250
8.4.2 FID Score评价指标 251
8.5 项目实战:利用SRGAN生成超
分辨率图像 253
8.5.1 数据集的加载 253
8.5.2 训练 254
8.5.3 可视化结果 255
本章小结 256
习题 256
第9章 扩散模型 257
9.1 扩散模型概述 258
9.1.1 背景 258
9.1.2 扩散模型简介 259
9.1.3 扩散模型分类 261
9.1.4 扩散模型的应用 263
9.2 扩散模型原理 267
9.2.1 扩散过程 267
9.2.2 逆扩散过程 269
9.2.3 优化误差函数 270
9.2.4 训练和采样过程 272
9.3 扩散模型架构 272
9.3.1 DDPM模型架构 272
9.3.2 Diffusion Transformer(DiT)
架构 274
9.4 项目实战:基于扩散模型的鲜花
图像生成 278
本章小结 279
习题 279
第10章 综合实践:交通标志检测 280
10.1 项目分析与设计 280
10.2 算法模型开发 280
10.2.1 数据准备 280
10.2.2 开发环境配置 283
10.2.3 模型选择 288
10.2.4 数据集划分 291
10.3 系统测试 295
10.3.1 训练 295
10.3.2 推理 296
10.3.3 效果展示 297
10.3.4 代码获取 298
本章小结 298
参考文献 299
第1章 计算机视觉概述 1
1.1 计算机视觉技术概述 1
1.1.1 计算机视觉的概念 1
1.1.2 计算机视觉技术的发展历程 2
1.1.3 计算机视觉的功能 3
1.1.4 计算机视觉系统组成 4
1.1.5 计算机视觉的应用 7
1.2 计算机视觉管道 9
1.2.1 输入数据 10
1.2.2 图像预处理 12
1.2.3 特征提取 14
1.2.4 分类器学习算法 15
1.3 计算机视觉处理常用工具 17
1.3.1 OpenCV简介 17
1.3.2 OpenCV-Python 17
1.3.3 OpenCV的基础模块 18
1.3.4 其他CV常用工具 18
1.4 Anaconda开发环境配置 19
1.4.1 Anaconda简介 19
1.4.2 Anaconda常用操作指令 19
1.5 PyTorch框架安装 20
1.5.1 PyTorch简介 20
1.5.2 PyTorch常用函数 20
1.5.3 Jupyter Notebook使用PyTorch 22
1.6 PyCharm安装 24
1.6.1 PyCharm创建Python项目 24
1.6.2 PyCharm使用PyTorch 29
本章小结 31
习题 31
第2章 深度学习基础 32
2.1 机器学习概述 33
2.1.1 什么是机器学习 33
2.1.2 机器学习的类别 34
2.1.3 机器学习的重要分支—深度
学习 34
2.1.4 机器学习的应用场景 35
2.2 感知机 37
2.2.1 感知机的定义 37
2.2.2 感知机的学习机制 40
2.2.3 单层感知机的局限 40
2.3 多层感知机 42
2.3.1 多层感知机架构 43
2.3.2 隐藏层的设计 44
2.4 激活函数 45
2.4.1 线性转移函数 45
2.4.2 Heaviside阶跃函数(二元
分类器) 46
2.4.3 Sigmoid函数 47
2.4.4 softmax函数 48
2.4.5 双曲正切函数(tanh) 48
2.4.6 修正线性单元(ReLU) 49
2.5 前馈过程 50
2.5.1 前馈计算 51
2.5.2 特征学习 52
2.6 误差函数 53
2.6.1 误差函数的定义 53
2.6.2 误差函数的意义 54
2.6.3 如何选择合适的误差函数 54
2.6.4 均方误差函数 56
2.6.5 交叉熵损失函数 56
2.7 优化算法 58
2.7.1 优化的定义 58
2.7.2 批量梯度下降法 60
2.7.3 随机梯度下降法 61
2.7.4 小批量梯度下降法 62
2.8 反向传播 63
2.8.1 反向传播的定义 63
2.8.2 反向传播的总结 65
2.9 项目实战:基于神经网络的
手写数字识别 65
本章小结 68
习题 69
第3章 卷积神经网络 70
3.1 使用MLP进行图像分类 71
3.1.1 MLP概述 71
3.1.2 MLP进行图像分类 71
3.1.3 MLP的缺点 73
3.2 CNN架构 73
3.2.1 CNN概述 73
3.2.2 卷积层 76
3.2.3 池化层 79
3.2.4 全连接层 81
3.2.5 Dropout层 82
3.3 彩色图像分类 85
3.3.1 彩色图像的卷积 85
3.3.2 计算复杂度的变化 86
3.4 使用CNN进行图像分类 86
3.4.1 构建模型架构 87
3.4.2 参数计算方法 88
3.5 评价指标 89
3.5.1 混淆矩阵 89
3.5.2 精确率 90
3.5.3 召回率 90
3.5.4 F1得分 90
3.6 数据集的处理方法 91
3.6.1 数据集预处理 91
3.6.2 数据集划分 94
3.7 超参数优化 95
3.7.1 超参数分类 96
3.7.2 超参数优化 97
3.8 项目实战:基于CNN的鸢尾花
分类 99
3.8.1 数据集准备 99
3.8.2 模型设计 100
3.8.3 实验准备 100
3.8.4 实验代码 100
3.8.5 实验结果分析 103
本章小结 104
习题 105
第4章 迁移学习 106
4.1 迁移学习基础 107
4.1.1 迁移学习的背景 107
4.1.2 迁移学习的概念 109
4.1.3 迁移学习的分类 111
4.2 迁移学习方法 113
4.2.1 基于实例的迁移学习方法 113
4.2.2 基于特征的迁移学习方法 114
4.2.3 基于模型的迁移学习方法 116
4.2.4 基于关系的迁移学习方法 117
4.3 迁移学习工作原理 120
4.3.1 使用预训练网络作为分类器 120
4.3.2 使用预训练网络作为特征
提取器 125
4.3.3 微调 127
4.4 项目实战:利用迁移学习进行
鲜花分类 131
本章小结 136
习题 136
第5章 图像分类 137
5.1 经典的卷积神经网络模型 137
5.1.1 LeNet模型 138
5.1.2 AlexNet模型 139
5.1.3 VGGNet模型 141
5.2 基于残差的网络模型 143
5.2.1 ResNet模型 143
5.2.2 DenseNet模型 145
5.3 基于Transformer的网络模型 148
5.3.1 Transformer网络介绍 148
5.3.2 ViT模型 152
5.3.3 Swin Transformer模型 154
5.3.4 Mamba 模型 157
5.4 轻量化的网络模型 159
5.4.1 MobileNet模型 159
5.4.2 PP-LCNet模型 161
5.5 项目实战:动物图像分类 163
5.5.1 模型构建 163
5.5.2 训练阶段 164
5.5.3 图像推理 165
本章小结 166
习题 167
第6章 目标检测 168
6.1 目标检测概述 168
6.1.1 目标检测和图像分类的区别 169
6.1.2 目标检测基本流程 169
6.1.3 核心问题与挑战 170
6.2 目标检测关键技术 171
6.2.1 候选区域 171
6.2.2 网络预测 173
6.2.3 非极大值抑制(NMS) 173
6.2.4 评价指标 174
6.3 Two-Stage系列模型 175
6.3.1 R-CNN模型 175
6.3.2 SPP-Net模型 177
6.3.3 Fast R-CNN模型 179
6.3.4 Faster R-CNN模型 181
6.3.5 Grid R-CNN模型 184
6.4 YOLO系列模型 185
6.4.1 从Two-Stage到One-Stage 185
6.4.2 YOLO系列发展历程 186
6.4.3 YOLOv8 192
6.4.4 YOLOv11 196
6.4.5 YOLOv13 201
6.4.6 YOLO26 204
6.5 项目实战:基于YOLO的动物识别与检测 206
本章小结 210
习题 211
第7章 图像分割 212
7.1 图像分割基础 212
7.1.1 图像分割概述 212
7.1.2 图像分割的应用 215
7.1.3 图像分割方法的评价指标 216
7.2 深度学习语义分割基础网络 221
7.2.1 FCN网络模型 221
7.2.2 U-Net网络模型 223
7.2.3 SegNet网络模型 225
7.2.4 PSPNet网络模型 226
7.2.5 DeepLabv3+网络模型 227
7.2.6 SCTNet网络模型 228
7.3 项目实战:基于YOLOv5模型的
微颗粒图像分割 230
本章小结 235
习题 235
第8章 生成对抗网络 236
8.1 生成对抗网络概述 237
8.1.1 背景 237
8.1.2 GAN的定义 237
8.1.3 GAN的优缺点 238
8.2 GAN的主流应用 239
8.2.1 文本生成图像 239
8.2.2 图像翻译 240
8.2.3 图像超分辨率重建 241
8.2.4 其他应用 243
8.3 模型架构 243
8.3.1 GAN模型结构 243
8.3.2 训练GAN 245
8.3.3 目标函数 247
8.4 模型评估 249
8.4.1 IS评价指标 250
8.4.2 FID Score评价指标 251
8.5 项目实战:利用SRGAN生成超
分辨率图像 253
8.5.1 数据集的加载 253
8.5.2 训练 254
8.5.3 可视化结果 255
本章小结 256
习题 256
第9章 扩散模型 257
9.1 扩散模型概述 258
9.1.1 背景 258
9.1.2 扩散模型简介 259
9.1.3 扩散模型分类 261
9.1.4 扩散模型的应用 263
9.2 扩散模型原理 267
9.2.1 扩散过程 267
9.2.2 逆扩散过程 269
9.2.3 优化误差函数 270
9.2.4 训练和采样过程 272
9.3 扩散模型架构 272
9.3.1 DDPM模型架构 272
9.3.2 Diffusion Transformer(DiT)
架构 274
9.4 项目实战:基于扩散模型的鲜花
图像生成 278
本章小结 279
习题 279
第10章 综合实践:交通标志检测 280
10.1 项目分析与设计 280
10.2 算法模型开发 280
10.2.1 数据准备 280
10.2.2 开发环境配置 283
10.2.3 模型选择 288
10.2.4 数据集划分 291
10.3 系统测试 295
10.3.1 训练 295
10.3.2 推理 296
10.3.3 效果展示 297
10.3.4 代码获取 298
本章小结 298
参考文献 299











