Computer Vision : Blob tracking – Face detection

In this ‘Computer Vision’ article you can read about Blob detection and Face detection. I’ve included some video’s to give you an idea about the techniques and links to the most relevant code examples.

A blob is a certain object that represents a certain area of a frame. Blobs can be different things like: hands, faces, balls, ir-lights. They are identified because they differ from other pixels in the frame.

Tracking is identifying blobs that change over time. In multi-touch tables, based on computer vision with a webcam, your fingertips are the blobs that are tracked. Every blob will act as a ‘mouse pointer’.

Blob Detection test by samkeene :

Max Meinders made a good description of all the processing steps involved in Blob tracking :
Max Meinders – videotracking.

Tool/LanguageResource
AS3Fast blob detection in Flash by Tomek
Standalone applicationCommunity Core Vision / Tbeta by the NUI Group Community
Can communicate by TUIO, OSC, XML protocols with other software.
Standalone application and Open Frameworks addonToolkit for Sensing People in Spaces
Opensource. Can communicate by TUIO and OSC. With Flash, Processing, Max and VVVV examples.
ProcessingOpenCV library for Processing by Stéphane Cousot and Douglas Edric Stanley.

Face detection

OpenCV also supports the recognition of special characteristics in an image and use those as a blob. Face detection a tecnique to recognize things that look like a face in an image. It doesn’t recognize a certain face ( although thats possible, see Image recognition ), but it detects facial features.

Face Detection with Processing by Pedro Amado

Face detection works with classifiers. You can learn the computer characteristics of an object. So OpenCV can detect other objects as well, as long you have a classifier file for it.

Keywords : Haar Classifier, Viola Jones object detection framework, cascade classifiers.

Tool/LanguageResource
AS3Viola-Jones object detection by Eugene Zatepyakin
AS3Optimizing Flash Based Face Detection by Mario Klingemann
Processing libaryOpenCV detect Can detect faces, profiles and bodies.

Tomek made a nice example where he tracks faces in the ‘Black and White’ video of Michael Jackson in realtime in Flash ( you can tried it yourself to with a webcam ) : Machines are looking for Michael Jackson.