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

Ismail Aliyu, Muhammad Ali Bomoi, Maryam Maishanu
{"title":"A Comparative Study of Eigenface and Fisherface Algorithms Based on OpenCV and Sci-kit Libraries Implementations","authors":"Ismail Aliyu, Muhammad Ali Bomoi, Maryam Maishanu","doi":"10.5815/ijieeb.2022.03.04","DOIUrl":null,"url":null,"abstract":": 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.","PeriodicalId":427770,"journal":{"name":"International Journal of Information Engineering and Electronic Business","volume":"21 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-06-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Journal of Information Engineering and Electronic Business","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.5815/ijieeb.2022.03.04","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

Abstract

: 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.
基于OpenCV和Sci-kit库实现的特征脸和鱼脸算法的比较研究
面部识别是一项处理图像或视频内容以识别和识别个人面部的任务。它的应用领域很广,已经投入了大量的研究工作,这导致了技术/算法和实现这些技术的编程语言库的引入。面部识别在很大程度上依赖于机器学习技术的使用。卷积神经网络(CNN)是一种深度学习算法,已成功应用于人脸识别任务。但是,由于其要求,它可能不适用于所有情况。当应用场景无法应对CNN时,需要借助其他使用传统机器学习(ML)技术的技术。以前的研究对使用传统ML技术的人脸识别算法进行了比较,只揭示了最佳算法,而没有揭示所使用的最佳图像处理库。考虑到人们现在依赖这些库来构建人脸识别系统,经验地展示最好的库是很重要的。本文通过实验对fishface和Eigenface算法以及Scikit-learn和OpenCV库的性能进行了评估。特征脸和渔场算法分别与k近邻(KNN)和支持向量机(SVM)分类器相结合。使用LFW数据集对算法进行了评估,并在两个用于图像处理的Python库Scikit-learn和OpenCV中实现。这是为了使我们能够确定最佳性能的技术/算法,同时确定最佳库,从而达到双重目的。实验结果表明,基于KNN的Scikit-learn实现的Fisherface的f值最高,为67.23%,而基于SVM的openencv实现的Eigenface的f值最低,为14.53%。结果表明,基于支持向量机的fishface算法比基于支持向量机的Eigenface算法效果更好。具有KNN的fishface和具有KNN的Eigenface也是如此。这表明,无论分类器,在识别的准确性方面,fishface优于Eigenface。比较这些库,Scikit-learn实现的基于支持向量机的fishface和基于支持向量机的Eigenface,优于相同算法的OpenCV实现。这意味着scikit-learn实现比OpenCV产生更好的结果。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信