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 | |
|