C++11 implementation of the supervised descent optimisation method
This update adds a pre-trained model (trained on COFW) that achieves a state of the art average error of 0.072 (in percent of the inter-eye-distance) on COFW-test (a884b3fdc8a87714d1cc25b2007df64d874801d2). (The model in our paper has an error of 0.073.)
Additional minor improvements:
This is a major update, containing additions and updates to the library and landmark detection.
The library now contains an implementation of the Robust Cascaded Regression facial landmark detection and features a pre-trained model. Using it requires only a couple of lines of code (see apps/rcr/rcr-detect.cpp).
Major changes to the library:
Major changes to the RCR landmark detection:
Minor changes:
This update again increases the speed of the regressor training a lot (10x-20x). In most cases, the learning should not take more than a few minutes anymore. This is achieved by separating the LinAlg solver from the regressor (1ffa80e), using a PartialPivLU decomposition (c7ef596) and finally we set PartialPivLUSolver as the default (02b4a47). The main thing that matters now is only how fast the projection/feature extraction is.
Additionally, the PartialPivLUSolver can run in parallel if compiled with -fopenmp
(gcc/clang) or /openmp
(VS).
I posted an analysis of Eigen's different methods to solve linear system of equations on my blog.
This is a minor update that mostly increases speed (a lot!) and fixes a few minor issues.
Most notable changes since v0.1.0: