Sulka's Game is a weblog by Sulka Haro. The subjects range from gaming to dragonflies.

iPhoto 09 face recognition

Apple just shipped their new iLife package last week, which came with a new shiny upgrade to iPhoto, their photo management application. I haven’t used the app for a long time, but it now has something no other photo management application does – face recognition. I’ve played around with it for a couple hours and while the feature is very cool, it’s glaringly obvious this is their first iteration at the feature.

Good stuff first: Flagging people in photos is faster with the feature in place. Even the current iteration is useful, and fun. Adding metadata to my shots was never this enjoyable.

The the bad stuff: The interfaces to teach the classifier are slow to use and sorely lack features.

Faces preprocesses the images to find people in your library, but with no progress indicator telling how long it’ll continue the processing. And it takes a long time to do it. Classifying people while Faces is working processed crashes iPhoto. And if you add a face manually to a shot before iPhoto has automatically processed the shot, it destroys the manual classification.

If a face is pretty small or very large, iPhoto just doesn’t find it. I suspect this is done to speed up the detection, but is annoying, and I can’t configure the tolerance. There’s no button anywhere that says, “Really, there are faces in here, search for them goddammit!”

I can ask for a list of photos iPhoto thinks has someone I’ve taught it, but in this mode I can only confirm if that one person is/isn’t the person iPhoto thinks it is and not tell the app who is really in the photo.

There is no view for seeing all faces that haven’t yet been classified, you have to browse the whole library and search for photos that might contain people you haven’t taught the app before.

When telling iPhoto who is in a photo, you’re forced to use the keyboard, even if there’s only a couple people configured in the whole system.

When you start typing for a name and get a list of name suggestions based on people you’ve taught, you can’t use the keyboard to choose from the list, you have to click the suggestion with the mouse, which again slows down the interfaces considerably.

The user interface that shows people who’ve been classified seems to have been designed for users who only teach the app maybe five people or so. Listed people can’t be grouped, and they’re forcefully alphabetically ordered.

For whatever reason, Apple seems to have ignored using other metadata to help the Faces classifier. For example, in a burst of ten shots one second apart from each other, of the same people in the same location over the burst, Faces seems to ignore the fact that I’ve already taught it the people in the previous shots. Combining the time series data of the shots to the face recognition should help, but it doesn’t appear to be there.

Last up, for some reason Faces has trouble recognizing me. I dunno if it’s the eyeglasses, but I’ve gone through sets of shots of myself which are essentially the same, and teaching the app with five shots that are essentially identical doesn’t seem to make it understand I’m the guy in the sixth shot, that’s also essentially the same shot.