闭眼检测opencv C++

Ata*_*CSE 6 opencv detection eye-detection

我需要分别检测闭眼和双眼.这意味着我需要判断左眼是打开还是关闭,右眼也是如此.

我尝试了几种方法.其中之一是分别用haarcascade_eye和haarcascade_eye_tree_eyeglasses检测眼睛,然后比较结果.如果两者都检测到眼睛,那么眼睛睁开,如果一个检测到而另一个不能,则闭眼.这个技巧来自这个链接:

http://tech.groups.yahoo.com/group/OpenCV/messages/87666?threaded=1&m=e&var=1&tidx=1

但它没有按预期工作.眼镜级别探测器不能像链接中提到的那样工作.我上面提到的那些haarcascade发现了很多接近的结果.有时它会给出正确的结果,有时它却不能.我不知道为什么.此外,用这种方法无法告知哪只眼睛是开放的,哪只眼睛是闭着的.

现在有人可以帮我解决这个问题吗?至少我需要一种方法来判断其中一只眼睛是否闭合,无论哪一眼都需要准确地完成.请帮忙.......

dvh*_*mme 1

如果您想避免训练自己的 Haar 级联来检测单眼,您可以尝试更简单的技术,例如瞳孔检测。如果您未能检测到黑眼圈,则眼睛是闭着的。如果您感兴趣的区域较小,这可能效果很好。另一种选择是眼睛区域的颜色直方图,在打开和关闭状态下看起来可能非常不同。

如果您无法以合理的准确度预测眼睛在图像中的位置,那么这些方法注定会失败,我认为您最好的办法就是训练自己的级联。