An Improved Face Recognition Algorithm Based on

1 downloads 0 Views 207KB Size Report
E-mail:shirali.kadyrov@sdu.edu.kz. 3 Department of Solid State Physics and Nonlinear Physics, Kazakh National University named after Al-Farabi,. Almaty ...
1

An Improved Face Recognition Algorithm Based on Sparse Representation Cemil Turan1 , Shirali Kadyrov2 , and Diana Burissova3 Department of Computer Sciences, Suleyman Demirel University, Kaskelen, Kazakhstan E-mail: [email protected] 2 Department of Mathematics and Natural Sciences, Suleyman Demirel University, Kaskelen, Kazakhstan E-mail:[email protected] Department of Solid State Physics and Nonlinear Physics, Kazakh National University named after Al-Farabi, Almaty, Kazakhstan E-mail: [email protected] 1

3

Abstract—This paper considers a variation of Sparse Representation-based Classification algorithm. Accuracy and time of evaluation of face recognition are two key performance indicators. This work compares performance of modified Sparse Representation-based Classification algorithm against original Sparse Representation-based Classification algorithm. Yale Face Database B is used to carry MATLAB simulations and results show that modified Sparse Representation-based Classification algorithm outperforms in terms of time. Moreover, the authors study and compare these algorithms when there is only a few training samples per subject is available.

I. I NTRODUCTION Research in Face Recognition (FR) attracted considerable attention in the last few decades, see surveys [1], [2] and references therein. Verification of an individual from his face and identification of a person from images stored in database are two main components of FR. It has many important real-life applications including, but not limited to, biometric authentication, human-computer interaction, surveillance, security, multimedia management [3]. Generally, in a particular FR method one first tries to extract significant features from given training images of the faces. Then, given an image of a face one attempts to classify by comparing the extracted features from the database. There are various techniques developed for FR to address different problems. Eigenfaces “Principal Component Analysis” - PCA in short [4], [5], Fisherfaces “Linear Discriminant Analysis” - LDA in short [6], [7], and Sparse Representation-based Classification, SRC in short, algorithm [8] for robust face recognition are some of the well-known classical algorithms. In the previous work [9] of the first author the performance of SRC algorithm in terms of how well is the recognition rate and recognition time has been compared to that of Principal Component Analysis algorithm, and using Yale Face Database B [10], SRC showed to outperform PCA in both indicators. In the current work, the performances of original SRC [8] and proposed Modified SRC (MSRC) are compared. The paper organizes as follows: In Section II, the specifics of database used for comparison is described. In Section III, the above mentioned three algorithms are briefly introduced to

carry the experiments. Section IV contains the experimental results and comparisons are made. Finally, the last section concludes with a brief summary and future work. II. FACE DATABASE To test and compare the performance of the algorithms, the facial images from “Yale Face Database B” are used. This section is devoted to explain some of the important details and specifics of this open source database. “Yale Face Database B” contains the frontal face images of 20 individuals each with 19 different samples [10]. All images are roughly aligned between different subjects and rescaled to several different sizes to testing purposes. The cropped images taken from [9] which include pure face part of each image are used in our experiments (see figure 1). The database is split into 5 categories according to the angle of the light source directions. These categories are summarized as follows: category 1 (0 to 12◦ ), category 2 (13 to 25◦ ), category 3 (26 to 50◦ ), category 4 (51 to 77◦ ), finally category 5 (above 78◦ ). In this paper only category 1 and category 2 are used. All in all, there are total 380 images, 140 facial images in the first category and 240 belongs to the second category.

Fig. 1. Sample images from Yale Face Database B.

III. R EVIEW OF ALGORITHMS This section is allocated to summarize two algorithms whose performances will be tested for the database introduced above. The first algorithm is called “Sparse Representation Based classification algorithm”, or SRC in short. This algorithm is found by Wright et al. [8]. The second algorithm is

2

