The face is one of the easiest way to distinguish the individual identity of each other. Face recognition is a personal identification system that uses personal characteristics of a person to identify the person\'s identity. Now a days Human Face Detection and Recognition become a major field of interest in current research because there is no deterministic algorithm to find faces in a given image. Human face recognition procedure basically consists of two phases, namely face detection, where this process takes place very rapidly in humans, except under conditions where the object is located at a short distance away, the next is recognition, which recognize (by comparing face with picture or either with image captured through webcam) a face as an individual. In face detection and recognition technology, it is mainly introduced from the OpenCV method. Face recognition is one of the much-studied biometrics technology and developed by experts. The area of this project face detection system with face recognition is Image processing. The software requirement for this project is Python.
Facerecognition is the task of identifying an already detected object as a known or unknown face. Often the problem of face recognition is confused with the problem of face detection, Face Recognition on the other hand is decide if the "face" is someone known, or unknown, using of this purpose a database of faces in order to validate this input face. The goal of this project is to provide easier human-machine interaction routine, When user authentication is needed through face detection and recognition.
Recent advances in automated face analysis, pattern recognition and machine learning have made it possible to develop automatic face recognition systems to address these applications. On the one hand, recognising face is natutral process, because people usually do it effortlessly without much conscious. On the other hand , application of this process in area of computer vision remains a difficult problem. Being part of a biometric technology, automated face recognition has a plenty of desirable properties.
Face Recognition is based on the physiological biometric. this physiological biometric is based on measurements and data derived from direct measurements of a part of the human body.
II. MAIN MODULES OF THE SYSTEM
A. Create Dataset
B. Face Detection
C. Training Faces
D. Face Recognition
III. TECHNOLOGY USED
B. Deep Learning
The Purpose of this system is to detect and recognize the face to automatic user identification from the incoming image, to find a series of data of the same face in a set of training images in a database.
For the implementation of face detection and recognition system, we first need some libraries which helps us to complete our project successfully. This libraries are installed using pip (it is a package management system written in python used to install and manage software packages.) on command prompt
The syntax for installing libraries on command prompt using pip is: >>pip install ‘PackageName’
Following are the libraries which we used in project are:
The above flow chart explain the process of face recognition that how they works:
Camera(WebCam) is used to capture an image for the further processing like, to create the data set, training set and for face recognition.
Face detection system is used to detect the face from the image using the Haar_cascade_frontalface_default.xml file in a reactagular/square bounding box.
Image Dataset is used to create the dataset of an image to measure the facial nodes perfectly using multiple images that save in dataset to recognize a person.
Image Training set is used to covert the multiple images of one person that saved in dataset into a single .yml file using the image training algorithm.
In Face recognition the WebCam is used to capture an image as an input and using the trained algorithm(trained image) and LBPH(Local Binary Pattern Histogram) face recognition algorithm ,it identified the image of the user.
The steps for the face recognition are as follows:
A. Face Detection
Face detection just mean that a system is able to identify that there is a human face present in an image and video, And this is possible using Haar cascade classifier. A Haar classifier or Haar cascade classifier, is a machine learning object detection program that identifies objects in an image and video.
We can detect different parts of the human body using Haar cascade classifier like eyes, nose, face, etc. To detect the any part of the human body, there is different xml files are available, for eg. To detect the face we use Haarcascade_frontalface_default.xml file, OpenCv already contains this file.
After that set the border using rectangle() to show the detected faces in zero or more bounding boxes.
B. Creation of Dataset
Create a dataset to add information to recognize the person in the image or video. For this first set the id for that person whose face is detected, then using this id we can set the other information while face recognition. Here we can create our own dataset or start with the available face databases.
The input for the dataset is user id, it can be different for different faces.
After capturing the image from webcam, set the id for that image and save it into a particular folder for use of another program. The images are save in the folder that we mentioned.
C. Training Faces
Using the training faces, all face dataset converted into a single .yml file.For this we have trainingdata.yml file saved in a particular folder .
Create the function to prepare the training set:
Now, we will define a function
That takes the absolute path to the image dataset as input argument and returns tuple of two list, one containing the detected faces and the other containing the corresponding lable for that face. For example, if the ith index in the list of faces represents the 5th individual in the database , then the corresponding ith location in the list of labels has value equal to 5. Then covert the dataset faces (which is created in Creation of dataset ) into .yml file.
D. Face Recognition
This is the final step of the program that the face recognition process.
In this we are going through following two steps:
Capturing the video from Webcam
Campare it with .yml file
a. Capturing video from Webcam: Here, we can capture the image through Webcam as an input.
b. Campare it with .yml file: After capturing the image from Webcam, The image will compare with .yml file.
And then finally we got an output as an image with their identity like, the name of the person, age, etc....
Following is the table for recognition accuracy rate according to the algorithm:
RECOGNITION ACCURACY RATE
On the basis of above table we conclude that the average accuracy rate of Face Recognition System is 90%-98%.
VII. SOFTWARE AND HARDWARE REQUIREMENT
Operating System – Windows
Technology – Python , Deep Learning, Machine Learning
Database – Neatbeans / Notepad
4 GB RAM (Minimum)
80 GB HDD
VIII. FUTURE SCOPE
Security is a most important part of the day to day life, because the criminal records are increasing rapidly. So, this work particularly used for criminal identification.
We also use this work through many ways like, Attendance using face recognition, Find missing person, etc....
Better Security: Face recognition augments surveillance tactics and forms the basis of the identification process terrorists and criminals.
Easy to Integrate: Most face recognition solutions are compatible with security software.
Automated Identification: Face recognition let’s facial identification be automated, thus increasing efficiency alongside a heightened rate of accuracy.
A. Huge storage requirements: Machine learning technology requires powerful data storage.
B. Recognition can be vulnerable: We’ve outlined the way in which facial recognition can be thrown off.
C. Potential privacy issues: There is disagreement on whether face recognition is compatible with human privacy rights.