Real-Time, Detailed Face Tracking On a Nokia N900 139
ptresadern writes "Researchers at the University of Manchester this week revealed a detailed face tracker that runs in real-time on the Nokia N900 mobile phone. Unlike existing mobile face trackers (video) that give an approximate position and scale of the face, Manchester's embedded Active Appearance Model accurately tracks a number of landmarks on and around the face such as the eyes, nose, mouth and jawline. The extra level of detail that this provides potentially indicates who the user is, where they are looking and how they are feeling. The face tracker was developed as part of a face- and voice-verification system for controlling access to mobile internet applications such as e-mail, social networking and on-line banking."
Finally, something to do with this phone (Score:4, Interesting)
was the n900 a good buy? (Score:3, Interesting)
Articles like this make me glad that I bought the n900 because it is the premier development environment for phone based science, unfortunately, the downside is that there aren't very mainstream apps for the n900 (google maps being the most glaring absence).
Re:Finally, something to do with this phone (Score:3, Interesting)
As soon as Apple releases an iPhone with a slide out QWERTY keyboard, I'm in.
Why would you bother? That's a completely different class of gear.
iPhone is a phone with a bunch of toys, N900 is a full sub-notebook with phone capabilities tacked on.
The former can run just a few random "apps", the latter allows you to install a regular OS with all of its functionality.
The keyboard is one of significant advantages of N900, but definitely not the main one.
For one, the research done in this article would be flat out impossible on iPhone due to its closed nature.
Blacks? (Score:5, Interesting)
How well do they work with black people? These have been issues in other face recognition systems.
Viola-Jones? (Score:2, Interesting)
Re:Finally, something to do with this phone (Score:5, Interesting)
... low amount of apps, etc.
You can install Debian packages on an N900. It's essentially a tiny ARM tablet running Linux.
Re:Finally, something to do with this phone (Score:5, Interesting)
Ahem.
I had an iPhone before my N900, and frankly I adore the N900. It's fast, responsive, and it's easy to understand what's going on. If the music's skipping (which happened on both devices), I pull up top, then renice my music player. If I want a nice note-taking program, I just run emacs & org-mode on it. Then I'll 'git push' those notes for my other machines. I use citrix to run an app at work (note: despite what the website says, it doesn't actually require motif). The map program (not the stock one, but one you can download a package for) is utterly fantastic. I even have a subway map for my city.
Really, advanced users of the iPhone really just want a mobile computer, with a phone tacked on. The UI on the N900 is pretty good, and it does what I want with few problems, and many, many wonderful plusses over the iPhone platform.
Also, it has a keyboard, replaceable battery, and flash :-) I can stream full-screen flash videos in a cab.
Re:Finally, something to do with this phone (Score:4, Interesting)
Re:Finally, something to do with this phone (Score:1, Interesting)
You're an idiot. The iPhone runs a regular OS (OS X) just with a different UI designed for small touch-screen usage and it is locked down so you can only do Apple approved things with it. The N900 runs a regular OS (a Linux variant) with a custom UI designed for small touch-screen usage and it is deliberately left wide open and unrestricted so the user can do whatever they want with the device. The big difference between the devices is the restrictions placed on the users and developers.
And who are you to tell me how to be happy, if I want to treat my N900 like the small computer it is rather than a phone that can run a few cool apps, I damn well will.
(Posted from my N900 ;)
Re:Finally, something to do with this phone (Score:3, Interesting)
Anyone who thinks there is a "low amount of apps" for the N900 must be counting the apps in the Ovi Store.
The Ovi Store is where all the crappy commercial apps are, and there are few. I have 2 apps installed from there. The good apps are in the community repos, and there are MANY.
Plus there are the Debian packages on top of that.
Re:Finally, something to do with this phone (Score:3, Interesting)
but it seems like the last two or three years have seen a big decline in passion for nerdy computing, with discussion here now little different from other sites like Reddit
Yes. I'd say that the popularity of discussions about completely non-nerd-friendly, hacker-useless products like the iPhone and iPad indicates a shift in viewership. I've never owned an N900, but after reading the above comments I must say it sounds like a device that I would get something out of. I say that as a software developer, but as you point out, this is a site that's supposed to be "News for Nerds."
Re:Viola-Jones? (Score:3, Interesting)
Active Appearance Models work by creating a deformable model of appearance built by combining a point distribution model with a texture model using principal component analysis (PCA). Basically what that means you take a bunch of faces, located landmark points like the corners of eyes, apex of the chin, etc., create an average face and use PCA to statistically model the variations. Next you morph the faces together from their original landmark points to average face, and do a PCA on the pixel values. This creates a pixel-wise model of 'texture' which also models variations. With these two parts you have a thing that (with a good sampling of face) models most faces and emotions with about say 80 to 120 numbers and statistical ranges for those numbers.
So how do you use this to track faces? Well you use gradient decent to optimize the appearance of the face to image by adjusting those 80-120 values, x, y, scale, rotation until the pixel difference is close to zero. The trick is the gradients are approximated by precomputed derivative images, but this only works if the model is initialized on top of the original face. You can see in the video, he used Viola-Jones (the green squares) to locate the face and then dropped the AAM on top of it. He's only showing the landmark points and not the texture model.
I did my dissertation on this almost a decade ago for tracking MRs of hearts, even back then it was pretty fast. What's interesting is not only can the model identify, but you can also reconstruct synthetic images of faces, and the model parameters could be used for identifying a person, identifying an emotion, creating a synthetic face swapping another person's identity but keeping the same parameters for expression, etc. My own implementation reliably detected anomalies in beating hearts.
I really wanted to build a business around it back then, but it was in conflict with my advisor and university at the time.