为什么要写这本书
人类在浩瀚无垠的宇宙中只是一种渺小的存在,“科技之树”中触手可及的果实已经采摘殆尽,而在树顶的果实又是何其难以获得。在很多领域,人类当前已经难以取得像以往一样巨大的进步。在此情形下,信息科学、数学等基础科学便是驱动其他领域发展的主要动力,而人工智能则是这个领域的新星!
人工智能在近些年的发展可以说是有目共睹。伴随着学术发展的突飞猛进,工业界基于人工智能的应用呈现“井喷”之势,一些公司甚至提出了“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,笔者会将从读者处汇集到的错误及时整理和修改,同样更新在该页面中。
如果读者有更多的宝贵意见,也欢迎发送邮件至邮箱
[email protected],或是在Github上留言。期待能够得到你的真挚反馈。
致谢
本书在成文过程中,有幸得到唐文根、田瑞川、郭丹等同仁的宝贵建议,特别是唐文根博士在百忙之中完成了本书第2章中的部分内容,同时在本书初稿完成之际又校验了全书的学术性问题。没有几位同仁的支持,本书难以与读者见面。
感谢Github社区中开源人脸识别项目的作者们,没有你们对开源事业的支持、对技术的热爱,我也很难坚持完成此书。这些作者包括但不限于:oarriaga、wilderrodrigues、krunal704、alexisfcote、Hrehory、xiangrufan、Joker316701882、wy1iu、happynear、bojone、hao-qiang。
感谢机械工业出版社华章公司的编辑杨福川和张锡鹏,在这段时间中他们始终支持我的写作,正是他们的鼓励和帮助使得我顺利地完成书稿。
感谢我的家人,感谢众多热爱人脸识别技术的朋友们!
王天庆