Computer vision 面部识别程序是如何工作的?

Computer vision 面部识别程序是如何工作的?,computer-vision,face-recognition,Computer Vision,Face Recognition,程序将经历什么流程?是模式识别系统的基础,例如。非常粗略地说,处理阶段将是: 检测人脸位置 规范化面 收集每个检测到的人脸的特征 将特征反馈给机器学习算法 步骤1通常使用经典的。它相当快而且可靠 步骤1中的面可能具有不同的亮度、对比度和大小。为了简化处理,它们都被缩放到相同的大小,并且在步骤2中补偿曝光差异(例如,使用直方图均衡化) 步骤3有许多方法。早期的人脸检测器试图找到特定的位置(眼睛的中心、鼻子的末端、嘴唇的末端等),并使用这些位置之间的几何距离和角度作为识别特征。据我所知,这些方法非常

程序将经历什么流程?

是模式识别系统的基础,例如。

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

  • 检测人脸位置
  • 规范化面
  • 收集每个检测到的人脸的特征
  • 将特征反馈给机器学习算法
  • 步骤1通常使用经典的。它相当快而且可靠

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

    步骤3有许多方法。早期的人脸检测器试图找到特定的位置(眼睛的中心、鼻子的末端、嘴唇的末端等),并使用这些位置之间的几何距离和角度作为识别特征。据我所知,这些方法非常快,但并不可靠

    最近的一种方法“特征脸”基于这样一个事实,即人脸图片可以近似为基本图像的线性组合(通过PCA从大量训练图像中找到)。此近似中的线性因子可用作特征。这种方法也可以分别应用于面部的各个部位(眼睛、鼻子、嘴巴)。如果所有图像之间的姿势相同,效果最好。如果一些脸向左看,另一些脸向上看,它也不会起作用。主动外观模型试图通过训练完整的3d模型而不是平面2d图片来对抗这种效果

    第4步相对简单:您为每个人脸和在训练期间获取的人脸图像设置了一组数字,并且您希望找到与当前测试人脸“最相似”的训练人脸。机器学习算法就是这样做的。我认为最常用的算法是支持向量机(SVM)。其他选择如人工神经网络或k近邻。如果这些特性是好的,那么ML算法的选择就没有那么重要了

    有关该主题的文献:

    • 处理人脸检测、人脸识别和机器学习(以及许多其他主题)。它很新,所以它涵盖了最新的研究。它也有很好的参考书目
    • 深入讨论人脸识别的模板匹配方法
    • 你可以在google scholar上找到很多研究文章

    您的问题与主题无关-可能适合在cstheory.stackexchange上提问。com@Daniel怀特:根据常见问题解答,关于软件算法和编程问题的问题都是关于SO的话题。人脸识别是一个使用软件算法解决的编程问题。我不认为这是离题的。我宁愿说,主成分分析是人脸识别中使用的一种技术。虽然PCA很有用,但并非所有人脸识别解决方案都使用PCA。