18-10-2012, 06:01 PM
Face Recognition on FPGA
Face Recognition on FPGA.pdf (Size: 1,014.41 KB / Downloads: 106)
INTRODUCTION
Problem Definition
Face recognition is a form of biometric identification that relies on data acquired
from the face of an individual. This data, which can be either two-dimensional or threedimensional
in nature, is compared against a database of individuals. In recent years, face
recognition has gained popularity among researchers all over the world. With
applications ranging from security to entertainment, face recognition is an important
subset of biometrics.
In real world applications, it is desirable to have a stand-alone, embedded face
recognition system. The reason is that such systems provide a higher level of robustness,
hardware optimization, and ease of integration. As such, we have chosen the FPGA as a
reconfigurable platform to carry out our implementation. Ultimately, the stand alone
system may be implemented on an ASIC, a dedicated processor, or even an FPGA chip,
depending on the trade-offs in speed, portability, and reconfigurability.
Applications
Face recognition systems have gained a great deal of popularity due to the wide
range of applications that they have proved to be useful in. Broadly, two main categories
for these applications exist: commercial applications and research applications.
From a commercial standpoint, face recognition is practical in security systems
for law enforcement situations. It is in places like airports and international borders that
the need arises for a face recognition system that identifies individuals. Another
application of face recognition is the protection of privacy, obviating the need for
6
exchanging sensitive personal information. Instead, a computer-based face recognition
system would provide sufficient identification. For instance, PIN numbers, user ID’s, and
passwords would be replaced by face recognition in order to unify personal identification.
Finally, face recognition systems can be used for entertainment purposes in areas like
video games and virtual reality [1].
In research applications, face recognition has opened the door for research in
areas like image and video processing [1]. The approaches used in face recognition are
useful in the general area of pattern recognition and data classification. Research has also
progressed into the realm of neural networks, where the human nervous system is used as
a model to attain higher recognition rates. Lastly, face recognition has paved the way for
advances in the field of computer vision. Any research in face recognition is a step
forward in autonomous vision-based artificial intelligence.
Motivation and Objectives
After extensive research into the field of face recognition, we have found that
there is ample room for improving upon currently available face recognition systems.
These improvements range from the robustness of the design to the speed and accuracy of
the system. An FPGA can provide us with the necessary resources to achieve such
improvements in face recognition. These resources include various communication
interfaces, memory types, and intellectual property cores, as well as one million logic
gates that allow us to implement custom logic.
Algorithms for Face Recognition
Principle Component Analysis
PCA is an algorithm developed by Turk and Pentland that treats face recognition
as a two dimensional recognition problem [2]. The correctness of this algorithm relies on
the fact that the faces are uniform in posture and illumination. PCA can handle minor
variations in these two factors, but performance is maximized if such variations are
9
limited. The algorithm basically involves projecting a face onto a face space, which
captures the maximum variation among faces in a mathematical form.