10

我正在为我的文章进行关于人脸检测和比较的小型研究。目前,我正在使用基于 OpenCV 级联的 haar 类特征的快速人脸检测(稍后我将实现学习)。下一步是进行面部比较。有没有众所周知的算法?如果有一些 C# 代码,解释它们或实现它们的一些 dll,那就太好了。

4

3 回答 3

8

特征脸

为了生成一组特征脸,在相同照明条件下拍摄的大量人脸数字化图像被归一化以排列眼睛和嘴巴。然后它们都以相同的像素分辨率重新采样。可以通过称为主成分分析 (PCA) 的数学工具从图像数据中提取特征脸。

特征脸现在可以用来表示新面孔:我们可以在特征面上投射一个新的(均值减去)图像,从而记录新面孔与平均面孔的不同之处。与每个特征脸相关联的特征值表示训练集中的图像在该方向上与平均图像的差异程度。我们通过将图像投影到特征向量的一个子集上来丢失信息,但是我们通过保持那些具有最大特征值的特征面来最小化这种损失。

渔脸和特征脸

如果您的脸没有对齐,那么我建议您阅读以下论文:

支持向量机

摘要: 我们提出了一种基于组件的方法和两种用于人脸识别的全局方法,并评估了它们对姿势变化的鲁棒性。在组件系统中,我们首先定位面部组件,提取它们并将它们组合成单个特征向量,该向量由支持向量机(SVM)分类。

这两个全局系统通过对由整个人脸图像的灰度值组成的单个特征向量进行分类来识别人脸。在第一个全局系统中,我们为数据库中的每个人训练了一个 SVM 分类器。第二个系统由一组特定于视点的 SVM 分类器组成,并涉及训练期间的聚类。

于 2009-11-09T04:25:46.600 回答
6

我用免费的源代码编写了一个教程和演示程序,用于从网络摄像头(也在 OpenCV 中)实时执行人脸检测和人脸识别:

http://www.shervinemami.info/faceRecognition.html

于 2010-11-01T16:45:42.003 回答
1

Beveridge有一个评估系统。他们实现了三种具有不同指标的人脸识别算法。这些算法是为了评估而实现的,因此可能很难将它们用于您自己的程序。

一些 Java API 和一般链接可以在我关于人脸识别的问题中找到。

于 2009-11-10T17:14:31.983 回答