Theoretical Foundation and GPU Implementation of Face Recognition

Theoretical Foundation and GPU Implementation of Face Recognition

William Dixon (University of Rochester, USA), Nathaniel Powers (University of Rochester, USA), Yang Song (University of Rochester, USA) and Tolga Soyata (University of Rochester, USA)
DOI: 10.4018/978-1-4666-8662-5.ch011
OnDemand PDF Download:
No Current Special Offers


Enabling a machine to detect and recognize faces requires significant computational power. This particular system of face recognition makes use of OpenCV (Computer Vision) libraries while leveraging Graphics Processing Units (GPUs) to accelerate the process towards real-time. The processing and recognition algorithms are best sorted into three distinct steps: detection, projection, and search. Each of these steps has unique computational characteristics and requirements driving performance. In particular, the detection and projection processes can be accelerated significantly with GPU usage due to the data types and arithmetic types associated with the algorithms, such as matrix manipulation. This chapter provides a survey of the three main processes and how they contribute to the overarching recognition process.
Chapter Preview

Face Recognition Algorithmic Structure

This particular facial recognition algorithm includes three main processes: face detection, projection, and search. Face detection identifies potential faces, projection conducts the bulk of the image processing and obtains quantified data from the faces, and the search compares the face data to the face database, finding the closest match, if one exists. Face detection uses a Viola-Jones algorithm, a lighting-based detector, to find key facial features in an image in rectangular sections compared against one another. The next step in face recognition is projection. Projection reduces each of the detected faces into “Eigenfaces” by removing data of lesser importance from each facial image. PCA is the fundamental tool used in projection and will be given its own section here; however a deep understanding of it is not required to understand most of facial recognition. The database is constructed using the same set of routines employed during real-time operation of projection. This not only simplifies the searching process by reducing it to a comparison of identical data structures, it streamlines the program implementation by relying on the same set of functions for database generation and real-time operation. Searching will then find the most closely matching database face to the newly projected face. If the face is matched with sufficient confidence, the algorithm completes by outputting correlated identification data to the user.

Complete Chapter List

Search this Book: