Computer Vision, Speech Communication &

Signal Processing Group

NTUA | ECE
Faculty | PhD Students | Collaborators
Journal | Book Chapters | Conference
Undergraduate | Graduate | Diploma Theses

AAMtools: An Active Appearance Modeling Toolbox

Overview

AAMtools is a MATLAB-based toolbox for building Active Appearance Models (AAMs) and fitting them to still and moving images.

Active appearance modeling is a successful and popular computer vision technique for deformable object appearance modeling and has found important applications in both image synthesis and analysis problems, most notably for modeling human face images in still images and videos. We have extensively used AAMtools in our work on audio-visual speech analysis, particularly audio-visual speech recognition and audio-visual speech inversion.

AAMtools incorporates our latest research on efficient and accurate AAM fitting algorithms, which are described in detail in the related publication. Parts of AAMtools are written in C++ and OpenGL for additional efficiency. AAMtools can therefore be used for building real-time applications. We have used AAMtools in the visual front-end of a real-time audio-visual speech recognition prototype.

Author

AAMtools's author is George Papandreou.

Architecture

The back-bone of AAMtools is written in Matlab for flexibility, while quite a few critical sub-routines have been implemented in C++ to remove performance bottlenecks and improve efficiency. Repeated image resampling, a heavily utilized procedure during AAM fitting, has been implemented in OpenGL using frame buffer objects and is thus GPU hardware accelerated.

Usage

The code can be used for building AAMs from annotated training images and fitting AAMs to novel images. Utilities such as an interface to OpenCV's face detector for automated AAM mask initialization are also provided.

Compiling

The C++/OpenGL parts of the code are written in standard C++. This part of AAMtools has been compiled successfully both on Linux using gcc and on Windows using recent versions of Microsoft's Visual Studio. Pre-compiled MEX-dynamic libraries for Linux and Microsoft Windows are also included.

Dependencies

AAMtools utilizes OpenGL for performing repeated image resampling efficiently. Therefore:

  • Your PC needs to be equipped with a fairly modern graphics card and you need to have installed the corresponding vendor-provided drivers for OpenGL hardware accelerated processing. We have successfully used AAMtools in conjunction with an NVIDIA GeForce 8600M GS (current laptop) and an ATI Mobility Radeon 9600 (previous laptop), under both Linux and Microsoft Windows XP/Vista environments.
  • You need to install headers and run-time libraries for GLUT (OpenGLUT) and GLEW (GLEW).

We have integrated into AAMtools an interface to the OpenCV face detector. Please install OpenCV if you want to use this module.

Downloads

We will be soon releasing the full source code of AAMtools. Please contact George Papandreou by email.

Publications

The algorithms behind AAMtools are described in the following paper, which should be cited if you use our toolbox in your published research work.
  • G. Papandreou and P. Maragos,
    Adaptive and Constrained Algorithms for Inverse Compositional Active Appearance Model Fitting,
    Proc. IEEE Int'l Conf. on Computer Vision and Pattern Recognition (CVPR-2008), Anchorage, AL, June 2008.
    [pdf] [appendix] [poster] [bib]

AAM Links

To learn more about Active Appearance Models, the following web pages contain related information:
  • The home page of Tim Cootes has many pointers to the related literature, software, and datasets. In particular, the FGnet web site is currently the most comprehensive source of publicly-available annotated face images useful for building face AAM models and comparing the performance of different AAM fitting algorithms.
  • Iain Matthews, Simon Baker, and others at CMU have been very active on AAM-related research. See their research web page here.
  • The DTU AAM web page by Mikkel Stegmann and collaborators has pointers to software and annotated datasets.

Related Software

If you are interested in AAMtools, you might also find the following software useful:

Release History

AAMtools emerged from our research on efficient and accurate algorithms for Active Appearance Model fitting (see more here) and has been utilized in our group's audio-visual speech analysis work. In roughly the current architecture, it is being developed and improved since 2005. The first public version was released in May 2008.

Licensing

AAMtools is Copyright © 2005-2008 by George Papandreou. AAMtools is distributed under the GNU General Public License (GPL). If you are interested in alternative licensing options (i.e. Dual Licensing), please contact George Papandreou by email.

Note: AAMtools is computer vision research software and thus comprehending the code requires familiarity with computer vision ideas and AAMs in particular. Also, due to time constraints, we can only provide limited user support.

Acknowledgments

Financial support for this software has been provided by the FP6 European Network of Excellence MUSCLE, under contract no. IST-FP6-507752. This is gratefully acknowledged.

Last Update: May 3, 2008
For comments or questions contact George Papandreou.

Last modified: Monday, 30 March 2009 | Created by Nassos Katsamanis and George Papandreou