Gabor Filter Bank Features Selection for Face Recognition Based on Particle Swarm Optimization

Gabor Filter Bank Features Selection for Face Recognition Based on Particle Swarm Optimization

Yahia Belayadi* Abdelouahab Attia Nour Elhouda Chalabi Zahid Akhtar Ali Wagdy Mohamed

Department of Computer Science, University of Continuing Training of Bordj Bou Arreridj, Bordj Bou Arreridj 34000, Algeria

Computer Science Department, Mohamed El Bachir El Ibrahimi University of Bordj Bou Arreridj, Bordj Bou Arreridj 34000, Algeria

LMSE Laboratory, Mohamed El Bachir El Ibrahimi University of Bordj Bou Arreridj, Bordj Bou Arreridj 34000, Algeria

Computer Science Department, University of M’sila, Ichebilia, M’sila 28000, Algeria

Department of Network and Computer Security, State University of New York Polytechnic Institute, New York 13502, USA

Operations Research Department, Faculty of Graduate Studies for Statistical Research, Cairo University, Giza 12613, Egypt

Applied Science Research Center, Applied Science Private University, Amman 11937, Jordan

Centre for Research Impact & Outcome, Chitkara University Institute of Engineering and Technology, Chitkara University, Rajpura 140401, India

Corresponding Author Email: 
y-belayadi@ufc.dz
Page: 
713-720
|
DOI: 
https://doi.org/10.18280/isi.300315
Received: 
6 November 2024
|
Revised: 
17 January 2025
|
Accepted: 
27 March 2025
|
Available online: 
31 March 2025
| Citation

