【问题标题】:Facial expression recognition from webcam [closed]来自网络摄像头的面部表情识别[关闭]
【发布时间】:2013-07-05 00:07:35
【问题描述】:

我目前正在从事一个项目,我必须提取用户的面部表情(一次只能从网络摄像头中提取一个用户),比如悲伤或快乐。

有很多程序/API可以做人脸检测,但我没有找到任何一个可以做自动表情识别。

到目前为止我发现的最好的可能性:

我之前使用 OpenCV 进行人脸检测,效果很好,所以如果有人对如何使用 OpenCV 进行操作有一些提示,那就太好了!

OpenCV 板上的一些用户建议寻找 AAM(主动 apereance 模型)和 ASM(主动形状模型),但我找到的都是论文。

-所以我正在使用带有Stasm 的主动形状​​模型,这将使​​我能够访问面部内的 77 个不同点,因此我仍然需要手动将它们映射到表情。

欢迎任何编程语言。

【问题讨论】:

标签: opencv expression webcam face-detection feature-detection


【解决方案1】:

在 2.4 版本之后,opencv 自带了人脸识别 API。您可以将悲伤和快乐的面孔定义为两个不同的面孔,并使用the API 对它们进行分类。如果您正在寻找任何教程,您也可以查看opencv's tutorial page

【讨论】:

  • 如果我要使用这个 api,我必须为每个用户提供快乐和悲伤的脸!!
  • 是的,这些是预定义的。也许您可以创建自己的人脸检测训练模式。在 2 个不同的 xml 文件中训练快乐的面孔和悲伤的面孔,并尝试使用它们。
  • 我的目标是任何用户都会使用这个应用程序,并且这种方法可以快速用于网络摄像头视频!
  • 您说您尝试使用opencv进行人脸检测(使用opencv包附带的.xml文件),速度还不够快吗?我也在皮肤检测器中尝试过,算法复杂度更高,但运行速度足够快。
  • 好的,你能给我一个关于如何为opencv训练xml文件的教程
【解决方案2】:

也许this的文章可以帮到你。

这是用于实现here显示结果的概念的解释:

另外,您可能想看看here

上面提到的所有这些都是或多或少达到你想要的人的作品。

我也想做和你一样的——用 OpenCV 进行面部表情识别,所以我希望我们迟早可以交流我们的想法。

【讨论】:

    【解决方案3】:

    使用 OpenCV 为您解决了一半的问题。如果您使用示例构建 OpenCV,则可以运行一个名为 c-example-smiledetect 的示例,该示例可以检测不同级别的笑脸。

    代码应该在 samples/c 下的 OpenCV 文件夹中。我记得您可以调整代码中的灵敏度,这样可能会有所帮助。您也可以找到代码here

    另一方面,可以在this book(第 7 章)中找到使用 OpenCV 的 AAM 实现。这不包括搜索和拟合部分,只是展示了如何从 ASM 和纹理创建 AAM。

    【讨论】:

    • c-example-smiledetect 正在使用预先训练的 Haar 检测器。我认为 OP 必须训练自己的检测器(分类器)才能检测其他面部表情。如果我没记错的话,有必要使用数千张图像来做到这一点。我在一篇文章中说,在快速机器上,整个训练过程花费了不止 7 天不间断的时间来创建分类器。如果结果不好,就必须重新训练。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    • 2022-01-11
    • 2014-09-26
    相关资源
    最近更新 更多