I'm looking for a robust face detection algorithm/library, preferably in C (C++ is okay too; other languages I can port if necessary). I've used OpenCV's implementation in the past, but I don't think it's invariant to rotation. Doesn't need to be real-time, but it shouldn't be horrendously slow either (maybe one or two seconds per photo is fine). Looking for high reliability, and not a lot of false positives. Does anyone know of any good implementations?
Check out this page on OpenCV Wiki about face detection using Haar-like features.
@floppydisk: The same guy posted another project implementing these Haar-like features for face detection.
The concept is not hard to understand and you could even implement it by yourself. Perhaps the most difficult part is constructing the cascade of boosted classifiers (but openCV has all of that readily implemented!)
Some other methods that can be used in face detection which can be made invariant to affine transformations include: