一般来说,支持向量机 (SVM) 用于面部表情识别,如愤怒、微笑、惊讶等仍在积极发展的地方。谷歌搜索给你很多关于这个主题的论文,(甚至我的一个同学也做了这个作为他最后一年的项目)。为此,首先您需要训练 SVM,为此,您需要打哈欠和正常人脸的样本图像。
打哈欠几乎与惊讶相似,在这两种情况下都张开嘴。我建议您查看以下论文的第 3 页:Real Time Facial Expression Recognition in Video using Support Vector Machines(如果您无法访问链接,请按论文名称谷歌)
论文(甚至我的同学)使用了面部特征的位移向量。为此,您会在脸上找到一些特征点。例如,在论文中,他们使用了眼睛瞳孔、眼睑的极值点、鼻尖、嘴部区域(嘴唇)的极值点等。然后他们不断跟踪特征的位置并找到它们之间的欧几里得距离。它们用于训练 SVM。
查看以下两篇论文:
从人脸中提取特征点
使用基于 Gabor 特征的增强分类器的全自动面部特征点检测
看下面我所说的面部特征点的图像:
就您而言,我认为您正在 iPhone 中实时实现它。所以可能你可以避免眼睛的特征点(虽然不是一个好主意,因为当你打哈欠时,眼睛会变小)。但与之相比,嘴唇的特征点表现出更多的变化和优势。因此,仅在唇上实施可能会节省时间。(嗯,这一切都取决于你)。
唇部分割:已经在 SOF 中讨论过并查看这个问题:OpenCV 唇部分割
最后,我相信你可以找到很多关于谷歌搜索的细节,因为它是一个活跃的发展领域,而且有很多论文。
另一种选择:
这个地区的另一个选择,我听过好几次了,是Active Appearance Model
。但我对此一无所知。自己谷歌一下。