• DocumentCode
    3538158
  • 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
  • fYear
    2012
  • fDate
    10-11 July 2012
  • Firstpage
    121
  • Lastpage
    124
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Application Accelerators in High Performance Computing (SAAHPC), 2012 Symposium on
  • Conference_Location
    Chicago IL
  • ISSN
    2166-5133
  • Print_ISBN
    978-1-4673-2882-1
  • Type

    conf

  • DOI
    10.1109/SAAHPC.2012.16
  • Filename
    6319198