Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/johnwmillr/activeshapemodels

Face detection using active shape models 🐍
https://github.com/johnwmillr/activeshapemodels

active-shape-models asm face-detection image-processing shape

Last synced: 3 months ago
JSON representation

Face detection using active shape models 🐍

Awesome Lists containing this project

README

        

# Active Shape Models for face detection
![](/Media/Faces_MultiResolution_horizontal.png "Variations in the gray-level model")

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](/Media/ADIP_ActiveShapeModels_FinalReport.pdf). The report was a tad rushed, my apologies!

![](/Media/Video/ASM_FaceDetection_24-Jul-2017_MUCT.gif "Finding a face using the MUCT layout")

## Usage ##
After cloning this repository, run the [Example_FindFace](Example_FindFace.m) 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.](http://www.sciencedirect.com/science/article/pii/S1077314285710041) 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](http://robotics.csie.ncku.edu.tw/Databases/FaceDetect_PoseEstimate.htm#Our_Database_) 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.