3

I have done some coding in opencv in c++ , I was able to use Haar Cascades , to detect face and eyes , but now I am stuck with how to get pupil coordinates , and gaze to know where the user is looking on the screen , any ideas ??

AhMaD AbUIeSa
  • 805
  • 1
  • 12
  • 21
  • possible duplicate of [Detect objects similar to circles](http://stackoverflow.com/questions/22274930/detect-objects-similar-to-circles) – rwong Mar 26 '14 at 05:16

3 Answers3

2

The question is very broad. Please start with keywords like gaze tracking, head pose estimation, pupil detecion in google. This article might help, here's an example of the runtime.

marol
  • 4,034
  • 3
  • 22
  • 31
1

You can detect pupils by fitting an ellipse, or circle into a gradient image. If the data are too noisy you can start with HoughCircles().

Next you have to decide how you detect the direction of the gaze (gaze = head pose + eye pose). Let's focus on eye pose. One way to do this is to measure the vector from the eye center to the pupil in 2D. The displacement should give you the direction but this requires the detection of the center of the eyeball. This can probably be done by detecting eye corners and also running some kind of calibration procedure. In any occasion, the resolution of your images should be pretty good to do this. Since you detect a face I guess the number of pixels that falls into the pupil is pretty small.

Vlad
  • 4,425
  • 1
  • 30
  • 39
0

I would suggest you to use eye centre localisation algorithm based on image gradients.

An implementation of the same by Tristan Hume in OpenCV is available here- http://thume.ca/projects/2012/11/04/simple-accurate-eye-center-tracking-in-opencv/

And as far as gaze is concerned there is no 'kryptonite' still an area of active research.

Amal Vincent
  • 154
  • 1
  • 10