来自网络摄像头的面部表情识别[关闭]
Posted
技术标签:
【中文标题】来自网络摄像头的面部表情识别[关闭]【英文标题】:Facial expression recognition from webcam [closed] 【发布时间】:2013-07-05 00:07:35 【问题描述】:我目前正在从事一个项目,我必须提取用户的面部表情(一次只能从网络摄像头中提取一个用户),比如悲伤或快乐。
有很多程序/API可以做人脸检测,但我没有找到任何一个可以做自动表情识别。
到目前为止我发现的最好的可能性:
我之前使用 OpenCV 进行人脸检测,效果很好,所以如果有人对如何使用 OpenCV 进行操作有一些提示,那就太好了!
OpenCV 板上的一些用户建议寻找 AAM(主动 apereance 模型)和 ASM(主动形状模型),但我找到的都是论文。
-所以我正在使用带有Stasm 的主动形状模型,这将使我能够访问面部内的 77 个不同点,因此我仍然需要手动将它们映射到表情。
欢迎任何编程语言。
【问题讨论】:
你的项目有进展吗? @NenadBulatovic ***.com/questions/18640804/… 【参考方案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 天不间断的时间来创建分类器。如果结果不好,就必须重新训练。以上是关于来自网络摄像头的面部表情识别[关闭]的主要内容,如果未能解决你的问题,请参考以下文章