Open In App

Eye Tracking Metrics – Machine Learning

Eye-tracking is an important and essential field researchers sought after. Eye-tracking is also an emerging field and has its benefits and is used in multiple ways.

Fixation and Saccade are two basic components of eye movements used in Eye tracking. 




Fixations:  

Fixations are the most common feature of gazing a subject that eye-tracking researchers often analyze to conclude about cognitive processes or states that they are interested in making a deep and rigorous study about. Fixations are when our eyes essentially stop or pause to examine the scene that it is looking at. The central foveola vision of the eye is paused in a place so that the visual system can consume in detailed information about what it is the scenario in front. Fixations essentially as an attribute is built from gaze points.



Gaze points technically tell about what our eyes are looking at any given time. I.e. 

 Consider an eye tracker will collect data of sampling rate of about 80 Hz, we will end up with 80 individual gaze points per second and a gaze point will be reported every 12.5 milliseconds.

i.e. 1 sec = 1000ms

Since we have 80 gaze points

 1000 ms / 80 = 12.5 ms.

When a sequence or series of gaze points are very close to each other both in time or space, they form a bundle of gaze points called a gaze cluster, And this gaze cluster constitutes a Fixation.

Fixation is made of really tiny and slow eye gestures (also known as microsaccades) which helps the eye line up with the target and avoid perceptual fading (fixation eye movements)

Fixations are hence excellent and most valued measures of visual attention.

Saccade:

Saccades are eye movements where our eye (fovea) moves from one point of interest to another rapidly. Since our eye movement is so fast during a saccade, the image read by the retina is of poor quality and information received is vague. Saccade is also a way that our retina maintains the resolution of its inputs. Our eyes cannot understand a clear description of what it had seen. Hence, we can say that the input of information through the eyes mostly happens during fixations.

A saccade can be both non-mandatory and mandatory, also both the eyes move in the same direction. Saccades do not always happen linearly.

Why do we need to calculate Saccade?

How to calculate Saccade velocity?

In order for us to know where our eyes are looking at exactly, 

Also, we can use least-squares optimal method to find saccadic reaction time and saccade duration from tracked gaze points in python by saccademodel algorithm on a series of (x, y) points.

1) Install the saccademodel by pip command

pip install saccademodel

2) Import saccade model and feeding the eye points.




# loading libraries
import saccademodel
  
input_eye_points = [[130.012, 404.231],
                    [129.234, 403.478],
                    [None, None],
                    [133.983, 450.044]]
  
# training the model
results = saccademodel.fit(input_eye_points)
print(results)

Output:

{'source_points': [[130.012, 404.231], [129.234, 403.478]],
 'saccade_points': [[129.234, 403.478], [133.983, 450.044]], 
'target_points': [], 
'mean_squared_error': 71.36571893749988}

3) Now if we know  frame rate, we can calculate saccadic reaction time and saccade duration by converting the lengths to seconds by:




# Number of samples per second
  
framerate = 80.0  
saccadic_reaction_time = len(results.source_points) / framerate
saccade_duration = len(results.saccade_points) / framerate

Conclusion:

To sum it all up, Consider we are watching a car start and reach a target on the same road, The start and target become fixations and the eye movement that follows the Car in between becomes the saccade.



Article Tags :