深度学习实践 计算机视觉 作者:缪鹏
深度学习实践 计算机视觉 出版社: 清华大学出版社
深度学习实践 计算机视觉 内容简介
本书主要介绍了深度学习在计算机视觉方面的应用及工程实践,以Python 3为开发语言,并结合当前主流的深度学习框架进行实例展示。主要内容包括:OpenCV入门、深度学习框架介绍、图像分类、目标检测与识别、图像分割、图像搜索以及图像生成等,涉及到的深度学习框架包括PyTorch、TensorFlow、Keras、Chainer、MXNet等。通过本书,读者能够了解深度学习在计算机视觉各个方向的应用以及1新进展。
本书的特点是依托工业环境的实践经验,具备较强的实用性和专业性。适合于广大计算机视觉工程领域的从业者、深度学习爱好者、相关专业的大学生和研究生以及对计算机视觉感兴趣的爱好者使用。
深度学习实践 计算机视觉 目录
第1章 深度学习与计算机视觉1
1.1 图像基础3
1.2 深度学习与神经网络基础4
1.2.1 函数的简单表达5
1.2.2 函数的矩阵表达5
1.2.3 神经网络的线性变换6
1.2.4 神经网络的非线性变换6
1.2.5 深层神经网络6
1.2.6 神经网络的学习过程8
1.3 卷积神经网络CNN9
1.4 基础开发环境搭建14
1.5 本章总结15
第2章 OpenCV入门16
2.1 读图、展示和保存新图17
2.2 像素点及局部图像18
2.3 基本线条操作19
2.4 平移20
2.5 旋转20
2.6 缩放21
2.6.1 邻近插值22
2.6.2 双线性插值22
2.7 翻转23
2.8 裁剪23
2.9 算术操作23
2.10 位操作24
2.11 Masking操作25
2.12 色彩通道分离与融合26
2.13 颜色空间转换27
2.14 颜色直方图28
2.15 平滑与模糊29
2.16 边缘检测31
2.17 人脸和眼睛检测示例32
2.18 本章总结35
第3章 常见深度学习框架36
3.1 PyTorch38
3.1.1 Tensor39
3.1.2 Autograd42
3.1.3 Torch.nn43
3.2 Chainer45
3.2.1 Variable46
3.2.2 Link与Function47
3.2.3 Chain50
3.2.4 optimizers51
3.2.5 损失函数51
3.2.6 GPU的使用52
3.2.7 模型的保存与加载54
3.2.8 FashionMnist图像分类示例54
3.2.9 Trainer59
3.3 TensorFlow与Keras66
3.3.1 TensorFlow66
3.3.2 Keras67
3.4 MXNet与Gluon73
3.4.1 MXNet73
3.4.2 Gluon74
3.4.3 Gluon Sequential74
3.4.4 Gluon Block75
3.4.5 使用GPU76
3.4.6 Gluon Hybrid77
3.4.7 Lazy Evaluation79
3.4.8 Module80
3.5 其他框架81
3.6 本章总结81
第4章 图像分类82
4.1 VGG84
4.1.1 VGG介绍84
4.1.2 MXNet版VGG使用示例85
4.2 ResNet89
4.2.1 ResNet介绍89
4.2.2 Chainer版ResNet示例90
4.3 Inception95
4.3.1 Inception介绍95
4.3.2 Keras版Inception V3川菜分类97
4.4 Xception116
4.4.1 Xception简述116
4.4.2 Keras版本Xception使用示例116
4.5 DenseNet122
4.5.1 DenseNet介绍122
4.5.2 PyTorch版DenseNet使用示例122
4.6 本章总结126
第5章 目标检测与识别128
5.1 Faster RCNN129
5.1.1 Faster RCNN介绍129
5.1.2 ChainerCV版Faster RCNN示例131
5.2 SSD139
5.2.1 SSD介绍139
5.2.2 SSD示例140
5.3 YOLO148
5.3.1 YOLO V1、V2和V3介绍148
5.3.2 Keras版本YOLO V3示例150
5.4 本章总结157
第6章 图像分割158
6.1 物体分割159
6.2 语义分割164
6.2.1 FCN与SegNet166
6.2.2 PSPNet171
6.2.3 DeepLab172
6.3 实例分割176
6.3.1 FCIS177
6.3.2 Mask R-CNN178
6.3.3 MaskLab180
6.3.4 PANet181
6.4 本章总结181
第7章 图像搜索183
7.1 Siamese Network185
7.2 Triplet Network186
7.3 Margin Based Network188
7.4 Keras版Triplet Network示例190
7.4.1 准备数据190
7.4.2 训练文件191
7.4.3 采样文件195
7.4.4 模型训练202
7.4.5 模型测试206
7.4.5 结果可视化210
7.5 本章小结216
第8章 图像生成218
8.1 VAE219
8.1.1 VAE介绍219
8.1.2 Chainer版本VAE示例220
8.2 生成对抗网络GAN221
8.2.1 GAN介绍221
8.2.2 Chainer DCGAN RPG游戏角色生成示例229
8.3 Neural Style Transfer238
8.3.1 Neural Style Transfer介绍238
8.3.2 MXNet多风格转换MSG-Net示例241
8.4 本章总结246
后记247
深度学习实践 计算机视觉 精彩文摘
第1章深度学习与计算机视觉
深度学习与计算机视觉近几年非常火,而它们又和人工智能联系紧密,但它们到底是什么,能解决什么问题呢?本章便试着通俗简要地回答这个问题。
首先是对世界的认识,对于人类来说,可以靠各种感官来感受周围的世界,包括眼、口、鼻、耳、舌、身,这样我们就认识了这个世界是由颜色、形状、美丑、味道、温度甚至感情的憎恶等构成的。那么有没有方法让计算机也有这些感受和认知,再进行推理、判断和决策呢?笔者认为这就是人工智能所要解决的终极问题。
对于计算机来说,一切皆为数字。比如性别为男性可以用1表示,女性则用0表示,这些都是公认的,即一种个体的属性可以使用数字来表示。既然如此,那么用向量来表示也不会有问题,如[1,0,0]代表“男”,[0,0,1]代表“女”。一般地,一个个体会包含很多的属性,那么把这些属性全部组合起来是不是就可以代表这个个体呢?当然可以,这对计算机来说就是有智慧的第一步——能认识并识别出不同的个体。
用眼睛观察世界对人类来说轻而易举,但对只认识数字的计算机来说就是一项非常难的任务。那么计算机视觉主要想解决什么问题呢?简单说就是让计算机能像人一样看事物,并能理解看到的事物,粒度从非常小的苍蝇到非常大的宇宙,从静态的物体到动态的行为过程,等等。此时便会涉及到一个根本性的问题:怎么样在计算机中表示这么多不同的物体呢?
本文来自清杉投稿,不代表电子书资源网立场,如若转载,请联系原作者获取。