2025-02-04 23:50:58 +08:00
2024-09-28 22:12:28 +08:00
2024-09-28 22:05:53 +08:00
2024-09-29 21:48:20 +08:00
2025-02-04 23:50:58 +08:00
2025-02-04 23:50:58 +08:00
2024-11-03 10:49:53 +08:00
2024-09-28 22:12:28 +08:00
2024-11-04 09:32:53 +08:00
2024-09-29 21:48:20 +08:00

EyePy

made-with-python Open Source Love License: MIT GitHub stars

This is a Python library that provides webcam-based eye tracking. Extract facial features, train eye tracking model and predict gaze with super easy to use interface.

Usage Showcase

Demo

Installation and Interactive Demo

Clone this project:

git clone https://github.com/ck-zhang/EyePy

Using Pip

pip install -r requirements.txt
python demo.py

Using uv

pip install uv
uv sync
uv run demo.py

Options

  • --filter {kalman,kde}: Filter method; kalman for Kalman Filter, or kde for a cool contour like in the demo
  • --background BACKGROUND: Path to background image file
  • --confidence CONFIDENCE: Set confidence interval for KDE contour; value must be between 0 and 1
  • --camera CAMERA: Specify camera index

Usage

Initialization

from EyePy import GazeEstimator
gaze_estimator = GazeEstimator()

Feature Extraction

import cv2
image = cv2.imread('image.jpg')
features, blink_detected = gaze_estimator.extract_features(image)
if blink_detected:
    print("Blink detected!")
else:
    print(features)

Training the Model

X = [...]  # Features
y = [...]  # Gaze coordinates
gaze_estimator.train(X, y)

Predicting Gaze Location

predicted_gaze = gaze_estimator.predict([features])
print(predicted_gaze)

Future Work

TODO

  • Integrate with OBS
  • Integrate with opentrack

Any suggestions for features and improvements are welcome.

If you enjoyed using EyePy, consider giving it a star.

Description
EyePy is an eye tracking library easily implementable in your projcets
Readme MIT 351 KiB
Languages
Python 100%