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 ??
-
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 Answers
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.

- 4,425
- 1
- 30
- 39
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.

- 154
- 1
- 10