[Paper] Identification of fixations and saccades in eye-tracking data using adaptive threshold-based method

Published: (December 29, 2025 at 07:58 PM EST)
4 min read
Source: arXiv

Source: arXiv - 2512.23926v1

Overview

This paper tackles a surprisingly common problem in eye‑tracking research: automatically separating fixations (when the eyes are relatively still) from saccades (rapid eye jumps). The authors show that the usual “one‑size‑fits‑all” velocity or dispersion thresholds can be brittle, especially when data are noisy or when tasks/participants differ. They propose a lightweight, adaptive‑threshold method that automatically tunes the decision boundary for each recording, dramatically improving classification accuracy and robustness.

Key Contributions

  • Adaptive threshold framework: Formulated fixation/saccade detection as a two‑state Markov process and derived a simple K‑ratio objective that selects the threshold minimizing spurious state changes.
  • Integration with three classic algorithms: Applied the adaptive scheme to velocity, angular‑velocity, and dispersion‑based detectors, demonstrating it works across the board.
  • Comprehensive evaluation: Benchmarked against a multi‑threshold “gold‑standard” on free‑viewing and visual‑search datasets, measuring accuracy, precision/recall, and noise resilience.
  • Noise‑robustness insights: Showed that adaptive dispersion thresholds stay >81 % accurate even with extreme pixel‑level noise (σ = 50 px), while fixed thresholds can collapse below 20 % accuracy.
  • Practical guidance: Provided a decision matrix for researchers and developers to pick the right detector and tuning strategy based on data quality and whether fixation or saccade detection is the priority.

Methodology

  1. Markovian model of gaze – The eye‑gaze time series is treated as a sequence of two hidden states (fixation, saccade). The observed metric (e.g., instantaneous velocity) is assumed to follow one distribution while in a fixation and another while in a saccade.
  2. K‑ratio objective – For any candidate threshold T, the algorithm counts how many times the state would switch (i.e., a fixation → saccade or vice‑versa). The optimal T minimizes the ratio of observed transitions to the theoretical minimum, effectively “flattening” unnecessary flips.
  3. Adaptive pipeline
    • Compute the chosen metric (velocity, angular velocity, or dispersion) on the raw gaze samples.
    • Sweep a plausible range of thresholds, evaluate the K‑ratio for each, and pick the one with the lowest value.
    • Apply the standard post‑processing steps (e.g., minimum fixation duration) using the selected threshold.
  4. Evaluation – Compared the adaptive detectors to a multi‑threshold reference (derived from exhaustive manual labeling) on two task types and added synthetic Gaussian noise at increasing levels to test robustness.

Results & Findings

DetectorBaseline (clean data) AccuracyAccuracy @ σ = 50 px (fixed)Accuracy @ σ = 50 px (adaptive)
Velocity90–93 %< 20 %≈ 78 %
Angular velocity88–91 %< 25 %≈ 74 %
Dispersion85–89 %≈ 55 %> 81 %
  • Baseline: All three detectors perform well on clean recordings; velocity edges out the others.
  • Noise sensitivity: Fixed thresholds degrade sharply; the adaptive scheme recovers most of the lost performance.
  • Precision‑Recall trade‑off: Adaptive dispersion thresholds excel at detecting fixations (high recall) but miss some saccades (lower precision). This mirrors many real‑world use cases where fixation statistics are more critical.

Practical Implications

  • Plug‑and‑play improvement: The adaptive thresholding step is computationally cheap (a simple grid search) and can be added to existing eye‑tracking pipelines (e.g., PyGaze, EyeLink SDK) without re‑engineering the core detector.
  • Robustness for low‑cost hardware: Consumer‑grade eye trackers often produce noisy data; using adaptive dispersion thresholds can keep classification usable, opening up eye‑tracking for web‑based UX studies, AR/VR prototypes, and real‑time gaze‑controlled interfaces.
  • Task‑specific tuning: Developers can prioritize fixation detection (e.g., heat‑map generation for UI layout) or saccade detection (e.g., reading‑speed analysis) by selecting the appropriate detector‑threshold pair.
  • Standardization: By exposing the K‑ratio minimization as a configurable module, research tools can report a reproducible “effective threshold” alongside raw data, improving cross‑study comparability.

Limitations & Future Work

  • Assumption of two states: The Markov model treats all eye movements as either fixation or saccade, ignoring micro‑saccades, smooth pursuits, or blinks, which may be relevant in certain domains (e.g., sports analytics).
  • Threshold search granularity: The current implementation uses a uniform sweep; smarter optimization (e.g., Bayesian search) could reduce runtime for very high‑frequency data streams.
  • Generalization to other metrics: The study focused on three classic detectors; extending the adaptive scheme to machine‑learning‑based classifiers (e.g., CNNs on raw gaze heatmaps) remains an open question.
  • Real‑world validation: Experiments were conducted on laboratory datasets; testing on in‑the‑wild recordings (mobile eye‑trackers, VR headsets) would further confirm robustness.

Bottom line: If you’re building applications that rely on clean fixation/saccade labels—whether for UX research, assistive tech, or immersive interfaces—adding this adaptive threshold step can dramatically improve reliability, especially when your data aren’t pristine.

Authors

  • Charles Oriioma
  • Josef Krivan
  • Rujeena Mathema
  • Pedro G. Lind
  • Alexander Szorkovszky
  • Shailendra Bhandari

Paper Information

  • arXiv ID: 2512.23926v1
  • Categories: cs.NE, nlin.CD
  • Published: December 30, 2025
  • PDF: Download PDF
Back to Blog

Related posts

Read more »