faint - The Face Annotation Interface

Developed by Malte Mathiszig, University of Oldenburg
Supervised by Prof. Dr. Susanne Boll and Dipl. Inf. Philipp Sandhaus
              SourceForge.net Logo

This project is a flexible Java framework for face detection and face recognition technologies, that is based on different plugin and filter types. A suitable graphical interface can be used to set up pipelines for detection and recognition by combining these plugins and filters. Moreover an integrated photo browser allows users to apply the face detection and recognition process on personal images.

  1. Project Details
  2. Download and Launch
  3. Demo Videos
  4. Developer Guide

Project Details

Modules included in the current release of faint:

  • OpenCV-Haarclassifier-Detection - JNI adapter to Intel's OpenCV implementation  of the Viola-Jones detection algorithm.
  • Betaface.com-Detection - Web Service adapter to detection functions of Betaface.com.
  • Skin-Color-Filter - Makes use of an 8Kb hue-saturation lookup table, based on training images provided by Michael Jones.
  • Eigenface-Recognition - A pure Java-based implementation of the Eigenfaces approach.
  • Simple-Context-Filter - Recognition filter avoiding duplicate occurrences of a person on a single photo.

The detected and recognized faces are stored in a local database, which can be modified manually from inside the application. In addition all face annotations can also be stored directly into the image files in Adobe XMP-Format on demand.

Initially developed in the context of a Bachelor Thesis at the University of Oldenburg, faint has been integrated into several projects maintained by the OFFIS Institute for Information Technology. To attract a broader audience, the source code has been released under GNU General Public License (GPL) in October 2007.

Download and Launch

Launch via Java Web StartClick the logo on the right hand side to launch the latest version of the faint front end via Java Web Start. You may also obtain an executable JAR file:

Java Runtime Edition 6 or higher is required. In addition, the OpenCV-Detection-Plugin is currently only working on Windows systems.

Demo Videos

The demo videos below show the main features of the faint framework. There is no audio commentary, but most of the presented processes are quite self-explanatory.

Link Length Size Description
Video 1 5:57 Min 38 Mb Video 1 introduces the photo browser, followed by a demonstration of the OpenCV- and the Betaface.com-Detection plugin.
Video 2 2:44 Min 37 Mb Video 2 demonstrates the skin color filter and the possibilities of manual user intervention in the detection process.
Video 3 4:42 Min 18 Mb Video 3 shows configuration and use of the Eigenface-Recognition-Plugin as well as the face database and the manual annotation of faces.

All video files were recorded with Camtasia Studio and require a Flash player.

Developer Guide

To make use of the framework's capabilities in your own applications, it is possible to simply use the JAR file referenced above as a Java library.

The full source code is available from a Subversion repository (SVN) at the project's SourceForge site. If you intend to develop detection or recognition plugins or filters, please have a look at the interfaces package. A module configuration file is used to identify all plugins and filters at startup time. For more information feel free to contact the author via SourceForge.


The faint-framework and all listed modules were developed by Malte Mathiszig in the context of his Bachelor Thesis at the University of Oldenburg and the OFFIS Institute for Information Technology in 2006/2007. Special thanks to Philipp Sandhaus, Susanne Boll, Oleksandr Kazakov and Michael Jones for making the development of this project possible!