Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/kylemcdonald/ofxFaceTracker
- Owner: kylemcdonald
- License: other
- Created: 2011-06-20T21:35:27.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2021-06-28T03:14:45.000Z (over 3 years ago)
- Last Synced: 2024-10-29T17:41:50.980Z (13 days ago)
- Language: C++
- Homepage: http://facetracker.net/
- Size: 1.07 MB
- Stars: 1,394
- Watchers: 124
- Forks: 371
- Open Issues: 55
-
Metadata Files:
- Readme: readme.md
- License: license.md
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