Professional Documents
Culture Documents
Face Recognition System
Face Recognition System
Face Recognition System
Objective:
In this assignment we have mainly discussed creation of a Face Recognition Software
and it’s working thereafter.
---------------------------------------------------------------------------
How to build a face detection and recognition system
_______________________________________________________________________________________________________
________________________________________________________________________________________________________
2
face recognition-based biometric identification system using OpenCV library, DLib and
real-time streaming via video camera.
In order for the system to function, it’s necessary to implement three steps. First, it must
detect a face. Then, it must recognize that face nearly instantaneously. Finally, it must
take whatever further action is required, such as allowing access for an approved user.
_______________________________________________________________________________________________________
Face detection and recognition process
____________________________________________________________________________
The facial recognition process begins with an application for the camera, installed on
any compatible device in communication with said camera. The application is
programmed in Golang, and works with both Raspbian and Ubuntu as a local console
app. When the application is first launched, it requires being configured using a JSON
config file with Local Camera ID and Camera Reader type.
This application is then able to use computer vision and a deep neural network in order
to find a prospective face within its stream. There are two primary effective ways to do
so: The first is the TensorFlow object detection model and the second is Caffe face
tracking. Both these methods have functioned well, and are a part of the OpenCV
library.
3
Once a face has been captured, the cropped image will be relayed with an HTTP form
data request to the back end. This facial image is then saved by the API, both on the
local file system and in the detection log, appended with a personID.
On the back end, an algorithm identifies records where ‘classified=false’ and uses the
Dlib function to generate the 128-dimension vector that details this face’s attributes.
The algorithm then cross-references this vector with all of the facial entries in the
database using Euclidean distance in order to discover whether this new face is a match
with any faces on record.
_____________________________________________
4
Pictured below is a representation of the Dlib function’s code, with the index points
corresponding to parts of the face
____________________________________________________________________________
5
After calculating Euclidean distance, the algorithm will either generate a new personID
for an unknown type person (if the distance is greater than 0.6) or marks the face as
classified and matches the personID (if the distance is less than 0.6).
_____________________________________________
Implementing a simple chatbot alert system takes around two to five days, and can be
created with utilities like Errbot (Python based) or Microsoft’s Bot Framework.
Facial records are available for after-the-fact management through the Admin Panel.
This space will contain a linking of all recorded images with their ID numbers. It’s
6
possible to create a database of all relevant employees’ facial images, which can be put
into the database before the system goes live.
One issue that potentially arises is that of scaling. Things become more complicated
when databases swell into the tens of thousands of entries, or if multiple cameras are
required. Processing speed will slow down if no countermeasures are taken.
Fortunately, parallelization offers a solution. It’s possible to create a load balancer and
multiple Web workers which are able to work at the same time. This allows the database
to be divided into subsections, which produces significantly faster search results.
The following is a summary of both the technologies implemented and the overall
structure of this facial recognition solution.
API requests within the solution use RESTful API, and back end employee data collection
uses MongoDB Collections and Golang. It would be possible to use a regular workstation
setup to test the solution.
________________________________________________________________________
7
MADE BY:
_____________________________________________________________________
LCI2020015: MANN
_____________________________________________________________________