LinBSoft 2017-06-29
【51CTO.com原创稿件】昨日,《人脸识别有多牛?AIFR 技术分分钟让你变“明星”》一文提到面部特征随着年龄的增长产生变化,并围绕 AIFR 技术的生成和判别两大模型进行了技术分析。
(a)输入图像(b)人脸变形(c)人脸变形(d)匹配的明星图像
“你最像哪位明星?”对比照
今天,我们将从技术专家给出的流程图切入,对“你最像哪位明星?”这张小应用对比照背后的基本流程与算法做解析。
图1:人脸技术的基本流程
如图 1 所示,用户在应用中输入一张图像(例如:特朗普的图像),人脸识别的基本流程如下:
其中,人脸特征的用途可以分为特征比对和特征搜索两种:
下面分别对上述各步骤所涉及的算法和应用的技术,进行简单的介绍:
人脸检测技术
2000 年左右,美国科学家 Paul Viola和Michael J.Jones 提出了一种可以实时运行的人脸检测方法,即基于 Adaboost 的人脸检测方法。
该方法采用快速计算的 Harr 特征,通过 Adaboost 算法选择出有效特征和一系列的弱分类器(weak learner),最后以线性组合的方式得到最终的强分类器,提高了检测的速度和精确率。在 OpenCV 中,它有相应的训练算法和模型可以调用。
以此为基础,人们提出了各种不同形式的改进方法,例如基于 PixelDifference(PD)特征的检测方法。他们采用像素间的灰度差值作为特征,可以进一步提高检测速度。
更进一步,将 PD 特征进行归一化,提出了 Normalize Pixel Difference(NPD)特征,提高了对光照的鲁棒性。这些方法计算资源消耗少、模型简单,适合应用于移动设备。
通过近二十年的探索,人脸检测领域取得了丰富的研究成果,并在很多场合进行了落地应用。近几年,深度学习发挥出越来越大的威力,将人脸检测技术推向了新的高度。
例如:基于 FasterR-CNN 的人脸检测方法,取得了在 FDDB 测试集合上的优秀检测效果。图 2 给出了该方法的一些人脸检测的示例图。
图 2:人脸检测示例图
上图的绿色框是人工标注位置,红色框是算法输出的检测结果。
人脸关键点定位技术
人脸关键点定位的目的是在人脸检测的基础上,进一步确定脸部特征点(眼睛、眉毛、鼻子、嘴巴、脸部外轮廓)的位置。
根据不同应用,人脸关键点的数量定义各不相同,少则几个,多则上百个。这个技术的核心是如何精确计算出人脸中关键点的位置,一般涉及到的算法分成 3 种。
该方法检测速度快,定位效果也不错。开源的 dlib 库中(http://dlib.net/)有这个算法的完整实现方法。
如图 3 所示,是一些关键点定位的示例图。
图 3:人脸关键点定位的示例图
人脸特征提取技术
经典的特征描述方法,大都可以运用于人脸特征提取技术,包括著名的特征提取算法 SIFT (Scale-invariant Feature Transform)、HoG(Histogram of Oriented Gradient)等。
这些算法具有很强的特征提取能力,但是手工选取特征是一件非常费力、启发式(需要专业知识)的方法,而且它的调节需要大量的时间。
在大数据时代,人们可以获得海量的图像数据,采用深度学习方法,可以获得更加高效的人脸特征。目前,深度学习成为了提取特征的主流方法,在人脸识别领域屡创佳绩。
人脸识别后续应用
经过特征提取,人脸图像信息转换成了高维特征向量,例如 4096 维浮点的深度学习特征向量。后续的应用,就可以根据实际场景进行不同的领域探索了,例如人脸身份识别、人脸图像搜索、人脸支付等。
除了应用在金融社保、教育安防行业等比较利益攸关的场合外,人脸识别技术也可以应用在其他轻松娱乐的行业,比如:直播美颜,视频特效等领域。
图 4:视频特效
这类应用中所涉及的底层技术(人脸检测、关键点跟踪)大部分都需要在手机上实时运行,带来的技术挑战是:如何在保证准确率的同时具有非常高的运行速度,以便达到手机上实时处理的效果。
目前所采用的解决方案大部分是通过算法优化和模型优化的工程手段,将算法移植到手机端,例如:将基于 Adaboost 的人脸检测算法,和基于 ERT 的关键点检测算法相结合,分别通过样本训练得到较小规模的模型,从而适合于在手机端运行。
通过这些不同的应用方式,人脸识别技术不但为人们的生活带来了便利,也增添了生活的乐趣。互联网时代,人脸识别技术应用到很多场合,如何保证数据安全以及技术的合理使用,是不容忽视的课题。只有安全合理的使用,我们才能发挥好人脸识别技术的作用,为人们生活带来福利。
张洪明
蘑菇街高级技术专家
张洪明(蘑菇街花名:民达)2015 年加入蘑菇街,负责美丽联合集团图像技术的研发工作,创建和带领一个算法团队,与工程和业务团队合作,为集团提供图像技术支持。主要工作包括:图像搜索、图像识别、商品图像内容分析等;业务涉及电商导购、直播等场景。在加入蘑菇街之前,分别在 NEC 中国研究院、阿里巴巴集团,从事图像技术和机器学习的研究和应用。
参考文献
[1].Viola.Paul, and MichaelJ. Jones. "Robust real-time face detection." International journal ofcomputer vision 57.2 (2004): 137-154.
[2]OpenCV
[3]Markuš N, Frljak M, Pandžić I S, et al.Object detection with pixel intensity comparisons organized in decisiontrees[J]. arXiv:1305.4537, 2013.
[4]Liao S, Jain A K, Li S Z. A fast andaccurate unconstrained face detector[J]. IEEE transactions on pattern analysisand machine intelligence, 2016, 38(2): 211-223.
[5]Huaizu Jiang, Erik Learned-Miller.FaceDetection with the Faster R-CNN.arXiv:1606.03473,2016
[6]http://personalpages.manchester.ac.uk/staff/timothy.f.cootes/
[7]http://www.milbo.users.sonic.net/stasm/index.html
[8]Kazemi V, Sullivan J. One millisecondface alignment with an ensemble of regression trees. Proceedings of the IEEEConference on Computer Vision and Pattern Recognition. 2014: 1867-1874
[9] http://dlib.net
[10]Y. Sun, X. Wang, and X. Tang. DeepConvolutional Network Cascade for Facial Point Detection.In Proceedings of IEEE Conference on Computer Vision and PatternRecognition (CVPR), 2013
[11]Taigman, Y., Yang, M., Ranzato, M. A.,& Wolf, L. (2014, June).Deepface: Closing the gap to human-levelperformance in face verification. In Computer Vision and Pattern Recognition(CVPR), 2014 IEEE Conference on (pp. 1701-1708).