当前位置:  开发笔记 > 编程语言 > 正文

人脸识别库

如何解决《人脸识别库》经验,为你挑选了7个好方法。

我正在为大学项目寻找一个免费的人脸识别库.我不是在寻找面部检测.我正在寻找实际的认可.这意味着查找包含指定面或库的图像,以计算特定面之间的距离.

我目前正在使用OpenCV来检测面部,并使用粗略的Eigenface算法进行识别.但我认为应该有一些比自编的Eigenface算法更好的性能.我不是在谈论速度和性能,我正在寻找一个比简单的Eigenface方法更好的结果库.

我看了一下Faint,但看起来这个库对我自己的应用程序来说不是很可重用.

我很高兴使用Python,Java,C++,C等类似的库.最好的办法是,如果它可以在Windows机器上运行,因为我现在依赖于一些外部的Windows专用代码.



1> Praveen Angy..:

以下是商业供应商列表,这些供应商提供在Windows上运行的面部识别的现成软件包:

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

    NeuroTechnology - 面部识别SDK的信息.该公司既有前期定价信息,也有实际30天的SDK试用版.

    匹兹堡模式识别 - (由Google收购)有关其面部跟踪和识别SDK的信息.他们提供的演示可以帮助您评估他们的技术,而不是他们的SDSK.您需要与他们联系以获取价格信息.

    明智的愿景 - 有关其SDK的信息.他们的网站允许您轻松获得报价,您还可以订购评估套件,以帮助您评估他们的技术.


您可以将face.com免费REST API添加到该列表中
感谢您的链接,但目前我需要找到一个免费的图书馆

2> bytefish..:

更新

OpenCV 2.4.2现在附带了新的cv :: FaceRecognizer.请参阅以下详细文档:

http://docs.opencv.org/2.4/modules/contrib/doc/facerec/index.html

原帖

我发布了libfacerec,一个用于OpenCV C++ API(BSD许可证)的现代人脸识别库.libfacerec没有其他依赖关系,并实现了Eigenfaces方法,Fisherfaces方法和局部二进制模式直方图.该库的部分内容将包含在OpenCV 2.4中.

libfacerec的最新版本可在以下网站获得:

https://github.com/bytefish/libfacerec

该库是为OpenCV 2.3.1编写的,考虑到即将推出的OpenCV 2.4,因此我不支持早于2.3.1的OpenCV版本.这个项目是一个带有详细记录的API的CMake项目,还有一个关于性别分类的教程.您可以在以下位置查看文档的HTML版本:

http://www.bytefish.de/dev/libfacerec/

如果您想了解这些算法的工作原理,您可能需要阅读我的人脸识别指南(包括Python和GNU Octave/MATLAB示例):

http://www.bytefish.de/blog/face_recognition_with_opencv2

还有一个Python和GNU八度/ MATLAB实现的算法我的github仓库.facerec中的两个项目还包括几种用于评估算法的交叉验证方法:

https://github.com/bytefish/facerec

相关出版物是:

Turk,M.和Pentland,A.Eigenfaces for recognition..Journal of Cognitive Neuroscience 3(1991),71-86.

Belhumeur,PN,Hespanha,J.和Kriegman,D.Eigenfaces vs. Fisherfaces:使用类特定线性投影进行识别..IEEE Transactions on Pattern Analysis and Machine Intelligence 19,7(1997),711-720.

Ahonen,T.,Hadid,A.和Pietikainen,M.面部识别与局部二元模式..计算机视觉 - ECCV 2004(2004),469-481.



3> jk...:

pam-face-authentication用于面部身份验证的PAM模块:但是需要一些工作来获得你想要的东西.快速测试显示,识别率不如NeuroTechnology的VeriLook.

Malic是另一种开源人脸识别软件,它使用Gabor Wavelet描述符.但对源代码的最后更新是3年.

来自网站:" Malic是一款使用gabor小波的开源人脸识别软件.它是基于Malib和CSU人脸识别评估系统(csuFaceIdEval)的实时人脸识别系统.使用Malib库进行实时图像处理,并使用面部csuFaceIdEval认可. "

此外,这可能是有趣的:

gaborboosting:用Gabor小波和AdaBoost算法应用于人脸识别的科学程序

特征提取库 - FELib是指"由Transductive Kernel Fisher判别的面部注释"



4> Eugene Yokot..:

如果你想计算面部之间的距离,我认为你已经在做的Eigenface是你要走的路.您可以尝试不同的方法,如支持向量机或隐马尔可夫模型.我找到了一个页面,其中列出了可用于面部识别的主要算法:人脸识别主页.

另外,当你说"性能更好"时,你的意思是速度还是准确度?你有什么问题?数据有多大差异?它们主要是正面还是包含型材?


凭借性能,我可以检测检测精度.Eigenfaces很不错,但我正在寻找的是一个现成的现成包识别面孔,因为我不想重新发明轮子,我没有时间

5> huitseeker..:

如果您的项目是在电影或电视上,或者任何有脚本的东西,看起来您肯定想看看Mark Everingham 等 人的工作..该软件可用,以及Buffy剧集的结果.



6> Doug..:

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

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

(...而且,我敢说,真是太神奇了)

编辑:值得注意的是,这是少数不依赖opencv的lib之一,只是为了踢,这里是文档页面上面部检测代码的副本,让你了解所涉及的内容:

#include 
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;
} 



7> Marcus P S..:

我知道它已经有一段时间了,但对于其他感兴趣的人来说,有一个Faint项目,它将许多这些功能(检测,识别等)捆绑到一个不错的软件包中.

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有