【问题标题】:Blink detection with ASM co-ordinates [closed]使用 ASM 坐标进行眨眼检测 [关闭]
【发布时间】:2013-12-21 14:01:01
【问题描述】:

我用STASM找到了眼睛、鼻子嘴巴等76个面部坐标,我的目的是找到眨眼检测。

有人可以告诉我如何处理这些坐标吗?

我也可以用它来检查这个人是否活着吗?有没有其他方法可以确定站在相机前的人是照片还是真人?

【问题讨论】:

  • 这似乎是对 SO 提出广泛问题的一种方式

标签: matlab opencv image-processing machine-learning computer-vision


【解决方案1】:

该论文中的相关系数非常不准确。当您旋转和平移相关的眼睛图像集时,这将导致问题 [即仿射变换] 。选择正确的特征向量并使用一些非线性分类器(例如基于 sigmoid 的 SVM)会给您带来不错的结果。

【讨论】:

    【解决方案2】:

    这是屏幕截图,如先前答案 cmets 中所述:

    我刚刚想到的一个解决方案是将眼点视为左侧一个点,右侧一个点,顶部三个点和底部三个点。我们可以扫描矩形中每条边的中点为: (1) 左点; (2) 正确的点; (3) 中间顶点; (4)中底点。在此扫描期间,我们对每个像素运行 cvPointPolygonTest 以确定它是否在该区域中。如果是这样,我们会对它的颜色进行评分,以确定眼睛睁开的程度。

    更新:

    这是我的眨眼检测获胜者:http://link.springer.com/article/10.1007/s10209-011-0256-6/fulltext.html

    运行良好且易于实施。

    【讨论】:

    • 嗨@jacob,在检测侧视耳朵和侧视鼻子和侧视下巴方面需要帮助。我正在使用 OPENCV 2.4.9
    【解决方案3】:

    选取眼睛周围的区域并计算白色/“肤色”像素的数量。对该数字应用阈值。

    【讨论】:

    • @GilLevi-您建议如何根据眼睛周长上的 8 个点 + 瞳孔中的 1 点计算确定眼睛区域中的像素?或者有效地迭代它们?谢谢。
    • 也许找到一个穿过所有这些的圆圈。我想你可以使用 hough-circles 来做到这一点,但我不确定。您可以上传带有检测到的眼睛周围点的图像吗?
    • 谢谢。请参阅下一个答案以获取屏幕截图。这不是一个真正的圆,更像是一个椭圆。
    • 我在下面添加了另一个关于可能解决方案的想法。
    • 我没有发现计算白色像素是一种准确的方法。基于移动照片和照明,眼睛的颜色可以从白色变为黑色。我还注意到,对于闭上的眼睛来说,眼睛区域并不准确。我将研究一些其他方法,例如眼睛和眉毛点之间的间距。
    猜你喜欢
    • 2019-03-14
    • 2015-11-27
    • 1970-01-01
    • 2015-12-11
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-28
    • 2023-04-02
    相关资源
    最近更新 更多