Eye-Control Mouse
An open-source computer-vision project that moves the mouse cursor using only your eyes and an ordinary webcam. I built it for the Omid event, where it won 2nd place, and I keep developing it.
Webcam frames are processed on their own thread: MediaPipe Face Landmarker finds the face, eye and iris landmarks (478 points), each iris position relative to its own eye corners becomes the gaze feature, and a calibrated mapping turns it into screen coordinates.
A fullscreen 9-point calibration shows a gaze-stability indicator and supports affine, polynomial and RBF mappings. Cursor motion is smoothed with a Kalman or EWMA filter, and clicks come from blinks, dwell or left/right winks. A system-wide emergency-stop hotkey works in any application, and calibration and settings persist between sessions.
The UI is PyQt6 and runs on Windows, macOS and Linux. All video is processed locally; no frame is stored or sent anywhere. The code is tested with pytest on GitHub Actions. Its main use is accessibility for people who cannot use a regular mouse.
Key features
- 2nd place at the Omid event
- Face, eye and iris tracking with MediaPipe Face Landmarker
- 9-point calibration with affine, polynomial and RBF mapping
- Kalman or EWMA cursor smoothing
- Clicks by blink, dwell or left/right wink
- System-wide emergency-stop hotkey
- Fully local processing; no frame is stored or sent
- PyQt6 UI for Windows, macOS and Linux with automated tests
Technologies
My role
Developer — computer vision
This project is open source; the code is available on GitHub.