EyeWriter: an Opensource, DIY, inexpensive eye-tracking headset

By on October 6, 2013

The Eyewriter Project

 

glasses2

 

Hardware guides on Instructables: http://www.instructables.com/id/The-EyeWriter-20/

The goal of the hardware component of the EyeWriter project is to make the most simple and inexpensive eye-tracking headset possible to use with the EyeWriter software.

And Open Source Software

The EyeWriter software is two parts — an eye-tracking software designed for use with our low-cost glasses, and a drawing software designed for drawing with eye movements. The source code for the project is currently being hosted at: https://github.com/eyewriter.

The software for both parts has been developed using openframeworks, a cross platform c++ library for creative development. In order to compile and develop the EyeWriter source code, you will need to download openframeworks (pre release v0.06). Documentation, setup guides and more information can be found athttp://openframeworks.cc.

Eye-Tracking Software

The eye-tracking software detects and tracks the position of a pupil from an incoming camera or video image, and uses a calibration sequence to map the tracked eye/pupil coordinates to positions on a computer screen or projection. Note that we use the GSL (gnu scientific library) for calibration, which is GPL, thus the eye tracking source code is GPL.

The pupil tracking relies upon a clear and dark image of the pupil. The diy glasses we designed use near-infrared leds to illuminate the eye and create a dark pupil effect. This makes the pupil much more distinguishable and, thus, easier to track. The camera setting part of the software is designed so the image can be adjusted with brightness and contrast to get an optimal image of the eye.

The calibration part of the software displays a sequence of points on the screen and records the position of the pupil at each point. It is designed so that a person wearing the glasses should focus on each point as it is displayed. When the sequence is finished, the two sets of data are used to interpolate where subsequent eye positions are located in relation to the screen.

DIY « EyeWriter.

About Staff