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.