Mobile Developer's: Intro to Face Recognition/Tracking Mobile Apps

Currently, the consumer and business market is full with mobile apps that can tag you (in some fashion) by analyzing faces on photos or video. These functions are used to give better information to you about the people you are meeting. Have you heard of Google Glasses yet? However on the developer side, how hard is to develop these kind of mobile apps?

iTexico Mobile Apps Face Recognition

A mobile developer faces several issues with this class of mobile apps. The first limitation is all the processing power and the limited storage of the mobile device.  The next is the limited network bandwidth and connection instability, privacy and security concerns are the difficulties that need to be solved. Also, there are many methods and software development choices to achieve face recognition.

The main mobile development idea is to develop a module that can be used to identify people and adapted it to many mobile apps in the future.

Here are the main tasks in order to achieve face recognition that we need to follow as the next steps:

Input image Analysis:  - Given the input image
 - Find the faces in a bitmap graphic object
 - Also returns Confidence, Eyes distance, Position of mid-point between the eyes, face's Pose.
 Pre-Processing:  - Conversion to Gray Scale
 - Histogram equalization: To alleviate background variation, illumination variation, etc.
 - Ellipse mask: To concentrate on the face
 Face Recognition:  - Eigen Faces, FisherFaces algorithms

Eigenfaces is a set of eigenvectors used in solving the computer vision problem of human facial recognition.

A set of Eigenfaces can be generated by performing a mathematical process called Principal Component Analysis (PCA) on a large set of images depicting different human faces. Informally, Eigenfaces can be considered a set of "standardized face ingredients", derived from statistical analysis of many pictures of faces.

Linear Discriminant Analysis (LDA) (Fisherfaces)

PCA does not use class information; PCA projections are optimal for reconstruction from a low dimensional basis, they may not be optimal from a discrimination standpoint.

LDA is an enhancement to PCA Constructs a discriminant subspace that minimizes the scatter between images of same class and maximizes the scatter between different class images. FisherFaces can be defined as an optimization problem of two-dimensional warping specifying corresponding pixels between subjected images.

The data that we need to face recognition is:

~ The mean face vector

~ The Fisherfaces on which the mean subtracted test image should be projected

~ The weights of the Fisherfaces

Optimal time for various operations:

~ Face Detection – 0.9 sec

~ Preprocessing – 0.03 sec

~ Projecting onto the Eigen vector space – 0.4 sec (Variable), increases with the increase in the training database.

~ Detecting the min – 0.01 sec (Variable), similar growth.

~ Entire Process – 1.4 sec

Expected Evaluation:

~ Do the training and testing for a large database

~ The quantities to be considered

                        a) Computation time

                        b) False rejection

                        c) False acceptance

                        d) Correct rejection

                        e) Correct acceptance

                        f) Threshold

Final Thoughts

Actually to make or create a module that do this specific task is really challenging. However, it is a good way to test your developer skills and patience, for some approach from modules on face recognition mobile apps I suggest to check these test videos:

Real-time face tracking on the Nokia N900 mobile phone

TAT augmented ID

The last video is my favorite one, it's about a complex face replacing app check it out:

Face Substitution

About the Author

Francisco Morales is a Computer Systems Engineer with almost three years in web development, he excels in the development of digital image. He currently works at iTexico as Web Developer.

Oscar Salas

Written by Oscar Salas

Oscar Salas is a B2B Digital Marketing Specialist with 5 years of experience, who has helped organizations to grow and expand through strategic brand development and marketing programs. Analytical thinker, cat lover, he enjoys to play the piano and listening to Led Zeppelin He's currently leading the iTexico Demand Gen strategies.

Explore iTexico, The Nearshore + Company 

Explore The Nearshore Services


Recent Posts