Convolutional Neural Network (CNN) is the most commonly used algorithm in face recognition. CNN is an artificial neural network that uses a convolution method to extract features from input data to increase the number of features. They learn multiple representations corresponding to different levels of abstraction. These levels form a hierarchical structure of concepts, showing the strong invariance of facial posture, lighting, shadow, and expression changes.
The general structure of face recognition process should have three stages. The first stage is pre-processing. In this stage, we will localize faces in images, resize images, and do color space conversion. The second stage is to identify and extract face features. The last stage is to classify these feature set from previous stage.