octavian-sima edited this page Dec 10, 2010 · 80 revisions

AIKnowU – Face Recognition for Mobile Phones

This application aims to recognize the persons from a certain image using a mobile phone. In a file browser, the user chooses an image and sends it to a server. The moment it receives the results, the application shows the detected faces and, for each of them, a number of persons that have similar faces, together with information ( name, occupation, birthday and telephone number ) about them.
In order to be able to recognize one particular person, it is necessary that pictures of that person’s face are stored in the database used for recognition.
In addition to this, information about this person ( at least first name and last name ) should be inserted in the Database. To add pictures and information about a person into the database, you can install the server and use the Webcam Application in the train mode.
In order to obtain the best recognition results, you should choose carefully the pictures you store in the database. It is advisable to have both frontal and slightly rotated pictures and the photos should be taken in various lighting conditions.
The code is offered under the Open Source BSD license.

See more:

Using Face Recognition for Mobile Phones

  • Phone application

    If you want to test or use the phone application only, all you need is a mobile phone which supports Java ME with MIDP 2.0. Just download the iKnowU.jar file from HERE and install it on your mobile.
    You can use the default server, ask for a server address from your administrator, or install the server for yourself (like here).

    A preview and some details can be found here: Mobile Application.

    More details about how to use the application can be found by accessing the Help menu from the application.

  • Installing and using the whole application


Future work

This project can further be extended to a mobile feature that will allow you to sort your photo gallery by the name of the persons who appear in the photos (training faces can be taken from a Facebook account).
An educational software which shows marks and info about a student recognized into a photo and surveillance system are also taken into account.
Another future work could be the extension of the web-cam application to a computer web-cam authentication system for logging in.

Comparison with other products on the market

A wide range of domains and activities can be substantially improved using face recognition: law enforcement and surveillance (suspect tracking and investigation), access control, biometrics (passports, driving license), information security (authentications), artificial intelligence (robots interactions with humans).

State of the art

Some of the most interesting face recognition systems are presented below:
  • U.S. Department of State operates one of the largest face recognition systems in the world with over 75 million photographs that is actively used for visa processing and not only.
  • Pennsylvania Justice Network searches crime scene photographs in the mugshot database of previous arrests. A number of cold cases have been resolved since the system became operational in 2005.
  • The Australian Customs Service has an automated border processing system called SmartGate that uses facial recognition. The system compares the face of the individual with the image in the e-passport microchip, certifying that the holder of the passport is the rightful owner.

Less performant face recognition systems are available for social activities and interaction of normal users:

  • Google’s Picasa digital image organizer can associate faces with persons and a user can find all pictures with some specific persons together.
  • Apple iPhoto uses the same principle as our application and tries to recognize persons in photos to organize the iPhone photo gallery.

Why to choose iKnowU?

Our application uses a state of the art computer vision library (OpenCV) with good results.
The code is structured in optimized and independent modules, each module can be used to develop another application. The application can be personalized by modifying one of the multiple settings.

Getting involved

If you want to get involved in this project or to use some of the modules to develop your own application, you can contact one of the two developers using the information from the Contact section.