A Comparative Study of Eigenface and Fisherface Algorithms Based on OpenCV and Sci-kit Libraries Implementations

Full Text (PDF, 741KB), PP.30-40

Views: 0 Downloads: 0


Ismail Aliyu 1,* Muhammad Ali Bomoi 1 Maryam Maishanu 1

1. Department of Mathematical Sciences Abubakar Tafawa Balewa University Bauchi, Nigeria

* Corresponding author.

DOI: https://doi.org/10.5815/ijieeb.2022.03.04

Received: 15 Feb. 2022 / Revised: 1 Mar. 2022 / Accepted: 25 Mar. 2022 / Published: 8 Jun. 2022

Index Terms

Face Recognition, Eigenface, Fisherface, OpenCV, Sci-kit learn


Facial Recognition is the task of processing an image or video content in order to identify and recognize the faces of individuals. Its area of applications are wide and a lot of research efforts have been invested which led to introduction of techniques/algorithms and programming language libraries for implementation of those techniques. Facial recognition relies heavily on the use of machine learning techniques. Convolutional Neural Network (CNN), a deep learning algorithm has been successfully applied for face recognition task. However, because of its requirements, it may not be applicable in all cases. Where application scenario cannot cope with CNN, it is necessary to resort to other techniques that use traditional Machine Learning (ML) techniques. Previous studies that performed comparison on face recognition algorithms that use traditional ML techniques only disclosed the best algorithm without revealing the best image processing library used. Considering the fact that people now depend on these libraries to build face recognition systems, it is important to empirically show the best library. In this paper an experiment was conducted with aim of assessing the performance of Fisherface and Eigenface algorithms, and that of Scikit-learn and OpenCV libraries. Eigenface and Fisherface algorithms were combined with K-Nearest Neighbors (KNN) and Support Vector Machines (SVM) classifiers respectively. The algorithms were evaluated using LFW dataset, and implemented in two Python libraries for image processing Scikit-learn and OpenCV. This is to enable us determine the best performing technique/algorithm and at the same time the best library, thereby achieving dual aims. Experimental results show that Scikit-learn implementation of Fisherface with KNN recorded the highest F-score of 67.23% while the OpenCV implementation of Eigenface with SVM recorded the lowest F-score of 14.53%. Comparing the algorithms, Fisherface with SVM produced better results than Eigenface with SVM. The same story holds for Fisherface with KNN, and Eigenface with KNN. This suggests that irrespective of classifier, Fisherface outperform Eigenface in terms of accuracy of recognition. Comparing the libraries, Scikit-learn implementations of Fisherface with SVM and Eigenface with SVM, outperform the OpenCV implementation of the same algorithms. This means scikit-learn implementation produces better results than its counterpart, the OpenCV.

Cite This Paper

Ismail Aliyu, Muhammad Ali Bomoi, Maryam Maishanu, "A Comparative Study of Eigenface and Fisherface Algorithms Based on OpenCV and Sci-kit Libraries Implementations", International Journal of Information Engineering and Electronic Business(IJIEEB), Vol.14, No.3, pp. 30-40, 2022. DOI:10.5815/ijieeb.2022.03.04


