面部性别检测库

18
我正在寻找一个能够在网络摄像头流中检测人脸并检测性别的SDK或库,可以是免费或付费的,在Windows平台下使用C++或C#语言实现。有什么建议吗?
5个回答

19
我在我的博客http://bytefish.de/blog/gender_classification上使用Fisherfaces方法进行了性别分类实验,并获得了98%的几何标准化图像识别率。我提供了GNU Octave / MATLAB,Python和C ++的Fisherfaces方法实现。libfacerec是一个现代人脸识别库,适用于OpenCV C ++ API(BSD许可证),其中包括Fisherfaces方法的实现。最新版本的libfacerec可在以下网址获取:

libfacerec是一个使用CMake构建的项目,具有良好记录的API,还有一个关于性别分类的教程。您可以在以下网址查看文档的HTML版本:

我提供了Python和GNU Octave/MATLAB实现的Fisherfaces:

要在图像中检测面部,只需使用附带OpenCV的CascadeClassifier,但不要期望在数据错位时获得完美的识别结果。

上面有一个关于使用Eigenfaces的答案,这是行不通的。Eigenfaces使用主成分分析,这是一种无监督算法,不知道类别信息。如果嵌入数据的子空间区分性别,你必须非常幸运。也许它通过找到最接近的图像和相关性别来生成一些正面预测。


你能提供一下你的训练/测试数据集的链接吗?我正在尝试使用Fisherfaces进行性别识别,但准确率一直保持在80%左右...http://answers.opencv.org/question/13282/fisherfaces-improve-classification/ - jeremy_rutman
我目前正在尝试使用实时摄像头预览来实现这一点。我已经尝试了您的方法,使用从IMDB-Wiki数据集的Wiki部分获取的数据集,当我将其对准某个人时,它在“男性”和“女性”之间波动,没有结束。我的训练数据集和/或预处理肯定有很大问题,因为我的数据集主要是男性(比例为1:4),我的预处理仅包括使用另一个分类器检测面部,对面部区域进行灰度-HE-裁剪-调整大小例程,并将其作为训练数据输入。 - Gensoukyou1337

2

1

OpenCV没有性别识别功能。我见过这些家伙,他们的受众测量产品自2009年以来一直是“即将推出”。 - Shachar Weis

0

你可以使用OpenCV内置的人脸检测器。对于性别,你可以使用Haartraining训练自己的性别检测器。你应该找到一个男性和女性面孔的数据库,并在OpenCV的HaarTraining模块中进行训练。


-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接