Reducing Computational Time of Principal Component Analysis with Chinese Remainder Theorem

: It is of paramount importance to establish an identity of citizenry to curb criminalities. Principal Component Analysis (PCA) which is one of the foremost methods for feature extraction and feature selection is adopted for identification and authentication of people. The computational time used by PCA is too much and Chinese Remainder Theorem was employed to reduce its computational time. TOAM database was setup which contained 120 facial images of 40 persons frontal faces with 3 images of each individual. 80 images were used for training while 40 were used for testing. Training time and testing time were used as performance metrics to determine the effect of CRT on PCA in terms of computational time. The experimenal results indicated an average training time of 13.5128 seconds and average testing time of 1.5475 second for PCA while PCA-CRT average training time is 13.2387 seconds and average testing time of 1.5185 seconds. Column chart was used to show the graphical relationship between PCA and PCA-CRT Training time and testing time. The research revealed that CRT reduce PCA computational time.


Introduction
Reference [8] pointed out that establishing identity of an individual is of paramount importance in extremely interrelated organization. It is of greatest important because of increase in daily criminal acts in the world today especially in Nigeria. The time required to identify and authenticate such individual needs to be minimized for effectiveness of the system. Therefore, dimensionality algorithms computational time should be reduced. Principal Component Analysis (PCA) and Linear Discriminant Analysis (LDA) are two foremost methods used for feature extraction and feature selection in the appearance-based methods. It has been discussed by Reference [1] that when the training dataset is small, PCA can outperform LDA, and also that PCA is less sensitive to different training datasets. Reference [6] explained that PCA and LDA are the two most popular techniques usually used for dimensionality reduction. Reference [5] were among the first to use PCA with face images and found that it effectively and efficiently represents pictures of faces into its eigenface components. Principal Component Analysis is a powerful dimensionality reduction algorithm and it is reliable in face recognition system but its computational time needs to be reduced. Reference [4] described PCA as a technique for reducing the dimensionality of datasets, increasing interpretability but at the same time minimizing information loss.
Reference [9] adopted the use Compute Unified Device Architecture (CUDA) to tackle the problem of enormous data processing time that resulted as a consequence of very large data extracted from the face images. In order to reduce the execution time of these operations, parallel programming techniques are used. Reference [2] focused on Improving Performance and Accuracy of Local Principal Component Analysis (LPCA). LPCA also referred to as Clustered PCA (CPCA). A novel SortCluster LPCA (SC-LPCA) was recommended. The arrangement of SC-LPCA algorithm is related to the SortMeans algorithm [7]. The new algorithm (SortCluster LPCA) was compared with the original LPCA for compression of Pattern Recognition Technique (PRT) and Bidirectional texture function (BTF) datasets. Both algorithms were implemented in C++ using Intel MKL library for matrix computations. All measurements were performed on a PC with Intel Xeon W3540, 2.93 GHz and 14GB RAM. The new algorithm considerably reduces the cost of the point-cluster classification stage, achieving a speed-up of up to 20s. However, instead of computing distances with respect to the clusters' centroids, distances were computed with respect to affine subspaces.
Having since other researchers' efforts in reducing the computational time of PCA. Chinese Remainder Theorem (CRT) was introduced to PCA as shown in Figure 3. CRT which is one of the forms of Residue Number System is appropriate because the computation can be parallelized. In RNS, addition, subtraction and multiplication are inherently carry-free. As a result of this carry-free property, addition, subtraction and multiplication can be executed in CRT in less time than would be required for performing parallel binary addition in a computer of equal component operating speed and number range. A face database (TOAM database) will be set up for the purpose of the research work. Euclidean distance will be used as a classifier for incoming test data.

