Skip to content

johnwmillr/ActiveShapeModels

Repository files navigation

Active Shape Models for face detection

This project was part of my work for Advanced Digital Image Processing at the University of Iowa during spring 2017. You can read my final report for the class here. The report was a tad rushed, my apologies!

Usage

After cloning this repository, run the Example_FindFace script for a walkthrough demonstration of how to use this ASM code for locating a face in an example image.

More than just faces

It's probably worth pointing out that the ASM technique (and this implementation) is not limited to face detection. The models can be trained to detect whatever class of shapes the user chooses. So if you have a set of labeled images of hands (or whatever), you can train a model using the buildShapeModel.m and buildGrayLevelModel.m functions to search for hands (or whatever).

Background

Here is the original Cootes et al. paper. PDFs of the paper are available elsewhere online if you don't have access to the journal. Here is a link to the faces training set I annotated to train my model.

Manipulating the weights on the 1st and 2nd principal components deforms the face shape within an allowable range of variation.