我正在寻找可以检测网络摄像头流中的面部并检测性别的 SDK 或库。Windows 下免费或付费,C++ 或 C#。有什么建议么?
5 回答
我在博客中使用Fisherfaces 方法进行了性别分类实验:http: //bytefish.de/blog/gender_classification,得到了几何归一化图像的 98% 识别率。我正在为 GNU Octave/MATLAB、Python 和 C++ 提供 Fisherfaces 方法的实现。
libfacerec是 OpenCV C++ API(BSD 许可)的现代人脸识别库,包括 Fisherfaces 方法的实现。libfacerec 的最新版本位于:
libfacerec 是一个 CMake 项目,具有完善的 API,还有一个关于性别分类的教程。您可以在以下位置查看文档的 HTML 版本:
我在以下位置提供了 Fisherfaces 的 Python 和 GNU Octave/MATLAB 实现:
为了检测图像中的人脸,只需使用 OpenCV 附带的CascadeClassifier,但不要期望在未对齐的数据上获得完美的识别结果。
上面有一个使用 Eigenfaces 的答案,这是行不通的。特征脸使用主成分分析,一种不了解类的无监督算法。如果您将数据嵌入到的子空间可以区分性别,那么您一定很幸运。也许它通过找到最接近的图像和相关的性别来产生一些积极的预测。
Eigenfaces 使用 PCA,这是在 OpenCV 中实现的。该算法可用于执行性别识别:http ://campillos.ucmerced.edu/~jboiser/eigfaces.pdf
要将特征脸与 OpenCV 一起使用,请参阅http://www.cognotics.com/opencv/servo_2007_series/part_5/index.html
不过,这将需要您进行一些编码。
乍一看,我会说 OpenCV,但你肯定已经测试过了……
似乎这个博客谈论了很多关于面部和性别识别的内容。希望它会有所帮助: http: //www.computer-vision-software.com/blog/
您可以使用 OpenCV 内置的人脸检测器。对于性别,您可以使用 Haartraining 训练自己的性别检测器。您应该找到一个男性和女性面孔数据库,并使用 OpenCV 中的 HaarTraining 模块对其进行训练。
我认为您正在寻找Intel AIM。