Eye tracking application with a dual-camera pipeline: IR eye camera for pupil detection and scene camera for head pose via ArUco markers. No printing required—markers are rendered in the GUI at screen corners.
python -m venv venv
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate
pip install -r requirements.txtFor best IR pupil detection, use Python 3.10 or 3.11 and install pupil-detectors (pre-built wheels available):
pip install pupil-detectorsWithout it, the app falls back to OpenCV-based ellipse fitting for IR images.
python -m gui.app- Start the application and ensure both cameras are connected.
- ArUco markers appear at the four corners of the main window; the scene camera must see them.
- Run calibration: look at each point when prompted and confirm fixation.
- Calibration data is saved and loaded automatically.
- IR Eye Camera: Compact sensor directed at the eye (e.g., Pupil Labs-compatible or generic IR webcam).
- Scene Camera: Wide-angle camera facing forward to capture the screen and markers.
Edit core/config.py or pass config to the pipeline for camera indices, detector choice, and smoothing parameters.