This implementation was based on the AAM Library of GreatYao: https://github.com/greatyao/aamlibrary and the parallel fitting algorithm was based on the parallel algorithm designed in "Efficient parallel Implementation of Active Appeareance Model Fitting Algorithm on GPU" by Wang, Ma, Zhu et Sun for CUDA; in this project adapted to OpenMP
The parallel implementation can be found in AAM_Parallel.c/.h
- opencv 1.0 or later
- cmake 2.6 or later
- gcc 7.0
- openmp 4.5
mkdir build
cd build
cmake ..
make
- For model training, you should have several pairs of images and annotations. AAMLibrary supports pts and asf format.
- Download the imm dataset from AAM-API's homepage link: IMM Dataset
- Download helen dataset from this link: Helen Dataset
- Train the Cootes's basic active appearance models using 16 layers
./build train_images_path image_ext point_ext model_file
- Image alignment on an image
./fit model_file image_file