特征脸

特征脸(Eigenface)是指用于机器视觉领域中的人脸识别问题的一组特征向量。使用特征脸进行人脸识别的方法首先由Sirovich and Kirby (1987)提出,并由Matthew Turk和Alex Pentland用于人脸分类。该方法被认为是第一种有效的人脸识别方法。这些特征向量是从高维矢量空间的人脸图像的协方差矩阵计算而来。

来源:百度百科
简介

特征脸技术是近期发展起来的用于人脸或者一般性刚体识别以及其它涉及到人脸处理的一种方法。其核心思想是:不同人脸由不同特征组成。

理解这个思想,首先需要引入的的是“特征”的概念。先看下面这个例子:

image.png 假设这 5 个特征足够形容一张人脸,那每张人脸都可表示为这 5 个特征的组合:

(特征1,特征2,特征3,特征4,特征5)

一位双眼皮,挺鼻梁,蓝眼睛,白皮肤,瓜子脸的欧美系小鲜肉即可用特征表示为(见表格加粗项):

(1,1,0,1,0)

那么遍历上面这张特征表格一共可以代表 2^5 = 32张不同的脸。32 张脸可远远不够覆盖 70 多亿的人口。为了让不同特征组成的人脸能覆盖足够多人脸,我们需要扩充上面那张特征表。扩张特征表可以从行、列两个角度展开。

列的角度很简单,只需要增加特征数量:(特征6.脸型,特征7.两眼之间距离,特征8.嘴唇厚薄…)实际应用中通常应用 128,256,512 或者 1024 个不同特征。

从行的角度扩充也很好理解,比如“特征3”,除了值 0 代表蓝色,值 1 代表灰色,是不是可以增加一个值 2 代表黑色,值 3 代表没有头发呢?此外,除了这些离散的整数,我们也可以取连续的小数,比如特征 3 的值 0.1,代表“蓝中略微带黑”,值 0.9 代表“灰中带蓝”……

经过这样的扩充,特征空间便会变得无限大。扩充后特征空间里的一张脸可能表示为:

(0, 1, 0.3, 0.5, 0.1, 2, 2.3, 1.75,…)

人脸识别基于一个默认成立的假设:同一个人在不同照片里的脸,在特征空间里非常接近。

为什么这个假设默认成立,设想一下,一个棕色头发的人,在不同光照,遮挡,角度条件下,发色看起来虽然有轻微的区别,但依然与真实颜色非常接近,反应在发色的特征值上,可能是 0 到 0.1 之间的浮动。

[图片及描述来源:如何走近深度学习人脸识别?你需要这篇超长综述 | 附开源代码|机器之心]

到此,特征脸算法应该非常好理解了,首先把一批人脸图像转换成一个特征向量集,称为“Eigenfaces”,即“特征脸”,它们是最初训练图像集的基本组件。识别的过程是把一副新的图像投影到特征脸子空间,并通过它的投影点在子空间的位置以及投影线的长度来进行判定和识别。

将图像变换到另一个空间后,同一个类别的图像会聚到一起,不同类别的图像会距离比较远,在原像素空间中不同类别的图像在分布上很难用简单的线或者面切分,变换到另一个空间,就可以很好的把他们分开了。

Eigenfaces选择的空间变换方法是PCA(主成分分析),利用PCA得到人脸分布的主要成分,具体实现是对训练集中所有人脸图像的协方差矩阵进行特征值分解,得到对应的特征向量,这些特征向量就是“特征脸”。每个特征向量或者特征脸相当于捕捉或者描述人脸之间的一种变化或者特性。这就意味着每个人脸都可以表示为这些特征脸的线性组合,如前文所述。

[描述来源:人脸识别三大经典算法(附经典论文列表)|机器之心]

发展历史

描述

使用特征脸进行人脸识别的方法首先由Sirovich和Kirby在1987年提出的,研究证明任何的特殊人脸都可以通过称为eigenpictures的坐标系统来表示。Eigenpictures是面部集合的平均协方差的特征函数。

1991年,Matthew Turk和Alex Pentlan将特征脸算法首次用于人脸分类。他们研究开发了一种近实时的计算机系统,可以定位和追踪人的头部,然后通过比较面部特征和已知个体的特征来识别该人。

1996年,Belhumeur, P. N. 和Kriegman, D. 探讨了特征脸方法的预处理方法。如果两个物体的外观对于任何姿势或光照条件永远不相同,那么理论上 - 物体总是可以被区分或识别。而他们试图回答的问题则是——在所有光照条件和姿势下,物体的图像集是什么?因为物体的外观取决于观察它的视点和照射它的光源。如果两个物体的外观对于任何姿势或光照条件永远不相同,那么理论上 - 物体总是可以被区分或识别。于是作者试图考虑在在可变照明下,得到物体的图像集,包括多个扩展光源和阴影。作者证明了,在无穷远处的任意数量的点光源照射下,具有朗伯反射函数的凸物体的n像素图像集合 在R ^ n中形成凸多面体锥体。并且该照明锥体的维数等于不同表面法线的数量。此外,他们证明了照明锥可以由少至三个图像构成。

1997年,Belhumer成功将Fisher判别准则应用于人脸分类,提出了基于线性判别分析的Fisherface方法。研究基于Fisher的线性判别进行面部投影,能够在低维子空间中产生良好分离的类,即使在光照和面部表情的变化较大情况下也是如此。广泛的实验结果表明,所提出的“Fisherface”方法的误差率低于哈佛和耶鲁人脸数据库测试的特征脸技术。

主要事件

年份事件相关论文/Reference
1987使用特征脸进行人脸识别的方法首先由Sirovich和Kirby在1987年提出的Sirovich, L.; Kirby, M.(1987). Low-dimensional procedure forthe characterization of human faces. Josa a. 4(3): 519-524.
1991Matthew Turk和Alex Pentlan将特征脸算法首次用于人脸分类Turk, M.; Pentland, A. (1991). Eigenfaces forrecognition. Journal of cognitive neuroscience. 3(1): 71-86.
1996Belhumeur, P. N. 和Kriegman, D. 探讨了特征脸方法的预处理方法Belhumeur, P. N.; Kriegman, D. (1996). What is the set of images of an object under all possible lighting conditions?. CVPR.
1997Belhumer成功将Fisher判别准则应用于人脸分类,提出了基于线性判别分析的Fisherface方法Belhumeur, P. N.; Hespanha, J. P.; Kriegman, D. J. (1997). Eigenfacesvs.fisherfaces:Recognition using class specificlinear projection. Yale University New Haven United States.

发展分析

瓶颈

  1. 使用该方法需要首先对数据进行归一化处理;
  2. 该方法对光照、角度等条件较敏感,在不同姿势和光照下识别率会降低;
  3. 特征脸方法对极端数据不稳健;
  4. 该方法在理想情况下需要均匀的背景,这在大多数自然场景中可能无法满足。

未来发展方向

目前人脸识别已经在大规模使用神经网络,特征脸方法一般仅作为示例方法。利用神经网络,并追求越来越大的训练数据规模,是目前的主流。

简介