Cheap and reliable portable face recognition system

faceaccess_portable_facial_recognition

For their senior ECE 4760 project, engineering students [Brian Harding and Cat Jubinski] put together a pretty impressive portable face recognition system called FaceAccess. The system relies on the eigenface method to help distinguish one user from another, a process that the pair carried out using MatLab.

They say that the system only needs to be hooked up to a computer once, during the training period. It is during this period that faces are scanned and processed in MatLab to create the eigenface set, which is then uploaded to the scanner.

Once programmed, the scanner operates independently of the computer, powered by its own ATmega644 micro controller. Users enroll their face by pressing one button on the system, storing their identity as a combination of eigenfaces in the onboard flash chip. Once an individual has been enrolled, a second button can be pressed to gain access to whatever resources the face recognition system is protecting.

The students say that their system is accurate 88% of the time, with zero false positives – that’s pretty impressive considering the system’s portability and cost.

Stick around to see a quick demo video of their FaceAccess system in action.

16 thoughts on “Cheap and reliable portable face recognition system

  1. I believe bty may be right, and I’d love to see a follow up video where they try that. Some additional checks though could clear that up (but at a cost, of course). Maybe combine with a kinect and look to make sure the face is multidimensional, ir to check for tolerable heat, eventually you’re making it for real and not just a school project.

  2. yeah they should see if holding up a picture works

    or twins, or just how close you have to resemble someone to do it
    for example i think mark zuckerberg could open that guy in the grey shirt’s account XD

  3. Toshiba and HP already have Face Recognition software for login. Tohisha requires both left and right angle face shot for perpective. Then when you try a picture, and it wants the side shots, it won’t detect.

    We tried it out without side shots and it would not allow a photoID or a full page print to work.

  4. I’d like to see this used in an augmented reality system. I walk up to someone and it tells me who it is and a bunch of stuff about them from previous encounters.

  5. I’m curious if could use something like a PIR sensor to fix the possible photograph issue?

    Identical twins would probably work, but otherwise I don’t think two ‘alike’ people would pass as each other, the vectors are pretty good.

    Great work though. Showing off things like this will breed lots of other ideas (see comments!)

  6. @t0ast: I was under the impression the Kinect had two cameras to present a stereo image(two eyes == depth perception). I don’t own one, so there’s a possibility I’m wrong.

  7. @Jack: Google Goggles actually does this in reverse. If you show it a person’s contact info it will show you their face and social networking info. Only a matter of time until it does facial recognition I figure…

  8. @M4CGYV3R
    Kinect doesn’t use stereo. It uses pattern projection. Basically it has three openings: IR Pattern Transmitter, IR Camera, Color Camera. The IR Transmitter/Camera are processed to generate a 3D depth map. The 3D depth map and the color image are sent along the USB connection to the XBOX/Computer. All of the processing to assign the armature to the person is taken care of by the XBOX. I don’t believe that any of the drivers for computers have that functionality. …yet
    tl;dr: not stereo, pattern projection

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s