2014年
2014年前后,随着大数据和深度学习的发展,*网络重受瞩目,并在图像分类、手写体识别、语音识别等应用中获得了远超经典方法的结果。香港中文大学的Sun Yi等人提出将卷积*网络应用到人脸识别上,采用20万训练数据,在LFW上****次得到超过人类水平的识别精度,这是人脸识别发展历*的一座里程碑。
自此之后,研究者们不断改进网络结构,同时扩大训练样本规模,将LFW上的识别精度推到99.5%以上。人脸识别发展过程中一些经典的方法及其在LFW上的精度,都有一个基本的趋势:训练数据规模越来越大,识别精度越来越高。
人脸识别关键技术
人脸检测
“人脸检测(Face Detection)”的作用就是要检测出图像中人脸所在位置。
人脸检测算法的输入是一张图像,输出是人脸框坐标序列,具体结果是0个人脸框或1个人脸框或多个人脸框。输出的人脸坐标框可以为正方形、矩形等。
人脸检测算法的原理简单来说是一个“扫描”加“判定”的过程。即首先在整个图像范围内扫描,再逐个判定候选区域是否是人脸的过程。因此人脸检测算法的计算速度会跟图像尺寸大小以及图像内容相关。在实际算法时,我们可以通过设置“输入图像尺寸”、或“****小脸尺寸限制”、“人脸数量上限”的方式来加速算法。
人脸配准
“人脸配准(Face Alignment)”所实现的目的是*出人脸上五官关键点坐标。
人脸配准算法的输入是“一张人脸图像”和“人脸坐标框”,输出是五官关键点的坐标序列。五官关键点的数量是预先设定好的一个固定数值,常见的有5点、68点、90点等等。
当前效果的较好的一些人脸配准技术基本通过深度学习框架实现。这些方法都是基于人脸检测的坐标框,按某种事先设定规则将人脸区域抠取出来,缩放到固定尺寸,然后进行关键点位置的计算。另外,相对于人脸检测,或者是后面将提到的人脸特征提取的过程,人脸配准算法的计算耗时都要少很多。
人脸属性识别
“人脸属性识别(Face Attribute)”是识别出人脸的性别、年龄、姿态、表情等属性值的一项技术。这在有些相机APP中有所应用,可以自动识别摄像头视野中人物的性别、年龄等特征并标注出来。
一般的人脸属性识别算法的输入是“一张人脸图”和“人脸五官关键点坐标”,输出是人脸相应的属性值。人脸属性识别算法一般会根据人脸五官关键点坐标将人脸对齐,具体过程为旋转、缩放、抠取等操作后,将人脸调整到预定的大小和形态,以便之后进行属性分析。
人脸的属性识别包括性别识别、年龄估计、表情识别、姿态识别、发型识别等等方面。一般来说每种属性的识别算法过程是*的,但是有一些新型的基于深度学习实现的算法可以实现同时输出年龄、性别、姿态、表情等属性识别结果。
人脸提特征
“人脸提特征(Face Feature Extraction)”是将一张人脸图像转化为可以表征人脸特点的特征,具体表现形式为一串固定长度的数值。
人脸提特征过程的输入是 “一张人脸图”和“人脸五官关键点坐标”,输出是人脸相应的一个数值串(特征)。人脸提特征算法实现的过程为:首先将五官关键点坐标进行旋转、缩放等等操作来实现人脸对齐,然后在提取特征并计算出数值串。
人脸比对
“人脸比对(Face Compare)”算法实现的目的是衡量两个人脸之间相似度。
人脸比对算法的输入是两个人脸特征人脸特征由前面的人脸提特征算法获得,输出是两个特征之间的相似度。
人脸验证
“人脸验证(Face Verification)”是判定两个人脸图是否为同一人的算法。
它的输入是两个人脸特征,通过人脸比对获得两个人脸特征的相似度,通过与预设的阈值比较来验证这两个人脸特征是否属于同一人。