人脸识别库

我正在为一个大学项目寻找一个免费的 面部识别图书馆。我不是在找人脸检测.我在寻找真正的认可。这意味着找到包含特定面孔的图像或计算特定面孔之间距离的库。

我目前正在使用 OpenCV检测人脸和一个粗略的 特征脸识别算法。但我觉得应该有比自己写的特征脸算法更好的性能。我不是在谈论速度作为性能,我正在寻找一个比简单的 Eigenface 方法更好的结果库。

我看了一下 晕倒了,但似乎这个库对于我自己的应用程序来说不是很可重用。

我很喜欢 Python,Java,C + + ,C 或者类似的库。最好的事情将是如果它可以在 Windows 机器上运行,因为我现在依赖于一些外部 Windows-only 代码。

117531 次浏览

我们使用的是 OpenCV。它也有 很多的非人脸识别的东西,但是,请放心,它确实做人脸识别。

我认为 特征脸,你们已经在做了,如果你们想计算人脸之间的距离,它是一种方法。您可以尝试不同的方法,如 支持向量机隐马尔可夫模型。我找到了一个页面,上面列出了可用于面部识别的主要算法: 人脸识别网页

还有,你说的“性能更好”是指速度还是精度?你有什么问题吗?数据的变化程度如何?主要是正面还是侧面?

下面列出了一些商业供应商,他们提供现成的面部识别软件包,这些软件包可以在 Windows 上运行:

  1. 基布拉 -关于他们的 面部识别 SDK的信息。这是一家由大学教授创立的公司,因此他们的网站看起来不专业。没有价格信息或演示,您可以下载。您需要 联系他们来获取定价信息。

  2. NeuroTechnology -关于他们的 面部识别 SDK的信息。这家公司既有 预先定价信息也有 他们的 SDK 实际30天的试用期

  3. 匹兹堡模式识别 -(被谷歌收购)关于其 人脸跟踪与识别 SDK的信息。他们提供的演示帮助您评估他们的技术,而不是他们的 SDSK。您需要 联系他们来获取定价信息。

  4. 明智的愿景 -关于他们的 SDK的资料。他们的网站允许你很容易得到一个价格报价,你也可以订购一个评估工具包,将帮助你评估他们的技术。

下一步是“渔夫面孔”。尝试一下,看看它们是否对你有用。 这里 是一个很好的比较。 < br >

不是真正的你在寻找什么,但它可能是有用的,你。

如果你的项目是在电影或电视,或任何有脚本,它看起来像你一定要看的工作 Mark Everingham 等等 Al.。软件是 有空巴菲一集的结果也是。

PAM-Face-Authentication 用于人脸身份验证的 PAM 模块: 但是它需要一些工作才能得到您想要的结果。快速测试显示,识别率不如 NeuroTechnology 的 VeriLook。

Malic 是另一个使用 Gabor 小波描述符的开源人脸识别软件。但是最近的更新是3年前的。

网址: “ Malic 是一个使用 Gabor 小波的开源人脸识别软件。这是一个基于 Malib 和 CSU 人脸识别评估系统(csuFaceIdEval)的实时人脸识别系统。使用 Malib 库进行实时图像处理,使用一些 csuFaceIdEval 进行人脸识别。

此外,这可能会引起人们的兴趣:

返回文章页面【一分钟科普】【一分钟科普】【一分钟科普】【一分钟科普】【一分钟科普】【一分钟科普】【一分钟科普】【一分钟科普】【一分钟科普】: Gabor 小波和 AdaBoost 算法在人脸识别中的应用

特征提取库-FELib 引用“转导核 Fisher 判别式人脸注释”,

我知道这已经有一段时间了,但是对于其他感兴趣的人来说,有一个 晕倒了项目,它已经将许多这些特性(检测、识别等)捆绑到一个很好的软件包中。

更新

OpenCV 2.4.2现在带有非常新的 面部识别器。请参阅非常详细的文档:

原文

我已经发布了 Libfacerec,一个用于 OpenCV C + + API (BSD 许可证)的现代人脸识别库。Libfacerec 没有额外的依赖项,它实现了 Eigenfaces 方法、 fisfaces 方法和局部二值模式直方图。OpenCV 2.4中将包含该库的部分内容。

Libfacerec 的最新修订版可在以下网址查阅:

这个库是为 OpenCV 2.3.1编写的,考虑到即将发布的 OpenCV 2.4,所以我不支持2.3.1之前的 OpenCV 版本。这个项目是一个 CMake 项目,有一个很好的 API 文档,还有一个关于性别分类的教程。您可以在以下网址查看文档的 HTML 版本:

如果你想了解这些算法是如何工作的,你可以阅读我的人脸识别指南(包括 Python 和 GNU Octave/MATLAB 示例) :

我的 Github 仓库中的算法还有 Python 和 GNU Octave/MATLAB 实现。Facerec中的两个项目还包括几种用于评估算法的交叉验证方法:

有关刊物包括:

  • 特克和彭特兰,a. abc 0. 认知神经科学杂志3(1991) ,71-86。
  • 贝尔胡默,新泽西州,Hespanha 和克里格曼。IEEE 模式分析与机器智能汇刊19,7(1997) ,711-720。
  • 《计算机视觉-ECCV 》2004(2004) ,469-481。

你应该看看 http://libccv.org/

它相当新,但它提供了一个免费的开源高级 API 用于人脸检测。

(... 而且,我敢说,是相当惊人的)

编辑: 同样值得注意的是,这是少数几个不依赖于 opencv 的库之一,仅仅是为了好玩,这里有一份文档页面上的人脸检测代码的副本,可以让你了解所涉及的内容:

#include <ccv.h>
int main(int argc, char** argv)
{
ccv_dense_matrix_t* image = 0;
ccv_read(argv[1], &image, CCV_IO_GRAY | CCV_IO_ANY_FILE);
ccv_bbf_classifier_cascade_t* cascade = ccv_load_bbf_classifier_cascade(argv[2]);         ccv_bbf_params_t params = { .interval = 8, .min_neighbors = 2, .accurate = 1, .flags = 0, .size = ccv_size(24, 24) };
ccv_array_t* faces = ccv_bbf_detect_objects(image, &cascade, 1, params);
int i;
for (i = 0; i < faces->rnum; i++)
{
ccv_comp_t* face = (ccv_comp_t*)ccv_array_get(faces, i);
printf("%d %d %d %d\n", face->rect.x, face->rect.y, face->rect.width, face->rect.y);
}
ccv_array_free(faces);
ccv_bbf_classifier_cascade_free(cascade);
ccv_matrix_free(image);
return 0;
}

您可以尝试打开 MVG 库,它也可以用于多个接口。