Generalized Adaptive Gaze Estimation Logo


The project „GazeTimate“ aims at developing some software to determine the face gaze direction of an user sitting in front of a WebCam.

I used a USB Logitech QuickCam with Phillips chipset when I developed the program. You need the pwc kernel module for this one. But as the software uses direct ioctl() calls every V4L Camera that you got to work under Linux should do as well.

What it does...

This software firstly searches your face by waiting for motion to occure. It then tracks the face and gives information about x,y,z position and x,y,z rotation – that is, full six-degrees-of-freedom estimation of gaze.

You might download the software at the SourceForge WebSite. The software is programmed in the C++ language. You will have to compile it yourself. A KDevelop project file is included.

Technology Issues

You must have installed the Intel OpenCV library to compile the programs. Look at the OpenCV SourceForge project for more information (and don't get confused if you hit the curriculum vitae pages that are named opencv as well :-)

The project uses OpenCV 0.9.6, and unless you are willing to alter the source of my project to fit with older versions you should probably use 0.9.6 as well. Mainly, all imports on OpenCV have changed and so have library names. Some of the APIs have changed, too, so you are probably better off with 0.9.6!

To run the program, first plug in the WebCam. It should appear as /dev/video0 for the program to work properly.


Besides the classes comprising the actual gaze estimation task, there are some implementations of helpful filters available.

Classes for image manipulation include:

Classes helping development are

Most of the classes are documented, but you should not expect a nice easy-to-use windowing application. Look into the code yourself! As a starting point, use the file testsuite.cpp – in it you find a testing function for nearly every class provided. Moreover, you will find testing functions for a bundle of auxiliary computer vision methods. It is very instructive to have a look at them!

The main application (MtwTheApplication) expects to find a picture under pic/pano.jpg – just provide an image of your choice. It should be rather big (2000x1500 is nice).

Where you can partizipate

Please look to the SourceForge pages.