Skip to content

silviu-dev/UserFeaturesTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UserFeaturesTracker

Description

This project is face main features tracker and gaze estimator

Key Features

  • Gaze estimation
  • Blink detection
  • Tracking the user’s face in real time
  • Mouth opening detection
  • Developed in C++ within OpenCV and DLib

User Manual

Installation

  1. Clone this repository:
  git clone https://github.com/silviu-dev/UserFeaturesTracker.git
  1. Navigate to the project directory:
  cd UserFeaturesTracker/UserFeaturesTracker
  1. Build and run the project using build.sh script:
  ./build.sh

Gaze estimation optional calibration step

The plugin is build as an .dll which exports an simple interface:

extern "C" __declspec(dllexport)
void getUserFeatures(UserPositionCallback, UserGazeCallback, UserMouthCallback, UserBlinkCallback, bool needCalibration);

There are four callbacks to handle the information from the .dll and one flag that sets the calibration step. If the calibration is enabled, then before the first call to the .dll, the user is prompted with a window and asked to look at a series of red dots in order to better calibrate the underlying models.

Human Imitator

Unity games example

This plugin demonstrates versatile applicability.

In the main folder ./UserFeaturesTracker/, there are two additional Unity-based applications that leverage this plugin:

  1. The first application, named Human Imitator, features an avatar capable of accurately mimicking the user's movements and the camera angle is calculated based on user relative position to the screen.

    Human Imitator
  2. The second application, CubeEyeMover, introduces a unique interaction mechanic where users can manipulate a cube solely through gaze control.

    CubeEyeMover

Both examples highlight the diverse capabilities facilitated by the integration of this plugin with Unity (version 2020.3.22f1 was used).

System Requirements

  • OpenCV 4.8.0
  • Cmake 3.14 or newer
  • MSVC 19 compiler
  • Dlib 19.24.0 or newer

Contributing

Contributions are welcome! If you'd like to contribute to this project, you can fork it and then submit a pull request with your improvements.

License

This project is licensed under the GNU Lesser General Public License v3.0. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors