Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kylemcdonald/ofxFaceTracker

CLM face tracking addon for openFrameworks based on Jason Saragih's FaceTracker.
https://github.com/kylemcdonald/ofxFaceTracker

Last synced: 5 days ago
JSON representation

CLM face tracking addon for openFrameworks based on Jason Saragih's FaceTracker.

Awesome Lists containing this project

README

        

# ofxFaceTracker is openFrameworks addon for face tracking, based on Jason Saragih's FaceTracker library.

**This addon breaks on OF 0.11.0 due OpenCV 4. Consider using [ofxFaceTracker2](https://github.com/HalfdanJ/ofxFaceTracker2)**

[openFrameworks](http://openFrameworks.cc/) is an open source toolkit for creative coding.

All ofxFaceTracker code is available under the MIT license, while FaceTracker is provided free for non-commercial use. For commercial use of FaceTracker, please [request a quote](http://facetracker.net/quote/).

## Installation

Required addons:
- [ofxCv](https://github.com/kylemcdonald/ofxCv)
- [ofxTiming](https://github.com/kylemcdonald/ofxTiming) (for some examples)
- [ofxDelauny](https://github.com/obviousjim/ofxDelaunay) (for some examples)

First, download [ofxCv](hhttps://github.com/kylemcdonald/ofxCv).

Then, you need to make a copy of the `libs/FaceTracker/model/` directory in `example-*/bin/data/model/` of each example. You can do this by hand, or `python setup.py` will take care of this for you.

Then you can generate project files with the OF project generator and run the examples. If you see the error `Assertion failed: s.is_open()` when running your app, that means you forgot to drop the model files in the right directory.

If you would like to prototype an idea involving face tracking, I encourage you to download [FaceOSC](https://github.com/kylemcdonald/ofxFaceTracker/releases). Dan Wilcox has some great [FaceOSC templates](https://github.com/CreativeInquiry/FaceOSC-Templates) that will help you get started in environments like Max, pd, Processing, and openFrameworks.

If you're interested in using ofxFaceTracker for face substitution, check out the [FaceSubstitution](https://github.com/arturoc/FaceSubstitution) repository.

## Examples

### iOS

Getting the combination of ofxFaceTracker and ofxCv working on iOS can be complicated and confusing. Try using this [ofxFaceTracker-iOS repo](https://github.com/kylemcdonald/ofxFaceTracker-iOS) as a starting point. Scott Hawley has also made a [FaceOSC iOS port to interface with Wekinator](https://github.com/drscotthawley/FaceOSC-iOS) that may helpful.

### Advanced

Demonstrates how to get the image-space position of the face, and the 3d orientation (collectively, the face "pose") then applies these to the OpenGL context in order to draw an oriented face mesh.

### Blink

An advanced example that shows how you might detect blinking from the extracted eye images. This is not necessarily a robust classifier for whether eyes are open or closed, but works well for blinks as events.

### Calibrated

Fairly complicated example that demonstrates some advanced/experimental features of ofxCv and ofxFaceTracker for doing AR-style augmentation of the face.

### Empty

Provides a minimal example of using an `ofxVideoGrabber` with an `ofxFaceTracker`, then extracts and draws the `ofPolyline` representing the left and right eyes.

### Expression

Demonstrates the `ExpressionClassifier`, which can load, save, and classify expressions into pre-trained categories. Provides basic expressions (eyebrows raised, neutral, smiling) as examples.

### Extraction

Demonstrates how to use the mean face mesh to draw pose and expression normalized representation of the face currently being tracked.

## FaceOSC

FaceOSC sends as much data as possible from `ofxFaceTracker` via OSC, including its pose/position and gestural data, and its raw points. It also streams the image over [Syphon](http://syphon.v002.info/).

You can download a pre-built binary in the [releases page](https://github.com/kylemcdonald/ofxFaceTracker/releases).

#### OSC information

* Pose
* **center position**: /pose/position
* **scale**: /pose/scale
* **orientation** (which direction you're facing): /pose/orientation
* Gestures
* **mouth width**: /gesture/mouth/width
* **mouth height**: /gesture/mouth/height
* **left eyebrow height**: /gesture/eyebrow/left
* **right eyebrow height**: /gesture/eyebrow/right
* **left eye openness**: /gesture/eye/left
* **right eye openness**: /gesture/eye/right
* **jaw openness**: /gesture/jaw
* **nostril flate**: /gesture/nostrils
* Raw
* **raw points** (66 xy-pairs): /raw