Random header image... Refresh for more!

So… Facial Recognition.

The second part of the project is to attempt to recognize faces.  Not just say that something is a face, but specifically, whose face it is.  This will be done in two parts.  First, it needs to detect a face in an image.  That should be fairly easy.  OpenCV has functions and data for face detection built in.  Then the recognition needs to happen on the detected face.  That won’t be quite as easy, because it’s going to involve training the system to figure out who is who.  In other words, the recognition phase will require actual work.

November 26, 2009   No Comments

Facial Recognition System

Everyone’s got a webcam, and no one is using them to the full potential that the technology currently possesses.  People generally think of them as nothing more than a camera, allowing them to have a face-to-face conversation with family members a thousand miles away or record videos that will ruin their prospects of becoming respected voices in the conservative movement at some point in the future.  However, their true potential lies in their use as another input device, like a keyboard or mouse or, to some extent, a microphone.  The EyeToy for the PS2 showed that a video camera could be used as a controller and Microsoft’s Project Natal promises to extend that concept.

For this project, however, I don’t plan to try to implement direct control.  Instead, I’m going to focus on passive facial recognition.  I want to make a distinction between face detection and face recognition.  Detection is what your digital camera does, where it says “The thing in this box is likely to be a face”.  It doesn’t say whose face it is, just that it’s a face.  I want to do facial recognition, which will determine whose face it is.  With this, the computer will be able to know who is looking at its screen and adjust what it displays on the screen accordingly.

While I could do something constructive and useful, like using this system to display messages of interest for a specific person on a common display screen, my ultimate goal is the Minority Report model of displaying targeted advertising to people as they walk by my cube.  CHA-CHING!

For this, I’ll be returning to OpenCV, the computer vision library that I used for the Pong Robot.  Just like with the speech command, most of the stuff I need to pull this off has already been written and is just waiting for me to pull it together.  I get the sense that this won’t be as straightforward as the voice stuff and will almost definitely produce more spectacular failures.

November 25, 2009   No Comments

Crazy Weekend Project 2: Semi-Crazy

As you may recall, back in September, I spent five solid days building a robot that could play Atari 2600 Pong. It wasn’t perfect, but it did beat the computer player in several matches. However, there was significant room for improvement. The motion was too jerky, the trajectory projection algorithm had problems, and the robot was no match for a human player. Over the next five days, I will not be continuing that project.

You see, a couple of weeks ago, I finally bought an XBox 360, so I just don’t have that kind of time to devote to building robots at the moment.  Instead, I’ll be doing something much more practical and limited in scope, and only spend a few hours a day on it.  The rest of the time I’ll be alone in my apartment, immersed in HD gaming glory, like any other sane person would be this weekend.

Now, by “more practical and limited in scope”, I mean that I intend to attempt to build a facial recognition system and voice activated command processor.  The reason for this is plain:  Everyone needs a facial recognition system and voice activated command processor.  What good is a computer without one?  Additionally, these are two of the three necessary pieces that I need in order to fully exploit an HP TouchSmart PC that I got from Haggle.com a few weeks back, which has an integrated webcam and microphone.  The third piece, exploitation of the multi-touch screen, is left as an exercise to the reader.

As with the previous Crazy Project Weekend, I have not done any work in these areas or used any of these technologies prior to the commencement of the Crazy Project Weekend, other than a cursory glance to make sure that I’d have a chance of doing something useful in the timeframe alloted.  Additionally, I will be sharing successes, failures, thoughts, and above all, source code, which, in this case, might actually be useful to other people.

November 24, 2009   No Comments