当前位置:   article > 正文

人脸识别算法演化史_一文带你了解人脸识别算法演化史

一文带你了解人脸识别算法演化史

其它机器学习、深度学习算法的全面系统讲解可以阅读《机器学习-原理、算法与应用》,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造。

  1. 导言:
  2. 本文为人脸识别算法系列专题的综述文章,人脸识别是一个被广泛研究着的热门问题,大量的研究论文层
  3. 出不穷,文中我们将为大家总结近些年出现的具有代表性的人脸识别算法。请大家关注SIGAI公众号,我
  4. 们会持续解析当下主流的人脸识别算法以及业内最新的进展。

人脸识别有什么用?

人脸识别的目标是确定一张人脸图像的身份,即这个人是谁,这是机器学习和模式识别中的分类问题。它主要应用在身份识别和身份验证中。其中身份识别包括失踪人口和嫌疑人追踪、智能交互场景中识别用户身份等场景;而身份验证包括身份证等证件查询、出入考勤查验、身份验证解锁、支付等场景,应用场景丰富。就在前不久,北京多家医院借助“黑科技”人脸识别技术阻击“熟脸”的号贩子,降低其挂号率;目前人脸识别还用到了治理闯红灯问题,改善中国式过马路现象。

人脸识别系统的组成

 

人脸识别算法主要包含三个模块:

  1. 人脸检测(Face Detection)
  2. 人脸对齐(Face Alignment)
  3. 人脸特征表征(Feature Representation)

如下图所示:

人脸检测

人脸检测用于确定人脸在图像中的大小和位置,即解决“人脸在哪里”的问题,把真正的人脸区域从图像中裁剪出来,便于后续的人脸特征分析和识别。下图是对一张图像的人脸检测结果:

摄于2014年,是当时世界上人数最多的自拍合影(检测方法为百度的PyramidBox)

 

人脸对齐

同一个人在不同的图像序列中可能呈现出不同的姿态和表情,这种情况是不利于人脸识别的。所以有必要将人脸图像都变换到一个统一的角度和姿态,这就是人脸对齐。它的原理是找到人脸的若干个关键点(基准点,如眼角,鼻尖,嘴角等),然后利用这些对应的关键点通过相似变换(Similarity Transform,旋转、缩放和平移)将人脸尽可能变换到标准人脸。下图是一个典型的人脸图像对齐过程:

 

人脸特征表征

第三个模块是本文重点要讲的人脸识别算法,它接受的输入是标准化的人脸图像,通过特征建模得到向量化的人脸特征,最后通过分类器判别得到识别的结果。这里的关键是怎样得到对不同人脸有区分度的特征,通常我们在识别一个人时会看它的眉形、脸轮廓、鼻子形状、眼睛的类型等,人脸识别算法引擎要通过练习(训练)得到类似这样的有区分度的特征。本系列文章主要围绕人脸识别中的人脸特征表征进行展开,人脸检测和人脸对齐方法会在其它专题系列文章中进行介绍。

人脸识别算法的三个阶段

人脸识别算法经历了早期算法,人工特征+分类器,深度学习3个阶段。目前深度学习算法是主流,极大的提高了人脸识别的精度,推动这一技术真正走向实用,诞生了如Face++、商汤之类的公司。

 

早期算法

早期的算法有基于几何特征的算法,基于模板匹配的算法,子空间算法等多种类型。子空间算法将人脸图像当成一个高维的向量,将向量投影到低维空间中,投影之后得到的低维向量达到对不同的人具有良好的区分度。

子空间算法的典型代表是PCA(主成分分析,也称为特征脸EigenFace)[1]和LDA(线性判别分析,FisherFace)[2]。PCA的核心思想是在进行投影之后尽量多的保留原始数据的主要信息,降低数据的冗余信息,以利于后续的识别。LDA的核心思想是最大化类间差异,最小化类内差异,即保证同一个人的不同人脸图像在投影之后聚集在一起,不同人的人脸图像在投影之后被用一个大的间距分开。PCA和LDA最后都归结于求解矩阵的特征值和特征向量,这有成熟的数值算法可以实现。

<
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号