我在思考,人脸识别究竟是如何工作的?因为每个人的脸都不同,你不能检测出某种“通用”脸或其他什么东西。
张军等人(1997年)研究了三种面部识别方法,这些方法适用于计算机视觉中的三个显著的统计分析领域:
1)特征脸算法
2)弹性匹配
3)自联想与分类网络
特征脸算法使用某种降维方法(如PCA)对面部图像中的统计变化进行编码,生成的特征空间中的区别不一定对应于独立的面部特征,如眼睛、耳朵和鼻子(换句话说,特征向量的必要组成部分是不事先确定的)。
弹性匹配生成与面部的特定轮廓点相对应的节点图(即线框模型),例如眼睛、下巴、鼻尖等,识别是基于将图像图与已知数据库进行比较。由于图像图在匹配过程中可以旋转,因此该系统往往对图像的大变化更为稳健。
分类网络识别利用与弹性匹配相同的几何特征,但基本上是一种监督式机器学习技术(通常涉及支持向量机的使用)。
尽管特征脸检测在照明变化或面部对齐方面的变化较大时表现可能不如其他方法,但它具有易于实现、计算效率高以及能够以无监督方式识别面孔等优点,因此往往成为事实上的标准。许多最先进的检测技术也依赖于某种形式的降维处理来进行识别,即使特征向量提取的处理方式不同也是如此。
在这里,您可以找到答案:面部识别
每张脸都有许多可辨认的地标,即组成面部特征的不同峰和谷。FaceIt将这些地标定义为节点点。每个人脸大约有80个节点点。软件测量的其中一些节点包括:
* Distance between the eyes
* Width of the nose
* Depth of the eye sockets
* The shape of the cheekbones
* The length of the jaw line
这是一个需要大量学习的复杂主题。我建议您首先查看OpenCV - http://opencv.willowgarage.com/wiki/ - 一个带有教程等内容的计算机视觉库。部分原因在于不是关于“一般脸”的问题,而是要挑选出特征,然后运行度量 - 如这些特征之间的距离或相对方向。