# 2D Gaze Estimation Based on Pupil-Glint Vector Using an Artificial Neural Network
## 3 Experimental System and Results
### Gaze Point Estimation  
An improved artificial neural network (DLSR-ANN) based on direct least squares regression is developed to calculate the mapping function between pupil-glint vectors and calibration markers. For four-, six-, nine-, and 16-marker calibration models, the number of training samples is selected as 180. The number of hidden nodes is equal to the number of training samples. The \(x\) (or \(y\)) coordinate is set as the output of the neural network. Two separate DLSR-ANNs are utilized to estimate the \(x\) and \(y\) coordinates of the gaze point on the screen. Each separate neural network has the same inputs. Weighting function \(g_{1}\left(t\right)\), \(g_{2}\left(t\right)\), \(g_{3}\left(t\right)\) is respectively determined as \(g_{1}\left(t\right)=\frac{1-e^{-\beta_{1}t^{2}}}{1+e^{-\beta_{1}t^{2}}}\), \(g_{2}\left(t\right)=\left\{ \begin{array}{ll}\frac{t^{2}}{2},t\leq\beta_{2} \\ \beta_{2}\left|t\right|-\frac{\beta_{2}^{2}}{2},t>\beta_{2}\end{array} \right.\), \(g_{3}\left(t\right)=\beta_{3}^{2}\text{ln}\left(\cosh\frac{t}{\beta_{3}}\right)\). The transfer function for input, hidden, and output layers is selected as the derivative of \(g_{1}\left(t\right)\), \(g_{2}\left(t\right)\), \(g_{3}\left(t\right)\), which is respectively calculated as \begin{table}
\begin{tabular}{c c c c c c} \hline \multirow{2}{*}{**Eye Image**} & \multirow{2}{*}{**Pupil Center (\(x\), \(y\))**} & \multicolumn{4}{c}{**Glint Center (\(x\), \(y\))**} \\ \cline{3-6}  & & **1** & **2** & **3** & **4** \\ \hline
1 & (290.15, 265.34) & (265.31, 298.65) & (294.56, 300.87) & (266.41, 310.28) & (296.25, 312.49) \\
2 & (251.42, 255.93) & (245.58, 292.36) & (276.54, 295.13) & (246.19, 305.67) & (277.51, 307.26) \\
3 & (203.34, 260.81) & (221.95, 297.32) & (252.49, 298.61) & (221.34, 309.17) & (253.65, 310.28) \\
4 & (297.74, 275.62) & (271.25, 300.56) & (301.58, 300.67) & (270.91, 315.66) & (300.85, 315.46) \\
5 & (247.31, 277.58) & (243.25, 302.62) & (273.55, 303.46) & (242.81, 317.54) & (274.26, 318.19) \\ \hline \end{tabular}
\end{table} 
Table 1: A sample of the pupil and glint centers. Figure 7: Calibration model: (**a**) four-marker calibration model; (**b**) six-marker calibration model; (**c**) nine-marker calibration model; (**d**) 16-marker calibration model. \(f_{1}\left(t\right)\), \(f_{2}\left(t\right)\), \(f_{3}\left(t\right)\): \(f_{1}\left(t\right)=\frac{\mathrm{d}g_{1}\left(t\right)}{\mathrm{d}t}=\frac{4 \beta_{1}te^{-\beta_{1}t^{2}}}{\left(1+e^{-\beta_{1}t^{2}}\right)^{2}},f_{2} \left(t\right)=\frac{\mathrm{d}g_{2}\left(t\right)}{\mathrm{d}t}=\left\{ \begin{array}{l}-\beta_{2},t\leqslant-\beta_{2}\\ t,\left|t\right|\leqslant\beta_{2}\\ \beta_{2},t>\beta_{2}\end{array} \right.,f_{3}\left(t\right)=\frac{\mathrm{d}g_ {3}\left(t\right)}{\mathrm{d}t}=\beta_{3}\mathrm{tanh}\frac{t}{\mathrm{d}t}\). Learning rate parameter \(\mu\) is determined by \(\mu=\mu_{j}=0.0025\) (when a four-marker calibration model is employed, \(j=1,2,3,4\); when a six-, nine-, or 16-marker calibration model is employed, \(j=1,2,3,4,5,6\)). In order to acquire optimal learning and training results, \(\beta_{1},\beta_{2},\beta_{3}\) is respectively determined as \(\beta_{1}=0.8\), \(\beta_{2}=0.7\), \(\beta_{3}=0.7\) through a process of trial and error. The initial condition \(a\left(0\right)\) of an integrator associated with learning rules is acquired through linear polynomial calculation in direct least squares regression. In the developed wearable gaze tracking system, an array of four near-infrared light emitting diodes (NIR LEDs) is employed instead of the conventional single one. The NIR LEDs array can form well-distributed illumination around the human eye, which contributes to extract pupil and glint characteristics more stably and precisely. In addition the center position coordinates of quadrangular NIR LEDs, considered as inputs of the neural network, can further compensate for error caused during the process of gaze point calculation.