gpt4 book ai didi

computer-vision - C++人脸检测/识别实现

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:59:32 29 4
gpt4 key购买 nike

我原以为谷歌可以回答这个问题,但我运气不佳。

有谁知道除 Viola-Jones(类似 Haar 特征的增强级联)方法之外的任何人脸检测算法的任何开源 C++ 实现?

此外,是否存在任何地方的 Fisherfaces 开源 C++ 实现?

谢谢。

最佳答案

这篇文章引起了一些关注,所以我想更新它。我已经将我编写的人脸识别库贡献给了 OpenCV,在撰写本文时,其中包括 Eigenfaces、Fisherfaces 和 Local Binary Patterns Histograms。所以 OpenCV 2.4.2 现在提供了入门所需的一切,请参阅非常详细的文档:

现在是原始答案。

我是 Kevin 帖子中链接的文章的作者。请注意,您需要为 Fisherfaces 找到非对称矩阵 S_{W}^{-1} S_{B} 的特征值,我没有在我的博客中明确提及。 OpenCV 在其当前版本中只有对称矩阵的求解器;由于特征值和奇异值对于非对称矩阵不等价,因此您也不能使用 SVD。对于我的项目,我已将 JAMA 求解器改编为 C++ 以求解非对称矩阵的特征值问题,因此无需为其使用外部库。 CMakeLists.txt 已配置,因此 Eigen也可以使用,所以您可以选择。

现在我终于找到了一些时间来实现 Fisherfaces method使用 OpenCV2 C++ API 并将代码推送到我的 github 帐户:

main.cpp向您展示如何使用 Fisherfaces class以及如何使用与上例相同的线性判别分析:http://www.bytefish.de/wiki/pca_lda_with_gnu_octave .它作为一个 CMake 项目出现,因此编译就像键入一样简单:

philipp@mango:~/some/dir$ mkdir build; cd build
philipp@mango:~/some/dir/build$ cmake ..
philipp@mango:~/some/dir/build$ make
philipp@mango:~/some/dir/build$ ./lda

我不知道在答案中发布代码是否是首选的 Stackoverflow 方式,但我认为发布时间有点太长了。

请注意两点。 (1) 我从 CSV 文件 ( just like this one ) 中读取图像,您不必关心标签的顺序。 (2) 我按列存储特征向量,而OpenCV中的PCA按行存储。这样做只是个人喜好问题,但我从未在任何其他求解器中看到过这种情况,因此我决定按列存储它们。

关于computer-vision - C++人脸检测/识别实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11344931/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com