
spoiler alert The answer to this post is in a comment below.
I had an awesome debug session on my iPhoto project tonight. This is the kind of mystery that programmers live for, in my opinion. It’s a pretty easy puzzle in retrospect (my 7-year-old saw the answer right away), but it thrilled me when I realized the solution. Read on…
I’m querying the iPhoto SQLite database to find all of the faces that the user has tagged. Out of my 5,000 photos, I found 10 that had duplicates. I was concerned that my SQL query had a problem, like I once forgot the clause “AND isInTrash=0”. But that was not the case this time.
I picked one of the offending photos and dug into the data. I saw that it had three recognized faces: one “Dan Dolan” and two “Holly Dolan”. Once I opened up the actual photo, the light bulb illuminated. Below is a cropped version.
Answer to the mystery in a comment below.
iPhoto’s face recognition algo has spotted Holly’s face in the baby photo on the wall behind her.
That’s pretty wild! I haven’t played much with the faces feature yet. It must have to spend a long time chewing through the pictures the first time you add a face. Not to be done on battery power to be sure.
Yeah, I have a ton of matches for photos in our living room, where a lot of pictures are taken. At first I was thinking this was an annoying bug/feature, but it’s just doing its job really well 🙂 Pretty neat!
I started using Picasa again as well recently for better g+ integration. It has a bit different UI for ripping through a large library. I’ll have to go back and play with iPhoto again to see which one I like better… I also just noticed a very cool “Face Movie” feature in Picasa. It matches very similar expressions (and ages, it looks like) for a person and overlays photos, shifted and rotated so that the face is the same from photo to photo. You can choose a slow slide-show or a rapid time evolution. Very cool effect!
One thing I couldn’t find was if you can force it into a strict time line. Running through 3-4k of Jonah pictures last night it seemed to go forward and backward in time. My guess is that it gives similar expressions preference over the date sequence.
Have you tried taking a photo of people standing next to a computer screen showing an iPhoto display of photos of people standing next to photos on a wall? How recursive can you get it to go? 😉
Peter Erwin I love that idea!
And then you could take a picture of the iPhoto interface, import it, and see if iPhoto can recognize itself… (in which case Skynet is probably not far away)