Python人脸识别:从入门到工程实践_试读_书评_源码_高清pdf下载

2024年12月21日 Python书籍 Python51

推荐编程书籍:Python人脸识别:从入门到工程实践,由机械工业出版社2019-04-01月出版发行,本书编译以及作者信息 为:王天庆 著,此次为第1次发行, 国际标准书号为:9787111623854,品牌为机工出版, 这本书采用平装开本为16开,纸张采为胶版纸,全书共有260页字数万字,是本Python 编程相关非常不错的书。

此书内容摘要

内容简介
这是一本面向初学者的人脸识别工具书,不仅适合零基础的读者快速入门,而且适合有一定基础的读者迅速达到可以进行工程实践的水平。
作者就职于某世界100强企业,在人脸识别方面积累了丰富的工程实践经验,本书不仅详细介绍了机器学习、深度学习、计算机视觉、人脸识别等方面的原理、技术和算法,而且还通过相关的实战案例讲解了如何进行人脸识别方面的实践,以及如何将做好的模型用于工程实践中。同时,本书还提供了大量简洁、精炼的代码,能帮助读者从零开始实现一个工程级别的人脸识别引擎。
全书一共8章:
第1章介绍了人脸识别的基础和必备常识;
第2-4章详细讲解了与人脸识别相关的数学、机器学习、计算机视觉、OpenCV相关的基础和算法;
第5章讲解了深度学习的原理以及使用Keras实现深度学习模型的方法;
第6章介绍了常用的人脸识别算法;
第7~8章详细讲解了人脸识别引擎的实现方法以及如何将做好的模型进行工程化。

关于此书作者

作者简介
王天庆
长期从事分布式系统、数据与工程、人工智能等方面的研究与开发,在人脸识别方面有丰富的实践经验。现就职某世界100强企业的数据实验室,从事数据相关技术领域的预研工作。
曾就职于某海外业务社交类移动互联网公司,熟悉大数据平台研发、架构,以及数据的处理和分析,熟悉Web架构和高性能、高并发、高可用系统。
中国电子学会(计算机应用分会)会员,CSDN博客专家,热爱技术分享与交流。

编辑们的推荐

适读人群 :本书面向中级读者,要求具有一定的研发经验,最好学习过大学数学相关课程。本书以工程实践为主,所涉及的数学原理与理论讲解尽全力通俗易懂,避免苦涩的数学推倒而不注重文字
(1)作者就职于某世界100强企业的数据实验室
(2)作者长期从事人工智能、数据、分布式系统等领域的研发工作,在人脸识别领域有丰富的实践经验
(3)核心内容涵盖机器学习、深度学习、计算机视觉、人脸识别等方面的原理、技术和算法
(4)不仅能帮助读者零基础入门,而且能指导读者完成工程级别的实践,从零实现一个工程级的人脸识别引擎

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.2DT时代的呼唤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.2LBP特征51
3.6.3Haar特征52
3.6.4HOG特征54
3.7本章小结56
第4章OpenCV基础与应用58
4.1OpenCV介绍58
4.2计算库Numpy59
4.2.1array类型60
4.2.2线性代数相关62
4.2.3矩阵的高级函数64
4.3OpenCV基本操作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.2Keras框架简介89
5.3Keras的使用方法91
5.3.1深度学习的原理91
5.3.2Keras神经网络堆叠的两种方法92
5.4常用的神经网络层96
5.4.1全连接层96
5.4.2二维卷积层98
5.4.3池化层100
5.4.4BN层103
5.4.5dropout层105
5.4.6flatten层106
5.5激活函数108
5.5.1Sigmoid激活函数108
5.5.2Softmax激活函数109
5.5.3ReLU激活函数110
5.5.4Keras中激活函数的使用111
5.6优化器112
5.6.1SGD优化器113
5.6.2Adadelta优化器116
5.7损失函数117
5.7.1均方误差117
5.7.2交叉熵损失函数118
5.7.3Keras提供的损失函数120
5.8模型评估方法122
5.8.1交叉验证122
5.8.2分类器性能评估124
5.9数据增强127
5.9.1数据增强概述128
5.9.2Keras实现数据增强129
5.9.3自己实现数据增强133
5.10Keras的工程实践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.2OpenCV的方法146
6.2.1人脸检测方法147
6.2.2人脸识别方法149
6.3Dlib的人脸检测方法151
6.4基于深度学习的图片特征提取152
6.4.1AlexNet152
6.4.2VGGNet155
6.4.3GoogLeNet157
6.4.4ResNet160
6.5基于深度学习的人脸检测161
6.5.1基于深度学习的目标检测162
6.5.2MTCNN164
6.6基于深度学习的人脸识别167
6.6.1基于度量学习的方法168
6.6.2基于边界分类的方法171
6.7本章小结177
第7章人脸识别项目实战178
7.1人脸图片数据集178
7.1.1Olivetti Faces人脸数据集178
7.1.2LFW人脸数据集180
7.1.3YouTube Faces人脸数据集181
7.1.4IMDB WIKI人脸数据集181
7.1.5FDDB人脸数据集182
7.2使用OpenCV的人脸检测182
7.2.1Haar级联分类器182
7.2.2OpenCV的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

部分内容试读

