Skip to content

NativeSensors/EyeGestures

PyPI - Downloads made in PL

EYEGESTURES

EyeGestures is open source eyetracking software/library using native webcams and phone camers for achieving its goal. The aim of library is to bring accessibility of eye-tracking and eye-driven interfaces without requirement of obtaining expensive hardware.

Our Mission!

Warning

Before contributing read the contributing.md guide!

πŸ’œ Sponsors:

Important

EyeGestures is a fully volunteer-based project and exists thanks to your donations and support.

Donation

πŸ“’πŸ“’ If you are bussiness and would like to collaborate, reach us: contact@eyegestures.com πŸ“’πŸ“’

We are happy to be involved in your project!


πŸ”¨ Projects build with EyeGestures:

πŸ’» Install

python3 -m pip install eyeGestures

Warning

some users report that mediapipe, scikit-learn or opencv is not installing together with eyegestures. To fix it, just install it with pip.

βš™οΈ Try

Tracker works best when your camera or laptop is at arm's length, similar to how you would typically use it. If you are further away, it may be less responsive for now - currently working on solving this issue.

python3 examples/simple_example_v4.py

πŸ”§ Build your own:

Engine V4 - Rust based enginee:

from eyeGestures.utils import VideoCapture
from eyeGestures import EyeGestures_v4

# Initialize gesture engine and video capture
gestures = EyeGestures_v3()
cap = VideoCapture(0)
calibrate = True
screen_width = 500
screen_height= 500

# Process each frame
while True:
  ret, frame = cap.read()
  event, cevent = gestures.step(frame,
    calibrate,
    screen_width,
    screen_height,
    context="my_context")

  if event:
    cursor_x, cursor_y = event.point[0], event.point[1]
    fixation = event.fixation
    saccades = event.saccadess # saccadess movement detector
    # calibration_radius: radius for data collection during calibration

Legacy Enginees:

With release of V4 rust based engine shared betweeen all eyegestures versions (web and desktop), fully pythonic enginees become deprecated. This decision was driven by trying to achieve single algorithm powering eyegestures application. Keeping multiple different enginees was beyond ability to maintain it. Source code can still be found in src/Legacy.

πŸ”₯ Web Demos:

rules of using

If you are building publicly available product, and have no commercial license, please mention us somewhere in your interface.

πŸ“‡ Find us:

Troubleshooting:

  1. some users report that mediapipe, scikit-learn or opencv is not installing together with eyegestures. To fix it, just install it with pip.

Missing feature or facing a bug?

Create new issue so we can tackle it!

πŸ’» Contributors

πŸ’΅ Support the project

We will be extremely grateful for your support: it helps to keep server running + fuels my brain with coffee.

Support project on Polar (in exchange we provide access to alphas versions!):

Subscribe on Polar

Star History Chart