Competitor Software
We want to evaluate how Mediapipe compares to other open-source software and computer vision options.
Some opensource options:
xLabs
javascript
webcam
Gaze data is calculated locally and in realtime
Doesn’t require calibration for face detection, but it does for eye gaze.
Outputs a 76-vertex 3D model of the user’s facial features.
Besides tracking where the user is looking on the screen, it can provide details of raw eye movements, which can reveal mental states like tiredness, without calibration.
GazePointer
https://gazerecorder.com/gazepointer/
webcam
c++
calibration needed
application: restricted to control mouse cursor position
Ogama
C#
requires infrared webcams
Its main features include database-driven pre-processing and filtering of gaze and mouse data, the creation of attention maps, areas of interest definition, saliency calculation
openEyes
Can be used with webcams and infrared eye trackers
Requires Matlab
- Starburst (Starburst-1.1.0.tar.gz) – The starburst algorithm is matlab software that can be used to measure the user’s point of gaze in video recorded from eye trackers that use dark-pupil infrared illumination.
- Visible Spectrum Starburst (Starburst-vis-1.0.0.tar.gz) – The starburst algorithm is matlab software that can be used to measure the user’s point of gaze in video recorded from eye trackers that use visible spectrum illumination.
- cvEyeTracker (cvEyeTracker-1.2.5.tar.gz) – cvEyeTracker in a real-time eye-tracking application using theStarburst algorithm written in C for use with inexpensive, off-the-shelf hardware.
PyGaze
http://www.pygaze.org/category/eyetracking/
Python
PyGaze has been benchmarked on EyeLink, iViewX, and Tobii setups, ensuring compatibility and reliability.
PyGaze supports Windows, Linux, and Mac OSX
Designed to work with eye trackers devices, but there are some ongoing projects with webcam
using PyGame-based code
we will have to tell the software where your pupil is once.
OpenGazer
webcam
Requires Linux
Feature point selection: During startup, the user is expected to select feature points on the face using the mouse.
Calibration required
TurkerGaze
webcam
javascript
Requires Linux
GazeParser / Simple Gaze Tracker
https://link.springer.com/article/10.3758/s13428-012-0286-x
GazeParser consists of two components. GazeParser is a Python module for stimulus presentation, data conversion, and analysis. SimpleGazeTracker is an application for gaze recording written in C++.
Two computers (PC) are necessary to use the SimpleGazeTracker.
Requires a chinstrap/head restraint to restrict head movement
ITU Gaze Tracker
https://github.com/devinbarry/GazeTracker
webcam
C#
requires calibration
The network API relies on TCP/IP and UDP
Pupil Labs
Requires eye tracker devices
They have glasses that don’t require calibration
Open API
EyeRecToo
https://github.com/tcsantini/EyeRecToo
https://www.scitepress.org/Papers/2017/62247/62247.pdf
a second-generation open-source software designed for head-mounted eye trackers.
For data analysis, the software recommends using “Eyetrace,” another tool.
The software has been tested with eye trackers like Dikablis Essential/Pro, Pupil DIY, Eivazi’s microscope add-on, Pupil Eye Tracker (Cam1 and Cam2 models), and inconspicuous modular eye trackers from Eivazi, S et al 2018. It also supports tested webcams like PlayStation Eye, Microsoft LifeCams, Logitech C series, etc.
EyeWriter
The EyeWriter was specifically designed to provide individuals with physical disabilities, such as ALS, the ability to communicate and express themselves using eye movements.
The EyeWriter system involves a combination of hardware and software components.
requires calibration
Requires eye tracker devices.
OpenCV
https://towardsdatascience.com/real-time-eye-tracking-using-opencv-and-dlib-b504ca724ac6
It is an open-source computer vision and machine learning software library designed to aid developers in building applications related to computer vision tasks.
OpenCV is cross-platform and works on various operating systems, including Windows, macOS, Linux, Android, and iOS.
OpenCV offers a comprehensive set of functions for image processing, including operations like filtering, edge detection, resizing, color space conversion, and more.
It provides tools for capturing, manipulating, and processing video streams, making it useful for tasks such as real-time video analysis, video enhancement, and tracking.
OpenCV and MediaPipe are two powerful libraries that can be combined to create an eye-tracking system. OpenCV provides image processing and computer vision capabilities, while MediaPipe offers a range of pre-built solutions for various tasks, including facial and landmark detection.
https://www.ijprems.com/uploadedfiles/paper/issue_5_may_2022/309/final/fin_ijprems1657463024.pdf