FaceDiff is a new concept I’m working on applying face recognition technology in a way that is useful and hopefully also beneficial to society. The idea is people are walking around in crowded public places all the time and constantly there are faces in their view, such as friends or celebrities, that they would like to know are nearby. FaceDiff will take an image from a video camera connected to their smart phone, break it into faces, and “diff” it against a library of friends and other people of interest they’ve gathered.

Not only that, all the technology that empowers the smartphone app and server software will be available to software developers in API form. That will allow face detection and face matching without any of the tricky code to write, the server to set up, or the infrastructure to support. A few simple calls can put together a library of people and then match a photo of another person, group of people in a crowd, live video – the possibilities are endless.

As a bonus, users of the app will be able to opt-in to have their crowd images scoured for matches of images of missing children. If enough people use the service, it could end up solving a case (hopefully many). Depending on how well that turns out working, I’m hoping to include a system for people to donate money that goes into an escrow “bounty” which – if a missing child case is solved due to leads from users of the app – will be rewarded to those user(s). This encourages people to opt-in, increasing the chance of lives being saved.

So far I’ve gotten the face detection and rudimentary face matching working, along with creating an account and adding facebook friends as “persons of interest” which included detecting faces in the photos of facebook users and guessing who is who within the various photos. All of this is accomplished by calling my own API which will be the same one available to developers.

For those interested in the technology I built a PHP extension that wraps C++ code that does the legwork of the system where needed, the PHP handles most of the basic application layer, and an exciting part is that I’ve written a JavaScript library for calling the API.