a modification of SRC and will be called “Modified Sparse Based classification algorithm”, or MSRC in short. Both algorithms are based on linear algebra techniques of solving or approximating matrix equations. In these algorithms the matrix considered in the system of linear equations is a fat matrix in most of the real life situations. Such equations are called ill-posed and there are infinitely many solutions in general. However, not all the solutions helps in face recognition. To handle this difficulty, SRC and MSRC are based on finding the sparsest solutions, that is, the solutions with as many zero coordinates as possible. A. “Sparse Representation Based” classification (SRC) algorithm In this subsection, the original SRC algorithm of Wright et al. [8] is briefly described using similar notation. Each grayscale image of size p × q is naturally identified with a column vector in Rm , where m := pq. Let k denote the number of distinct object classes in the training set from the given database. For convenience, we assume the number of samples in each training class is the same and is equal to n. Let vi,1 , i = 1, 2, . . . , n be the column vectors in Rm each representing one sample face image from i-th class. The algorithm is based on the intuition that a given test sample image y ∈ Rm from i-th class, it approximately lies in the subspace spanned by the trained vectors {vi,1 , vi,2 , . . . , vi,n }. Arranging as columns, the m × n matrix Ai = [vi,1 , vi,2 , . . . , vi,n ] is obtained, i = 1, 2, . . . , n and inclusion in the spanning subspace simply means y ≈ Ai xi for some xi ∈ Rn . To make this more precise, let δi : Rn → Rn denote the function that for x ∈ Rn produces a vector δi (x) all entries are zero except the coordinates associated to i-th class are identical to x. Algorithm 1 Algorithm for Sparse Representation-based Classification (SRC) Input: An m × n matrix A = [A1 , A2 , . . . , Ak ] for k classes, a test sample vector y ∈ Rm . Output: 1: Columns of A are normalized w.r.t. `2 -norm. 2: Solve the `1 -minimization problem: Find x ∈ Rn that minimizes ky − Axk1 3: Compute residuals: LOOP Process 4: for i = 1; to i < k; i + + do 5: ri = ky − Aδi (x)k2 6: end for 7: return identity(y) = arg mini {ri } For detailed explanation, the reader is referred to [8]. B. Modified Sparse Representation Based classification (SRC) algorithm Now, MSRC is summarized using the same notation as above. Instead of comparing `2 norms of the error estimates, it simply compares the sums of entries of δi (x) for i = 1, 2, . . . , k.

Algorithm 2 Algorithm for Modified Sparse Representationbased Classification (MSRC) Input: An m × n matrix A = [A1 , A2 , . . . , Ak ] for k classes, a test sample vector y ∈ Rm . Output: 1: Columns of A are normalized w.r.t. `2 -norm. 2: Solve the `1 -minimization problem: Find x ∈ Rn that minimizes ky − Axk1 3: Compute sum of entries of δi (x): LOOP Process 4: for i = 1; to i < k; i + + do 5: Ri = sum(δi (x)) 6: end for 7: return identity(y) = arg maxi {Ri }

As shown in the next section, the MSRC performs faster than SRC. Comparing the two algorithms one can see that the significant change is made in item 5. In the original SRC ri ’s are obtained by computing the matrix-vector multiplications Aδi (x) and the `2 norms of matrices y − Aδi (x). This is clearly time consuming compared to how Ri ’s are obtained in MSRC, where they are merely the sum of components of δi (x)’s. Especially in practical applications, the matrix A is of very large size which will make the computational costs for SRC much expensive. IV. EXPERIMENTS AND RESULTS In this section, MATLAB experiments and results are summarized. To compare MSRC to SRC and evaluate recognition rates and time moments needed to run the codes the database images are rescaled into 7 different sizes: 20 × 20, 30 × 30, . . . , 80 × 80. Each image in the tested part is compared against each image in the training set. The elapsed time and recognition rates are recorded. By definition, Recognition Rate (RR) is the ratio of number of correctly classified test images to the total number of test images. The results of the experiment for Yale Face Database B are displayed in Table I and plots are depicted in bar chart, see Figure 2. The size coordinates should read 20 × 20, 30 × 30, . . . , 80 × 80. The blue and red bars are the results for MSRC and SRC respectively. For this experiment there were 200 test images and 180 training images. TABLE I R ECOGNITION RATE (RR) AND EXECUTION TIME FOR SRC AND MSRC ALGORITHMS .

SIZE 20*20 30*30 40*40 50*50 60*60 70*70 80*80

SRC RR(%) 100 100 100 100 100 100 100

TIME(s) 5.24 5.32 5.43 5.60 5.68 5.96 6.20

SIZE 20*20 30*30 40*40 50*50 60*60 70*70 70*70

MSRC RR(%) TIME(s) 100 0.062 100 0.18 100 0.20 100 0.24 100 0.28 100 0.33 100 0.38

3

Both algorithms performed excellent with 100% recognition rates. However, MSRC outperforming when it comes to time for evaluation. The ratio of time performances are 84.5, 29.6, 27.2, 23.3, 20.3, 18.1, 16.3 which shows that it took more than 16 times to run SRC code than MSRC. The results

TABLE II R ECOGNITION RATE (RR) AND EXECUTION TIME FOR DIFFERENT NUMBER OF TRAINING SAMPLES (TS)

TS 1 2 3 4 5

7

6

SRC RR(%) TIME(s) 89.16 1.49 94.11 3.17 94.06 4.33 100 5.13 100 5.66

TS 1 2 3 4 5

MSRC RR(%) TIME(s) 91.11 0.056 92.35 0.062 93.75 0.073 100 0.079 100 0.082

time(s)

5

4 100 3

90 80

2

70 1

1

2

3 4 5 number of training image

6

7

RR(%)

0

60 50 40 30

Fig. 2. Time to run the code for Yale Face Database B for various image sizes.

20 10 0

1

2

3 4 number of training image

