Facial recognition is an increasingly popular security measure in scenarios with low computational power, such as phones and Raspberry Pi’s. There are many facial recognition techniques available. The aim is to compare three such techniques in both performance and time metrics.
An experiment was conducted to compare the facial recognition techniques Convolutional Neural Network (CNN), Eigenface with the classifiers K-Nearest Neighbors (KNN) and support vector machines (SVM) and Fisherface with the classifiers KNN and SVM under the same conditions with a limited version of the LFW dataset. The Python libraries scikit-learn and OpenCV as well as the CNN implementation FaceNet were used.
The results show that the CNN implementation of FaceNet is the best technique in all metrics except for prediction time. FaceNet achieved an F-score of 100% while the OpenCV implementation of Eigenface using SVM scored the worst at 15.5%. The technique with the lowest prediction time was the scikit-learn implementation of Fisherface with SVM.