Monday, August 3, 2015

Real-time Face Recognition

Face Recognition (FR) is a biometric method to identify subjects in still images and video sequences. Among the existing biometric techniques, FR has received special attention due to its ease of use and relevance in a variety of applications. More importantly faces are recognized without knowledge of the subject. Automated FR is one of the basic requirements of a smart connected world where it is used in various applications involving human-computer interaction, surveillance, security etc. One of the important application domains of FR is law enforcement applications such as real-time recognition and tracking of criminal suspects in public places. These applications require accuracy of Face Recognition System (FRS) to be very high.

The factors that influence facial recognition accuracy in the real world are variations in illumination, facial expressions, pose angle, occlusions, and variations due to ageing of subjects. Despite the introduction of numerous algorithms for FR, it has been hard to find a single algorithm which targets all the above mentioned factors. Moreover, the software solutions for these algorithms consume significant time in recognizing individuals. According to industry standards, a video stream at 15 frames per second is sufficient to capture fast movements in public places. Even with the availability of high performance computing platforms, recognizing multiple faces in each of these frames in real-time has been a challenge. In addition, real-time performance of FRS is a function of dimension of image, number of classes and training samples. We propose a scalable modular hardware solution for realtime FRS which can support large databases. We explore algorithms with feasibility of real-time hardware implementation and which show good recognition accuracy on face images in different pose and illumination conditions. We come up with a combination of Weighted Modular Principle Component Analysis (WMPCA) and Radial Basis Function Neural Network (RBFNN) which is found to perform better recognition than algorithms used in existing hardware solutions. In addition, modularity in WMPCA encourages us to perform independent operations on different regions of image in parallel streams. Each of these streams consists of a RBFNN classifier which is trained off-line. The outputs from these classifiers are weighted and added to perform collective classification for FR as shown in Fig.1(a). The proposed architecture has been configured to access data from cost effective off-chip memory, making it scalable with respect to database size and input image dimensions. In addition, a novel format used in storing the data minimizes off-chip latencies. The proposed architecture is emulated on Virtex-6 LX550T FPGA. The emulated system can recognize 30 images in each frame of video stream at 15 frames per second. So the number of faces recognized per second is 450 and we assume that detected face images are resized to a size 128 × 128 before recognition. In addition, a Principle Component Analysis (PCA) and RBFNN based implementation is emulated on the same platform for comparison.

In most of the existing architectures, usage of greedy classifiers like NNC has resulted in poor recognition accuracy. NNC also involves distance computation with each sample in the database resulting in dependence of real-time performance on number of samples in each class. In addition, database size and recognition accuracy are highly dependent on the availability of expensive on-chip memory resources. It may hence be beneficial to explore FR algorithms with better recognition accuracies and having the data saved on large off-chip memory.



No comments:

Post a Comment