书籍详情

深度学习计算机视觉

深度学习计算机视觉

作者:(埃及)穆罕默德·埃尔根迪(Mohamed Elgendy)著

出版社:清华大学出版社

出版时间:2022-08-01

ISBN:9787302609940

定价:¥128.00

购买这本书可以去
内容简介
  计算机视觉有多先进?开一开特斯拉就知道了。深度学习技术已在人脸识别、交互式仿真和医学成像方面取得令人兴奋的突破,但最让人心潮澎湃的当属自动驾驶技术。如今,自动驾驶的汽车已经能在高速路上畅意驰骋并对各种复杂路况做出灵活反应了。计算机如何“理解”它所“看到”的东西?本书试图将深度学习应用于计算机视觉以回答该问题。本书仅用高中代数知识阐明视觉直觉背后的概念。你将了解如何使用深度学习架构来构建视觉系统应用程序,以实现图像生成和人脸识别功能。主要内容●图像分类和目标检测●先进的深度学习架构●迁移学习与生成对抗网络●DeepDream和神经风格迁移●视觉嵌入和图像搜索
作者简介
  Mohamed Elgendy,现任Rakuten(乐天)公司的工程副总裁,掌管该公司的AI平台和产品的开发。此前,他曾担任Synapse Technology公司的工程主管,负责开发专用于世界范围内安全威胁检测的计算机视觉应用程序;后在亚马逊建立并管理了一支中央AI团队。该团队充当AWS和Amazon Go等亚马逊工程团队的深度学习智囊团。他还在亚马逊机器学习大学(Amazon's Machine University)开发了计算机视觉的深度学习课程。时至今日,Mohamed还经常在亚马逊开发者大会、O'Reilly人工智能峰会和谷歌I/O大会上发表演讲。
目录

第Ⅰ部分 深度学习基础

1 章 概述3

1.1 计算机视觉 4

1.1.1 视觉感知的定义 4

1.1.2 视觉系统 4

1.1.3 感知设备 6

1.1.4 解译设备 7

1.2 CV 应用 8

1.2.1 图像分类 9

1.2.2 目标检测与定位10

1.2.3 生成艺术(风格迁移) 11

1.2.4 图像生成11

1.2.5 人脸识别12

1.2.6 图片推荐系统13

1.3 计算机视觉管道概览 14

1.4 图像输入 15

1.4.1 图像的函数表达16

1.4.2 计算机读取图像17

1.4.3 彩色图像17

1.5 图像处理 19

1.6 特征提取 21

1.6.1 计算机视觉中特征的

定义22

1.6.2 有用特征的定义23

1.6.3 手动与自动的特征

提取25

1.7 分类器学习算法 27

1.8 本章小结 28

第2 章 深度学习和神经网络 29

2.1 理解感知机 30

2.1.1 感知机的定义31

2.1.2 感知机的学习机制34

2.1.3 单层感知机的

局限性35

2.2 多层感知机 36

2.2.1 多层感知机架构37

2.2.2 关于隐藏层38

2.2.3 隐藏层的设计38

2.2.4 本节内容拓展40

2.3 激活函数 41

2.3.1 线性转移函数42

2.3.2 Heaviside 阶跃函数

(二元分类器) 43

2.3.3 Sigmoid/logistic

函数43

2.3.4 Softmax 函数46

2.3.5 双_3恄黖衉J曲正切函数

2.5.1 误差函数的定义55

2.5.2 误差函数的意义55

2.5.3 误差为正的必要性55

2.5.4 均方误差损失函数56

2.5.5 交叉熵损失函数57

2.5.6 关于误差和权重的补充

说明58

2.6 优化算法 59

2.6.1 优化的定义59

2.6.2 批梯度下降62

2.6.3 随机梯度下降67

2.6.4 小批梯度下降68

2.6.5 梯度下降总结68

2.7 反向传播 69

2.7.1 反向传播的定义70

2.7.2 反向传播总结72

2.8 本章总结 73

第3 章 卷积神经网络75

3.1 使用MLP 进行图像

分类 76

3.1.1 输入层76

3.1.2 隐藏层78

3.1.3 输出层78

3.1.4 组合78

3.1.5 MLP 处理图像的

缺点80

3.2 CNN 架构 82

3.2.1 概述83

3.2.2 特征提取详解84

3.2.3 分类详解85

3.3 CNN 的基本组件 85

3.3.1 卷积层86

3.3.2 池化层或下采样92

3.3.3 全连接层96

3.4 使用CNN 进行图像

分类 98

3.4.1 构建模型体系架构98

3.4.2 参数(权重)的数量100

3.5 添加dropout 层以避免

过拟合 101

3.5.1 过拟合定义101

3.5.2 dropout 层定义102

3.5.3 dropout 层的重要

意义102

3.5.4 dropout 层在CNN

架构中的位置103

3.6 彩色(3D)图像的卷积 104

3.6.1 彩色图像的卷积105

3.6.2 计算复杂度的变化107

3.7 练习项目:彩色图像

分类 109

3.8 本章总结 118

第4 章 构造DL 项目以及超参数

调优119

4.1 定义性能指标 120

4.1.1 选择评价模型的最佳

指标120

4.1.2 混淆矩阵120

4.1.3 精确度和召回率121

4.1.4 F1 得分122

4.2 设计基准模型 122

4.3 为训练准备数据 124

4.3.1 划分数据集124

4.3.2 数据处理125

4.4 评估模型并解释其

性能 127

4.4.1 诊断过拟合和

欠拟合127

4.4.2 绘制学习曲线129

4.4.3 练习项目:构建、

训练和评估网络129

4.5 网络改进和超参数

调优 132

4.5.1 收集更多数据与超

参数调优132

4.5.2 参数与超参数133

4.5.3 神经网络超参数133

4.5.4 网络架构134

4.6 学习和优化 135

4.6.1 学习率及其衰减

策略135

4.6.2 找到最佳学习率的

系统性方法138

4.6.3 学习率衰减和自适应

学习138

4.6.4 小批大小139

4.7 优化算法 141

4.7.1 动量梯度下降142

4.7.2 Adam 142

4.7.3 训练轮数和早停

标准143

4.7.4 Early stopping144

4.8 正则化技术 144

4.8.1 L2 正则化145

4.8.2 Dropout 层146

4.8.3 数据增强146

4.9 批归一化 147

4.9.1 协变量偏移问题148

4.9.2 神经网络中的协变量

偏移148

4.9.3 批归一化的工作

原理149

4.9.4 批归一化在keras 中的

实现150

4.9.5 批归一化回顾151

4.10 练习项目:实现高准确度

的图像分类 151

4.11 本章小结 157

 

第Ⅱ部分 图像分类和检测

第5 章 先进的CNN 架构 161

5.1 CNN 设计模式 162

5.2 LeNet-5 164

5.2.1 LeNet 架构164

5.2.2 LeNet-5 在Keras 中的

实现165

5.2.3 设置学习超参数167

5.2.4 LeNet 在MNIST 数据

集上的性能168

5.3 AlexNet 168

5.3.1 AlexNet 网络架构169

5.3.2 AlexNet 的新特性169

5.3.3 Keras 中的AlexNet

实现171

5.3.4 设置学习超参数174

5.3.5 AlexNet 的性能174

5.4 VGGNet 175

5.4.1 VGGNet 新特性175

5.4.2 VGGNet 配置176

5.4.3 学习超参数179

5.4.4 VGGNet 性能179

5.5 Inception 和

GoogLeNet 179

5.5.1 Inception 新特性180

5.5.2 Inception 模块:

Naive 版181

5.5.3 Inception 模块与维数

约减182

5.5.4 Inception 体系架构184

5.5.5 GoogLeNet 的Keras

实现185

5.5.6 学习参数190

5.5.7 Inception 在CIFAR

数据集上的性能190

5.6 ResNet 191

5.6.1 ResNet 新特性191

5.6.2 残差块193

5.6.3 keras 中的ResNet

实现195

5.6.4 学习超参数197

5.6.5 ResNet 在CIFAR

数据集上的性能197

5.7 本章小结 198

第6 章 迁移学习199

6.1 迁移学习的必要性 200

6.2 迁移学习的定义 201

6.3 迁移学习的工作原理 207

6.3.1 神经网络如何学习

特征208

6.3.2 网络后期提取的特征

的可迁移性210

6.4 迁移学习方法 210

6.4.1 使用预训练网络作为

分类器210

6.4.2 使用预训练网络作为

特征提取器212

6.4.3 微调213

6.5 选择合适的迁移学习

方法 215

6.5.1 场景1:目标数据集

较小且与源数据集

相似215

6.5.2 场景2:目标数据集

较大且与源数据集

相似216

6.5.3 场景3:目标数据集

较小且与源数据集

不同216

6.5.4 场景4:目标数据集

较大且与源数据集

不同216

6.5.5 迁移学习场景总结216

6.6 开源数据集 217

6.6.1 MNIST 217

6.6.2 Fashion-MNIST 218

6.6.3 CIFAR 218

6.6.4 ImageNet 219

6.6.5 MS COCO 221

6.6.6 Google Open

Images222

6.6.7 Kaggle222

6.7 项目1:预训练网络作为

特征提取器 222

6.8 项目2:微调 228

6.9 本章小结 235

第7 章 使用R-CNN、SSD 和YOLO

进行目标检测 237

7.1 目标检测的通用框架 238

7.1.1 候选区域239

7.1.2 网络预测240

7.1.3 非极大值抑制

(NMS) 241

7.1.4 目标检测器的评价

指标241

7.2 R-CNN 244

7.2.1 R-CNN 244

7.2.2 Fast R-CNN 248

7.2.3 Faster R-CNN 250

7.2.4 R-CNN 家族总结256

7.3 SSD(Single-shot

detector) 259

7.3.1 SSD 架构总览259

7.3.2 基础网络261

7.3.3 多尺度特征层263

7.3.4 NMS266

7.4 YOLO(you only look

once)(320) 267

7.4.1 YOLO v3 的工作

机制268

7.4.2 YOLOv3 架构270

7.5 项目:在自动驾驶中

应用SSD 网络 272

7.5.1 步骤1:构建模型274

7.5.2 步骤2:模型配置275

7.5.3 步骤3:创建模型276

7.5.4 步骤3:加载数据276

7.5.5 步骤5:训练模型278

7.5.6 步骤6:可视化

损失279

7.5.7 步骤7:预测280

7.6 本章小结 281

 

第Ⅲ部分 生成模型与视觉嵌入

第8 章 生成对抗网络285

8.1 GAN 架构 286

8.1.1 Deep convolutional

GANs(DCGANs) 288

8.1.2 鉴别器模型288

8.1.3 生成器模型290

8.1.4 训练GAN 293

8.1.5 GAN 极小极大值

函数296

8.2 评估GAN 模型 297

8.2.1 Inception score298

8.2.2 Fréchet inception distance

(FID)298

8.2.3 评估方案选择299

8.3 GAN 的主流应用 299

8.3.1 文本生成图像(Text-tophoto

synthesis)299

8.3.2 图像翻译(Pix2Pix

GAN) 300

8.3.3 图像超分辨率

GAN(SRGAN)301

8.3.4 准备好动手了吗302

8.4 练习项目:构建自己的

GAN 302

8.5 本章小结 311

第9 章 DeepDream 和神经风格

迁移 313

9.1 打开CNN 的黑盒 314

9.1.1 CNN 工作原理

回顾314

9.1.2 CNN 特征可视化315

9.1.3 特征可视化工具的

实现318

9.2 DeepDream 321

9.2.1 DeepDream 算法的工作

原理322

9.2.2 DeepDream 的Keras

实现324

9.3 神经风格迁移 327

9.3.1 内容损失329

9.3.2 风格损失(style

loss) 330

9.3.3 总变分损失(total variance

loss)332

9.3.4 网络训练332

9.4 本章小结 333

第10 章 视觉嵌入335

10.1 视觉嵌入的应用 336

10.1.1 人脸识别337

10.1.2 图片推荐系统337

10.1.3 目标重识别系统339

10.2 学习嵌入 340

10.3 损失函数 341

10.3.1 问题建立和

形式化342

10.3.2 交差熵损失342

10.3.3 对比损失343

10.3.4 三元组损失344

10.3.5 损失的简单实现和

运行分析345

10.4 挖掘信息数据 347

10.4.1 数据加载器347

10.4.2 信息型数据挖掘:寻找

有用的三元组349

10.4.3 Batch All(BA)350

10.4.4 Batch Hard(BH) 351

10.4.5 batch weighted

(BW)353

10.4.6 Batch Sample

(BS)354

10.5 练习项目:训练嵌入

网络 355

10.5.1 时尚圈:查找相似的

衣服356

10.5.2 车辆重识别356

10.5.3 实现357

10.5.4 测试训练的模型358

10.6 突破准确度的限制 362

10.7 本章小结 363

参考文献 365

附录A 369

A.1 下载代码库 369

A.2 安装Anaconda 369

A.3 设置DL 环境 370

A.3.1 手动设置你的开发

环境370

A.3.2 使用本书的repo 中的

conda 环境371

A.3.3 保存和加载环境372

A.4 设置AWS EC2 环境 372

A.4.1 创建AWS 账号372

A.4.2 远程连接到此

实例373

A.4.3 运行Jupyter

Notebook374


猜您喜欢

读书导航