如何使用Open CV检测哈欠

iVe*_*ela 10 opencv haar-wavelet ios

我正在开发一个iOS应用程序,需要检测用户何时打哈欠.

我所做的是包括Open CV并使用haar级联找到面孔,然后在面部内找到嘴(也使用haarcascade).

我遇到的麻烦是,我相信能够很容易地发现哈欠像做某事(face.y - mouth.y)<something = yawn.

但我所遇到的问题是面部和嘴部的面积是"不稳定的",我的意思是每次循环运行时,面部和嘴部的X和Y值都是(显然)不一样.

我可以使用任何"张开嘴"的haar级联,或者我怎么知道用户何时张开嘴?

Abi*_*n K 11

作为一般情况,支持向量机(SVM)用于面部表情识别,如愤怒,微笑,惊喜等,其中仍然进行积极的开发.谷歌搜索给你提供了很多关于这个主题的论文,(甚至我的一个同学做了这个作为他的最后一年项目).为此,首先您需要训练SVM并且要做到这一点,您需要打哈欠和正常面部的样本图像.

打呵欠几乎与惊喜相似,两个案件都张嘴.我建议你查看下面第3页的文章:使用支持向量机在视频中进行实时面部表情识别(如果你无法访问链接,请按纸质名称谷歌)

这篇论文(甚至是我的同学)使用了面部特征的位移矢量.为此,您可以在脸上找到一些特征点.例如,在论文中,他们使用了眼睛瞳孔,极端的盖子,鼻尖,极端的口腔区域(嘴唇)等.然后他们不断跟踪特征的位置并找到它们之间的欧氏距离.它们用于训练SVM.

请查看以下两篇论文:

面部特征点提取

基于Gabor特征的Boosted分类器全自动面部特征点检测

看下面的图像我的意思是脸上的特征点:

在此输入图像描述

在你的情况下,我认为你是在iPhone上实时实现它.所以可能你可以避开眼睛的特征点(虽然不是一个好主意,因为当你打哈欠时,眼睛的大小会变小).但与之相比,嘴唇的特征点显示出更多的变化和优势.因此,单独实施唇部可以节省时间.(嗯,一切都取决于你).

唇部分割:已在SOF中讨论并查看此问题:OpenCV唇部分割

最后,我相信你可以在google上找到很多细节,因为它是一个活跃的开发领域,很多论文都在那里.

另一种选择:

我听过几次这个地区的另一个选择是Active Appearance Model.但我对此一无所知.Google自己动手吧.