面部识别程序如何运作?

时间:2011-02-12 14:37:34

标签: computer-vision face-recognition

该计划将通过什么流程?

2 个答案:

答案 0 :(得分:36)

非常粗略地说,处理阶段是:

  1. 检测面部位置
  2. 规范面孔
  3. 为每个检测到的脸部收集要素
  4. 将功能提供给机器学习算法
  5. 步骤1通常使用经典Viola&Jones face detection algorithm完成。它非常快速可靠。

    步骤1中找到的面孔可能具有不同的亮度,对比度和不同的尺寸。为了简化处理,它们都被缩放到相同的大小,并且在步骤2中补偿了曝光差异(例如,使用直方图均衡)。

    步骤3的方法很多。早期的面部检测器试图找到特定的位置(眼睛的中心,鼻子的末端,嘴唇的末端等),并使用它们之间的几何距离和角度作为识别的特征。从我所读到的,这些方法非常快,但不是那么可靠。

    更近期的方法“特征脸”基于这样的事实,即脸部的图像可以近似为基础图像的线性组合(通过来自大量训练图像的PCA找到)。该近似中的线性因子可以用作特征。这种方法也可以单独应用于脸部(眼睛,鼻子,嘴巴)的部分。如果所有图像之间的姿势相同,则效果最佳。如果某些面向左看,其他面向上看,则无法正常工作。活跃的外观模型试图通过训练完整的3D模型而不是平坦的2d图片来抵消这种影响。

    步骤4相对简单:每个面部都有一组数字,对于训练期间获得的面部图像,您希望找到与当前测试面“最相似”的训练面部。这就是机器学习算法的作用。我认为最常见的算法是支持向量机(SVM)。其他选择例如是人工神经网络或k近邻。如果功能良好,ML算法的选择无关紧要。

    关于这个问题的文献:

答案 1 :(得分:3)

Principal Component Analysis是模式识别系统的基础,例如facial recognition

相关问题