Need help with FaceSubstitution?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

arturoc
430 Stars 121 Forks Other 34 Commits 20 Opened issues

Description

Face substitution experiments using ofxFacetracker

Services available

!
?

Need anything else?

Contributors list

No Data

FaceSubstitution

This repository stores some experiments from Arturo Castro and Kyle McDonald exploring realtime face substitution using face tracking and cloning. These examples here are based on a few other packages, including:

They all require openFrameworks. FaceSubstitution and ScrambleSuit require ofxCv and ofxFaceTracker. Example projects are provided as openFrameworks XCode projects. To compile on other operating systems, you should first build a working ofxCv project, then an ofxFaceTracker project, and finally switch out the source for the example you're interested in.

Keep in mind that openFrameworks, ofxCv, and ofxFaceTracker are constantly evolving. To compile these examples you'll need versions of each that were released before or at the same time that the commit was made, as newer versions may be incompatible.

CPUCloning

Demonstrates a GPU-based clone using OpenCV to compute the masked blur. This is easily realtime for camera-sized video, and provides the most accurate "fake" clone.

GPUCloning

Demonstrates a GPU-based clone that uses GLSL shaders to compute the masked blur. This can be significantly faster than the CPU clone, but does not have the same accuracy due to the multi-pass blur computation.

CloningWrapper

Provides a single class

Clone
, that wraps the GPUCloning approach with a simple interface.
Clone
contains the shader source inline, which means you only need
Clone
to do cloning -- no extra files are required.

FaceSubstitution

Uses CloningWrapper with ofxFaceTracker to clone a face from disk onto a face in real time.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.