为什么要写这本书
人类在浩瀚无垠的宇宙中只是一种渺小的存在,“科技之树”中触手可及的果实已经采摘殆尽,而在树顶的果实又是何其难以获得。在很多领域,人类当前已经难以取得像以往一样巨大的进步。在此情形下,信息、数学等基础便是驱动其他领域发展的主要动力,而人工智能则是这个领域的新星!
人工智能在近些年的发展可以说是有目共睹。伴随着学术发展的突飞猛进,工业界基于人工智能的应用呈现“井喷”之势,一些公司甚至提出了“All in AI”的口号,这其中比较典型的一种应用便是人脸识别。
从历史的角度来看,人们对人脸识别的探索也是比较早的,但是,人脸识别从实验室走出来,来到人们的生活中,却只是近些年才发生的事情。深度学习在计算机视觉领域应用后,使得人脸识别的精度逼近乃至超越人工水平。如果将人脸识别发展的进程用函数曲线来拟合的话,我觉得Sigmoid函数或许是一个不错的选择(我们会在本书的正文中介绍该函数)。
笔者在做人脸识别相关应用时,曾经面临业务压力大、无从下手、做成的模型预测质量差等一系列问题,同时有感于市面上难以找到从工程角度介绍人脸识别实现原理和方法的资料。随着自己不断地学习和尝试,模型的性能也一点点得到了改善。但是,生产环境与手写的Demo级代码还不一样,需要考虑的业务细节有很多。在反复的试错中,我设计的生产系统也从0到1实现了上线,并且在保证业务高可用的前提下实现了生产成本的最小化,并逐步替换掉了原有云服务,为企业节约了大笔资金。
后来,为了帮助更多与我有类似经历的人,我将人脸识别应用开发中的琐碎细节整理出来,希望本书能够帮助到更多从事此行业的人。
读者对象
对机器学习、人工智能感兴趣的读者
对计算机视觉、深度学习感兴趣的读者
对人脸识别感兴趣的读者
希望用人脸识别技术完成课程设计的高校学生
人工智能或人脸识别相关产品经理
从事软件研发的技术工作者
开设相关课程的大专院校教师
本书特色
原理讲解通俗易懂。
本书在成文时,参考了许多专业资料,并从初学者的角度出发尽可能清楚地表达原理的含义,尝试用通俗直白的语言描述复杂深奥的数学概念,尽量少使用公式或数学语言来描述问题。
注重原理更注重实践。
本书虽然强调了人脸识别在工程上的重要性,但是也没有忽视对原理的讲解,对于重点内容给出了详细的文献出处,便于读者进一步加强对该内容的理解。
注重对实践的讲解。
本书讲解了人脸识别模型的实现原理和特点,更重要的是强调了工程上的实践能力,对工程场景中常见的问题进行了分析与探讨。
如何阅读本书
本书分为3部分:
第1部分为基础篇,包括第1~4章。介绍了基本知识与概念,包括与人脸识别紧密相关的机器学习与数学知识、计算机视觉以及OpenCV库等。
第2部分为应用篇,包括5~6章。具体讲解了深度学习的框架Keras,以及如何通过该框架设计和实现一个人脸识别引擎。
第3部分为拓展篇,包括7~8章。人脸识别引擎做好后,无论在本地验证多么优秀,能否将其用起来才是最关键的。在这一部分中,讲解了人脸识别系统的部署与图像检索知识。
参考文献部分包含了人脸识别领域经典的研究成果和著作,感兴趣的读者可以根据情况有选择地阅读。
本书的第1部分相对比较基础,有经验的读者可以直接从第2部分开始阅读。在阅读的过程中,更重要的是培养一种工程实践能力。因此,希望读者一定不要只看理论(这样其实不如去看论文更加直接),而是要亲自动手实践一下。
勘误和支持
由于作者的水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。书中的全部源文件可以从GitHub网站上下载,网址如下:
https://github.com/wotchin/SmooFaceEngine
关于本书中的错误,请读者在GitHub中提交issue,笔者会将从读者处汇集到的错误及时整理和修改,同样更新在该页面中。
如果读者有更多的宝贵意见,也欢迎发送邮件至邮箱wotchin@hotmail.com,或是在Github上留言。期待能够得到你的真挚反馈。
致谢
本书在成文过程中,有幸得到唐文根、田瑞川、郭丹等同仁的宝贵建议,特别是唐文根博士在百忙之中完成了本书第2章中的部分内容,同时在本书初稿完成之际又校验了全书的学术性问题。没有几位同仁的支持,本书难以与读者见面。
感谢Github社区中开源人脸识别项目的作者们,没有你们对开源事业的支持、对技术的热爱,我也很难坚持完成此书。这些作者包括但不限于:oarriaga、wilderrodrigues、krunal704、alexisfcote、Hrehory、xiangrufan、Joker316701882、wy1iu、happynear、bojone、hao-qiang。
感谢机械工业出版社华章公司的编辑杨福川和张锡鹏,在这段时间中他们始终支持我的写作,正是他们的鼓励和帮助使得我顺利地完成书稿。
感谢我的家人,感谢众多热爱人脸识别技术的朋友们!

王天庆

关于此书评价

暂无.

书摘内容

暂无.

Python人脸识别:从入门到工程实践最新最全的试读、书评、目录、简介信息由Python中文网整理提供。

本文链接:http://so.lmcjl.com/news/19913/

展开阅读全文