Eye-tracking setup
 

Recording/Playing Both Gaze Data And Computer Interaction


EyeLink

EyeLink is an eye tracking system. It uses head mounted cameras, which record the location of the user's gaze on a screen. EyeLink consists of two machines, an operator machine (OM) which gathers the gaze data and a subject machine (SM) which performs calibration and provides the stimulus. The normal EyeLink stimulus is fixed images or text.

Our stimulus is actually a third machine, a linux machine (LM) running VNC which allows the subject to interact with Windows or Unix/Linux machines, while we record the interaction. Alas, we still need the EyeLink subject machine to perform calibration and start/stop gaze data gathering.

The setup looks like:

The SM and LM share a keyboard, monitor, and mouse through a kvm (keyboard, video, mouse) switch. To toggle between the SM and the LM press "Channel" on the switch.

VNC
VNC is normally used to view and interact with the screen of a remote machine. It is similar to PC Anywhere and Reachout, except that we have source. VNC consists of a server and a viewer. The server is run on the remote machine (Windows or UNIX/Linux X Window system). The viewer connects to the server and views/interacts with the remote machine. The viewer was modified to record and playback the interaction.

The steps are:

-1. Log onto the SM and LM as yourself. You should have the same login on both.

0. Start a vnc server somewhere. It could be any UNIX/Linux/Windows machine accessible on the network. For this example, we'll start a server on the LM.

vncserver -geometry 1280x1024

If you haven't run the server before, it will prompt for a password. Access to the server is protected by the password. The viewer will prompt you for a password when you try to connect to the server. The server will report a "display number", such as :3,. Remember it. You must specify <machine name>:<display number> when connecting a viewer to the server.

Choose a geometry which fills the viewer screen. We need the viewer and eyelink screens to coincide. (See note 1.) The resolution of the viewer and eyelink screens can differ, because playback scales the gaze data to fit. The resolution of the viewer screen is set when the X window system is started. In this case it is 1280x1024.

1. Synchronize the SM real time clock with the LM real time clock. Click right on the yellow/green little clocks in the taskbar of the SM. In the dialog box that pops up select "Update now".

(Picture: the little yellow/green clocks)

The LM runs an NTP server to which the SM, using NTP software (nettime), can synchronize itself. After synchronization the real time clocks are usually within about 100 milliseconds. If you would like to check the synchronization, run the following on the LM:

ntpdate -q mallet

(See note 2 .)

2. Start eyelink on the OM: at the DOS prompt type "eyelink".

3. Start background-vnc on the SM by clicking on the icon on the desktop. The program will start up displaying a start screen with a dialog window asking you to specify a file name to save the file you will record as. Type in a filename and click "OK". The screen will then become white. (See note 3.)

(Picture: background-vnc icon)

4. Start vncviewer on the LM.

vncviewer localhost:3 -file (name) -record_fwd -record_rev -fullscreen

"-fullscreen" specifies that the viewer should fill the screen, with no VNC border. We need this so that the eyelink and viewer screens are aligned, the upper left and lower right corners match. (See note 1.)

"localhost:3" is the VNC server on the LM, but any machine running a VNC server could be specified.

5. Set up the subject.

a. Make sure you are switched to the SM.

b. Put the headset on the subject. The subject should be sitting in front of the SM.

c. Adjust the cameras on the headset so that they are in about the right position (capturing subjects eyes).
(Picture: Annotated picture of headset)

d. The OM should be on the main Eyelink screen, which shows a number of options such as "Camera Setup" and "Calibration".
(Picture: OM main Eyelink screen)

e. Camera setup. To enter Camera setup mode press "Enter" from the main menu on the OM.
(Picture: OM Camera setup screen)

A picture of one of the subject's eyes will appear in both the OM and SM screen. Note which eye is being set up, the SM and OM screens will display either "LEFT" or "RIGHT".
Adjust the camera corresponding to the eye noted so that the pupil is in the center of the onscreen picture with the width of the eye roughly equal to the width of the image.
Focus the camera by turning the round nob on the camera. Use the eyelids to judge the focus.
Make sure the "Threshold" is "ON" on OM. To turn it on if it is off, press "T" on the OM keyboard.
Adjust the Threshold. The green shading on the eye indicates the Threshold; it should fill the pupil only. Use the up and down arrows on the OM keyboard to adjust the Threshold.
Repreat Camera setup for the other eye. To toggle between eyes use the left and right arrow keys on the OM keyboard.
When you are finished with Camera setup for both eyes, press "ESC" on the OM to return to the main menu.

f. Calibration. To enter Calibration mode press "C" from the main menu on the OM.

