GSOC17 - Facemark API (#1257)
* Initial commit of facemark API
Initial structure of the facemark API and AAM header
* make training function as virtual
* Add: dataset parser
* Bug fix: clear the container before add points
* Add: AAM training - procrustes analysis
* Add AAM model
* Added training function for AAM
* Building bot fixes: remove training overload, explicit cast to float for atof
* + add dependency: imgcodecs
* Build bot fixes: add imgproc.hpp and type casting
* Building bot fix: type casting
* fixing the AAM training to match with Matlab version
fewer model parameters, change the image warp method, change the feature extraction method
* add: AAM fitting
added several functionalities for fitting
* fix warings
* Add: transformation for the initial fitting
* add sample file for aam implementation
* fix warning
* Add LFB Header
* loadTrainingData: Throw an error message if file not exist
* add: LBF prepare training data
* add: data augmentation
* change to double
* add: getMeanShape
* shuffling the dataset and parameters initialization
* add: initial structure of LBF class
* add: getDeltaShapes
Difference between the current shape and the desired shape
* add: random forest training
* generate lbf features
* global regression
* save training data
* fix the parameter initialization
* set the default parameters
* add: initial version of lbf sample
* update the current shape
* compute error
* add: prediction function
* fix some warnings
* fitting function
the result is mis-aligned, shuould be double checked
* add: fitting in the demo
* add dependencies
* Add: tutorial
* add: load model
* fixing training
* use user defined face detector
* Documents, tests, and samples
* Allow custom parameters
* Cleaning up
* Custom parameters for default detector, training, and get custom data
* AAM scales
* minor fixes , update the opencv_extra files
* change path to lbp cascade
* face: avoid memory leaks
* utilize the filestorage for the model, fixing some minor issues
* remove the liblinear dependency
* fix the aam test, avoiding to write any files
* use RNG and changes the test files