So you are looking for face detection software. You hit the right place!
There are basically two approaches. The classical one is to get some code (source or compiled as a library) and use it within your own application.
A list of source codes, libraries, Software Development Kits, is listed below.
The second emerging approach is to use the power of the Internet, and call web or cloud services. Let's start with the most modern concept:
By using web services, the client software does not need to bother about libraries or platform dependencies, it simply calls a web server, sends the images to process, and gets back the results.
As long as real-time feedback is not an issue, this is an interesting new approach.
- face.com (gone, unfortunately)
- Service for face and facial features finding and recognition. With the nice "API Sandbox" all method calls can be tried without any programming, either with file upload, URL insert, or by selecting sample photos.
Free but limited by number of calls per hour. Note that since Facebook took over face.com, its services will be shut down soon.
- BioID Web Service
- Service for identifying persons by face and/or voice.
Finds faces and sends back standardized face portraits. All methods can be tried with file upload or live webcam recording through the site's integrated Silverlight control.
Needs anonymous registration and is free for single users.
- Betaface Web API
- Service for face and facial features finding and recognition.
Web API including demos, documentation and samples of usage.
Free for evaluation or education purposes as well as non-commercial projects.
The bad thing about the internet nowadays is, that you will not find much
source code around anymore. Nevertheless, here is a (hopefully growing) list of what's
available for free...
- Facial landmark detector
- "flandmark" is an open source C library (with interface to MATLAB) implementing a facial landmark detector in static images.
From the Center of Machine Perception, Czech Technical University, Prague.
- Semantic Vision Technologies
- Face and facial features detection libraries for MS Windows. Free for non-commercial use! From Jacek Naruniec,
Warsaw University of Technology, Poland.
- Face Detection using Support Vector Machine (SVM)
- Includes both datasets and code for face detection using Support Vector
- Face detection demo with library for MS Windows platforms.
- Java wrapper of the face detector of OpenCV including sample applications.
- Visage is a human computer interface that aims to replace the traditional mouse with the face.
Face Tracking DLL
from Carnegie Mellon
- The Advanced Multimedia Processing Lab (AMP) offers face tracking using color
matching combined with deformable templates. Both DLL for Windows and static library for Linux.
face detection program from FhG-IIS
- Demo from the Fraunhofer Institute IIS, Germany. Shows face
tracking and detection using edge orientation matching. Fast multi-face
finding capabilities. Executable only.
- Evaluation of Face
- Resource for all researchers developing face recognition algorithms from
Colorado State University. It provides a standard set of well known algorithms and
established experimental protocols. Includes C source code for face
recognition using PCA (Eigenfaces) and Gabor Wavelets!
OpenCV - Intel's
Open Source Computer Vision initiative
- Now this is really interesting: Intel initiates an open source community for
computer vision. C++ source code for face recognition, motion tracking, and many others.
There's also a mailing list for contributors. Highly recommended! With source code.
- Visit OpenCV at Sourceforge
- Visit OpenCV forum at Yahoo
Vision Source Code
- Not really about face detection, but nevertheless a very useful collection of
image processing code you might need when working in this area. With source code.
COMMERCIAL WARE (as of Mar-17-2013)
There is a growing number of face recognition vendors around who offer SDKs (Software
Development Kits) for integrating their technology into own applications. Most of them
offer the face finding part as an interface. Nevertheless, it might be hard to get such an
SDK without payment... (in alphabetical order:)