Principal Component Analysis
Principal Component Analysis is the basic linear technique for dimensionality reduction which implements a linear mapping (as shown in Figure 1) of the data to a lower-dimensional space in such a method that the discrepancy of the data in the low-dimensional representation is maximized. Traditionally, the covariance matrix of the data is constructed and the eigenvectors on this matrix are computed. PCA tries to find a low-dimensional linear subspace that the data are confined to. Principal Component Analysis (PCA) algorithm involves substantial mathematical operations with matrices. The PCA involves two (2) stages: training and recognition. In the training dataset, there is an eigenvector for each face as shown in Table 1. Also, in the recognition stage the eigenvectors with highest values are chosen and treated as shown in Table 2. A threshold value is used for comparison in the recognition stage. PCA is a common technique for finding patterns in data, and expressing the data as eigenvector to highlight the similarities and differences between different data set. The following steps summarize the PCA process: 1.   [9].

Algorithm Description Explanation
Normalization X' = X represents the color value of a pixel in the image, minA represents the smallest color value in the face (i.e. image), maxA represents the biggest color value in the face (i.e. image).

Chinese Reminder Theorem
The Chinese Remainder Theorem (CRT) in addition to the theory of RNS, was set forth in the 19th century by Carl Friedrich Gauss in his celebrated Disquisitions Arithmetical [10], [3]. CRT is a proposition of number theory that expresses that if one knows the remainders of the Euclidean division of an integer n by several integers, then one can establish distinctively the remainder of the division of n by the product of these integers, under the condition that the divisors are pairwise coprime. In the third century A. D. a Chinese mathematician named Sun Zhu first described CRT. The CRT makes it feasible to reduce modular calculations with large moduli to similar calculations for each of the factors of the modulus.
Reference [12] pined the traditional CRT as follows: for a moduli set {m 1 , m 2 , m 3

Research Database
A database tagged "TOAM database" was setup which contains 120 facial images of 40 persons frontal faces with 3 images of each individual under different lighting, facial expressions, occulations, environment and time. 80 images will be used for training while 40 will be used for testing as shown in Table 3 and Figure 2.  The proposed system consists of number of modules: image acquisition, feature extraction, and recognition. In this research MATLAB R2015a was used to implement effect of PCA and PCA-CRT as shown in Figure 4 on Intel (R) Celeron (R) CPU with 1.60GHz Processor speed.    Critical observation of Table 4 and Figure 5 revealed that each of the images used spent more PCA Testing Time than PCA-CRT. Using image 20 as case study, PCA uses 1.5453 seconds Testing Time while PCA-CRT uses 1.4966 seconds. The Total Testing time for PCA is 61.9014s and PCA-CRT Total Testing Time is 60.7406s as shown in Table 3. Figure 6 shown pictorially Average Testing Time for PCA of 1.5475 seconds and PCA-CRT of 1.5185 seconds. The experimental results indicated reduction in Testing time of PCA as a result of employing CRT.     Figure 7 shown variation of Training Time used by both PCA and PCA-CRT on each image. It was deduced that each of the image Training Time used by PCA-CRT is lesser than those of PCA. Training time for image 1 for PCA is 13.4357s while image 1 Training time for PCA-CRT is 12.7146s. The Table 5 also had shown Total Training Time of 540.5134 seconds for PCA and 529.5474 seconds for PCA-CRT indicating a more Computational time for PCA than PCA-CRT. Figure 8 shown distinctions between the average Training time used by PCA and PCA-CRT. The average Training time used by PCA is 13.5128 seconds while average Training time used by PCA-CRT is 13.2387 seconds.

Conclusion
In this paper, chain of input images from setup database tagged "TOAM database" were trained and tested to determine the effect of CRT on computational time of PCA for face recognition. Training and Testing time were used as performance metrics. The investigation shown that PCA uses more Training Time and Testing time when CRT was not employed than when employed. PCA-CRT average testing time is 1.5185 seconds while the average testing time for PCA is 1.5475 seconds. The experimental result reveals a total Training time of 540.5134 seconds for PCA while total Training time used by PCA-CRT is 529.5474 seconds.