Face detection using active shape models 🐍
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Faces Move getFace again May 1, 2017
Landmarks
Media Add GIF of face location with MUCT layout Jul 24, 2017
SavedModels
Utilities
Visualization
.gitignore Add support for MUCT models Dec 15, 2017
Example_FindFace.m
Example_buildMuctModel.m
LICENSE
README.md
alignShapes.m It's working!!! Apr 29, 2017
buildGrayLevelModel.m
buildShapeModel.m
estimateFaceLocation.m Update to accomodate new file locations and names May 1, 2017
findFace.m
getFaceRegions.m
placeLandmarks.m
placeShape.m Add support for MUCT models Dec 15, 2017

README.md

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.