[1]C. Chen, R. Surette, and M. Shah, “Automated Monitoring for Security Camera Networks: Promise from Computer Vision Labs,” Secur. J., vol. 34, pp. 389–409, 2020.
[2]J. Zhao, R. Masood, and S. Seneviratne, “Review of Computer Vision Methods in Network Security,” IEEE Commun. Surv. Tutorials, vol. 23, no. 3, pp. 1838–1878, 2021, doi: https://doi.org/10.1109/COMST.2021.3086475.
[3]Y. Wang, P. Zheng, X. Xu, H. Yang, and J. Zou, “Production Planning for cloud based additive Manufacturing – A computer Vision based approach,” J. Robot. Comput. Manuf., vol. 58, pp. 145–157, 2019, doi: https://doi.org/10.1016/j.rcim.2019.03.003.
[4]S. Paneru and I. Jeelani, “Computer Vision Applications in Construction: Current state, Opportunities & Challenges,” J. Autom. Constr., vol. 132, 2021, doi: https://doi.org/10.1016/j.autcon.2021.103940.
[5]B. H. W. Guo, Y. Zou, Y. Fang, Y. M. Goh, and P. X. . Zou, “Computer Vision Technologies for Safety Science and Management in Construction: A critical Review and future Research Direction,” J. Saf. Sci., vol. 135, 2020, doi: https://doi.org/10.1016/j.ssci.2020.105130.
[6]D. Forsyth and J. Ponce, Computer Vision: A modern Approach, 2nd ed. Prentice Hall Publishers, 2011.
[7]G. B. Huang, M. Ramesh, T. Berg, and E. Learned-miller, “Labeled Faces in the Wild : A Database for Studying Face Recognition in Unconstrained Environments,” in workshop on faces in Real-Life images: detection. alignment, and recognition, 2008, pp. 1–11.
[8]H. Ge, Z. Zhu, Y. Dal, B. Wang, and X. Wu, “Facial Expression Recognition,” J. Comput. Methods Programs Biomed., vol. 215, 2022.
[9]G. Sunitha, K. Geetha, S. Neelakandan, A. K. S. Pundir, S. Hemalatha, and V. Kumar, “Intelligent Deep Learning Based Ethnicity Recognition and Classification using Facial Images,” J. Image Vis. Comput., 2022, doi: 10.1016/j.imavis.2022.104404.
[10]S. J. Goyal, A. K. Upadhyay, and R. S. Jadon, “A Brief Review of Deep Learning Based Approaches for Facial Expression and Gesture Recognition Based on Visual Information,” Mater. Today, vol. 2, pp. 462–469, 2020.
[11]W. Mellouk and W. Handouzi, “Facial Emotion Recognition using Deep Learning : Review and Insights,” in Procedia Computer Science. 2nd International Workshop on the Future of Internet of Everything, 2020, vol. 175, pp. 689–694, doi: 10.1016/j.procs.2020.07.101.
[12]Y. Kortli, M. Jridi, A. Al Falou, and M. Atri, “Face Recognition Systems : A Survey,” Sonsors (Basel), vol. 20, no. 2, p. 342, 2020, doi: 10.3390/s20020342.
[13]W. Zhao, R. Chellappa, P. J. Phillips, and A. Ronsenfield, “Face Recognition: A literature survey. (CSUR),” ACM Comput. Surv., vol. 35, no. 4, pp. 399–458, 2003.
[14]M. Lal, K. Kumar, R. H. Arain, and A. Maitlo, “Study of Face Recognition Techniques : A Survey,” Int. J. Adv. Comput. Sci. Appl., vol. 9, no. 6, pp. 42–49, 2018.
[15]M. Turk and A. Pentland, “Eigenfaces for Recognition,” J. Cogn. Neurosci, vol. 3, pp. 71–86, 1991.
[16]H. J. Seo and P. Milanfar, “Face Verification using the Lark Representation,” IEEE Trans. Inf. Forensics Secur., vol. 6, pp. 1275–1286, 2011.
[17]M. Annalakshmi, S. M. M. Roomi, and A. . Naveedh, “A hybrid technique for gender classification with SLBP and HOG features,” Clust. Comput., vol. 22, pp. 11–20, 2019.
[18]A. Vinay, D. Hebbar, V. S. Shekhar, K. B. Murthy, and S. Natarajan, “Two Novel Detector-descriptor Based Approaches for Face Recognition Using Sift and Surf,” Procedia Comput. Sci, vol. 70, no. 185–197, 2017.
[19]T. Napoleon and A. Alfalou, “Pose Invariant Face Recognition: 3D Model from Single Photo,” Opt. Lasers Eng, no. 89, pp. 150–161, 2017.
[20]A. Haji Rassouliha, T. P. . Gamage, M. D. Parker, M. P. Nash, A. J. Taberner, and P. . Nielsen, “FPGA implementation of 2D Cross-Correlation for Real-time 3D Tracking of Deformable Surfaces,” in IEEE 28th International Conference on Image and Vision Computing, 2013, pp. 352–357.
[21]I. Kambi Beli and C. Guo, “Enhancing Face Identification Using Local Binary Patterns and k-nearest Neighbors,” J. Imaging, vol. 3, no. 37, 2017.
[22]F. Schroff, D. Kalenichenko, and J. F. Philbin, “A Unified Embedding for Face Recognition and Clustering,” in IEEE conference on computer vision and pattern recognition, 2015, pp. 815–823.
[23]M. Slavkovic and D. Jevtic, “Face Recognition using Eigenface Approach,” Serbia J. Electr. Eng., vol. 9, no. 1, pp. 121–130, 2012.
[24]K. Simonyan, O. . Parkhi, A. Vedaldi, and A. Zisserman, “Fisher Vector Faces in the Wild,” 2013.
[25]M. Wang and W. Deng, “Deep Face Recognition : A Survey,” J. Neurocomputing, vol. 429, pp. 215–244, 2020, doi: 10.1016/j.neucom.2020.10.081.
[26]Sightcorp, “Face Recognition Using Deep Learning,” 2022. http://sightcorp.com/knowledge-base/face-recognition-deep-learning/ (accessed Feb. 09, 2022).
[27]P. . Belhumer, J. . Hespanha, and D. . Kriegman, “Eigenfaces vs Fisherfaces: Recognition using Class Specific Linear Projection,” IEEE Traansactions Pattern Anal. Mach. Intell., vol. 19, no. 17, pp. 711–720, 1997, doi: 10.1109/34.598228.
[28]X. He, S. Yan, Y. H. Hu, and H.-J. Zhang, “Learning a Locality Preserving Subspace for Visual Recognition,” in of 9th IEEE International Conference on Computer Vision, 2003, pp. 385–392.
[29]M. Sharkas and M. Abou Elenien, “Eigenfaces vs. Fisherfaces vs. ICA for face Recognition: A Comparative Study.,” in 9th International conference on signal processing, 2008, pp. 914–919.
[30]F. . Bhat and M. . Wani, “Performance Comparison of Major Classical Face Recognition Techniques,” in 13th International Conference on Machine Learning and Applications, 2014, pp. 521–528, doi: 10.1109/ICMLA.2014.91.
[31]D. Sadhya, A. Gautam, and S. K. Singh, “Performance Comparison of Some Face Recognition Algorithms on Multi-Covariate Face Databases,” in 4th International Conference on Image Information Processing (ICIPP), 2017, pp. 1–5, doi: 10.1109/ICIIP.2017.8313741.
[32]S. Jung, J. An, H. Kwak, J. Salminen, and B. J. Jansen, “Assessing the Accuracy of Four Popular Face Recognition Tools for Inferring Gender, Age, and Race,” in 12th International AAAI Conference on Web and Social Media (ICWSM 2018), 2018, pp. 624–627.
[33]A. . Jagtab, V. Kangale, K. Unune, and P. Gosavi, “A Study of LBPH, Eigenface, Fisherface and Haar-like Features for Face Recognition using OpenCV,” in IEEE International Conference on Intelligent Sustainable Systems (ICISS), 2019, pp. 219–224, doi: 10.1109/ISS1.2019.8907965.
[34]Z. Arya and V. Tiwari, “Automatic Face Recognition and Detection Using OpenCV , Haar Cascade and Recognizer for Frontal Face,” Int. J. Eng. Res. Appl., vol. 10, no. 6, pp. 13–19, 2020, doi: 10.9790/9622-1006051319.
[35]A. T. Kabakus, “An Experimental Performance Comparison of Widely Used Face Detection Tools,” Adv. Distrib. Comput. Artif. Intell. J., vol. 8, no. 3, pp. 5–12, 2019.
[36]G. Bradski, “OpenCV Library,” J. Softw. Tools Prof. Program., vol. 25, no. 11, pp. 120–123, 2000.
[37]V. Der Walt, J.L . Schonberger, N. Juan, B. Francois, J.D Warner, Y. Neil, G. Emmanualle, Y. Tony “Scikit-image: Image Processing in Python,” PeerJ, pp. 1–18, 2014, doi: 10.7717/peerj.453.
[38]G. S. Panwar, “Top 8 Image-Processing Python Libraries Used in Machine Learning,” 2020. .