Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Faceai | 6,666 | 3 years ago | 29 | mit | Python | |||||
一款入门级的人脸、视频、文字检测以及识别的项目. | ||||||||||
Faceswap | 572 | 6 years ago | 9 | mit | C++ | |||||
Real-time FaceSwap application built with OpenCV and dlib | ||||||||||
Faceswap | 446 | 2 years ago | Python | |||||||
Swap face between two photos. | ||||||||||
Proctoring Ai | 397 | 5 months ago | 10 | mit | Python | |||||
Creating a software for automatic monitoring in online proctoring | ||||||||||
Head Pose Estimation | 395 | 4 years ago | 22 | mit | C++ | |||||
Real-time head pose estimation built with OpenCV and dlib | ||||||||||
Libfaceid | 290 | 3 years ago | 8 | mit | Python | |||||
libfaceid is a research framework for prototyping of face recognition solutions. It seamlessly integrates multiple detection, recognition and liveness models w/ speech synthesis and speech recognition. | ||||||||||
Face Landmark Android | 275 | 6 years ago | 6 | apache-2.0 | Java | |||||
Android AR Camera | ||||||||||
Facemoji | 256 | 4 years ago | gpl-3.0 | C# | ||||||
😆 A voice chatbot that can imitate your expression. OpenCV+Dlib+Live2D+Moments Recorder+Turing Robot+Iflytek IAT+Iflytek TTS | ||||||||||
Face Frontalization | 232 | 4 years ago | 15 | Python | ||||||
This is a port of the Face Frontalization code provided by Hassner et al. at http://www.openu.ac.il/home/hassner/projects/frontalize | ||||||||||
Vehicle Speed Check | 223 | a year ago | 11 | Python | ||||||
Vehicle Speed Check |
Setup OpenCV
Setup dlib
Download and install Visual Studio 2015 or later versions
Run Visual Studio
Create new empty project and name it something (for example MyProject)
Make sure the "Debug" solution configuration is selected
In Visual Studio open the Solution Explorer window
Right click MyProject and choose Properties
Click the "Configuration Manager..." button in the top left corner
Setup the configuration for the debug
Change the Configuration in the top left to "Release" and repeat
Setup the configuration for the release
Close the property window
Right click Source Files in the Solution Explorer
Select "Add Existing Item..." and add the .cpp files from this project
Right click Header Files in the Solution Explorer
Select "Add Existing Item..." and add the .h files from this project
Copy haarcascade_frontalface_default.xml from OpenCV sources/data/haarcascades directory to project directory
Download shape_predictor_68_face_landmarks.dat from http://sourceforge.net/projects/dclib/files/dlib/v18.10/shape_predictor_68_face_landmarks.dat.bz2 and place in project directory
After that FaceSwap should work.
If you want to run this on Ubuntu 16.04 run this set of commands:
sudo apt install libopencv-dev liblapack-dev libdlib-dev
wget http://sourceforge.net/projects/dclib/files/dlib/v18.10/shape_predictor_68_face_landmarks.dat.bz2
bunzip2 *.bz2
ln -s /usr/share/opencv/haarcascades/haarcascade_frontalface_default.xml .
g++ -std=c++1y *.cpp $(pkg-config --libs opencv lapack) -ldlib
./a.out
Special thanks to https://github.com/nqzero for providing the build commands.
Special thanks to https://github.com/shaunharker for providing the build commands.
brew install lapack
brew install openblas
brew install opencv
brew install dlib --with-openblas
git clone https://github.com/hrastnik/FaceSwap.git
cd FaceSwap
wget http://sourceforge.net/projects/dclib/files/dlib/v18.10/shape_predictor_68_face_landmarks.dat.bz2
bunzip2 *.bz2
ln -s /usr/local/share/opencv/haarcascades/haarcascade_frontalface_default.xml .
export PKG_CONFIG_PATH=/usr/local/opt/lapack/lib/pkgconfig:/usr/local/opt/openblas/lib/pkgconfig:$PKG_CONFIG_PATH
g++ -std=c++1y *.cpp $(pkg-config --libs opencv lapack openblas) -ldlib
mkdir bin
mv a.out bin
cd bin
./a.out
The algorithm searches until it finds two faces in the frame. Then it estimates facial landmarks using dlib face landmarks. Facial landmarks are used to "cut" the faces out of the frame and to estimate the transformation matrix used to move one face over the other.
The faces are then color corrected using histogram matching and in the end the edges of the faces are feathered and blended in the original frame.
Before...
After...