书籍详情
TensorFlow人脸识别实战
作者:王晓华 著
出版社:清华大学出版社
出版时间:2021-08-01
ISBN:9787302583820
定价:¥59.00
购买这本书可以去
内容简介
使用深度学习进行人脸识别是近年来AI研究的热点之一。该书使用TensorFlow 2.1作为深度学习的框架和工具,引导读者从搭建环境开始,逐步深入代码应用实践中,进而达到独立使用深度学习模型完成人脸识别的目的。《TensorFlow人脸识别实战(人工智能技术丛书)》分为10章,第1、2章介绍人脸识别的基础知识和发展路径;第3章从搭建环境开始,详细介绍Anaconda、Python、PyCharm、TensorFlow CPU版本和GPU版本的安装;第4-6章介绍TensorFlow基本和高级API的使用;第7章介绍使用原生API处理数据的方法和可视化训练过程;第8章是实战准备,介绍ResNet模型的实现和应用;第9、10章综合该书前面的知识,学习人脸识别模型与人脸检测这两个实战项目。《TensorFlow人脸识别实战(人工智能技术丛书)》内容详尽、示例丰富,是机器学习和深度学习初学者必备的参考书,同时也非常适合高等院校和培训机构人工智能及相关专业的师生教学参考。
作者简介
王晓华,计算机专业讲师,长期讲授面向对象程序设计、数据结构、Hadoop程序设计等研究生和本科生相关课程;主要研究方向为云计算、数据挖掘。曾主持和参与多项国家和省级科研课题,独立科研项目获省级成果认定,发表过多篇论文,拥有一项国家专利。著有《Spark MLlib机器学习实践》《TensorFlow深度学习应用实践》《OpenCV+TensorFlow深度学习与计算机视觉实战》《TensorFlow 2.0卷积神经网络实战》《TensorFlow+Keras自然语言处理实战》等图书。
目录
目 录
第1章 Hello World——从计算机视觉与人类视觉谈起 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 计算机视觉的学习方式和未来趋势 6
1.3 本章小结 7
第2章 众里寻她千百度——人脸识别的前世今生 8
2.1 人脸识别简介 9
2.1.1 人脸识别的发展历程 9
2.1.2 人脸识别的一般方法 10
2.1.3 人脸识别的通用流程 11
2.2 基于深度学习的人脸识别 13
2.2.1 基于深度学习的人脸识别简介 14
2.2.2 用于深度学习的人脸识别数据集 16
2.3 本章小结 19
第3章 TensorFlow的安装 20
3.1 搭建环境1:安装Python 20
3.1.1 Anaconda的下载与安装 20
3.1.2 Python编译器PyCharm的安装 24
3.1.3 使用Python计算softmax函数 27
3.2 搭建环境2:安装TensorFlow 2 28
3.2.1 安装TensorFlow 2的CPU版本 28
3.2.2 安装TensorFlow 2的GPU版本 29
3.2.3 练习——Hello TensorFlow 32
3.3 本章小结 32
第4章 Hello TensorFlow & Keras 33
4.1 TensorFlow & Keras 33
4.1.1 模型 34
4.1.2 使用Keras API实现鸢尾花分类的例子(顺序模式) 35
4.1.3 使用Keras函数式编程实现鸢尾花分类的例子(重点) 37
4.1.4 使用保存的Keras模式对模型进行复用 40
4.1.5 使用TensorFlow标准化编译对Iris模型进行拟合 41
4.1.6 多输入单输出TensorFlow编译方法(选学) 45
4.1.7 多输入多输出TensorFlow编译方法(选学) 48
4.2 全连接层详解 50
4.2.1 全连接层的定义与实现 50
4.2.2 使用TensorFlow自带的API实现全连接层 51
4.2.3 打印显示已设计的模型结构和参数 54
4.3 懒人的福音——Keras模型库 56
4.3.1 ResNet50模型和参数的载入 57
4.3.2 使用ResNet50作为特征提取层建立模型 58
4.4 本章小结 61
第5章 深度学习的理论基础 62
5.1 BP神经网络简介 62
5.2 BP神经网络两个基础算法详解 66
5.2.1 最小二乘法详解 66
5.2.2 道士下山的故事——梯度下降算法 68
5.2.3 最小二乘法的梯度下降算法以及Python实现 71
5.3 反馈神经网络反向传播算法 77
5.3.1 深度学习基础 78
5.3.2 链式求导法则 79
5.3.3 反馈神经网络原理与公式推导 80
5.3.4 反馈神经网络原理的激活函数 85
5.3.5 反馈神经网络原理的Python实现 87
5.4 本章小结 91
第6章 卷积层与MNIST实战 92
6.1 卷积运算的基本概念 92
6.1.1 卷积运算 93
6.1.2 TensorFlow中卷积函数的实现 95
6.1.3 池化运算 97
6.1.4 softmax激活函数 98
6.1.5 卷积神经网络原理 99
6.2 编程实战:MNIST手写体识别 101
6.2.1 MNIST数据集 101
6.2.2 MNIST数据集的特征和标签 103
6.2.3 TensorFlow 2编程实战:MNIST数据集 106
6.2.4 使用自定义的卷积层实现MNIST识别 110
6.3 激活、分类以及池化函数简介(选学) 113
6.3.1 别偷懒——激活函数是分割器 113
6.3.2 太多了,我只要一个——池化运算 116
6.3.3 全连接层详解 117
6.3.4 最终的裁判——分类函数 119
6.3.5 随机失活层 121
6.4 本章小结 121
第7章 TensorFlow Datasets和TensorBoard详解 122
7.1 TensorFlow Datasets简介 122
7.1.1 Datasets数据集的安装 124
7.1.2 Datasets数据集的使用 124
7.2 Datasets数据集的使用——FashionMNIST 126
7.2.1 FashionMNIST数据集下载与展示 127
7.2.2 模型的建立与训练 129
7.3 使用Keras对FashionMNIST数据集进行处理 131
7.3.1 获取数据集 131
7.3.2 数据集的调整 132
7.3.3 使用Python类函数建立模型 132
7.3.4 模型的查看和参数打印 134
7.3.5 模型的训练和评估 135
7.4 使用TensorBoard可视化训练过程 137
7.4.1 TensorBoard文件夹的设置 138
7.4.2 TensorBoard的显式调用 138
7.4.3 TensorBoard的使用 141
7.5 本章小结 145
第8章 从冠军开始:ResNet 146
8.1 ResNet的基础原理与程序设计基础 147
8.1.1 ResNet诞生的背景 147
8.1.2 模块工具的TensorFlow实现 150
8.1.3 TensorFlow高级模块layers的用法 151
8.2 ResNet实战:CIFAR-100数据集分类 158
8.2.1 CIFAR-100数据集简介 158
8.2.2 ResNet残差模块的实现 161
8.2.3 ResNet网络的实现 163
8.2.4 使用ResNet对CIFAR-100数据集进行分类 166
8.3 ResNet的兄弟——ResNeXt 168
8.3.1 ResNeXt诞生的背景 168
8.3.2 ResNeXt残差模块的实现 169
8.3.3 ResNeXt网络的实现 171
8.3.4 ResNeXt和ResNet的比较 172
8.4 本章小结 173
第9章 人脸检测实战 174
9.1 使用Python库进行人脸检测 175
9.1.1 LFW数据集简介 175
9.1.2 Dlib库简介 176
9.1.3 OpenCV简介 177
9.1.4 使用Dlib实现图像中的人脸检测 177
9.1.5 使用Dlib和OpenCV建立人脸检测数据集 181
9.2 基于深度学习MTCNN模型的人脸检测 183
9.2.1 MTCNN模型简介 183
9.2.2 MTCNN模型的使用 186
9.2.3 MTCNN模型中的一些细节 193
9.3 本章小结 195
第10章 人脸识别模型 196
10.1 基于深度学习的人脸识别模型 196
10.1.1 人脸识别的基本模型SiameseModel(孪生模型) 197
10.1.2 SiameseModel的实现 199
10.1.3 人脸识别数据集的准备 201
10.2 基于相似度计算的人脸识别模型 202
10.2.1 一种新的损失函数Triplet Loss 202
10.2.2 基于TripletSemiHardLoss的MNIST模型 205
10.2.3 基于TripletSemiHardLoss和SENET的人脸识别模型 211
10.3 本章小结 216
第1章 Hello World——从计算机视觉与人类视觉谈起 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 计算机视觉的学习方式和未来趋势 6
1.3 本章小结 7
第2章 众里寻她千百度——人脸识别的前世今生 8
2.1 人脸识别简介 9
2.1.1 人脸识别的发展历程 9
2.1.2 人脸识别的一般方法 10
2.1.3 人脸识别的通用流程 11
2.2 基于深度学习的人脸识别 13
2.2.1 基于深度学习的人脸识别简介 14
2.2.2 用于深度学习的人脸识别数据集 16
2.3 本章小结 19
第3章 TensorFlow的安装 20
3.1 搭建环境1:安装Python 20
3.1.1 Anaconda的下载与安装 20
3.1.2 Python编译器PyCharm的安装 24
3.1.3 使用Python计算softmax函数 27
3.2 搭建环境2:安装TensorFlow 2 28
3.2.1 安装TensorFlow 2的CPU版本 28
3.2.2 安装TensorFlow 2的GPU版本 29
3.2.3 练习——Hello TensorFlow 32
3.3 本章小结 32
第4章 Hello TensorFlow & Keras 33
4.1 TensorFlow & Keras 33
4.1.1 模型 34
4.1.2 使用Keras API实现鸢尾花分类的例子(顺序模式) 35
4.1.3 使用Keras函数式编程实现鸢尾花分类的例子(重点) 37
4.1.4 使用保存的Keras模式对模型进行复用 40
4.1.5 使用TensorFlow标准化编译对Iris模型进行拟合 41
4.1.6 多输入单输出TensorFlow编译方法(选学) 45
4.1.7 多输入多输出TensorFlow编译方法(选学) 48
4.2 全连接层详解 50
4.2.1 全连接层的定义与实现 50
4.2.2 使用TensorFlow自带的API实现全连接层 51
4.2.3 打印显示已设计的模型结构和参数 54
4.3 懒人的福音——Keras模型库 56
4.3.1 ResNet50模型和参数的载入 57
4.3.2 使用ResNet50作为特征提取层建立模型 58
4.4 本章小结 61
第5章 深度学习的理论基础 62
5.1 BP神经网络简介 62
5.2 BP神经网络两个基础算法详解 66
5.2.1 最小二乘法详解 66
5.2.2 道士下山的故事——梯度下降算法 68
5.2.3 最小二乘法的梯度下降算法以及Python实现 71
5.3 反馈神经网络反向传播算法 77
5.3.1 深度学习基础 78
5.3.2 链式求导法则 79
5.3.3 反馈神经网络原理与公式推导 80
5.3.4 反馈神经网络原理的激活函数 85
5.3.5 反馈神经网络原理的Python实现 87
5.4 本章小结 91
第6章 卷积层与MNIST实战 92
6.1 卷积运算的基本概念 92
6.1.1 卷积运算 93
6.1.2 TensorFlow中卷积函数的实现 95
6.1.3 池化运算 97
6.1.4 softmax激活函数 98
6.1.5 卷积神经网络原理 99
6.2 编程实战:MNIST手写体识别 101
6.2.1 MNIST数据集 101
6.2.2 MNIST数据集的特征和标签 103
6.2.3 TensorFlow 2编程实战:MNIST数据集 106
6.2.4 使用自定义的卷积层实现MNIST识别 110
6.3 激活、分类以及池化函数简介(选学) 113
6.3.1 别偷懒——激活函数是分割器 113
6.3.2 太多了,我只要一个——池化运算 116
6.3.3 全连接层详解 117
6.3.4 最终的裁判——分类函数 119
6.3.5 随机失活层 121
6.4 本章小结 121
第7章 TensorFlow Datasets和TensorBoard详解 122
7.1 TensorFlow Datasets简介 122
7.1.1 Datasets数据集的安装 124
7.1.2 Datasets数据集的使用 124
7.2 Datasets数据集的使用——FashionMNIST 126
7.2.1 FashionMNIST数据集下载与展示 127
7.2.2 模型的建立与训练 129
7.3 使用Keras对FashionMNIST数据集进行处理 131
7.3.1 获取数据集 131
7.3.2 数据集的调整 132
7.3.3 使用Python类函数建立模型 132
7.3.4 模型的查看和参数打印 134
7.3.5 模型的训练和评估 135
7.4 使用TensorBoard可视化训练过程 137
7.4.1 TensorBoard文件夹的设置 138
7.4.2 TensorBoard的显式调用 138
7.4.3 TensorBoard的使用 141
7.5 本章小结 145
第8章 从冠军开始:ResNet 146
8.1 ResNet的基础原理与程序设计基础 147
8.1.1 ResNet诞生的背景 147
8.1.2 模块工具的TensorFlow实现 150
8.1.3 TensorFlow高级模块layers的用法 151
8.2 ResNet实战:CIFAR-100数据集分类 158
8.2.1 CIFAR-100数据集简介 158
8.2.2 ResNet残差模块的实现 161
8.2.3 ResNet网络的实现 163
8.2.4 使用ResNet对CIFAR-100数据集进行分类 166
8.3 ResNet的兄弟——ResNeXt 168
8.3.1 ResNeXt诞生的背景 168
8.3.2 ResNeXt残差模块的实现 169
8.3.3 ResNeXt网络的实现 171
8.3.4 ResNeXt和ResNet的比较 172
8.4 本章小结 173
第9章 人脸检测实战 174
9.1 使用Python库进行人脸检测 175
9.1.1 LFW数据集简介 175
9.1.2 Dlib库简介 176
9.1.3 OpenCV简介 177
9.1.4 使用Dlib实现图像中的人脸检测 177
9.1.5 使用Dlib和OpenCV建立人脸检测数据集 181
9.2 基于深度学习MTCNN模型的人脸检测 183
9.2.1 MTCNN模型简介 183
9.2.2 MTCNN模型的使用 186
9.2.3 MTCNN模型中的一些细节 193
9.3 本章小结 195
第10章 人脸识别模型 196
10.1 基于深度学习的人脸识别模型 196
10.1.1 人脸识别的基本模型SiameseModel(孪生模型) 197
10.1.2 SiameseModel的实现 199
10.1.3 人脸识别数据集的准备 201
10.2 基于相似度计算的人脸识别模型 202
10.2.1 一种新的损失函数Triplet Loss 202
10.2.2 基于TripletSemiHardLoss的MNIST模型 205
10.2.3 基于TripletSemiHardLoss和SENET的人脸识别模型 211
10.3 本章小结 216
猜您喜欢