Face recognition is very important in many applications including surveillance, biometrics, and other domains. Fast face recognition is required if she wants to train or test more images or to increase the resolution of an input image for better accuracy in the recognition. Meanwhile, Graphics Processing Units (GPUs) have become widely available, offering the opportunity for real-time face recognition even for larger set of images with a high resolution. In this paper, we explore the design space of parallelizing a PCA (Principal Component Analysis) based face recognition algorithm and propose a fast face recognizer on GPUs by exploiting the fine-grained data-parallelism found in the face recognition algorithm. We successfully accelerated the major three tasks by 120-folds, 70-folds, and 110-folds, compared to a sequential C implementation. For the end-to-end comparison, our CUDA face recognizer achieved a 30-fold speedup.
[1]
Muhittin Gokmen,et al.
CUDA Accelerated Face Recognition Using Local Binary Patterns
,
2012
.
[2]
Harry Wechsler,et al.
The FERET database and evaluation procedure for face-recognition algorithms
,
1998,
Image Vis. Comput..
[3]
Lindsay I. Smith,et al.
A tutorial on Principal Components Analysis
,
2002
.
[4]
M. Turk,et al.
Eigenfaces for Recognition
,
1991,
Journal of Cognitive Neuroscience.
[5]
Y. L. Yu,et al.
Face recognition with eigenfaces
,
1994,
Proceedings of 1994 IEEE International Conference on Industrial Technology - ICIT '94.
[6]
Kevin Skadron,et al.
Scalable parallel programming
,
2008,
2008 IEEE Hot Chips 20 Symposium (HCS).
[7]
Emmett Kilgariff,et al.
Fermi GF100 GPU Architecture
,
2011,
IEEE Micro.