【问题标题】:Face recognition [closed]人脸识别[关闭]
【发布时间】:2011-07-21 16:59:42
【问题描述】:

我想知道,人脸识别究竟是如何工作的?因为每个人都有不同的脸,所以你无法检测到一些“一般”的脸或其他东西。

【问题讨论】:

  • 确实!我见过一只眼睛的人……甚至三只眼睛!
  • 您是否尝试过在线搜索文章?我想你会在周围找到有用的信息,然后你可以在 Stack Overflow 上提问,深入了解你感兴趣的细节。
  • 可以,但是方法很多。我不知道从哪里开始。
  • 如果您描述了您使用人脸识别的目的,那么您将获得针对您的问题量身定制的答案。这就是 Stack Overflow 对搜索引擎的威力 :)

标签: face-recognition


【解决方案1】:

您可以在这里找到答案:Face recognition

每张脸都有许多可区分的地标,即构成面部特征的不同峰谷。 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

这些节点被测量创建一个数字代码,称为面部指纹,代表数据库中的面部。

【讨论】:

    【解决方案2】:

    这是一门复杂的学科,需要大量学习。我建议你先看看 OpenCV - http://opencv.willowgarage.com/wiki/ - 一个带有教程等的计算机视觉库。部分不是关于“一般面孔”,而是关于挑选特征,然后运行一个指标 - 比如多远这些特征的分开或相对方向。

    【讨论】:

      【解决方案3】:

      张军等人。 (1997) 研究了适用于计算机视觉的三种不同的人脸识别方法,每种方法本身都是一个值得注意的统计分析领域:

      1) 特征脸算法
      2) 弹性匹配
      3) 自动关联和分类网络

      特征脸方法使用某种形式的降维方法(如 PCA)对人脸图像之间的统计变化进行编码,其中在特征空间中产生的特征差异不一定对应于孤立的人脸特征,例如眼睛、耳朵和鼻子(换句话说,特征向量的不可缺少的成分不是预先确定的)。

      弹性匹配生成与面部特定轮廓点(例如眼睛、下巴、鼻尖等)相对应的节点图(即线框模型),并且识别基于图像图与已知图像的比较数据库。由于图像图可以在匹配过程中进行旋转,因此该系统对图像的较大变化具有更强的鲁棒性。

      分类网络识别利用与弹性匹配相同的几何特征,但根本不同之处在于它是一种有监督的机器学习技术(通常涉及使用支持向量机)。

      虽然当光照或面部对齐的变化很大时,特征面部检测的性能可能不如其他方法,但它的优点是易于实现、计算效率高,并且能够以无监督的方式识别面部,因此往往是一种理想的方法。事实标准。许多最先进的检测技术在识别之前也依赖于某种形式的降维,即使特征向量提取的处理方式不同。

      【讨论】:

      【解决方案4】:

      一个好的开始方法是阅读主成分分析(PCA 也称为特征脸)、Fisher 的线性判别分析 (LDA) 和支持向量机 (SVM)。这些是对人脸分类非常有用的分类方法。

      OpenCV 已经包含了 PCASVM 的出色实现。在 C++ 中用于 OpenCV 的人脸识别和分类代码的优秀资源是 this website

      this one 是一个提供人脸分类最相关方法的资源和论文链接的网站。

      一个很好解释的 PCA 特征脸和 LDA 示例以及 Matlab 中的示例代码,这对我的第一个人脸分类程序 is here 非常有用。

      【讨论】:

        猜你喜欢
        • 2010-10-31
        • 2015-06-14
        • 2023-03-22
        • 2014-07-21
        • 2015-08-28
        • 2017-01-31
        • 2011-10-13
        相关资源
        最近更新 更多