新書推薦:
《
传统文化有意思:古代发明了不起
》
售價:NT$
199.0
《
亚述:世界历史上第一个帝国的兴衰
》
售價:NT$
490.0
《
人工智能与大数据:采煤机智能制造
》
售價:NT$
440.0
《
新民说·逝去的盛景:宋朝商业文明的兴盛与落幕(上下册)
》
售價:NT$
790.0
《
我从何来:自我的心理学探问
》
售價:NT$
545.0
《
失败:1891—1900 清王朝的变革、战争与排外
》
售價:NT$
390.0
《
送你一匹马(“我不求深刻,只求简单。”看三毛如何拒绝内耗,为自己而活)
》
售價:NT$
295.0
《
万千心理·我的精神分析之道:复杂的俄狄浦斯及其他议题
》
售價:NT$
475.0
|
編輯推薦: |
《Python人脸识别:从入门到工程实践》
人脸识别的学习门槛相对较高,同时与具体业务的关联程度很大,在实践中需要考虑的问题也比较多。本书从工程实践的角度出发,采用Python这样主流的编程语言来实现一款属于自己的人脸识别引擎。通过动手实现书中代码,使初学者能够快速掌握人脸识别的原理,同时对深度学习、计算机视觉等知识具有比较直观的感受。本书在注重工程实践的同时不乏对理论知识的兼顾,为读者更加深入地学习与钻研人脸识别做好铺垫。
通过阅读本书,你将:
了解机器学习及深度学习算法
了解人脸识别技术的应用领域与设计思想
理解人脸识别技术的原理
能够动手实现基于自己业务场景的人脸识别引擎
能够基于人脸识别知识设计出其他类似的图像识别系统
能够更深入地了解OpenCV库的使用方法
了解深度学习框架Keras的使用方法
对图像检索、数据存储等技术有更进一步的了解
《MXNet深度学习实战》 通过阅读本书,你将学到:
MXNet、TensorFlow、Pytorch、Caffe等深度学习框架的差异
MXNet框架各主要模块的技术原理和应用实践
MXNet在图像分类、目标检测
|
內容簡介: |
《Python人脸识别:从入门到工程实践》
作者就职于某世界100强企业,在人脸识别方面积累了丰富的工程实践经验。本书不仅详细介绍了机器学习、深度学习、计算机视觉、人脸识别等方面的原理、技术和算法,而且还通过相关的实战案例讲解了如何进行人脸识别方面的实践,以及如何将做好的模型应用于工程实践中。同时,本书还提供了大量简洁、精炼的代码,能帮助读者从零开始实现一个工程级别的人脸识别引擎。
全书一共8章:
第1章介绍了人脸识别的基础知识和必备常识;
第2~4章详细讲解了与人脸识别相关的数学、机器学习、计算机视觉、OpenCV相关的基础和算法;
第5章讲解了深度学习的原理以及使用Keras实现深度学习模型的方法;
第6章介绍了常用的人脸识别算法;《Python人脸识别:从入门到工程实践》
这是一本面向初学者的人脸识别工具书,不仅适合零基础的读者快速入门,还适合有一定基础的读者使其迅速达到可以进行工程实践的水平。
作者就职于某世界100强企业,在人脸识别方面积累了丰富的工程实践经验。本书不仅详细介绍了机器学习、深度学习、计算机视觉、人脸识别等方面的原理、技术和算法,而且还通过相关的实战案例讲解了如何进行人脸识别方面的实践,以及如何将做好的模型应用于工程实践中。同时,本书还提供了大量简洁、精炼的代码,能帮助读者从零开始实现一个工程级别的人脸识别引擎。
全书一共8章:
第1章介绍了人脸识别的基础知识和必备常识;
第2~4章详细讲解了与人脸识别相关的数学、机器学习、计算机视觉、OpenCV相关的基础和算法;
第5章讲解了深度学习的原理以及使用Keras实现深度学习模型的方法;
第6章介绍了常用的人脸识别算法;
第7~8章详细讲解了人脸识别引擎的实现方法以及如何将做好的模型进行工程化。
《MXNet深度学习实战》 这是一本详细讲解计算机视觉算法实现以及MXNet框架的原理和使用的工具书。
作者是网易的资深计算机视觉算法工程师,本书融合了他丰富的工程实践经验,一方面详细讲解了深度学习框架MXNet的技术原理和应用方法,一方面以MXNet为工具讲解了算法实现的具体细节。辅以大量简洁的代码,助你从零基础开始实现深度学习算法。
全书共12章,分为4个部分:
*部分 准备篇(第1~2章)
介绍了MXNet的发展、优势、预备知识、各种深度学习框架的对比,以及开发环境的搭建,包括Docker的使用。
第二部分 基础篇(第3~7章)
纤细讲解了MXNet主要模块使用和原理,如MXNet的数据读取、数据增强操作、常用网络层的含义及使用、常见网络结构的设计思想、模型训练相关的参数配置等。
第三部分 实战篇(第8~10章)
以图像分类、目标检测、图像分割这三个常用领域为例演示了如何通过MXNet实现算法训练和模型测试,同时还结合MXNet的接口详细讲解了算法实现的细节。
第四部分 扩展篇(第11~12章)
主要介绍了基于动态图构建网络结构的Gluon接口,以及MXNet专门为计算机视觉任务推出的深度学习库GluonCV。
|
關於作者: |
《Python人脸识别:从入门到工程实践》
王天庆
长期从事分布式系统、数据科学与工程、人工智能等方面的研究与开发,在人脸识别方面有丰富的实践经验。现就职某世界100强企业的数据实验室,从事数据科学相关技术领域的预研工作。
曾就职于某海外业务社交类移动互联网公司,熟悉大数据平台研发、架构,以及数据的处理和分析,熟悉Web架构和高性能、高并发、高可用系统。
中国电子学会(计算机应用分会)会员,CSDN博客专家,热爱技术分享与交流。
《MXNet深度学习实战》 魏凯峰
资深AI算法工程师和计算机视觉工程师,在MXNet、Pytorch、深度学习相关算法等方面有深入的研究和丰富的实践经验。
目前就职于网易杭州研究院,从事计算机视觉算法相关的工作,主要研究方向包括目标检测、图像分类、图像对抗算法、模型加速和压缩。
热衷于分享,坚持在Github上分享算法相关的代码,坚持在CSDN上撰写算法相关的博客,累计百余篇,访问量过百万。
|
目錄:
|
《Python人脸识别:从入门到工程实践》
前言
第1章 人脸识别入门1
1.1 人脸识别概况1
1.1.1 何为人脸识别1
1.1.2 人脸识别的应用2
1.1.3 人脸识别的目标4
1.1.4 人脸识别的一般方法5
1.2 人脸识别发展状况8
1.2.1 人脸识别历史沿革8
1.2.2 DT时代的呼唤10
1.2.3 计算机视觉的新起点10
1.3 本章小结12
第2章 数学与机器学习基础13
2.1 矩阵13
2.1.1 矩阵的形式13
2.1.2 行列式14
2.1.3 转置15
2.1.4 矩阵的一般运算15
2.2 向量17
2.2.1 向量的形式18
2.2.2 向量的点乘18
2.2.3 向量的范数19
2.3 距离度量19
2.3.1 欧式距离19
2.3.2 曼哈顿距离20
2.3.3 余弦距离20
2.3.4 汉明距离21
2.4 卷积22
2.4.1 一维卷积22
2.4.2 二维卷积23
2.5 机器学习基础25
2.5.1 机器学习类别25
2.5.2 分类算法26
2.6 本章小结38
第3章 计算机视觉原理与应用39
3.1 计算机视觉介绍39
3.2 颜色模型40
3.2.1 彩色图像40
3.2.2 灰度图像与二值图像42
3.3 信号与噪声44
3.3.1 信号44
3.3.2 噪声45
3.4 图像滤波45
3.4.1 均值滤波45
3.4.2 中值滤波47
3.5 图像的几何变换47
3.5.1 平移48
3.5.2 旋转49
3.5.3 缩放50
3.6 图像特征50
3.6.1 灰度直方图50
3.6.2 LBP特征51
3.6.3 Haar特征52
3.6.4 HOG特征54
3.7 本章小结56
第4章 OpenCV基础与应用58
4.1 OpenCV介绍58
4.2 科学计算库Numpy59
4.2.1 array类型60
4.2.2 线性代数相关62
4.2.3 矩阵的高级函数64
4.3 OpenCV基本操作70
4.4 图像的基本变换72
4.4.1 颜色变换72
4.4.2 几何变换80
4.4.3 图像噪声处理83
4.5 本章小结86
第5章 深度学习与Keras工程实践87
5.1 深度学习介绍87
5.2 Keras框架简介89
5.3 Keras的使用方法91
5.3.1 深度学习的原理91
5.3.2 Keras神经网络堆叠的两种方法92
5.4 常用的神经网络层96
5.4.1 全连接层96
5.4.2 二维卷积层98
5.4.3 池化层100
5.4.4 BN层103
5.4.5 dropout层105
5.4.6 flatten层106
5.5 激活函数108
5.5.1 Sigmoid激活函数108
5.5.2 Softmax激活函数109
5.5.3 ReLU激活函数110
5.5.4 Keras中激活函数的使用111
5.6 优化器112
5.6.1 SGD优化器113
5.6.2 Adadelta优化器116
5.7 损失函数117
5.7.1 均方误差117
5.7.2 交叉熵损失函数118
5.7.3 Keras提供的损失函数120
5.8 模型评估方法122
5.8.1 交叉验证122
5.8.2 分类器性能评估124
5.9 数据增强127
5.9.1 数据增强概述128
5.9.2 Keras实现数据增强129
5.9.3 自己实现数据增强133
5.10 Keras的工程实践134
5.10.1 训练时的回调函数135
5.10.2 打印网络信息137
5.10.3 输出网络结构图139
5.10.4 获取某层的输出140
5.11 本章小结142
第6章 常用人脸识别算法143
6.1 特征脸法143
6.2 OpenCV的方法146
6.2.1 人脸检测方法147
6.2.2 人脸识别方法149
6.3 Dlib的人脸检测方法151
6.4 基于深度学习的图片特征提取152
6.4.1 AlexNet152
6.4.2 VGGNet155
6.4.3 GoogLeNet157
6.4.4 ResNet160
6.5 基于深度学习的人脸检测161
6.5.1 基于深度学习的目标检测162
6.5.2 MTCNN164
6.6 基于深度学习的人脸识别167
6.6.1 基于度量学习的方法168
6.6.2 基于边界分类的方法171
6.7 本章小结177
第7章 人脸识别项目实战178
7.1 人脸图片数据集178
7.1.1 Olivetti Faces人脸数据集178
7.1.2 LFW人脸数据集180
7.1.3 YouTube Faces人脸数据集181
7.1.4 IMDB WIKI人脸数据集181
7.1.5 FDDB人脸数据集182
7.2 使用OpenCV的人脸检测182
7.2.1 Haar级联分类器182
7.2.2 OpenCV的SSD人脸检测器184
7.3 使用Dlib的人脸检测186
7.3.1 基于Hog-SVM的人脸检测186
7.3.2 基于最大边界的对象检测器187
7.4 深度学习实践188
7.4.1 卷积神经网络实现189
7.4.2 数据增强207
7.4.3 自定义损失函数211
7.4.4 数据预处理213
7.4.5 模型训练214
7.4.6 实现Web接口216
7.4.7 模型调优与总结218
7.5 人脸识别的拓展应用219
7.6 本章小结220
第8章 人脸识别工程化221
8.1 云平台实践221
8.1.1 云计算介绍221
8.1.2 云服务的形式223
8.1.3 云平台架构设计224
8.2 服务API设计229
8.2.1 人脸检测229
8.2.2 人脸对比239
8.3 人脸图片存储241
8.4 人脸图片检索243
8.5 本章小结244
附录 参考文献245
《MXNet深度学习实战》
前言
第1章 全面认识MXNet1
1.1 人工智能、机器学习与深度学习2
1.1.1 人工智能2
1.1.2 机器学习2
1.1.3 深度学习4
1.2 深度学习框架4
1.2.1 MXNet6
1.2.2 PyTorch6
1.2.3 CaffeCaffe27
1.2.4 TensorFlow7
1.2.5 其他7
1.3 关于MXNet8
1.3.1 MXNet的发展历程8
1.3.2 MXNet的优势9
1.4 MXNet开发需要具备的知识10
1.4.1 接口语言11
1.4.2 NumPy11
1.4.3 神经网络11
1.5 本章小结12
第2章 搭建开发环境13
2.1 环境配置14
2.2 使用Docker安装MXNet19
2.2.1 准备部分19
2.2.2 使用仓库安装Docker20
2.2.3 基于安装包安装Docker23
2.2.4 安装nvidia-docker23
2.2.5 通过Docker使用MXNet25
2.3 本地pip安装MXNet27
2.4 本章小结29
第3章 MXNet基础31
3.1 NDArray31
3.2 Symbol37
3.3 Module43
3.4 本章小结48
第4章 MNIST手写数字体分类50
4.1 训练代码初探52
4.2 训练代码详细解读55
4.2.1 训练参数配置56
4.2.2 数据读取59
4.2.3 网络结构搭建59
4.2.4 模型训练61
4.3 测试代码初探62
4.4 测试代码详细解读64
4.4.1 模型导入64
4.4.2 数据读取66
4.4.3 预测输出67
4.5 本章小结68
第5章 数据读取及增强69
5.1 直接读取原图像数据70
5.1.1 优点及缺点70
5.1.2 使用方法71
5.2 基于RecordIO文件读取数据75
5.2.1 什么是RecordIO文件75
5.2.2 优点及缺点76
5.2.3 使用方法76
5.3 数据增强78
5.3.1 resize79
5.3.2 crop83
5.3.3 镜像89
5.3.4 亮度90
5.3.5 对比度92
5.3.6 饱和度 94
5.4 本章小结95
第6章 网络结构搭建97
6.1 网络层98
6.1.1 卷积层98
6.1.2 BN层106
6.1.3 激活层108
6.1.4 池化层111
6.1.5 全连接层114
6.1.6 损失函数层116
6.1.7 通道合并层119
6.1.8 逐点相加层121
6.2 图像分类网络结构122
6.2.1 AlexNet123
6.2.2 VGG124
6.2.3 GoogleNet125
6.2.4 ResNet128
6.2.5 ResNeXt130
6.2.6 DenseNet131
6.2.7 SENet132
6.2.8 MobileNet134
6.2.9 ShuffleNet136
6.3 本章小结138
第7章 模型训练配置140
7.1 问题定义141
7.2 参数及训练配置142
7.2.1 参数初始化142
7.2.2 优化函数设置144
7.2.3 保存模型145
7.2.4 训练日志的保存146
7.2.5 选择或定义评价指标147
7.2.6 多GPU训练150
7.3 迁移学习151
7.4 断点训练153
7.5 本章小结154
第8章 图像分类156
8.1 图像分类基础知识157
8.1.1 评价指标158
8.1.2 损失函数160
8.2 猫狗分类实战160
8.2.1 数据准备161
8.2.2 训练参数及配置165
8.2.3 数据读取168
8.2.4 网络结构搭建170
8.2.5 训练模型171
8.2.6 测试模型176
8.3 本章小结179
第9章 目标检测180
9.1 目标检测基础知识182
9.1.1 数据集184
9.1.2 SSD算法简介188
9.1.3 anchor189
9.1.4 IoU194
9.1.5 模型训练目标195
9.1.6 NMS199
9.1.7 评价指标mAP201
9.2 通用目标检测202
9.2.1 数据准备203
9.2.2 训练参数及配置205
9.2.3 网络结构搭建208
9.2.4 数据读取215
9.2.5 定义训练评价指标218
9.2.6 训练模型220
9.2.7 测试模型221
9.4 本章小结224
第10章 图像分割225
10.1 图像分割226
10.1.1 数据集227
10.1.2 评价指标229
10.1.3 语义分割算法230
10.2 语义分割实战231
10.2.1 数据准备232
10.2.2 训练参数及配置233
10.2.3 数据读取237
10.2.4 网络结构搭建240
10.2.5 定义评价指标245
10.2.6 训练模型249
10.2.7 测试模型效果251
10.3 本章小结253
第11章 Gluon255
11.1 Gluon基础256
11.1.1 data模块256
11.1.2 nn模块260
11.1.3 model zoo模块265
11.2 CIFAR10数据集分类267
11.2.1 基于CPU的训练代码267
11.2.2 基于GPU的训练代码272
11.2.3 测试代码275
11.3 本章小结276
第12章 GluonCV278
12.1 GluonCV基础279
12.1.1 data模块280
12.1.2 model zoo模块285
12.1.3 utils模块292
12.2 解读ResNet复现代码293
12.2.1 导入模块296
12.2.2 命令行参数设置296
12.2.3 日志信息设置297
12.2.4 训练参数配置298
12.2.5 模型导入300
12.2.6 数据读取301
12.2.7 定义评价指标303
12.2.8 模型训练303
12.3 本章小结308
|
內容試閱:
|
《Python人脸识别:从入门到工程实践》
为什么要写这本书
人类在浩瀚无垠的宇宙中只是一种渺小的存在,科技之树中触手可及的果实已经采摘殆尽,而在树顶的果实又是何其难以获得。在很多领域,人类当前已经难以取得像以往一样巨大的进步。在此情形下,信息科学、数学等基础科学便是驱动其他领域发展的主要动力,而人工智能则是这个领域的新星!
人工智能在近些年的发展可以说是有目共睹。伴随着学术发展的突飞猛进,工业界基于人工智能的应用呈现井喷之势,一些公司甚至提出了All in AI的口号,这其中比较典型的一种应用便是人脸识别。
从历史的角度来看,人们对人脸识别的探索也是比较早的,但是,人脸识别从实验室走出来,来到人们的生活中,却只是近些年才发生的事情。深度学习在计算机视觉领域应用后,使得人脸识别的精度逼近乃至超越人工水平。如果将人脸识别发展的进程用函数曲线来拟合的话,我觉得Sigmoid函数或许是一个不错的选择(我们会在本书的正文中介绍该函数)。
笔者在做人脸识别相关应用时,曾经面临业务压力大、无从下手、做成的模型预测质量差等一系列问题,同时有感于市面上难以找到从工程角度介绍人脸识别实现原理和方法的资料。随着自己不断地学习和尝试,模型的性能也一点点得到了改善。但是,生产环境与手写的Demo级代码还不一样,需要考虑的业务细节有很多。在反复的试错中,我设计的生产系统也从0到1实现了上线,并且在保证业务高可用的前提下实现了生产成本的最小化,并逐步替换掉了原有云服务,为企业节约了大笔资金。
后来,为了帮助更多与我有类似经历的人,我将人脸识别应用开发中的琐碎细节整理出来,希望本书能够帮助到更多从事此行业的人。
读者对象
对机器学习、人工智能感兴趣的读者
对计算机视觉、深度学习感兴趣的读者
对人脸识别感兴趣的读者
希望用人脸识别技术完成课程设计的高校学生
人工智能或人脸识别相关产品经理
从事软件研发的技术工作者
开设相关课程的大专院校教师
本书特色
原理讲解通俗易懂。
本书在成文时,参考了许多专业资料,并从初学者的角度出发尽可能清楚地表达原理的含义,尝试用通俗直白的语言描述复杂深奥的数学概念,尽量少使用公式或数学语言来描述问题。
注重原理更注重实践。
本书虽然强调了人脸识别在工程上的重要性,但是也没有忽视对原理的讲解,对于重点内容给出了详细的文献出处,便于读者进一步加强对该内容的理解。
注重对实践的讲解。
本书讲解了人脸识别模型的实现原理和特点,更重要的是强调了工程上的实践能力,对工程场景中常见的问题进行了分析与探讨。
如何阅读本书
本书分为3部分:
第1部分为基础篇,包括第1~4章。介绍了基本知识与概念,包括与人脸识别紧密相关的机器学习与数学知识、计算机视觉以及OpenCV库等。
第2部分为应用篇,包括5~6章。具体讲解了深度学习的框架Keras,以及如何通过该框架设计和实现一个人脸识别引擎。
第3部分为拓展篇,包括7~8章。人脸识别引擎做好后,无论在本地验证多么优秀,能否将其用起来才是最关键的。在这一部分中,讲解了人脸识别系统的部署与图像检索知识。
参考文献部分包含了人脸识别领域经典的研究成果和知名著作,感兴趣的读者可以根据情况有选择地阅读。
本书的第1部分相对比较基础,有经验的读者可以直接从第2部分开始阅读。在阅读的过程中,更重要的是培养一种工程实践能力。因此,希望读者一定不要只看理论(这样其实不如去看论文更加直接),而是要亲自动手实践一下。
勘误和支持
由于作者的水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。书中的全部源文件可以从GitHub网站上下载,网址如下:
https:github.comwotchinSmooFaceEngine
关于本书中的错误,请读者在GitHub中提交issue,笔者会将从读者处汇集到的错误及时整理和修改,同样更新在该页面中。
如果读者有更多的宝贵意见,也欢迎发送邮件至邮箱wotchin@hotmail.com,或是在Github上留言。期待能够得到你的真挚反馈。
致谢
本书在成文过程中,有幸得到唐文根、田瑞川、郭丹等同仁的宝贵建议,特别是唐文根博士在百忙之中完成了本书第2章中的部分内容,同时在本书初稿完成之际又校验了全书的学术性问题。没有几位同仁的支持,本书难以与读者见面。
感谢Github社区中开源人脸识别项目的作者们,没有你们对开源事业的支持、对技术的热爱,我也很难坚持完成此书。这些作者包括但不限于:oarriaga、wilderrodrigues、krunal704、alexisfcote、Hrehory、xiangrufan、Joker316701882、wy1iu、happynear、bojone、hao-qiang。
感谢机械工业出版社华章公司的编辑杨福川和张锡鹏,在这段时间中他们始终支持我的写作,正是他们的鼓励和帮助使得我顺利地完成书稿。
感谢我的家人,感谢众多热爱人脸识别技术的朋友们!
|
|