Created by Yuval Nirkin.
This library provides video\image sequence functionality for finding face landmarks and bounding boxes using dlib.
Main features:
- Matlab interface.
- Saving and loading per sequence.
- Face tracking across frames in a sequence.
- Face statistics for finding the most dominant face.
Link for the demonstration video:
If you find this code useful, please make sure to cite our paper in your work:
Yuval Nirkin, Iacopo Masi, Anh Tuan Tran, Tal Hassner, Gerard Medioni, "On Face Segmentation, Face Swapping, and Face Perception", IEEE Conference on Automatic Face and Gesture Recognition (FG), Xi'an, China on May 2018
Please see project page for more details, more resources and updates on this project.
There are 3 ways to use the library:
- Matlab interface. Please take a look at the MATLAB Tutorial.
- C++ interface. Please take a look at the Doxygen generated documentation.
- Command line tools. Use --help for more information on each tool.
Library | Minimum Version | Notes |
---|---|---|
Boost | 1.47 | |
OpenCV | 3.0 | |
dlib or dlib (Windows) | 18.18 | |
OpenCV's extra modules | 3.0 | Optional - For the LBP face tracker |
protobuf | 3.0.0 | Optional - For loading and saving |
Matlab | 2012a | Optional - For building the MEX function |
- Use CMake and your favorite compiler to build and install the library or download the available binaries from here.
- Add find_face_landmarks/bin to path.
- Add find_face_landmarks/interfaces/matlab to Matlab's path
- Download the landmarks model file: shape_predictor_68_face_landmarks.dat
[1] Yuval Nirkin, Iacopo Masi, Anh Tuan Tran, Tal Hassner, Gerard Medioni, On Face Segmentation, Face Swapping, and Face Perception, arXiv preprint arXiv:1704.06729, 22 Apr 2017.
[2] Davis E. King, Dlib-ml: A Machine Learning Toolkit, Journal of Machine Learning Research, 2009.
[3] V. Kazemi and J. Sullivan. One millisecond face alignment with an ensemble of regression trees. In Proc. Conf. Comput.Vision Pattern Recognition. IEEE, 2014