Eye Movement FGD: Feature-Guided De-drift
- The paper introduces a fusion method that combines iris texture velocity with pupil-edge tracking to correct systematic drift in eye measurements.
- FGD preserves high-frequency eye movement features, achieving up to 55% improvement in precision by mitigating accumulated biases across recording modalities.
- The approach is versatile, applied in video tracking, reading-task correction, and EOG baseline stabilization, demonstrating robust performance across different drift manifestations.
Searching arXiv for the cited works and closely related uses of Feature-Guided De-drift. Eye Movement Feature-Guided De-drift (FGD) denotes de-drifting strategies in which eye-movement features are used to estimate, suppress, or correct slow drift while preserving structure that is diagnostically important for gaze analysis. In video-based eye tracking, implements Feature-Guided De-drift by fusing iris texture velocity with pupil-edge position to remove temporal drift without discarding high-frequency eye-movement information. In reading-task correction, Fix8 operationalizes FGD through semi-automated correction guided by fixation features, AOI geometry, and sequential structure. In electrooculography (EOG), FGD reconstructs a feature-extracted baseline from saccade-aware segmentation and uses wavelet approximation to estimate and remove baseline drift while preserving morphology (Chaudhary et al., 2020, Madi et al., 12 Jan 2025, Hu et al., 9 Sep 2025).
1. Drift as a cross-modal problem in eye-movement measurement
Across the cited works, drift is a systematic error mode rather than ordinary high-frequency noise. In iris-feature tracking, drift arises because eye motion is estimated by matching texture keypoints across consecutive frames, converting their displacements to an eye velocity signal, and integrating that velocity to obtain position. This gives high precision, but even tiny systematic biases in velocity estimates integrate over many frames into large position offsets; template creep, feature loss and re-lock, and blink gaps further exacerbate the problem (Chaudhary et al., 2020).
In reading tasks, drift is a systematic positional error that displaces recorded fixations from their true location, often due to calibration decay, head movement, or lighting change. In multi-line text, this can move a fixation from the intended word to an adjacent word or even to a different line, compromising word-level analyses such as first-fixation duration and gaze duration and potentially inducing spurious effects such as parafoveal-on-foveal and spillover (Madi et al., 12 Jan 2025).
In EOG, baseline drift is modeled as a slowly varying offset added to the measured signal. The reported sources include electrode polarization, contact impedance changes, illumination changes, and background instrumentation noise. In Human–Robot Collaboration (HRC), this drift biases absolute gaze angle estimates and compromises sensor-fusion consistency because fused modalities assume drift-free absolute references (Hu et al., 9 Sep 2025).
| Domain | Drift manifestation | Feature guidance used for de-drift |
|---|---|---|
| Video eye tracking | Temporal drift in iris-integrated position | Iris motion vectors, pupil position, CR, head velocity |
| Reading-task correction | Fixation displacement across words or lines | Spatial y-distance, AOI geometry, sequential order, regressions |
| EOG | Low-frequency baseline drift | Saccade detection, blink removal, baseline stitching |
A plausible implication is that FGD is best understood not as a single algorithm, but as a family of estimators that use reliable eye-movement features to anchor low-frequency structure while retaining high-frequency or task-specific information.
2. and gradient-domain fusion in video-based eye tracking
In , the core design problem is the complementary failure modes of iris-only and pupil-only tracking. Iris-feature tracking excels at precision because it averages over hundreds of texture motion vectors and is less sensitive to edge thresholding and glint occlusions than pupil-edge trackers, but its temporal integration produces characteristic drift error modes. Pupil-edge-only methods compute position per frame by ellipse fitting to the pupil boundary and therefore do not accumulate drift, but they exhibit high sample-to-sample noise and outliers due to illumination, eyelash or eyelid occlusions, corneal reflections on edges, thresholding, and non-elliptical contours under off-axis viewing (Chaudhary et al., 2020).
The pipeline begins with eye ROI segmentation and feature extraction. Each frame is cropped to and resized to for a U-Net iris segmenter; this improved segmentation accuracy by $1.8$–. Contrast is enhanced with CLAHE on the grayscale iris ROI. Texture keypoints are detected, descriptors are computed, and matches across consecutive frames are filtered by Lowe’s ratio test and RANSAC. Each matched feature yields an iris motion vector in image coordinates, and the per-frame iris velocity is obtained from the geometric median of the motion field. Pupil edges are detected with the Pupil Labs pipeline: glint masking, dark pupil mask, morphological opening, Canny edges, contour simplification by Douglas–Peucker, curvature tests, and augmented combinatorial pruning to find the best ellipse. The ellipse center gives the pupil position 0. Multiple glints are detected in the iris mask by thresholding bright spots; their centers are computed via image moments and fitted with a circle, whose center defines 1 for head–eye relative-motion compensation. A fixed forehead ROI is tracked with the same feature-motion method to compute head movement velocity 2 (Chaudhary et al., 2020).
Calibration is split by channel. Pupil position-to-gaze mapping fits a second-order polynomial from 3 to visual angles using 4 calibration targets with diverse horizontal and vertical changes. Iris velocity-to-gaze mapping is performed during calibration saccades by integrating velocity from 5 ms before to 6 ms after each saccade and mapping cumulative displacement to known target spacing, explicitly avoiding a position calibration that would inherit drift. The iris weight is defined by match quality,
7
with 8, and is smoothed across neighboring frames to avoid abrupt jumps. A pupil confidence threshold of 9 is used; complete blinks set both 0 and 1 to zero, whereas partial blinks often preserve 2 even if 3 drops (Chaudhary et al., 2020).
The FGD model is posed in the gradient domain. Let 4 denote the temporal gradient operator. The pupil channel is treated as a Gaussian likelihood on position, and the iris channel as a Gaussian prior on velocity:
5
with 6 and 7. The corresponding objective is
8
Its normal equation is
9
with
0
After CR and head-motion compensation, the fused hybrid position is
1
The key mechanism is that the 2 operator annihilates any constant bias term 3 present in the iris-integrated position; since 4 for slowly varying drift, the fusion ignores bias in the iris channel and trusts the pupil for low-frequency position, while high-frequency components such as tremor and microsaccades are retained in 5. Because 6 is singular, keeping 7 guarantees that 8 is positive definite and invertible (Chaudhary et al., 2020).
The same work notes that this can be interpreted as a steady-state Kalman fusion in mixed domains, with state 9 and drift modeled as a slowly varying latent variable, but the implemented estimator is the closed-form gradient-domain quadratic solution rather than a causal filter. This avoids filter latency (Chaudhary et al., 2020).
3. Robustness, precision metrics, and empirical validation of 0
The reported robustness mechanisms are tied directly to the weight design. During complete blinks, 1 and the last good 2 is held. During partial blinks, iris matches often persist, so 3 remains nonzero even if pupil confidence degrades. Under motion blur and large saccades, 4 causes 5 to decrease smoothly, shifting weight to the per-frame pupil channel; once texture tracking recovers, 6 rises and high-frequency precision is re-injected. Lowe’s ratio test, RANSAC, the geometric median, and CLAHE are used to reject poor matches, stabilize velocity, and mitigate compression artifacts (Chaudhary et al., 2020).
Precision is evaluated in calibrated visual angles. For fixations, the paper uses the most stable 7 ms windows after target onset. Sample-to-sample RMS and standard deviation are defined as
8
and
9
Under fixations, 0 maintains the same accuracy as 1 but improves precision substantially: reported median improvements are at least 2 for S2S-RMS in the verification task and at least 3 for STD. Example reductions reported for S2S-RMS are 4, 5, and 6 for left, right, and cyclopean eyes. For smooth pursuit, detrended segments show median improvements of at least 7 in S2S-RMS and at least 8 in STD (Chaudhary et al., 2020).
The smooth-pursuit detrending procedure is explicit: for each pursuit segment between stimulus direction changes, the interval when both eye position and velocity best match the stimulus is identified; start and end points are defined just before the next reversal; the straight line between these points is fitted and subtracted from the eye trace to yield a near-zero mean velocity signal; S2S-RMS and STD are then computed on the detrended segment. The reported interpretation is that this isolates spatio-temporal stability from the pursuit trend (Chaudhary et al., 2020).
A central demonstration is microsaccade detection between targets separated by 9 (0 arcmin). Cyclopean horizontal velocity is denoised by 1D total variation denoising with regularization 2; a Gaussian mixture is fit to the velocity distribution to estimate an adaptive threshold; microsaccades are then identified with the I-VT algorithm for velocities exceeding threshold within 3–4 ms post-target onset, subject to duration and directional consistency. Across seven subjects, detected counts were 5 out of 6 possible events per subject, whereas 7 was described as too noisy to detect many of these microsaccades (Chaudhary et al., 2020).
The acquisition geometry and timing model are also part of the method’s precision argument. The camera was a Panasonic Lumix DC-GH5S with IR rejection removed, 8 mm focal length, 9, ISO $1.8$0, $1.8$1 s shutter, and $1.8$2 at $1.8$3 fps. Illumination used four $1.8$4 nm IREDs arranged in a $1.8$5 cm square at $1.8$6 cm from the eyes, with total irradiance $1.8$7 W/cm$1.8$8. The camera was $1.8$9 cm from the eyes, and a chin rest without a forehead rest allowed small head motion, which 0 compensated via 1 and forehead-ROI head velocity. Stimulus synchronization was handled with a teleprompter and photodiode/LED method, and raster delay was modeled as
2
The fusion works in the frequency domain rather than via causal low-pass temporal filters, so it does not introduce time lag; zoomed traces showed timestamps aligned with 3 but with much lower noise. The main computational cost is solving 4 per axis, while iris segmentation and matching are the heavier vision stages. The reported system achieves S2S-RMS 5 on real eyes using off-the-shelf hardware (Chaudhary et al., 2020).
4. Semi-automated FGD in reading-task correction
In reading, FGD is instantiated differently. Fix8 defines drift as a systematic positional error that displaces recorded fixations from their true location, often moving them to another word or line. The tool operationalizes FGD by combining automated alignment algorithms with human-guided interaction, with the explicit goal of accurate corrections faster without sacrificing accuracy. It ships 6 correction algorithms and provides assisted correction that proposes fixation-level suggestions that can be accepted or adjusted by the user (Madi et al., 12 Jan 2025).
The Fix8 pipeline begins with eye-tracking events—fixations 7, saccades, and blinks—plus a stimulus image of the text passage and optional participant or trial metadata. Preprocessing includes EyeLink ASCII to CSV or JSON conversion; AOI detection by scanning binarized images and marking region transitions with user-set height and width thresholds; and optional filters such as temporal cut-offs, SD-based outlier removal, merging short nearby fixations, and removing fixations outside the stimulus. The FGD-relevant features are spatial features such as fixation coordinates and AOI geometry, sequential features such as fixation order and saccade polarity or regression pattern, and durational features. The paper states that algorithms mainly rely on spatial and sequential features, whereas durations primarily inform human correctors (Madi et al., 12 Jan 2025).
The correction stage includes multiple families of algorithms. Positional methods are Attach, which assigns each fixation to the nearest line by y-distance, and Chain, which groups fixations into sequences and assigns each sequence to the line nearest the mean y of the sequence. Relative positional methods include Cluster, Merge, Regress, and Stretch. Sequential methods include Segment and Slice. Dynamic-time-warping alignment is implemented as Warp, which aligns fixation sequences to word centers under temporal constraints. Hybrids—Warp+Attach, Warp+Chain, Warp+Regress, and Warp+Stretch—split regressions, correct non-regressive sequences with Warp, then reintroduce regressions and correct them with the second algorithm. The paper notes that it does not include explicit cost-function formulas for line or word alignment, but cites Carr (2022), Al Madi (2024), and related works; examples given in the synthesis include affine alignment minimizing squared distances to line centers for Stretch and cumulative Euclidean distance minimization for Warp (Madi et al., 12 Jan 2025).
The human-in-the-loop mechanism is central. Fix8 displays the algorithm’s suggested corrected position in blue, while the current fixation is magenta, past fixations are red, and remaining fixations are gray. The operator accepts suggestions with the spacebar or overrides them by drag-and-drop or line hotkeys: ‘a’ moves the fixation to the line above, ‘z’ to the line below, and numeric hotkeys 8–9 directly assign line indices. When an override occurs, the algorithm is re-run using the updated fixation data to improve subsequent suggestions; the Attach algorithm is the stated exception because it does not update based on history (Madi et al., 12 Jan 2025).
The reported study used 0 participants, 1 trials per participant, and interleaved manual and assisted conditions. Assisted correction mean time per trial was 2 seconds, compared with 3 seconds for manual correction, yielding a speedup of approximately 4 5. Accuracy on synthetic data was comparable between manual and assisted correction 6, with average accuracy around 7 and 8 trials below 9 due to very severe synthetic drift. Accuracy on real data was also comparable, with mean accuracy around 00 01. Subjective results reported lower workload and higher perceived performance for assisted mode; 02 found it somewhat or extremely helpful, 03 found it somewhat or extremely faster, 04 found it more accurate, 05 preferred assisted over manual, and 06 were somewhat or extremely confident in suggestions (Madi et al., 12 Jan 2025).
A common misconception is that de-drift in reading is simply an automated remapping problem. The Fix8 results instead frame it as a closed-loop process in which automated suggestions and expert oversight interact. The factual basis for that interpretation is the re-suggestion workflow: overrides feed back into algorithm state and refine later suggestions, while the human arbiter resolves cases in which the feature cues conflict or the suggestion appears implausible (Madi et al., 12 Jan 2025).
5. Feature-guided de-drifting in electrooculography
In EOG, FGD is formulated as a morphology-preserving baseline-correction method. The reported signal model is
07
where 08 is the measured horizontal EOG, 09 is the eye-movement–generated signal, 10 is baseline drift, and 11 is residual noise. Acquisition uses three Ag/AgCl electrodes: two lateral electrodes for the horizontal channel and a forehead reference, with analog gain 12, analog low-pass 13 Hz through an SRS SIM983 front-end, and digitization by Arduino UNO ADC. Camera-based reference gaze 14 is obtained from PtGaze (ETH-XGaze), and the de-drifted signal 15 is mapped to angle by a regression model 16 (Hu et al., 9 Sep 2025).
The feature-guided stage begins with blink removal. Blinks are described as short positive pulses on baseline with duration 17 ms. They are detected by two consecutive, oppositely directed surges in the derivative exceeding a threshold within a 18 ms window and are removed to obtain a blink-free 19. Derivatives are computed with lag 20:
21
A dynamically generated threshold 22, based on the standard deviation of 23, is used to detect saccade peaks in 24. Detections within a 25 ms window are grouped, and only the earliest time stamp is retained as 26. For each detected peak, a local threshold 27 is used to scan backward and forward until 28, giving saccade start and end times. The saccadic component 29 is masked out, and the saccade-excluded signal is 30 (Hu et al., 9 Sep 2025).
Baseline reconstruction is the distinctive FGD step. For each saccade 31, the segment after its end up to the next saccade start or the trial end is treated as a floating segment 32. A piecewise constant displacement 33 is then computed by comparing 34 samples before the saccade start with 35 samples after the saccade end. For the first segment, the original 36 is used and the initial five seconds are assumed drift-free; for later segments, the already adjusted previous segment 37 is used. The adjusted segment is
38
and the reconstructed baseline 39 is formed by stitching these adjusted post-saccade segments and using 40 elsewhere. The paper’s interpretation is that 41 represents the EOG baseline as if no saccades occurred (Hu et al., 9 Sep 2025).
Drift estimation then uses 42D multilevel wavelet decomposition. A discrete wavelet transform is applied to 43 for 44 levels, yielding approximation coefficients 45 and detail coefficients 46:
47
The drift trend 48 is reconstructed from the lowest-frequency approximation 49, and the corrected signal is
50
The rationale given is that wavelet approximation is applied not to the entire EOG but to the saccade-excluded reconstructed baseline, so low-frequency estimation is not contaminated by saccadic energy and eye-movement morphology is preserved (Hu et al., 9 Sep 2025).
The reported computational complexity is linear in data length: derivative calculations, thresholding, baseline reconstruction, and discrete wavelet decomposition are all described as 51 or 52 with short filters and 53. The implementation is currently offline because of the wavelet stage, although near-real-time suitability is suggested and real-time substitution such as Kalman detrending is proposed for future work. Latency is said to be dominated by saccade-window completion and drift-estimator smoothing, with typical saccade durations well below 54 ms (Hu et al., 9 Sep 2025).
6. Performance characteristics, limitations, and broader significance
The three instantiations of FGD share a common logic: they do not remove drift by blindly filtering the whole signal. Instead, they use specific eye-movement features to define what should be preserved and what should be treated as drift. In 55, the preserved component is the high-frequency iris-derived motion field and the anchor is the drift-free pupil position; in Fix8, the preserved structure is the fixation sequence as constrained by line and word geometry; in EOG, the preserved structure is the morphology of saccades while drift is estimated from a reconstructed baseline (Chaudhary et al., 2020, Madi et al., 12 Jan 2025, Hu et al., 9 Sep 2025).
The comparative baselines make the same point in different forms. For video eye tracking, pure pupil-edge tracking has the same accuracy as 56 but significantly higher noise, whereas pure iris texture integration has excellent high-frequency precision but suffers drift, fails across full blinks, and degrades under motion blur or sparse matches. For reading correction, fully automated approaches are fast but can be less accurate than careful manual correction, while purely manual correction is time-consuming and subjective. For EOG, high-pass filtering removes low-frequency drift but attenuates and phase-shifts saccades, polynomial detrending preserves morphology but cannot adequately model nonlinear low-frequency drift, and wavelet-only detrending can oversubtract because saccade energy leaks into the low-frequency approximation when the entire signal is decomposed (Chaudhary et al., 2020, Madi et al., 12 Jan 2025, Hu et al., 9 Sep 2025).
The limitations are likewise modality-specific. In 57, severe motion blur or compression can eliminate both iris matches and reliable pupil edges; the fusion assumes near-linear behavior and Gaussian errors; extreme off-axis geometry or strong corneal refraction may violate ellipse assumptions; 58 is singular, so 59 is required; and calibration demands multiple x–y changes, with the minimum number not yet optimized. In Fix8, benefits are strongest when AOIs are well defined; current limitations include no batch processing of multiple trials, limited AOI editing within the GUI, and no built-in stimuli creation. In EOG FGD, performance depends on accurate saccade detection, accurate blink removal, and the assumption that the initial five seconds are drift-free; the current wavelet estimator is offline rather than closed-loop (Chaudhary et al., 2020, Madi et al., 12 Jan 2025, Hu et al., 9 Sep 2025).
Several extensions are explicitly proposed. For 60, the 61 channel could be replaced by a refraction-aware 62D model or by CNN gaze estimates; the method can be applied per eye for vergence analysis; and the same gradient-domain fusion can be used whenever there is a noisy position signal and a drift-prone integrated velocity signal. For EOG, real-time adaptation via Kalman detrending, detailed latency profiling, and larger and more diverse datasets are proposed. The EOG paper also states that the feature-guided baseline-reconstruction paradigm may extend to other biosignals with drift and intermittent high-energy events, including EMG, PPG, or EEG (Chaudhary et al., 2020, Hu et al., 9 Sep 2025).
This suggests that FGD is best characterized as a methodological principle for drift correction in eye-movement research: use domain-relevant features to construct a de-drifting constraint that suppresses slow bias while preserving the structures on which inference depends. In the cited literature, that principle has been instantiated in camera-based gaze estimation, reading-task fixation correction, and EOG baseline stabilization, with each implementation tuned to the dominant failure modes of its measurement modality (Chaudhary et al., 2020, Madi et al., 12 Jan 2025, Hu et al., 9 Sep 2025).