I stopped working on opengazer in August 2007, and nobody has yet taken over the development. I am aware that opengazer is no longer working correctly with the newest libraries, however, I don't have the time to investigate this problem. If you are interested in fixing opengazer and contributing to its development, please submit a patch againts the sourceforge version.

Opengazer: open-source gaze tracker for ordinary webcams

Opengazer is an open source application that uses an ordinary webcam to estimate the direction of your gaze. This information can then be passed to other applications. For example, used in conjunction with Dasher, opengazer allows you to write with your eyes. Opengazer aims to be a low-cost software alternative to commercial hardware-based eye trackers.

Opengazer was developed by Piotr Zieliński, supported by Samsung and The Gatsby Charitable Foundation.

Video

This short video shows opengazer in action, using a £50 Logitech QuickCam Pro 4000, with the resolution 640x480. The distance from the camera/screen to the user was about 50cm.

The user first selects "load points", which loads and matches a previously selected set of point trackers on the face, which allows opengazer to extract the image of the eye and compute head orientation. Then, the "calibrate" routine displays a series of red points on the screen, at which the user is ask to look. As the calibration progresses, the current gaze estimate, represented by a small blue circle is getting better and better. Finally, the user selects "test", which displays a series of green points to test and show the accuracy of the gaze tracking.

A higher resolution version of the video

Download

The first prerelease of opengazer is available to download.

Download opengazer 0.1.2 for Linux (source)

You will need to compile opengazer yourself. Consult the detailed instructions for external dependencies and usage.

Opengazer is now stored in the subversion repository accessible from the sourceforge opengazer page. To check out the latest revision consult the opengazer instructions as well as the sourceforge subversion manual.

Opengazer is licensed under GPL version 2.

System requirements

To run opengazer comfortably with other applications, you will need a Linux system with

Recommended webcams

The webcam I’m using for opengazer development is Logitech QuickCam Pro 4000, but the software should work with any webcam. You just need to ensure that your webcam is capable of 640x480 or higher resolution, and that it works with v4l.

More info

Macs

Alexander Kellett has the following experiences using opengazer on a Mac.

Opengazer 0.1 successfully follows my gaze in this poorly lit room, via an iSight camera plugged into an iBook. Works just fine using everything from current darwinports/macports, together with the latest release of vxl, which unfortunately required "make -k install" to work on the mac. One thing that took a while to figure out was a few linking problems with the osx port of vxl, this forced me to add -lnetlib to the LINKER line. Finally, I had to remove the gtk-config call from the Makefile as this doesn't seem to be present on my system, but even without this it linked just fine.

I've attached the Makefile in case the above bits are unclear. [see the note below]

Took a good 20 minutes of fiddling with the distance of the cam, and learning to keep my head still, until eventually I realized that it would crash on save unless I'd placed enough good points. However, while it is noisy (poor lighting here), it gets the position of my eye on the screen with an x/y resolution of, i'd say, 16x16, which seems easily enough for dasher.

Note: Alexander’s Makefile was for opengazer 0.1; I’ve changed it a bit to be compatible with opengazer 0.1.1, but haven’t tested it.

Connecting opengazer and Dasher

Use the Edit|Preferences|Control|Input Device setting in Dasher. Set it to "Socket Input" and in "Options" set x/yminimum to 0, and x/ymaximum to the width/height of your screen. Maximize the Dasher window. Note that it is very, very difficult to keep your head still while concentrating on something else such as inputting text in Dasher. Using a head-rest might be a good idea.

History

Opengazer grew out of the Machine Intelligence Laboratory in Cambridge University Engineering Department. VIM (`visual inference machine') was developed by Ollie Williams and Roberto Cipolla.

The opengazer project was most recently managed by Piotr Zieliński as part of the Dasher project in the Inference group. We are now looking for a new manager for the project.


Last modified: 27 August 2007 by
Piotr Zieliński