我目前正在使用OpenCV3.0,希望我能够创建一个执行3件事的程序。首先,在实时视频供稿中查找人脸。其次,使用ASM或AAM提取面部标志的位置。最后,使用SVM对视频中人脸的面部表情进行分类。

我对此进行了大量研究,但是在任何地方都找不到最合适的开源AAM或ASM库来完成此功能。另外,如果可能的话,我希望能够训练AAM或ASM来提取我需要的特定面部标志。例如,下面链接的图片中所有带编号的点:
www.imgur.com/XnbCZXf

如果我建议使用任何替代方法来获得所需的功能,请随时向我建议。

在此先感谢您提供任何答案,我们欢迎所有建议为我提供该项目的帮助。

最佳答案

在评论中,我看到您选择使用dlib库训练自己的人脸界标检测器。您对dlib用于生成其提供的“shape_predictor_68_face_landmarks.dat”模型的训练集有一些疑问。

一些指针:

  • 作者(戴维斯·金(Davis King))说,他使用了来自iBUG 300-W数据集的带注释的图像。该数据集总共有11,167幅图像用68点约定注释。作为一种标准技巧,他还镜像每个图像以有效地使训练集大小加倍,即11,167 * 2 = 22334个图像。这是数据集的链接:http://ibug.doc.ic.ac.uk/resources/facial-point-annotations/
  • 注:iBUG 300-W数据集包括两个不能免费/公开使用的数据集:XM2VTS和FRGCv2。不幸的是,这些图像占ibug 300-W的大部分(7310图像,或65.5%)。
  • 原始论文仅针对HELEN,AFW和LFPW数据集进行了训练。因此,您应该只能够在公开可用的图像(HELEN,LFPW,AFW,IBUG)(即3857张图像)上生成合理的模型。
  • 如果您使用Google“一毫秒的人脸对齐kazemi”,则该论文(和项目页面)将是热门话题。

  • 您可以阅读此dlib博客文章的评论部分,详细了解培训过程的详细信息。特别是,他简要讨论了他选择用于训练的参数:http://blog.dlib.net/2014/08/real-time-face-pose-estimation.html

    考虑到培训的规模(数千张图像),我认为仅凭少量图像您就不会获得可接受的结果。幸运的是,那里有许多公开可用的人脸数据集,包括上面链接的数据集:)

    希望对您有所帮助!

    关于opencv - OpenCV 3.0中的人脸界标提取。谁能建议任何好的开源库来让我提取面部标志?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29657662/

    10-12 02:08