![](bg3.png)
2D Gaussian to the corneal reflection using least
squares.
The pupil centers were found using a modified
Starburst algorithm (Winfield & Parkhurst 2005).
The first step in the Starburst algorithm is to
threshold the vicinity of the corneal reflections to
find a rough estimate of the pupil’s location. This
first estimate is used as a starting point for a search
for gradients above an experimentally established
threshold along rays extending from the center of the
blob. If such gradients are found, the positions are
added to a list of potential edge points. This search is
repeated for each of the located potential edge
points, with rays directed back towards the center of
the blob. When the geometric center of the edge
points converges, the list of points is used in a
RANSAC (Fischler & Bolles 1981) based search for
an ellipse representing the edge of the pupil. The last
step in the algorithm is to refine the position of the
ellipse using an optimization step. The optimization
searches for the strongest gradient along the edge of
the pupil, with experimentally established
constraints on the size and eccentricity of the ellipse.
The output of the algorithm is the PCCR vector from
the center of the two corneal reflections to the center
of the pupil for each eye. The extracted features are
shown in Figure 2.
To map the relative locations of the corneal
reflections and pupil (PCCR vector) to a point on the
stimulus display, a mapping function was calculated
individually for each eye of each subject. The
mapping function from PCCR vector to the image
coordinates is a second order polynomial in two
variables of the form:
22
12 3 456
22
12 3 456
screen
screen
ax ay axyaxaya
ybxbybxybxbyb
, where
creen
x
and
creen
y
are the coordinates in the
image,
and
are the coordinates of the PCCR
vector, and
1...6
a
and
1...6
b
are subject specific
constants.
To determine the constants in the mapping
function, each subject was presented with a standard
calibration screen on the stimulus display with nine
fixation targets in a three-by-three grid. The subjects
were asked to fixate on each of the nine patterns in
turn, while 100 frames (1 second) of video were
recorded for each position. Since the position on the
stimulus display of each pattern was known, the best
fitting mapping constants could be found by
calculating the least squares fit on all PCCR vectors
extracted from the 900 frames of video.
2.3 EEG Recording Hardware
EEG data were recorded using a 16 channel G.tec
g.USBamp with the g.GAMMAsys active electrode
system. The data were recorded at a sampling rate of
1200 Hz and post processed with a band-pass filter
between 0.1 Hz and 200Hz. During recording all
electrodes were referenced to the Cz electrode
position and the cheek was connected to ground.
2.4 Visual Stimulus Presentation
and Synchronization
The presentation of visual stimulus as well as the
embedded synchronization signal was shown on a
26” LG DT-3003X display with a resolution of 1280
x 768 pixels and a refresh rate of 60 Hz. The face of
the subjects were placed 60 cm from the monitor
slightly below the center.
A dedicated area of 20 x 20 pixels in the lower
left corner of the stimulus display was used for the
embedded synchronization signal. The
synchronization signal can be viewed as a one bit
wide serial data link between the stimulus display
and the ET and EEG recorder. A ‘0’ is coded by
turning the dedicated area black, while a ‘1’ is
represented by a white area.
The detection of the synchronization signal on
the stimulus display is achieved by the use of an
optical sensor. The detected signal is sent to the
EEG amplifier and is used by the synchronization
hardware to modulate the illumination used in the
eye tracker. The amount of light from the high and
low level of this modulation is chosen to allow
robust detection of the synchronization signal from
the video stream, without compromising the fidelity
of the video through under- or overexposure of the
camera sensor.
When this is accomplished, the histogram of the
video frames with low illumination can be
transformed to match the frames with high
illumination before the ET algorithm.
The synchronization signal was extracted from
the video stream by calculating the number of pixels
whose intensities changed in a positive direction and
subtracting the number of pixels whose intensities
changed in a negative direction between each pair of
frames. The resulting signal showed a strong
resemblance with the time derivative of the original
synchronization signal and had strong positive and
negative peaks when the global illumination of the
scene changed rapidly. A typical example of this
kind of signal is shown in Figure 3 along with the
SynchronizationofElectroencephalographyandEyeTrackingusingGlobalIlluminationChanges
57