【问题标题】:What are Eigenfaces generated from?特征脸是从什么生成的?
【发布时间】:2011-09-20 23:03:31
【问题描述】:

我正在为我正在编写的面部识别程序使用 eigenfaces。关于特征脸的实际生成方式,我有几个问题:

  1. 它们是从很多不同人的照片中生成的,还是从同一个人的很多照片中生成的?

  2. 这些人是否需要包括您想要识别的人?如果不是,那么如何进行任何类型的比较?

  3. 是否为您提供的每张图片都确定了一个特征脸,还是多张图片会创建一个特征脸?

这完全是关于特征脸的生成或学习阶段。感谢您的帮助或为我指明正确的方向!

【问题讨论】:

  • 编辑:感谢您的好答案。我试图实现的目标是让一张图片与一组面孔相匹配,并确定哪一个是最接近的。它不需要是一个完整的匹配,我只想得到最接近相同的一个。我认为特征脸仍然可以解决这个问题,对吧?

标签: computer-vision face-detection face-recognition eigenvector


【解决方案1】:

我实际上发现Eigenfaces on Wikipedia 的描述非常有用。回答您的问题:

  1. 是的,您应该为许多不同的人拍照。
  2. 不,特征脸基本上为您提供了一种描述其他脸的方法。您可以将特征脸视为vector space 中的基础。你必须确保你可以用你拥有的特征脸来描述你想要识别的脸。如果您只使用高加索人脸来确定特征脸,则可能无法用他们描述各种亚洲人脸,反之亦然。
  3. 特征脸是根据一组图像计算得出的,即多张图像会导致多张特征脸。

编辑:回答问题,凯文在问题的评论中添加:

使用特征脸背后的想法是,您可以通过将特征脸混合在一起来表达人脸的图像。假设您有三个特征脸ef_1, ef_2, ef_3,并且您有一张脸的图像f_1 = a_1 * ef_1 + a_2 * ef_2 + a_3 * ef_3。特征面不会改变,无论您想用它们表达哪个面,但是,系数a = (a_1, a_2, a_3) 是面的特征。这就是你用来比较两张脸的方法。

但是为了达到可以使用特征脸的阶段,您首先必须将观察到的脸与特征脸对齐(注册),这不是微不足道的,而且是一个完全不同的主题(请参阅pxu 的答案) .

P.S.:我建议您密切关注 Area 51: Computer Vision,这是一个 Stack Overflow 姊妹网站,关于计算机视觉的制作。

【讨论】:

    【解决方案2】:
    1. 非常需要许多不同的人来获得支持以覆盖所有可能的面孔。
    2. 不需要,尽管您需要表示所有维度。一个很好的类比是用于描述三角形中点的位置的重心坐标。您将获得顶点的加权平均值。如果您没有足够的向量支持(例如,只有两个点),那么无论您如何使用加权平均值,都无法描述位于线外的点。这本质上是 bjoernz 对于高加索人与亚洲人面孔的观点。请注意,这个类比是一个粗略的简化。特征脸中的权重实际上更像 PCA 或傅里叶系数。
    3. 每张图像都会变成一个特征面,它是一个主成分向量。

    注意事项:您需要非常好的面部配准。众所周知,特征脸在平移/旋转不变性方面很糟糕。除非您注册好,否则您的结果可能会很糟糕。最初的 Turk 和 Pentland 论文具有开创性,不仅因为该技术,还因为他们收集的数据集的规模和质量使该技术成为可能。

    【讨论】:

    • 广告 3:图像和特征脸之间没有 1-1 的关系。您拍摄一组图像并获得一组特征脸。考虑这一点的最好方法是,每个特征脸都是一些“特征”的图片,这些“特征”是几个人的脸图像所共有的。即带有三个黑点的椭圆形(眼睛和鼻子下方的阴影),两侧有突起的椭圆形(耳朵)等。
    猜你喜欢
    • 1970-01-01
    • 2012-08-12
    • 1970-01-01
    • 2018-08-18
    • 1970-01-01
    • 2011-07-16
    • 2018-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多