This section describes the development of the simulation environment that was used to replicate the real-world eye-tracking experiments performed by two comparative studies using various eye-model complexities. The section begins with an overview of the comparative studies. The eye-model complexities considered in this study are then discussed, followed by a description of the procedure used to simulate the comparative studies using each eye model. Finally, the methods used to compare the simulated and experimental outcomes are given.
2.1 Comparative Studies
Table
1 describes the two comparative studies investigated in this study. Both studies used remote eye trackers placed on a table and recorded the seated participants’ gaze as they focused on targets appearing on a screen. Reference [
28] used a remote eye tracker with a single camera and two light sources to evaluate a model-based gaze estimation algorithm during head movements using four participants. The algorithm uses the pupil and glint features observed by the camera and the known position of the hardware components to calculate the orientation of a virtual eye model with a single spherical corneal surface. The orientation of the visual axis of the virtual eye model was then taken as the direction of the user's gaze. The algorithm required four parameters of the virtual eye model, namely, the radius of curvature of the cornea (
Rac), the distance between the corneal centre of rotation and the anatomical pupil centre (
K), the offset of the fovea from the optic axis (α), and the index of refraction of the cornea (η
ac) to be calibrated for each user.
Each participant tested by Reference [
28] sequentially focused their gaze on nine points on the screen. This fixation procedure was repeated with the participant's head in five positions: a central head position and four peripheral head positions that were 30 cm to each side and 40 cm forward and backward from the central head position. The five parameters of the gaze estimation algorithm were calibrated at the central head position by calculating the value of the parameters that minimise the gaze estimation error over the nine fixation targets using a nonlinear search algorithm. The average angular error between the fixation targets and the estimated gaze positions was reported for the central (H1) and peripheral head positions (H2).
The second comparative study was performed by Reference [
29]. This study used a remote eye-tracker to compare the performance of 12 regression function combinations, given in Table
2, used in an interpolated-based gaze estimation algorithm combined with six calibration configurations. Participants were tasked with sequentially fixating their gaze on 135 targets on a screen while the eye tracker recorded the positions of their pupils and the glints formed by the reflection of a light source from the cornea. The normalised pupil-glint vector for each fixation target was calculated as the distance between the pupil and glint of each eye divided by the distance between the pupils of both eyes.
The coefficients of the 12 regression functions (ak and bk) were calibrated for each eye using the pupil-glint vectors recorded during the fixations on the targets contained in each calibration configuration consisting of 5, 9, 14, 18, 23, and 135 (C5, C9, C14, C18, C23, and C135) targets. The average angular error between the 135 fixation targets and the estimated gaze point was then calculated as the average estimated gaze positions of both eyes for the 72 combinations of regression functions and calibration configurations. Using the recorded errors, the best-performing regression function combination for each calibration configuration was identified.
2.2 Eye-model Complexities
The five eye models (E
1 to E
5) described in Table
3 were identified from the literature and included in the simulation environment. The eye models were chosen to represent incremental increases in eye-model complexity so the influence of individual components of the eye model on the predictive power of simulated eye-tracking data could be investigated. In the context of this study, the complexity of the corneal surface is of particular interest, as the shape of the cornea is thought to have a significant influence on eye-tracking outcomes [
30]. Therefore, the differentiation between eye models was based on the parameters used to describe the cornea. A description of the various eye-model parameters and the surfaces used to describe the surface of the eye model is provided by References [
18] and [
23]. The parameters were defined relative to the optic axis.
The first eye model (E1) included in this investigation is the reduced eye model used by Reference [
31], as illustrated in Figure
1(a). Reduced eye models model the cornea as a single spherical surface described by a radius of curvature (
Rac) and do not include any lens surfaces. This model is the lowest complexity eye model included in this investigation and was chosen as it is used in popular eye-tracking simulation resources such as SynthesEyes [
32] and UnityEyes [
22]. The centres of rotation (
CORy and
CORz) were placed on the centre of rotation of the cornea, as is a common assumption in eye-tracking algorithms [
28,
33].
Aspheric reduced eye models are typically created by adding an anatomically observed aspheric constant (
Qac) to the corneal surface of a reduced eye model to make its wide-angle performance more realistic [
8]. The aspheric reduced eye model included in this investigation (E
2) is based on the Emsley reduced eye model proposed by Reference [
34] with the addition of an aspheric constant (
Qac) of -0.25 to the corneal surface [
35]. This eye model is used in the
RIT-Eyes eye-tracking simulation resource [
8]. Both centres of rotation were placed on the optic axis at a more realistic 13.5 mm behind the corneal apex [
36]. The optical components of the aspheric reduced eye model (E
2) are illustrated in Figure
1(b). The figure demonstrates the flatter shape of the cornea compared to the reduced eye model.
The four-surface eye model (
E3) included in the investigation was based on the Le Grand full theoretical four-surface eye model [
37]. The model includes spherical anterior (
Rac) and posterior (R
pc) corneal surfaces and anterior (
Ral) and posterior lens (
Rpl) surfaces. The optical components of the four-surface eye model (E
3) included in this investigation are illustrated in Figure
1(c). The inclusion of the posterior corneal surface and the lens surfaces can be observed in the figure.
The fourth eye model (E
4) included in this investigation was based on the Navarro wide-angle eye model [
38]. This aspheric four-surface eye model was selected as it was used in pivotal studies to motivate the undertaking of the work presented in this study [
25,
26]. The model includes an aspheric anterior and spherical posterior corneal surface. The flatter aspheric anterior corneal surface compared to the four-surface eye model (E
3) is illustrated in Figure
1(d).
The finite eye model (E
5) included in the simulation environment was based on the model proposed by Reference [
23]. This was the highest complexity eye model included in the study. This model was chosen over other finite eye models, such as the eye model proposed by Reference [
5], as it has been shown to accurately replicate the wide-angle performance of the human eye for horizontal viewing angles up to 50° and vertical viewing angles up to 20°, which exceed the viewing angles of the eye during the experiments performed by the comparative studies.
The finite eye model (E
5) includes an ellipsoidal anterior and aspheric posterior corneal surface, both of which include anatomically accurate ocular surface decentrations and tilts. The lens was modelled as a series of isoindical aspheric contours forming a
gradient-index of refraction (GRIN) lens model [
24]. The indexes of refraction of the optical surfaces (
η) were calculated as a function of the incident light wavelength (
ω) using Cauchy's equation [
39]. The chromatic dispersion coefficients for the GRIN lens and corneal surfaces used in the gkaModelEye framework [
5] were used. Based on the findings of References [
40] and [
41], separate centres of rotation were defined for rotations around the y and z axes (
CORy and
CORz). The optical components of the finite eye model are illustrated in Figure
1(e), in which the ocular surface decentrations and tilts, as well as the separate centres of rotation, can be observed.
2.3 Simulation Procedure
The study utilised the MATLAB-based gkaModelEye framework [
5] to create a simulation environment with which the experiments performed in the comparative studies were replicated. This framework includes computational models of eye-tracking components: the eye, camera, light sources, and screen. By employing ray-tracing operations, the framework simulates the image features observed by the eye tracker's camera, including the glint and apparent pupil. Compared to alternative options such as et_simul [
2] and UnityEyes [
6], this framework was chosen for its ability to accommodate various eye-model complexities and configure the simulation environment to replicate the comparative studies’ experiments. The 10 parameters listed in Table
4 describe the simulation environment's configuration. The table also includes the values of the parameters used to replicate the experiments of the comparative studies.
Figure
2 demonstrates the graphical output of the simulation environment that was configured to replicate the experimental setup described by Reference [
29]. The black dots on the screen illustrate the fixation targets of the comparative study. The simulation environment's origin was positioned at the intersection of the optic axis and the anterior corneal surface apex, with the eye in an unrotated orientation. The x axis pointed towards the screen along the optic axis, the y axis pointed nasally for a right eye and temporally for a left eye, and the z axis pointed superiorly.
The eye model was sequentially fixated on a series of targets to simulate the fixation procedures used in the comparative studies. Ray-tracing operations were then used to simulate the position of the glint and apparent pupil centres on the camera's image sensor. Each fixation involved rotating the eye model according to Listing's law around its centres of rotation (
CORy and
CORz) to align the line of sight with the fixation target [
5]. This operation is challenging due to the nonlinear change in the entrance pupil's centre position as the eye rotates [
42]. The
gkaModelEye framework [
5] utilises a nonlinear search algorithm to determine the eye's orientation, resulting in a line of sight intersecting the fixation target, entrance pupil's centre, and fovea of the eye model.
During each fixation, the position of the apparent pupil boundary was simulated by projecting 30 points evenly distributed along the anatomical pupil boundary through the refractive cornea. These rays then intersected the camera's nodal point and its image sensor. The centre of the apparent pupil was then calculated by fitting an ellipse to the projected boundary points on the image sensor using a least squares solver. The glint centres were simulated by tracing rays from each point light source that reflected off the anterior corneal surface and intersected the camera's nodal point and image sensor. All ray traces in this study were confirmed to intersect the camera's nodal point within a tolerance of 10-4 mm.
The simulation environment only included one eye model at a time. The fixation procedure was repeated twice with the same eye model but in different positions to generate binocular eye-tracking data for a single user. The screen, camera, and light source components were translated half of the
interplanetary distance (IPD) along the positive y axis for the right eye. Conversely, the components were translated by half of the interpupillary distance along the negative y axis for the left eye. A fixed interpupillary distance of 63 mm, based on the average human measurement reported by Reference [
43], was used in all simulations.