Title :
Parallelizing Principal Component Analysis for Robust Facial Recognition Using CUDA
Author :
Goodall, Todd ; Gibson, Scott ; Smith, Melissa C.
Author_Institution :
Holcombe Dept. of Electr. & Comput. Eng., Clemson Univ., Clemson, SC, USA
Abstract :
Facial recognition techniques are of interest for tracking and identification in densely populated areas where security is an important concern. Traditional recognition techniques have yielded acceptable results with high repeatability but require special conditions such as a voluntary and stationary subject, close proximity, and appropriate lighting. Because no single algorithm yields robust results under uncontrolled conditions, more than one algorithm must be considered. Three popular template-based algorithms involved in facial recognition include Principal Component Analysis (PCA), Linear Discriminant Analysis (LDA), and Independent Component Analysis (ICA). Since facial recognition algorithms require processor-intensive and complicated matrix calculations, these three algorithms could be improved with hardware that can accelerate these calculations. The PCA algorithm studied in this research is a common mathematical method that has been parallelized for other applications, but not for the purposes of facial recognition using General Purpose Graphics Processing Units (GPGPUs). NVIDIA´s CUDA parallel computing architecture is employed to implement the PCA algorithm for the GPGPU device. A C implementation of the PCA algorithm has been optimized specifically for use with CUDA kernels and future parallelization in mind. The results provided in this paper show that the parallel GPGPU implementation outperforms the multithreaded C implementation on a general purpose CPU.
Keywords :
C language; face recognition; graphics processing units; independent component analysis; mathematical analysis; matrix algebra; multi-threading; parallel architectures; principal component analysis; CUDA kernels; GPGPU device; ICA; LDA; NVIDIA CUDA; PCA algorithm; close proximity; facial recognition techniques; general purpose CPU; general purpose graphics processing units; independent component analysis; linear discriminant analysis; mathematical method; matrix calculations; multithreaded C implementation; parallel computing architecture; principal component analysis parallelization; processor-intensive calculations; stationary subject; template-based algorithms; voluntary subject; Algorithm design and analysis; Covariance matrix; Databases; Face recognition; Graphics processing unit; Principal component analysis; Training; CUDA; facial recognition; principal component analysis;
Conference_Titel :
Application Accelerators in High Performance Computing (SAAHPC), 2012 Symposium on
Conference_Location :
Chicago IL
Print_ISBN :
978-1-4673-2882-1
DOI :
10.1109/SAAHPC.2012.16