Biometrics Computing
(H. Zhuang, S. Morgera, and J. Wu)
Funded by the NSF
This research focuses on assessing a person’s biological characteristics such as facial, eye and
voice features for the purpose of personal identification and authentication. We propose to take advantage of tremendous computing power of a
supercluster to study the problem of parallel biometrics computing. Key issues involved in the proposed research are validating biometric data
gathered through modelling of face, voice and other patterns, developing computer algorithms that integrate these multiple personal features
into a hierarchical structure, and exploring efficient procedures suitable for parallel implementation. Special attention will be paid to
develop efficient algorithms that can take advantage of the capabilities of a supercluster so as to validate algorithms on large databases.
A computationally intensive task in biometrics applications is face recognition. An effective method
for face recognition is Independent Component Analysis (ICA) of Gabor features of faces. We propose to devise parallel procedures that
explore the parallel nature of the face recognition problem. Gabor features can be derived from Gabor wavelets with different scales and
orientations. A practice is to have five scales and eight orientations, which results in 40 real Gabor kernels. In a sequential computer,
images of faces are convolved with the set of kernels one by one and combined to form feature vectors. Due to high dimensional characteristics
of the feature vector, a dimension reduction procedure is usually used to reduce greatly its dimension. A popular data reduction algorithm is
the Principal Component Analysis (PCA) technique. After the data reduction process, statistical methods such as the ICA technique may be
applied to cluster feature vectors for the purpose of face recognition. In this stage, different performance measures are applied to see which
one generates the best identification result.
By examining the above typical face recognition procedure, we can see parallelization can be done in
least at the following stages: The first stage is to assign the task of processing images of individual subjects to n different nodes, which
saves the computational time by a factor of n, as processing these images can be done in parallel. Second, each subject’s image is convolved
with all the Gabor kernels in parallel. In the extreme case, each Gabor kernel can be assigned to an SGI node (total 40 nodes for 40 Gabor
kernels) and the subject’s image is inputted to all the Gabor kernel nodes. This cuts this portion of computational time by almost 40 times.
Third, the PCA procedure mentioned above involves intensive matrix computation, which can be done partially in parallel. Lastly, each
performance measure can be assigned a different node, as their computation is independent. It is clear from this analysis that parallel
implementation of such a face recognition algorithm can improve the speed by orders of significant magnitude. A de facto standard face
database is the FERET database, which contains 13,539 facial images. However, researchers usually use a small portion of the data set to
validate their algorithm, due the computational complexity of the algorithm. Once a supercluster with a single data image is available, with a
parallel algorithm, we will be able to test face recognition and other biometrics algorithms in a much larger data set.
The above procedure involves a sequence of stages, with data parallelism at each stage and two
adjacent stages separated by a barrier. In general, barrier synchronization can be done much more efficiently in a shared-memory environment
than in a distributed one (such as a Beowulf cluster). To achieve a high speedup in the SGI supercluster, special attention will be paid to
balance workloads among processors within a stage and to avoid potential bottleneck at each barrier.
|