It's fairly new, but it provides a free open source high level API for face detection.
(...and, I dare say, is pretty damn amazing)
Edit: Worth noting also, that this is one of the few libs that does NOT depend on opencv, and just for kicks, here's a copy of the code for face detection off the documentation page, to give you an idea of whats involved:
I know it has been a while, but for anyone else interested, there is the Faint project, which has bundled a lot of these features (detection, recognition, etc.) into a nice software package.
Here is a list of commercial vendors that provide off-the-shelf packages for facial recognition which run on Windows:
Cybula - Information on their Facial Recognition SDK. This is a company founded by a University Professor and as such their website looks unprofessional. There's no pricing information or demo that you can download. You'll need to contact them for pricing information.
Sensible Vision - Information on their SDK. Their site allows you to easily get a price quote and you can also order an evaluation kit that will help you evaluate their technology.
I have released libfacerec, a modern face recognition library for the OpenCV C++ API (BSD license). libfacerec has no additional dependencies and implements the Eigenfaces method, Fisherfaces method and Local Binary Patterns Histograms. Parts of the library are going to be included in OpenCV 2.4.
The latest revision of the libfacerec is available at:
The library was written for OpenCV 2.3.1 with the upcoming OpenCV 2.4 in mind, so I don't support OpenCV versions earlier than 2.3.1. This project comes as a CMake project with a well-documented API, there's also a tutorial on gender classification. You can see a HTML version of the documentation at:
If you want to understand how those algorithms work, you might want to read my Guide To Face Recognition (includes Python and GNU Octave/MATLAB examples):
There's also a Python and GNU Octave/MATLAB implementation of the algorithms in my github repository. Both projects in facerec also include several cross validation methods for evaluating algorithms:
Turk, M., and Pentland, A. Eigenfaces for recognition.. Journal of Cognitive Neuroscience 3 (1991), 71–86.
Belhumeur, P. N., Hespanha, J., and Kriegman, D. Eigenfaces vs. Fisherfaces: Recognition using class specific linear projection.. IEEE Transactions on Pattern Analysis and Machine Intelligence 19, 7 (1997), 711–720.
Ahonen, T., Hadid, A., and Pietikainen, M. Face Recognition with Local Binary Patterns.. Computer Vision - ECCV 2004 (2004), 469–481.
pam-face-authentication a PAM Module for Face Authentication: but it would require some work to get what you want. A quick test showed, that the recognition rate are not as good as those of VeriLook from NeuroTechnology.
Malic is another open source face recognition software, which uses Gabor Wavelet descriptors. But the last update to the source is 3 years old.
From the website:
"Malic is an opensource face recognition software which uses gabor wavelet. It is realtime face recognition system that based on Malib and CSU Face Identification Evaluation System (csuFaceIdEval).Uses Malib library for realtime image processing and some of csuFaceIdEval for face recognition."
Further this could be of interest:
gaborboosting:
A scientific program applied on Face Recognition with Gabor Wavelet and AdaBoost Algorithm
I would think Eigenface, which you are doing already, is the way to go if you want to calculate the distance between faces. You could try out different approaches like Support Vector Machine or Hidden Markov Model. I found a page that lists major algorithms that could be used for facial recognition: Face Recognition Homepage.
Also, when you say "better performance," do you mean speed or accuracy? What kind of problem are you having? How varying are the data? Are they mostly frontal face or do they include profiles?
发布评论
评论(11)
如果您的项目是电影或电视,或者任何有脚本的项目,那么看起来您肯定想看看 马克·埃弗林汉姆 et al.。 该软件可用,Buffy 剧集的结果。
If your project is on a movie or TV, or anything that has a script, it looks like you definitely want to look at the work of Mark Everingham et al.. The software is available, as are the results on a Buffy episode.
您应该查看 http://libccv.org/
它相当新,但它提供了用于人脸检测的免费开源高级 API。
(...而且,我敢说,真是太棒了)
编辑:还值得注意的是,这是少数不依赖于 opencv 的库之一,只是为了好玩,这里有一份人脸检测代码的副本关闭文档页面,让您了解所涉及的内容:
You should look at http://libccv.org/
It's fairly new, but it provides a free open source high level API for face detection.
(...and, I dare say, is pretty damn amazing)
Edit: Worth noting also, that this is one of the few libs that does NOT depend on opencv, and just for kicks, here's a copy of the code for face detection off the documentation page, to give you an idea of whats involved:
并不是您正在寻找的东西,但它可能对您有用。 MATLAB 中的人脸检测/计算机视觉算法。
Not really what you're looking for, but it may be useful to you. Face Detection/Computer Vision algorithms in MATLAB.
您可以尝试打开MVG库,它也可以用于多个接口。
You can try open MVG library, It can be used for multiple interfaces too.
下一步将是 FisherFaces。 尝试一下并检查它们是否适合您。
这里是一个很好的比较。
The next step would be FisherFaces. Try it and check whether they work for you.
Here is a nice comparison.
我知道已经有一段时间了,但对于其他感兴趣的人来说,有 Faint 项目,该项目已捆绑许多这些功能(检测、识别等)都集成到了一个不错的软件包中。
I know it has been a while, but for anyone else interested, there is the Faint project, which has bundled a lot of these features (detection, recognition, etc.) into a nice software package.
我们使用 OpenCV。 它还包含很多非面部识别功能,但是,请放心,它确实可以进行面部识别。
We're using OpenCV. It has lots of non-face-recognition stuff in there also, but, rest assured, it does do face-recognition.
以下是提供在 Windows 上运行的现成面部识别软件包的商业供应商列表:
Cybula< /a> - 有关其面部识别 SDK 的信息。 这是一家由大学教授创办的公司,因此他们的网站看起来不专业。 没有可供下载的定价信息或演示。 您需要联系他们以获取定价信息。
NeuroTechnology - 有关其 人脸识别SDK。 该公司拥有预先定价信息以及其 SDK 实际 30 天试用。
匹兹堡模式识别 -(被 Google 收购)有关其面部跟踪和识别 SDK。 他们提供的演示可以帮助您评估他们的技术,但不能评估他们的 SDK。 您需要联系他们以获取定价信息。
Sensible Vision - 有关其 SDK。 他们的网站可以让您轻松获得报价,您还可以订购评估套件来帮助您评估他们的技术。
Here is a list of commercial vendors that provide off-the-shelf packages for facial recognition which run on Windows:
Cybula - Information on their Facial Recognition SDK. This is a company founded by a University Professor and as such their website looks unprofessional. There's no pricing information or demo that you can download. You'll need to contact them for pricing information.
NeuroTechnology - Information on their Facial Recognition SDK. This company has both up-front pricing information as well as an actual 30 day trial of their SDK.
Pittsburgh Pattern Recognition - (Acquired by Google) Information on their Facial Tracking and Recognition SDK. The demos that they provide help you evaluate their technology but not their SDSK. You'll need to contact them for pricing information.
Sensible Vision - Information on their SDK. Their site allows you to easily get a price quote and you can also order an evaluation kit that will help you evaluate their technology.
更新
OpenCV 2.4.2 现在附带了全新的 cv::FaceRecognizer 。 请参阅非常详细的文档:
原始帖子
我已经发布了 libfacerec< /a>,OpenCV C++ API 的现代人脸识别库(BSD 许可证)。 libfacerec 没有额外的依赖项,并实现了 Eigenfaces 方法、Fisherfaces 方法和局部二进制模式直方图。 该库的部分内容将包含在 OpenCV 2.4 中。
libfacerec 的最新版本位于:
该库是为 OpenCV 2.3.1 编写的,考虑到即将推出的 OpenCV 2.4,因此我不支持早于 2.3.1 的 OpenCV 版本。 该项目是一个 CMake 项目,具有详细记录的 API,还有一个关于性别分类的教程。 您可以在以下位置查看该文档的 HTML 版本:
如果您想了解这些算法的工作原理,您可能需要阅读我的《人脸识别指南》(包括 Python 和 GNU Octave/MATLAB 示例):
我的 github 存储库。 facerec 中的两个项目还包含几种用于评估算法的交叉验证方法:
相关出版物为:
Update
OpenCV 2.4.2 now comes with the very new cv::FaceRecognizer. Please see the very detailed documentation at:
Original Post
I have released libfacerec, a modern face recognition library for the OpenCV C++ API (BSD license). libfacerec has no additional dependencies and implements the Eigenfaces method, Fisherfaces method and Local Binary Patterns Histograms. Parts of the library are going to be included in OpenCV 2.4.
The latest revision of the libfacerec is available at:
The library was written for OpenCV 2.3.1 with the upcoming OpenCV 2.4 in mind, so I don't support OpenCV versions earlier than 2.3.1. This project comes as a CMake project with a well-documented API, there's also a tutorial on gender classification. You can see a HTML version of the documentation at:
If you want to understand how those algorithms work, you might want to read my Guide To Face Recognition (includes Python and GNU Octave/MATLAB examples):
There's also a Python and GNU Octave/MATLAB implementation of the algorithms in my github repository. Both projects in facerec also include several cross validation methods for evaluating algorithms:
The relevant publications are:
pam-face-authentication PAM 模块人脸验证:但需要一些工作才能得到你想要的。 快速测试表明,识别率不如 NeuroTechnology 的 VeriLook。
Malic 是另一个开源人脸识别软件,它使用 Gabor Wavelet 描述符。 但该源的最后一次更新已经是 3 年前的事了。
来自网站:
“Malic是一款使用gabor小波的开源人脸识别软件。它是基于Malib和CSU人脸识别评估系统(csuFaceIdEval)的实时人脸识别系统。使用Malib库进行实时图像处理和一些csuFaceIdEval进行人脸识别.”
此外,这可能很有趣:
gaborboosting:
Gabor小波和AdaBoost算法应用于人脸识别的科学程序
特征提取库 - < strong>FELib指"人脸标注通过转导核费希尔判别法,”
pam-face-authentication a PAM Module for Face Authentication: but it would require some work to get what you want. A quick test showed, that the recognition rate are not as good as those of VeriLook from NeuroTechnology.
Malic is another open source face recognition software, which uses Gabor Wavelet descriptors. But the last update to the source is 3 years old.
From the website:
"Malic is an opensource face recognition software which uses gabor wavelet. It is realtime face recognition system that based on Malib and CSU Face Identification Evaluation System (csuFaceIdEval).Uses Malib library for realtime image processing and some of csuFaceIdEval for face recognition."
Further this could be of interest:
gaborboosting:
A scientific program applied on Face Recognition with Gabor Wavelet and AdaBoost Algorithm
Feature Extraction Library - FELib refers to "Face Annotation by Transductive Kernel Fisher Discriminant,"
我认为 Eigenface,你已经在做的,是如果你想计算的话要走的路面之间的距离。 您可以尝试不同的方法,例如支持向量机或隐马尔可夫模型。 我发现一个页面列出了可用于面部识别的主要算法:面部识别主页。
另外,当您说“更好的性能”时,您指的是速度还是准确性? 您遇到了什么问题? 数据差异有多大? 它们主要是正面还是包括侧面?
I would think Eigenface, which you are doing already, is the way to go if you want to calculate the distance between faces. You could try out different approaches like Support Vector Machine or Hidden Markov Model. I found a page that lists major algorithms that could be used for facial recognition: Face Recognition Homepage.
Also, when you say "better performance," do you mean speed or accuracy? What kind of problem are you having? How varying are the data? Are they mostly frontal face or do they include profiles?