I installed Apple's iPhoto '09 last night to test how the face recognition feature (called "Faces", of all things) worked. There are nearly 4,000 photos in my personal library, so I left it running overnight while it went through the database and, I assume, ran its face detection algorithm. I then decided to run a test. I manually identified the same person in two different photographs and had iPhoto go out and locate matches, which is its next step in its learning process - the user next needs to confirm or not confirm the identity of each one of the identifications it produces.
So how did it do at the end of this first step? Surprisingly well is the answer, particularly for a consumer-grade product. The raw numbers were 72 correct and 16 incorrect at this first step, but that doesn't tell the whole story. In the instances where it was incorrect, all but three were confused with family members (which admittedly is the most likely confusion outcome since for all pictures with faces in the database, generally at least one is a family member). In addition, it also correctly chose pictures where only one eye was visible, where the age was significantly different, and where there were different emotions clearly visible on the faces. It also did not seem to have a problem with different compression levels, low resolution (including one that was very granulated), face paint, under-exposure, black-and-white, scans (of printed pictures), and color. Finally, it made only one error out of 86 pictures in correctly detecting and locating the face.
So, even though this was not a properly constructed test, the results were more than impressive enough to warrant looking at it further for professional use in some applications.
PS. This is not a product review, per se, but I should say that my experience with this just-released version was not all positive. Namely, it was horribly slow during the step where one has to select a picture, go into the Faces mode, and then type in the subject's name. Each entry took two to three minutes to accomplish, so I saw the "spinning beach ball" that Mac OS-X uses to let you know it is busy quite a lot. Hopefully this bug will get corrected and patched quickly.