© 2025 The authors. This article is published by IIETA and is licensed under the CC BY 4.0 license (http://creativecommons.org/licenses/by/4.0/).

OPEN ACCESS

Abstract: 

Face based biometric systems are now hugely applied in several real-world applications such as smartphone user identification, border crossing, online banking, etc. Different face feature extraction techniques have been proposed in the literature, including Gabor features. In fact, Gabor features are one of widely utilized features in various fields, thanks to its efficacy and low computational complexity. Gabor filter bank is generally composed of 5 frequencies or scales and 8 orientations, which results into 40 filters for feature extraction in a recognition system. Thus, in this paper, we propose a face recognition framework based on particle swarm optimization (PSO) to select the minimum number of filter features that can lead to a more effective recognition accuracy as well as attaining reduced template storage size. Specifically, Gabor filter bank with 5 scales and 8 orientations are applied to extract features from the given face sample. Then, PSO is employed to select a chosen number of features from the feature vector depending on the filter number, the fitness function (i.e. nearest neighbour classifier with Mahalanobis distance) while maximizing the accuracy. This way, minimal number of features is determined and can be used for recognition. Experimental evaluation of the proposed framework was conducted on publicly available Olivetti Research Laboratory (ORL) faces database. The experimental results show that the presented method can not only reduce the features but also can also improve efficacy of the system.

Keywords: 

Gabor filters, optimization, particle swarm optimization, feature selection, face recognition

1. Introduction

As daily involvement of the technology in society is growing, so the use of biometrics is increasing as well. Biometrics is being used to attain the increasing demand of more secure person identification framework. In fact, biometric systems can be found almost everywhere as an authentication tool [1-3]. Biometric is the science of identifying individuals based on their physical, behaviour or chemical attributes such as fingerprint, face, gait, DNA, and iris [4]. One of the most known and trusted traits used for identification is the face trait. Face recognition is widely being utilized in online banking, unlocking smartphones, smart border crossing, to name a few [5, 6]. Face recognition systems have higher usability and acceptability, thanks to easiness in capturing faces and not demanding high technical equipment for acquisition. But still face recognition suffers from some problems such as aging, expression, illumination, poses. A generic face recognition is composed of four stages to establish the identity of the user: (i) image acquisition; (ii) face detection (and normalization); (iii) feature extraction (and feature selection); (iv) face matching and decision making. Feature extraction and selection are a critical phase in any face recognition system as the final results depend mainly on them. Some of the descriptors used for face features extraction are Gabor filter bank [5, 7], Histogram of oriented gradient [6], wavelet transform [8] and local binary pattern [9]. Few of them give a low number of features, while others tend to yield larger number of features, thereby feature selection is needed to deal with the known dimensionality curse and computational complexity. Among various features extraction schemes, Gabor filter bank method has been studied in several works published in the literature. Usually, most of them use 5 scales and 8 orientations, e.g., a facial image representation using Gabor filter bank and Zernike features was proposed [10], and a face recognition method using Gabor filters was developed to solve the pose estimation problem [11]. Human gait recognition based on Gait Energy Images (GEI) and Gabor filter bank was presented [12]. Gabor features were used in a facial emotion recognition system with Principal Component Analysis (PCA) [13]. Face recognition using Gabor filter bank and Random Forest was introduced [14]. An optimized Gabor filter was attempted by replacing the Gabor filter bank with a single filter in face recognition to reduce computational complexity and response time. A hybrid PSO-GSA with evolutionary single Gabor kernel (ESGK) algorithm was applied to optimize the parameters for the single filter [15]. In the scope of feature selection, facial recognition using Gabor filter bank with Ant colony optimization algorithm was presented [16]. The Gabor filter bank and Kernel Principal Component Analysis (KPCA) with Support Vector Machine (SVM) were utilized [17]. The Gabor wavelet for face recognition with variation of poses and orientations was employed [18]. Gabor features have also been studied in other biometric traits. For instance, a finger knuckle print recognition system using Gabor filter bank with SVM was proposed to improve the recognition performance of multibiometric systems [19].

The study [20] introduced an optimal Gabor for face classification, where bacteria foraging optimization (BFO) was utilized to optimize the parameter of Gabor filter bank. Then, the energy features were extracted according to the filters after, which is followed by a probabilistic reasoning model (PRM) to perform the classification. ORL and UMIST datasets were used in the experiments. Optimization technique is widely used in various machine learning fields of research due to the robustness and simplicity. In addition, a lot of methods and algorithms have been devised over the years, e.g., PSO [21], Genetic Algorithm (GA) [22], Ant Colony Optimization (ACO) [23], Firefly Algorithm (FA) [24], Bacterial Foraging Optimization (BFO) [25]. Optimization techniques have been applied in pattern recognition [26] as well as for different other applications [27-30].

Gabor filters have been widely used in face recognition due to their ability to capture effectively spatial frequency and orientation information. Compared to other methods such as Principal Component Analysis (PCA) and Local Binary Patterns (LBP), Gabor filters excel in handling variations in illumination and facial expressions [31]. However, their computational complexity remains a limitation, necessitating optimization strategies to enhance their practical applicability in real-world scenarios [26].

This paper presents a face recognition system based on Gabor filter bank and PPSO. The main aim of presented method is reducing the number of Gabor filters, and choosing the best ones among other 40 filters provided by the parameters 5 scales and 8 orientations in Gabor filter bank. Thus, the optimization technique PSO has been applied for the feature selection. In this study, we do not use the common selection of a set of features or a parameter selection, rather we select a feature vector of the Gabor filter bank in order to keep as much as relevant information as possible while minimizing the storage space and the response time. At the end, we select the minimal number of feature vectors and even improve the performance of the system. Experiments on publicly available dataset show promising results.

The rest of the paper is organized as follow. Section 2 describes the proposed method. Section 3 covers the experimental results and discussion. While Section 4 presents the conclusion.

2. Proposed Face Recognition Framework

Figure 1 illustrates the general diagram for the proposed face recognition scheme hinged on Gabor filter bank and PSO. Given a face image first the Gabor feature extraction using 5 scales, and 8 orientations are applied, which yields 40 feature filters (in this study those filters are numbered from 1 to 40). These filters (and respective numbers) are later used in the selection process. Next, the images are divided into training and test images, where the ratio between this two is equal, i.e., 5 images for training and 5 for test. After, the PSO is employed to choose the features and that depends on the filer number and the matching module, which play the role of the fitness function. In this paper, the fitness function maximizes the accuracy, which leads to Gbest result that represents a sequence of the numbers of feature filters with the best accuracy. In the following, each module of the Figure 1 is described.

Figure 1. General diagram for the proposed method

2.1 Gabor feature extraction

Gabor filter bank has been widely used in computer vision, pattern recognition and image processing. Specially, in terms of frequency and orientation representations, thanks to the optimal localization properties in spatial analysis as well as frequency domain [5]. Generally, in the spatial domain, a 2-D Gabor filter is a Gaussian function modulated by a sinusoidal plane wave [32, 33]. Thus, Gabor filter can be presented in the spatial domain as follows [34]:

 $\psi \left( x,y \right)=\frac{f_{u}^{2}}{\pi k\eta }{{e}^{\left( \left( f_{u}^{2}/{{k}^{2}} \right)x{{'}^{2}}+\left( f_{u}^{2}/{{\eta }^{2}} \right)y{{'}^{2}} \right)}}{{e}^{j2\pi f_{u}^{{}}x'}}$                                    (1)

where:

$x'=x\cos {{\theta }_{v}}+y\sin {{\theta }_{v}}$                                  (2)

$y'=-x\sin {{\theta }_{v}}+y\cos {{\theta }_{v}}$                                 (3)

 $f_{u}^{{}}=f_{max}^{{}}/{{2}^{\left( u/2 \right)}}$                                (4)

$\theta _{v}^{{}}=v\pi /8$                       (5)

$f_{u}^{~}$ and $\theta _{v}^{~}$ refer, respectively, to the center frequency and orientation. $k$ and $\eta $ determine the ratio between the center frequency and the size of the Gaussian envelope. The factors of the Gabor filter bank are experimentally selected as: fmax=0.25 and $k=\eta =\sqrt{2}$. As this study is going to explore different features, we construct a bank using filters that are composed of 5 scales (u=0,1…,4) and 8 orientations (v=0,1,…,7), as well as to extract multi-scale and multi-orientation features from the face image. Eq. (6) is used to extract the features

${{G}_{u,v}}\left( x,y \right)=I\left( x,y \right)*{{\psi }_{u,v}}\left( x,y \right)$                           (6)

where, $I\left( x,y \right)$ represents the grey-scale face image and ${{G}_{u,v}}\left( x,y \right)$ is the complex filtering output.

Figure 2 shows an example of extracted feature from a sample using Gabor filters at 5 scales and 8 orientations.

Figure 2. (a) Face image, (b) Gabor filters with 5 scales and 8 orientations, (c) Gabor filter response on (a)

Figure 3. (a) Numbering the filters from 1 to 40, (b) PSO chooses the 6 feature filters (those in blue circles and blue numbers in (a) to be used in recognition

2.2 PSO feature selection

PSO [21] is a population-based algorithm used for optimization. This algorithm has always been popular for its efficacy resulting in it widely being used. This algorithm has been inspired from the social behaviour of bird flock. PSO utilizes a random population of potential solution known as Particles with random velocity (acceleration) moving around the search space. Each Particle is assigned a Pbest keeping the best fitness value and lbest contains the best solution attained locally. Moreover, there is a Gbest that is the global best achieved fitness value. PSO employs a fitness function in order to evaluate the solutions [35]. All above mentioned steps are summarized in Algorithm 1, which represents the pseudo code for PSO [24].

For PSO algorithm to be able to select the filter features that have been extracted previously using Gabor filter bank, first the filters must be numbered from 1 to 40, as illustrated in Figure 3. Next, initialization of the particles with random number between 1 and 40 representing the features corresponding to the filters are done. Hence, the numbers of filter feature depend mainly on the number of scales, i.e., 5, and the number of orientations, i.e., 8, resulting in 40 feature filters in total. Each feature filter has a number Fi, where i=(1,2,…,40). As for particles, they contain the numbers of feature filters e.g., p=[6,10,21,23,27,39]; here the particle p is composed of features filters number 6,10, 21, 23, 27 and 39, as shown in Figure 3, which are going to form the histogram of features representing the image.

In Algorithm 1, the PSO parameters ${{c}_{1}}$ and ${{c}_{2}}$ as well as the max iteration and runs (trails) are initialized. After, the velocity and position for each particle are initialized. Then, each particle is evaluated using the fitness function (here, the fitness function is the classifier, and the best fitness is the highest accuracy value). Next, the value of $Pbest$ is updated if the fitness value of a particle is better than the current$~Pbest$.

Algorithm 1. PSO

Objective function $f\left( x \right),~x={{\left( {{x}_{1}},{{x}_{2}},\ldots ,{{x}_{n}} \right)}^{T}}$

Initialize location ${{x}_{i}}$ and velocity ${{v}_{i}}$ of n particles

Find ${{g}^{*}}~$from min { $f\left( {{x}_{1}} \right),\ldots ,~f\left( {{x}_{n}} \right)\}~$(at t=0)

     While (criterion)

          t=t+1 (iteration counter)

         for loop over all n particles a d 

            dimension                      

            Generate new velocity $v_{i}^{t+1}$

            Generate new locations $x_{i}^{t+1}=x_{i}^{t}+v_{i}^{t+1}$

            Evaluate objective function at new  

              Location $x_{i}^{t+1}$          

           Find the current best for each particle $x_{i}^{*}$

         end for

            Find the current global best ${{g}^{*}}$

      end while

Output the final results $x_{i}^{*}~$and ${{g}^{*}}$

Once all the particles are evaluated the $Gbest$ is updated after the comparison with the $Pbest$ value. For the velocity and position update, since the values in each particle are discrete numbers, the sigmoid equation is used to update the position according to the adequate velocity and that using Eq. (7):

${{v}_{n}}=w*{{v}_{n}}+{{c}_{1}}ran{{d}_{1}}*\left( Pbest-{{x}_{n}} \right)+{{c}_{2}}ran{{d}_{2}}*\left( Gbest-{{x}_{n}} \right)$                                     (7)

where, ${{v}_{n}}~$is the velocity for the nth particle, $w~$represents the inertial weight, $ran{{d}_{1}}$ and $ran{{d}_{2}}$ are random values between zero and one, and ${{x}_{n}}$ is the current position.

${{x}_{i,j}}\left( t+1 \right)=\left\{ \begin{matrix}    {{x}_{i,j}}\left( t+1 \right)=rand\left( {{F}_{i}} \right),~  \\    rand\left( t \right)>sigmoid~\left( {{v}_{i,j}}\left( t+1 \right) \right)  \\    {{x}_{i,j}}\left( t+1 \right)={{x}_{i,j}}\left( t+1 \right),  \\    rand\left( t \right)<sigmoid\left( {{v}_{i,j}}\left( t+1 \right) \right)  \\ \end{matrix} \right.$                      (8)

Now, for the particles to move to a new position Eq. (8), sigmoid function in Eq. (9) is used:

$sigmoid=\frac{1}{1+{{e}^{-{{v}_{n}}}}}$                                 (9)

In view of the fact that if the original equation to establish the movement is used, it means that we need to add the velocity to the previous position that is a discrete number resulting in a new continuous number that will not work in our case. Thus, to find the new position according to the velocity, we map this into the sigmoid equation, after that the results is compared with random number rand between zero and one. Here, we have two possibilities for the new position:

$sigmoid$ is smaller than $rand\left( t \right)$ and in this case we have to change the particle by choosing a new feature filter number ${{F}_{i}}$, where $i=\left( 1,~2,\ldots ,~40 \right)$ randomly while insuring not to choose the same feature filter as the rest in the particle.

$sigmoid$ is greater than $rand\left( t \right)$, in this case we keep the older position.

At the end of the trials, we obtain a fixed number of $Gbest$ adequate to the number of runs. The selected features are those that belong to the $Gbest$  with the best fitness value, which is the one with highest accuracy in our case. Figure 4 illustrates the flowchart for PSO algorithm.

Figure 4. PSO flowchart

2.3 Fitness function

Fitness function is an important part of the good functioning of PSO algorithm, as the final results, which are the convergence towards a high accuracy and face representation with less features, depend mainly on the value giving by the fitness function. To be able to rate the chosen features in this work, the selection process is operated by maximizing the value of accuracy (Rank-1 measure) that can be calculated as follow:

$Rank-1=\frac{{{N}_{i}}}{N}.~100( \%)$                   (10)

where, Ni denotes the number of images successfully assigned to the right identity, and N stands for the overall number of images trying to be assigned an identity. In this study, the nearest neighbour classifiers are used. We used the Mahalanobis distance [36] as a way to measure the matching matrix. The distance can be calculated as follows:

${{d}_{Ma}}\left( {{V}_{i}},{{V}_{j}} \right)={{\left( {{V}_{i}}-{{V}_{j}} \right)}^{T}}{{C}^{-1}}\left( {{V}_{i}}-{{V}_{j}} \right)$                        (11)

where, Vi and Vj characterize the feature vectors of face query and face template stored in database, respectively. ${{d}_{Ma}}\left( {{V}_{i}},{{V}_{j}} \right)~$is the distance between two faces. C represents the covariance matrix. In addition, this has been done depending on a wrapper approach by revaluating each time.

3. Experiments

In this section, we report the evaluation of the proposed face recognition system.

3.1 Dataset

In this study, a publicly available Olivetti Research Laboratory (ORL) database [37] was used. This dataset is made up of 40 subjects with 10 images per subject. Figure 5 shows example of face images from the ORL database. The images in this database are grayscale with pose variation and slight light variation with small detailed facial changes. The images were captured against uniform background.

Figure 5. Sample images from ORL database

3.2 Experimental protocol

The experiments were conducted on the same number of training and test images, which was equals to 5. In addition, it was conducted by increasing the number of feature filters from 5 until 17. Then, two separated experiments with a number filters 20 and 30 were conducted in order to find the minimum number of feature filters needed. The PSO Parameters were set to a fixed number of 100 internal iterations and 10 external iterations which gives a total of 1000 iterations per test. In order to ensure the exploration of the search space, the initial population size is composed of 10 elements. To promote exploration early in the optimization process and exploitation later, the inertia weight was reduced from 0.9 to 0.4. As appears in standard PSO algorithm, the acceleration factors (c1=2, c2=2) were selected to assign equal weight to the particle's personal best and the swarm's global best as in standard PSO. Table 1 presents the results obtained. Note that the programming language used was MATLAB.

3.3 Experimental results

In Table 1, we can first notice that the lowest number of feature filters (i.e., 5) can attain high accuracy, which equals to 96% and a very low EER of 0.91%. The results are good even when only 12.5% of the total number of feature filters is used, i.e., 40. From 5 to 10, we can see an increase in accuracy by 0.5% or 1% and a remarkable decrease in EER. We can see that from the feature filters 11 to 14, the accuracy was 98.5%, as shown in Figure 6. EER is equal to 0.5% then increased by 0.3% at 13. The lowest value from the whole experiment, which is equal to 0.09 %, is registered at 14 feature filters. We can also observe that from 14 to 30, the accuracy was equal to 99%. but for the EER it did mark 0.48% for 15, which is an increase compared to 14. Then, it did increase 1% for 16 and keep the number for the remaining 17, 20 and 30; we can spot a stability, as also shown in Figure 6.

From the Table 1, we can notice that the change in accuracy and EER is not the same and is not regular. Thus, it cannot be related all the time. We can also conclude from the experiment that the minimum feature filter number that can attain good results is 14 for the ORL database.

Table 1. Gabor features based PSO selection experiment

Number of Filter Features per Test

PSO Chosen Filters

Verification EER %

Identification

Rank-1 %

5

[9 2 15 12 38]

0.91

96

6

[5 1 2 4 27 22]

0.50

96.5

7

[4 2 7 3 22 14 28]

0.50

97.5

8

[3 12 1 2 8 38 24 4]

0.24

95.5

9

[22 21 3 16 18 6 2 9 36]

0.61

97.5

10

[2 3 15 8 19 12 13 40 5 10]

1.40

98

11

[4 14 12 3 11 39 1 20 16 40 24]

0.50

98.5

12

[1 5 2 11 9 8 4 16 3 22 12 13]

0.50

98.5

13

[2 4 9 31 10 1 18 13 7 14 20 5 8]

0.88

98.5

14

[11 1 8 14 9 13 20 3 35 23 17 28 26 15]

0.09

99

15

[3 8 10 1 17 7 14 11 6 5 13 2 21 28 9]

0.48

99

16

[5 3 2 19 8 1 17 7 4 10 25 11 22 33 12 14]

1.00

99

17

[22 4 2 12 38 7 1 6 19 25 8 28 14 3 35 20 15]

0.50

99

20

[11 6 8 14 36 2 33 9 10 12 31 23 4 3 17 18 1 5 26 15]

0.50

99

30

[3 9 16 7 28 38 27 1 33 18 20 10 6 32 36 15 4 2 11 8 22 12 35 29 17 23 21 14 5 13]

0.50

99

Figure 6. Accuracy convergence line chart

Figure 7. Histogram for feature filters occurrence

Figure 7 shows a histogram representation of the occurrence of the feature filters from the experiment. We can see that most frequent feature filter is number 2 with 13 occurrences. It appeared in all of the experiment expect for feature filters 11 and 14 followed by feature filters 3 with 12 occurrences and 1 with 11. Feature filters number 8 and 10 appeared 10 times, feature filters number 12 and 14 appeared 9 times, feature filters number 11 and 22 appeared 7 times, feature filters number 7, 10, 13 and 15 appeared 6 times, feature filters number  6, 17, 20 and 28 appeared 5 times, feature filters number 16, 18 and 38 appeared 38 times, feature filters number 19, 21, 23, 33, 34 and 36 appeared 3 times, feature filters number 24, 25, 26, 27, 31 and 40 appeared 2 times. While the feature filters number 29, 32 and 39 appeared 1 time. Lastly, feature filters number 30, 34 and 37 did not appear at all. From this we can conclude that not all feature filters contribute to the results as they get picked in this work according to their value of fitness function.

In order to support the founded results, Figure 8 represents the ROC, CMC and EER curve for 14 feature filters and 40 feature filters. In Figure 8, we can see clearly that our system gives better results with minimum number of features, which backs up and confirm the ideal performance given by our system.

(a)

(b)

(c)

Figure 8. Results of (a) ROC curve (b) CMC curve (c) EER

To sum it up, the proposed system may face challenges in practical applications, such as variations in lighting, facial expressions, and occlusions like glasses or masks. Additionally, differences in head pose and aging effects could impact the accuracy. These limitations suggest the need for future improvements, including adaptive preprocessing and advanced feature extraction techniques.

3.4 Comparison with existing methods

To further analyse the performance and efficacy of the proposed system, a comparative study with existing works was conducted. The results are reported in Table 2. We can observe Table 2 that the proposed face recognition framework attained performances better those prior methods [16-18]. The best results acquired by the proposed framework is with feature filters vector of 40. In particular, the presented framework obtained 99% accuracy and 98.5% with 14 feature filters. The method [18] procured 98.50% accuracy as compared to our method of 99% and 98.50% accuracies. Likewise, in comparison with a system that uses all the feature filters and KPCA for feature reduction with a different classifier [17], our system was able to give better results with less feature filters. Also, our system outperformed method in the study [16] that used ACO for feature selection and method [15] that used a single filter in face recognition.

Table 2. Comparative study of proposed method with existing works

Reference

Verification EER %

Accuracy %

Proposed method

0.09

99.00

Gabor

0.5

98.50

[17]

-

98.50

[16]

-

95.14

[15]

-

91.34

4. Conclusion

In this paper, we proposed a Gabor feature filters selection using PSO algorithm in face recognition. In the proposed framework, Gabor filter bank was applied to extract the features with 5 scales and 8 orientations parameters; the feature filters are numbered from 1 to 40. Then, PSO algorithm was employed to select the feature vectors according to the filter’s numbers. The fitness function used, in this study was, a nearest neighbour classifier with Mahalanobis distance while maximizing the accuracy (Rank 1). Experimental analyses were carried out on the publicly available ORL database. From the reported results, we can conclude that using PSO algorithm in feature vector selection was a successful step, as we were able to find the minimum number of features and also were able to spot the filters that are needed for the face recognition. In the future, we aim to use such filters and their selection scheme face recognition in the wild, and under ageing and expressions.

  References

[1] Attıa, A., Chaa, M. (2018). Individual recognition system using deep network based on face regions. International Journal of Applied Mathematics Electronics and Computers, 6(3): 27-32. 

[2] Attia, A., Moussaoui, A., Chaa, M., Chahir, Y. (2018). Finger-knuckle-print recognition system based on features-level fusion of real and imaginary images. Journal on Image and Video Processing, 8(4): 1793-1799. https://doi.org/10.21917/ijivp.2018.0252

[3] Chalabi, N.E., Attia, A., Bouziane, A. (2020). Multimodal finger dorsal knuckle major and minor print recognition system based on PCANET deep learning. ICTACT J Image Video Process, 10(3): 2153-2158. https://doi.org/10.21917/ijivp.2020.0308

[4] Li, S. Z. (2009). Encyclopedia of Biometrics: I-Z. Springer Science & Business Media.

[5] Gabor, D. (1946). Theory of communication. Part 1: The analysis of information. Journal of the Institution of Electrical Engineers-part III: Radio and Communication Engineering, 93(26): 429-441. https://doi.org/10.1049/ji-3-2.1946.0074

[6] Dalal, N., Triggs, B. (2005). Histograms of oriented gradients for human detection. In 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05), San Diego, CA, USA, pp. 886-893. https://doi.org/10.1109/CVPR.2005.177

[7] Djouamai, Z., Attia, A., Chalabi, N.E., Hassaballah, M. (2024). A face recognition system based-almmo-0 classifier. Evolving Systems, 15(3): 881-898. https://doi.org/10.1007/s12530-023-09519-8

[8] Bruce, L.M., Koger, C.H., Li, J. (2002). Dimensionality reduction of hyperspectral data using discrete wavelet transform feature extraction. IEEE Transactions on Geoscience and Remote Sensing, 40(10): 2331-2338. https://doi.org/10.1109/TGRS.2002.804721

[9] Ojala, T., Pietikainen, M., Maenpaa, T. (2002). Multiresolution gray-scale and rotation invariant texture classification with local binary patterns. IEEE Transactions on Pattern Analysis and Machine Intelligence, 24(7): 971-987. https://doi.org/10.1109/TPAMI.2002.1017623

[10] Ouanan, H., Diouri, O., Gaga, A., Ouanan, M., Aksasse, B. (2020). A novel face recognition system based on Gabor and Zernike features. In Advanced Intelligent Systems for Sustainable Development (AI2SD’2019) Volume 5-Advances Intelligent Systems for Multimedia Processing and Mathematical Modeling, pp. 9-15. https://doi.org/10.1007/978-3-030-36677-3_2

[11] Boukabou, W.R., Ghouti, L., Bouridane, A. (2006). Face recognition using a Gabor filter bank approach. In First NASA/ESA Conference on Adaptive Hardware and Systems (AHS'06), Istanbul, Turkey, pp. 465-468. https://doi.org/10.1109/AHS.2006.39

[12] Lishani, A.O., Boubchir, L., Khalifa, E., Bouridane, A. (2016). Gabor filter bank-based GEI features for human Gait recognition. In 2016 39th International Conference on Telecommunications and Signal Processing (TSP), Vienna, Austria, pp. 648-651. https://doi.org/10.1109/TSP.2016.7760962

[13] Mehta, N., Jadhav, S. (2016). Facial emotion recognition using log Gabor filter and PCA. In 2016 International Conference on Computing Communication Control and automation (ICCUBEA), Pune, India, pp. 1-5. https://doi.org/10.1109/ICCUBEA.2016.7860054

[14] See, Y.C., Noor, N.M., Low, J.L., Liew, E. (2017). Investigation of face recognition using Gabor filter with random forest as learning framework. In TENCON 2017 - 2017 IEEE Region 10 Conference, Penang, Malaysia, pp. 1153-1158. https://doi.org/10.1109/TENCON.2017.8228031

[15] Dora, L., Agrawal, S., Panda, R., Abraham, A. (2017). An evolutionary single Gabor kernel based filter approach to face recognition. Engineering Applications of Artificial Intelligence, 62: 286-301. https://doi.org/10.1016/j.engappai.2017.04.011

[16] Aro, T., Abikoye, O., Oladipo, I., Awotunde, B. (2019). Enhanced Gabor features based facial recognition using ant colony optimization algorithm. Journal of Sustainable Technolog, 10(1): 32-42. 

[17] Meshgini, S., Aghagolzadeh, A., Seyedarabi, H. (2012). Face recognition using Gabor filter bank, kernel principle component analysis and support vector machine. International Journal of Computer Theory and Engineering, 4(5): 767-771. 

[18] Karthika, R., Parameswaran, L. (2016). Study of Gabor wavelet for face recognition invariant to pose and orientation. In Proceedings of the International Conference on Soft Computing Systems: ICSCS 2015, Volume 1, pp. 501-509. https://doi.org/10.1007/978-81-322-2671-0_48

[19] Muthukumar, A., Kavipriya, A. (2019). A biometric system based on Gabor feature extraction with SVM classifier for Finger-Knuckle-Print. Pattern Recognition Letters, 125: 150-156. https://doi.org/10.1016/j.patrec.2019.04.007

[20] Dora, L., Agrawal, S., Panda, R., Abraham, A. (2019). A novel optimal Gabor algorithm for face classification. In Soft Computing for Problem Solving: SocProS 2017, Volume 2, pp. 821-832. https://doi.org/10.1007/978-981-13-1595-4_65

[21] TV, V., Malhotra, P., Narwariya, J., Vig, L., Shroff, G. (2019). Meta-learning for black-box optimization. In Joint European Conference on Machine Learning and Knowledge Discovery in Databases, Würzburg, Germany, pp. 366-381. https://doi.org/10.1007/978-0-387-30164-8_630

[22] Goldberg, D.E., Holland, J.H. (1988). Genetic algorithms and machine learning. Machine Learning, 3(2-3): 95-99. https://doi.org/10.1023/A:1022602019183

[23] Sammut, C., Webb, G.I. (2011). Encyclopedia of Machine Learning. Springer Science & Business Media. 

[24] Yang, X.S. (2010). Nature-Inspired Metaheuristic Algorithms. Luniver Press.

[25] Passino, K.M. (2002). Biomimicry of bacterial foraging for distributed optimization and control. IEEE Control Systems Magazine, 22(3): 52-67. https://doi.org/10.1109/MCS.2002.1004010

[26] Chalabi, N.E., Attia, A., Bouziane, A., Akhtar, Z. (2021). Particle swarm optimization-based block feature selection in face recognition system. Multimedia Tools and Applications, 80(24): 33257-33273. https://doi.org/10.1007/s11042-021-11367-0

[27] Al-Arashi, W.H., Ibrahim, H., Suandi, S.A. (2014). Optimizing principal component analysis performance for face recognition using genetic algorithm. Neurocomputing, 128: 415-420. https://doi.org/10.1016/j.neucom.2013.08.022

[28] Ramadan, R.M., Abdel-Kader, R.F. (2009). Face recognition using particle swarm optimization-based selected features. International Journal of Signal Processing, Image Processing and Pattern Recognition, 2(2): 51-65. 

[29] Kanan, H.R., Faez, K. (2008). An improved feature selection method based on ant colony optimization (ACO) evaluated on face recognition system. Applied Mathematics and Computation, 205(2): 716-725. https://doi.org/10.1016/j.amc.2008.05.115

[30] Chalabi, N.E., Attia, A., Bouziane, A., Hassaballah, M. (2023). An improved marine predator algorithm based on epsilon dominance and Pareto archive for multi-objective optimization. Engineering Applications of Artificial Intelligence, 119: 105718. https://doi.org/10.1016/j.engappai.2022.105718

[31] Ahonen, T., Hadid, A., Pietikainen, M. (2006). Face description with local binary patterns: Application to face recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 28(12): 2037-2041. https://doi.org/10.1109/TPAMI.2006.244

[32] Liu, C., Wechsler, H. (2002). Gabor feature based classification using the enhanced fisher linear discriminant model for face recognition. IEEE Transactions on Image Processing, 11(4): 467-476. https://doi.org/10.1109/TIP.2002.999679

[33] Shen, L., Bai, L. (2006). A review on Gabor wavelets for face recognition. Pattern Analysis and Applications, 9: 273-292. https://doi.org/10.1007/s10044-006-0033-y

[34] Štruc, V., Pavešić, N. (2010). The complete Gabor-fisher classifier for robust face recognition. EURASIP Journal on Advances in Signal Processing, 2010: 847680. https://doi.org/10.1155/2010/847680

[35] Shi, Y. (2001). Particle swarm optimization: Developments, applications and resources. In Proceedings of the 2001 Congress on Evolutionary Computation (IEEE Cat. No.01TH8546), Seoul, Korea (South), pp. 81-86. https://doi.org/10.1109/CEC.2001.934374

[36] Brown, P.O., Chiang, M.C., Guo, S., Jin, Y., et al. (2022). Mahalanobis distance-based k-means clustering. In International Conference on Big Data Analytics and Knowledge Discovery, Vienna, Austria, pp. 256-262. https://doi.org/10.1007/978-3-031-12670-3_23

[37] The Database of Faces. http//www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html.