Face Recognition System

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

 

SYSTEM MANAGEMENT​ | ASSIGNMENT 

Face Recognition Software 


__________________________________________________________________________________ 

MADE BY: GROUP-E 


________________________________________________________________________________________________________ 

 
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 
_______________________________________________________________________________________________________ 

Applying machine learning techniques to biometric security solutions is one of the


emerging AI trends . Today we would like to share some ideas about how to develop a

________________________________________________________________________________________________________ 
 

  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).

When a face turns up as unidentified, this image can be relayed to a manager or


supervisor along with a notification via a chatbot in a messenger program, or some
other means. The manager or supervisor would be presented with an array of options
on how to handle the situation from that point forward.

_____________________________________________

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: 

_____________________________________________________________________ 

LIT2020013: YASHVARDHAN BAID 

LIT2020014: ROHAN AGARWAL 

LIT2020015: PARMEET SINGH CHAWLA 

LCS2020013: NISCHAL GOYAL 

LCS2020014: AYUSH JAIN 

LCS2020015: AYUSH RAI 

LCI2020013: VATSAL SAVALIYA 

LCI2020014: ANKUR GUPTA 

LCI2020015: MANN 

_____________________________________________________________________ 

You might also like