EyeTab
EyeTab is a 3D model-based gaze tracker that runs entirely on unmodified commodity tablet computers, taking their limited computational and sensor resources into account.
The code is available in two forms:
- A basic version which runs on a supplied example video file. This should give you an idea of the system's operation.
- An extended version for real-time operation on a Microsoft Surface Pro 2. Unfortunately camera APIs are non-trivial, so this is not guaranteed to work on other tablet devices.
System overview
Deployment instructions
EyeTab is written in Visual C++, a small extension of C++ which includes ... It should also work fine as generic C++ with minor replacements of VC++ code.
I chose not to include Visual Studio solution and project files as these will vary depending on how your dependency installations are laid out.
A very rough guide for setting this code up from scratch:
- Make a new empty console application in Visual Studio.
- Correctly include, link, and input the system dependencies.
- Copy the source, header and resource files into your empty project.
Dependencies
The system has several dependencies:
- OpenCV - a multi-purpose computer vision library
- TBB - for multi-threading
- Eigen - provides simple vector maths
In addition, the SP2 version of the system depends on VideoInput for providing high-resolution access to the front-facing camera. OpenCV's camera API is broken and does not support this.