Utilizing Graphics Processing Units for Rapid Facial Recognition using Video Input

Open Access
Gala, Charles Joseph
Graduate Program:
Computer Science and Engineering
Master of Science
Document Type:
Master Thesis
Date of Defense:
April 14, 2014
Committee Members:
  • Raj Acharya, Thesis Advisor/Co-Advisor
  • Bruce Einfalt, Thesis Advisor/Co-Advisor
  • Robert Collins, Thesis Advisor/Co-Advisor
  • Vijaykrishnan Narayanan, Thesis Advisor/Co-Advisor
  • facial recognition
  • graphics processing unit
  • GPU
  • CUDA
  • detection
  • tracking
  • recognition
  • live streaming data
Facial recognition is an active research area that provides a real-time application of pattern recognition techniques. Input can be provided to recognition algorithms using both static images and video data. However, there are significant challenges to working with live streaming data as the recognition method needs to keep up with the frame rate of the video sequence. The main challenge is the speed at which frames from the video are processed. Most of the well-known pattern recognition techniques do not address the issue of processing speed, thus making them ill-suited for working with live video input. What is needed is a means to improve the processing speed of these video-based facial recognition techniques so that they can handle such input. Graphics Processing Units (GPUs) are an ideal method to accelerate recognition processing. GPU architectures are powerful because they support a large number of cores that can process large amounts of data in parallel. Our goal is then to develop a novel technique for accelerated facial recognition using a GPU. The increased runtime performance allows more frames from a live video stream to be processed, reducing the likelihood of recognition and tracking errors. We develop a facial recognition method to operate on the central processing unit (CPU), and then accelerate several components of the method to operate on the GPU. By implementing these components on the GPU, we achieve a method that runs up to six times faster than a pure CPU implementation of the method. We evaluate these implementations using live streaming data and find that the GPU implementation achieves a greater accuracy and performance over the CPU implementation.