5

Fig. 3. Number of training sample vs. recognition rates.

6

5

4 time(s)

should be compared to [9] where the performance of MSRC was compared to PCA and MSRC outperformed in both RR and time aspects. Remark. As explained in Algorithm 1 in the previous section, SRC classifies the images by comparing the error estimates ri . To this end, one needs to compute matrix-vector multiplication Aδi (x) as many times as the number of classes. This operation is carried for every singly test image. Clearly, this is time consuming as usually the matrix A has very large size. In MSRC there is no need to do this process which results in much faster calculation time compared to SRC. Similarity in recognition rates shows that MSRC is not sacrificing from accuracy for the sake of time. Next, one of the challenges that many FR algorithms face, namely, single sample per subject (SSPS) problem [11] will be addressed. Using the same database two algorithms are tested and compared. To see how sensitive are SRC and MSRC algorithms to the number of training samples per subjects the first five situations and considered. Let T S denote the number of training samples per individual. The five cases T S = 1, 2, . . . , 5 are studied and MATLAB calculation results are reflected in Table II. The experiment is done for images of 20 × 20. The results are also displayed as bar charts in Figure 3 and Figure 4. As before blue bars and red bars correspond to MSRC and SRC test results. To explain the last experiment, more details when T S = 1 is considered. Recall that Yale Face Database B consists of 20 classes (individuals) with 19 different samples in each class. The images are rescaled to 20 × 20 and 20 facial images are randomly selected for training one per class. The remaining 360 samples are used as testing samples. As it shown above, recognition rate of SRC and MSRC are 89.16 % and 91.11 %,

3

2

1

0

1

2

3 4 number of training image

5

Fig. 4. Number of training sample vs. execution time of the algorithms.

respectively. Moreover, the execution time, that is the running time of the code for all 360 samples, for SRC and MSRC are 1.49 and 0.056 seconds, respectively. Surprisingly, both SRC and MSRC are seem to overcome with SSPS problem with RR around 90%. With as few as 4 training samples per subject both algorithms reach the maximum 100% of recognition rate.

4

V. C ONCLUSIONS Face recognition is an important and fast growing aspect of computer vision. Despite the significant progress in this direction, there is still a lot more to develop to make the progress more efficient. The authors compared original SRC face recognition algorithm to MSRC. “Yale Face Database B” is used with various image sizes to compare the performances in terms of recognition rate and execution time. Results show that both have the identical RR while MSRC runs much faster. The authors also tested single sample per subject (SSPS) challenge and results were satisfactory with recognition rate around 90%. It is a challenge to tackle databases with large number of different subjects. The future work is to test, compare, and improve MSRC with other Databases. Another known challenge is the illumination problem. In [10], the authors studied illumination problem and tested their proposed solutions with various algorithms. Finally, another direction of research would be to study the illumination challenge with the help of MSRC. R EFERENCES [1] Y. Xu, Z. Li, J. Yang, and D. Zhang, “A survey of dictionary learning algorithms for face recognition”, IEEE access, vol 5, pp 8502–8514, 2017. [2] G. Ramkumar and M. Manikandan, “Face recognition-survey”, Int. J. Adv. Sci. Technol, pp 260–268, 2013. [3] A.K. Jain and S.Z. Li, Handbook of face recognition, Springer, New York, 2011. [4] A. Mane and K. Kale, Face Recognition Using Principal Component Analysis, Omniscriptum Gmbh & Company Kg., 2015. [5] M. Turk and A. Pentland, “Eigenfaces for Recognition”, Journal Cognitive Nero-science, vol. 3, no. 1, pp. 71-086, 1991. [6] D. L. Swets and J. J. Weng, “Using Discriminant Eigenfeature for Image Retrieval”, IEEE Trans. PAMI, vol. 18, no. 8, pp. 831–836, 1996. [7] P. N. Belhumeour, J. P. Hespanha, and D. J. Kriegman, “Eigenface vs. Fisherfaces: Recognition using Class Specific Linear Projection”, IEEE Trans. on PAMI, vol 19. no. 7, pp. 711-720, 1997. [8] J. Wright, A. Y. Yang, A. Ganesh, S. S. Sastry, and Y. Ma, “Robust face recognition via sparse representation,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 31, no. 2, pp. 210227, 2009. [9] C. Turan, “Robust Face Recognition via Sparse Reconstruction Vector”, 13th International Conference on Electronics, Computer and Computation (ICECCO), 2017. [10] C. Tosik, A. Eleyan, and M.S. Salman, “Illumination invariant face recognition system”. 21st Signal Processing and Communications Applications Conference (SIU), pp. 1–4, IEEE, 2013. [11] B. Lahasan, S. L. Lutfi, and R. San-Segundo, “A survey on techniques to handle face recognition challenges: occlusion, single sample per subject and expression.’, Artificial Intelligence Review, pp 1–3, 2017.