【问题标题】:Face Features Detection - corner of eyes, eyebrows人脸特征检测——眼角、眉毛
【发布时间】:2014-04-06 20:03:50
【问题描述】:

我正在使用 OpenCV4Android 为手机创建基本的情绪检测系统。我的系统已经能够找到嘴巴并进行一些预处理。我从 Canny 获取人脸对象的结果很好:

示例 Face1:https://dl.dropboxusercontent.com/u/108321090/FACE%20%282%29.png

示例 Face2:https://dl.dropboxusercontent.com/u/108321090/FACE%20%281%29.png

红色矩形是级联发现的区域。我将它们保存为 Mat 对象。

蓝点是我需要找到的点。问题是,我的眉毛和眼睛都在同一段。

此外,在某些情况下,眉毛直接与眼睛相连(在某些情绪状态下)。很难访问某些点。我也有正常的图像(当然)和对眉毛形状也很有趣的阈值图像 - 但由于光线不好,眉毛好,我失去了一些其他物体(嘴巴 - 一个没关系,因为它已经完成了,眼睛)总是很明显。当然我可以稍微改变阈值,因为我不需要它来寻找其他功能。就像我说的那样,嘴巴做得很好。剩下的眼睛/眉毛。

示例 Face3:https://dl.dropboxusercontent.com/u/108321090/Screenshot_2014-01-17-01-33-14.png

示例 Face4:https://dl.dropboxusercontent.com/u/108321090/Screenshot_2014-01-17-01-26-33.png

Examplary Face5(有点问题,眼睛不见了,但如果我把它们放在本地而不是全局上就可以了)https://dl.dropboxusercontent.com/u/108321090/Screenshot_2014-03-05-01-30-48.png

Exampalary Face6(眉毛与眼睛相连)https://dl.dropboxusercontent.com/u/108321090/Screenshot_2014-03-05-01-28-21.png

我想问你是否可以向我提供与眼睛和眉毛动作单元检测相关的任何材料/想法。

【问题讨论】:

    标签: java c++ opencv image-processing face-detection


    【解决方案1】:

    如果您可以找到一个眼睛/眉毛单元,您可能只需跟踪它并将情绪与那里的相对运动联系起来,而不是试图将眼睛与眉毛分开。您的前两个示例面是渐变,而其余的是阈值灰色调。我宁愿使用渐变,因为灰色调会受到光照和阴影的影响。

    我也会避免使用 Canny 边缘检测器,因为它是一种高度非线性和不稳定的算子,用于匹配连续帧并因此用于运动检测。我宁愿使用更简单的 Sobel 和某种运动检测,但只有在跟踪减去全局头部运动之后。

    关于情绪检测的有趣工作是基于 Kinect 完成的,它确实有效,尽管它需要一些离线训练,请参阅 faceShift。正确处理的一个很好的测试(在将特征映射到情绪之前)是尝试将面部模型与目标面部同步移动 - 某种虚拟化身。

    【讨论】:

    • 我正在处理静态图像 :) 感谢您提供有趣的信息
    • 静态图像中的情绪更难检测,但算法更简单,因为您不需要补偿头部的全局运动。也许本书的第 17 章可以提供帮助:web4.cs.ucl.ac.uk/staff/s.prince/book/book.pdf
    猜你喜欢
    • 1970-01-01
    • 2012-04-04
    • 2020-09-20
    • 2013-08-21
    • 2015-04-23
    • 2014-04-04
    • 2013-12-26
    • 2014-06-27
    • 2017-08-08
    相关资源
    最近更新 更多