To start Calibration once on the Calibration screen press "Enter" on the OM.
The subject should fixate on the dot in the middle of the SM screen and then follow it with his/her eyes as it moves around the screen until it dissappears.
The OM will show the results of Calibration.
Good: You are finished with Calibration; to continue to the next step press "ENTER" on the OM.
Fair: You may be satisfied with this result depending on your expirimental paradigm. If you are satisfied follow the instructions for "Good"; if you are not satisfied, repeat Calibration.
Poor: Repeat Calibration. If score does not improve try redoing the Camera setup and then returning to Calibration. (To get to the main menu on the OM, press "ESC" on the OM keyboard.)
Failed: Repeat Calibration. If score does not improve try redoing the Camera setup and then returning to Calibration. (To get to the main menu on the OM, press "ESC" on the OM keyboard.)
When you are finished with Calibration, press "ESC" on the OM to return to the main menu.

g. Validation. To enter Validation mode press "V" from the main menu on the OM.

To start Validation once on the Validation screen press "Enter" on the OM.
The subject should fixate on the dot in the middle of the SM screen and then follow it with his/her eyes as it moves around the screen until it dissappears.
The OM will show the results of Validation.
Good: You are finished with Validation; to continue to the next step press "ENTER" on the OM.
Fair: You may be satisfied with this result depending on your expirimental paradigm. If you are satisfied follow the instructions for "Good"; if you are not satisfied, repeat Validation.
Poor: Repeat Validation.
Failed: Repeat Validation.
When you are finished with Validation, press "ESC" on the OM to return to the main menu.

(See note 4.)

6. Run your experiment.

a. Output data (start recording). To start outputting data mode, press "O" from the main menu on the OM.

Press "A" on OM to start recording. "Sixty minutes recording" should show up on the SM screen.
Switch to the LM on the SM via the "Channel" switch. The subject will conduct the experiment tasks on the LM.
Begin experiment tasks (i.e. web browsing).
Important: The subject should try to stay as still as possible; most movement, including raising of eyebrows or crinkling of brow, can disalign the cameras.

b. Stop recording.

When the subject has finished all of the experiment tasks you can stop recording.
Exit vncviewer by pressing F8, then chosing "Quit Viewer" on the LM.
Switch to the SM via the "Channel" switch.
Exit background-vnc on the SM by pressing "ESC".
A "Transfer file as …" dialog box will popup.
Select the file name, location desired. Click ok. (Remember where you saved the file!)

c. Take the headset off of the subject.

7. On the subject machine convert the gaze data EDF file to an ASC file. The EDF file format is a secret, so we're forced to work with the ASCII file. Using Start Programs/MS-DOS Prompt, cd to the directory containing the EDF file, then

edf2asc backgd

Since writing this, we have been informed by Bob Kemp <bk@hsr.nl> that EDF is an open format (see http://www.hsr.nl/edf).

8. Copy the ASC file to the linux machine. The linux machine, hoopla, should be in the Network Neighborhood, so you can drag-and-drop the ASC file into your home on hoopla.

9. Simplify the ASC file. The ASC file isn't suitable for quick parsing during playback, so we perform some conversion on it. It's easier to parse text with awk than C, so the first run a awk script.

gaze.awk backgd.asc > gazedata

10. Convert the gaze data from ASCII to binary. Binary can be parsed faster during playback.

makegaze gazedata > (name).gaze

What's important here is that the VNC record file and binary gaze data file are in the same directory and the name of the gaze data file is the same as the VNC record file with ".gaze" suffix.

vncmerge -file (name) -gaze (name).gaze

11. Playback.

vncviewer -playback -file (name)

"-recordfile vncrecord.log" specifies which record file to playback. vncviewer defaults to playing back /tmp/vncrecord.log, which might not be your file, so specify the file. vncviewer will find the gaze data by appending .gazedata to the record file name you specified.

12. Kill the server. You can use the server repeatedly. In fact, if you connect to it again, you'll find it looks the same as when you left it. When you're done for the day kill the server.

vncserver -kill :3

Replace :3 with the <display number> for your server.


cvs (concurrent versions system) is a program for maintaining source code (actually any ASCII text). See http://www.gnu.org/software/CVs/ for more information about CVs

Further documentation about VNC is available from: http://www.uk.research.att.com/vnc/

See Notes on Eyetracking setup for:
Summary of the Programs
The format of the vnc record file
The format of the binary gaze data file

The source for the vncviewer, checkvnc, gaze.awk, makegaze, and checkgaze

 

Facilities Feedback Site Map contact Academic Courses Directions About Us Publications Projects People Home