Can anyone recommend a decent java library for face detection (recognition not required, just detection). The library would preferably be pure java (e.g. no dependencies on other native libs, DLLs or such). Platforms: Linux is a must; OS X and windows are very nice to have. Performance isn't a big deal, can be slow, it's for server offline processing. All I need to know is: are there faces in the photo? If yes, what are the coordinates of their bounding boxes? Thanks
There is an OpenCV binding for processing that could be used with pure java I think. But it depends on the OpenCV framework so its only a solution if you don't find anything else.
Check out Jon's Java Imaging Library which has face detection built in. You may have a little bit of work to do since it was originally written for J2ME but has a library for J2SE.
Look for Java implementations of Eigenfaces. The OpenCV binding is a real pain in java and a cross platform environment.
Faint (and sourceforge) apparently wraps OpenCV, but also have a pure java eigenfaces (detection). It is sadly GPL - I've recently asked whether they'd consider LGPL.
Here's OpenCV, btw. Wiki. "OpenWiki", since the former is closed. "Face Recognition using OpenCV" - apparently what Faint does. A guy that has used OpenCV and JNI, doing real time detection on a webcam.
Here's the Face Recognition Homepage's page about algorithms (academic papers, not java).
Finally, since I can't comment on other people's "answers", I'd like to know if @steven actually knows of any such library, or if he just, in effect, says "Google it, I personally have no idea whatsoever"??