【发布时间】:2016-11-01 14:11:41
【问题描述】:
我已经在 c++ 中的 opencv 中进行了一些编码,我能够使用 Haar Cascades 来检测面部和眼睛,但现在我被困在如何获取瞳孔坐标和凝视以了解用户在哪里看屏幕,有什么想法吗??
【问题讨论】:
标签: opencv
我已经在 c++ 中的 opencv 中进行了一些编码,我能够使用 Haar Cascades 来检测面部和眼睛,但现在我被困在如何获取瞳孔坐标和凝视以了解用户在哪里看屏幕,有什么想法吗??
【问题讨论】:
标签: opencv
您可以通过将椭圆或圆形拟合到渐变图像中来检测瞳孔。如果数据太嘈杂,您可以从HoughCircles() 开始。
接下来,您必须决定如何检测注视的方向(注视 = 头部姿势 + 眼睛姿势)。让我们专注于眼睛姿势。 一种方法是在 2D 中测量从眼睛中心到瞳孔的矢量。位移应该给你方向,但这需要检测眼球的中心。这可以通过检测眼角并运行某种校准程序来完成。在任何情况下,您的图像的分辨率都应该很好做到这一点。由于您检测到一张脸,我猜落入瞳孔的像素数量非常少。
【讨论】:
我建议你使用基于图像梯度的眼睛中心定位算法。
Tristan Hume 在 OpenCV 中的实现可以在此处获得 - http://thume.ca/projects/2012/11/04/simple-accurate-eye-center-tracking-in-opencv/
就凝视而言,没有“氪石”仍然是一个活跃的研究领域。
【讨论】: