All Projects → kylemcdonald → Facetracker

kylemcdonald / Facetracker

Licence: mit
Real time deformable face tracking in C++ with OpenCV 3.

Projects that are alternatives of or similar to Facetracker

Poseflow
PoseFlow: Efficient Online Pose Tracking (BMVC'18)
Stars: ✭ 330 (-65.04%)
Mutual labels:  opencv, realtime
Spark Streaming Monitoring With Lightning
Plot live-stats as graph from ApacheSpark application using Lightning-viz
Stars: ✭ 15 (-98.41%)
Mutual labels:  realtime
Raspberryrobot
基于树莓派的智能机器人
Stars: ✭ 11 (-98.83%)
Mutual labels:  opencv
Quadray Engine
Realtime raytracer using SIMD on ARM, MIPS, PPC and x86
Stars: ✭ 13 (-98.62%)
Mutual labels:  realtime
Surf Opencv Inclination
Indentify an object by SURF algorithm using OpenCV and calculate the rotatinal angle of the object
Stars: ✭ 12 (-98.73%)
Mutual labels:  opencv
Vsphere Connect
A modern vSphere Client
Stars: ✭ 14 (-98.52%)
Mutual labels:  realtime
Stl.fusion
Get real-time UI updates in Blazor apps and 10-1000x faster API responses with a novel approach to distributed reactive computing. Fusion brings computed observables and automatic dependency tracking from Knockout.js/MobX/Vue to the next level by enabling a single dependency graph span multiple servers and clients, including Blazor apps running in browser.
Stars: ✭ 858 (-9.11%)
Mutual labels:  realtime
Kinectwithopencvforunityexample
Kinect with OpenCV for Unity Example
Stars: ✭ 20 (-97.88%)
Mutual labels:  opencv
Chat21 Ios Sdk
DEPRECATED
Stars: ✭ 15 (-98.41%)
Mutual labels:  realtime
Codimd
CodiMD - Realtime collaborative markdown notes on all platforms.
Stars: ✭ 7,592 (+704.24%)
Mutual labels:  realtime
Deepstream.io
deepstream.io server
Stars: ✭ 6,947 (+635.91%)
Mutual labels:  realtime
Eon
An open-source chart and map framework for realtime data.
Stars: ✭ 875 (-7.31%)
Mutual labels:  realtime
Docker Opencv
OpenCV image for Docker based on Ubuntu.
Stars: ✭ 14 (-98.52%)
Mutual labels:  opencv
Clusterws
💥 Lightweight, fast and powerful framework for building scalable WebSocket applications in Node.js
Stars: ✭ 868 (-8.05%)
Mutual labels:  realtime
Go Mesh
Realtime data exchange platform for Smart Cities
Stars: ✭ 20 (-97.88%)
Mutual labels:  realtime
Idcardgenerator
身份证图片生成工具 generate an id card picture
Stars: ✭ 862 (-8.69%)
Mutual labels:  opencv
Three.js Pathtracing Renderer
Real-time PathTracing with global illumination and progressive rendering, all on top of the Three.js WebGL framework. Click here for Live Demo: https://erichlof.github.io/THREE.js-PathTracing-Renderer/Geometry_Showcase.html
Stars: ✭ 872 (-7.63%)
Mutual labels:  realtime
Channelslightscontrol
Demo app with Django Channels to control Lights over websockets. Made for PyStPete meetup(https://www.meetup.com/Saint-Petersburg-Python-Meetup/).
Stars: ✭ 14 (-98.52%)
Mutual labels:  realtime
Reactivemaps
A data aware UI components library for building realtime maps
Stars: ✭ 944 (+0%)
Mutual labels:  realtime
Facerecognition2
Mediante el uso de un script con OpenCV aprenderemos las caras que nos interesen y con otro script arrancaremos la función de reconocimiento. Control de acceso al laboratorio con reconocimiento facial.
Stars: ✭ 20 (-97.88%)
Mutual labels:  opencv

FaceTracker

This repository is no longer maintained, due to challenges of upgrading to OpenCV 4.

FaceTracker is a library for deformable face tracking written in C++ using OpenCV 2, authored by Jason Saragih and maintained by Kyle McDonald.

Any publications arising from the use of this software, including but not limited to academic journal and conference publications, technical reports and manuals, should cite the following work: J. M. Saragih, S. Lucey, and J. F. Cohn. Face Alignment through Subspace Constrained Mean-Shifts. International Conference of Computer Vision (ICCV), September, 2009.

FAQ

  1. "I successfully compiled the code, so why is my app is crashing?" Make sure that your model files are in the right location. If you see the error Assertion failed: s.is_open() when running your app, that means you forgot to put the model files in the right directory.
  2. "Is there an example of using FaceTracker on a mobile device?" There is no official example. But there is an example of using ofxFaceTracker on iOS here and a native Android example here.
  3. "Why is the tracking is slow, and why is there high CPU usage?" The face detection step (finding the general location of the face) can be slow. If this is causing an issue, you might want to put the tracking in a separate thread. If the detection is very slow you might try using a face detector that is native to your platform, and initializing FaceTracker with that rectangle.
  4. Can I use this for my commercial project/product? Yes. FaceTracker was re-licensed under the MIT license on April 8, 2020. Previously it was available under a custom non-commercial use license, with a separate license for commercial use available for purchase.

Wrappers are available for:

Installation

These instructions are for compiling the code on OS X and Ubuntu, but it should be possible to compile on other platforms.

First, install OpenCV3 (if you're using OpenCV2, use the opencv2 branch of this repo). On OSX you can use homebrew:

$ brew tap homebrew/science
$ brew install opencv3

And on Ubuntu use:

$ sudo apt-get install libcv-dev libopencv-dev

Alternatively, you can download OpenCV from the GitHub and compile it manually.

After installing OpenCV, clone this repository with git clone git://github.com/kylemcdonald/FaceTracker.git. This repository contains a few subdirectories within the root directory:

  • src (contains all source code)
  • model (contains a pre-trained tracking model)
  • bin (will contain the executable after building)

Next, make sure that your copy of OpenCV is located in /usr/local (this should be the case if you used apt-get). If it isn't located there, modify the OPENCV_PATH in the Makefile. If you installed with Homebrew, it should be set to /usr/local/opt/opencv3.

Optionally, you can also add -fopenmp to the CFLAGS and -lgomp to the LIBRARIES variable to compile with OpenMP support.

From the root FaceTracker directory, build the library and example by running make.

To test the demo, cd bin and ./face_tracker. Because many webcams are 1280x720, try running ./face_tracker -s .25 to rescale the image before processing for a smoother framerate.

face_tracker Usage

Usage: face_tracker [options]
Options:
-m <string> : Tracker model (default: ../model/face2.tracker)
-c <string> : Connectivity (default: ../model/face.con)
-t <string> : Triangulation (default: ../model/face.tri)
-s <double> : Image scaling (default: 1)
-d <int>    : Frames/detections (default: -1)
--check     : Check for failure 
--help      : Print help
-?          : Print help
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].