Face Recognition in Computer Vision

I made a python library on implementing face recognition. In this project I explored 3 different face detection methods which are Eigenfaces, Fisherfaces and Local Binary Patterns Histograms(LBPH). For more information about the differences between the three algprithms, check out this pageFace Recognition with OpenCV. Luckily, OpenCV comes with many image processing methods and the three algorithms are also included so I can use them directly.

The project cotains three parts
1. Collecting face data
2. Training the algorithm
3. Performing the face recognition
Below is a diagram showing how the three parts are connected

Collecting face data: In my project the face data can be either collected from a live video stream or from a dataset folder containing a proper number of the person’s frontal face images. In this process, face detection with Harr Cascade on fontal face classifier is conducted to select the ROI(region of interest) and them cropped and resized to the ideal size for the next model training process.

Training the Algorithm: First, we need to train the model. To do so, we need to use a dataset with the facial images of the people we want to recognize. We need to also set an Id (it may be a number or the name of the person) for each image, so the algorithm will use this information to recognize an input image and give you an output. Images of the same person must have the same ID.

Performing the face recognition: In this step, the algorithm is already trained. For example, in LBPH method, a histogram is used to represent each image from the training dataset. So, given an input image, we perform the steps again for this new image and creates a histogram which represents the image. So to find the image that matches the input image, we just need to compare two histograms and return the image with the closest histogram.
Links:
github page


skill_icon-img

Other Projects.

A* search algorithm comparison on Manhattan and Euclidean distance

Control Custom Robot in ROS Gazebo with Object Detection in Tensorflow

2D Mapping using Hector SLAM and RPLidar with Raspberry Pi 4

Computer Vision: Uses machine learning CNN DNN to train model and realize object detection

© 2020 Jinbing Ying.