Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Introduction

-The Smart Scanner is a facial recognition software which aims at scanning the users facial
data and training the data set using python and OpenCv on jupyter notebook. The
procedure to the ultimate smart scanner is quite tedious as first we have to develop a
facial detector which detects the face and then trains the data set to recognize faces. We
intend to use only facial detection in the first phase of this project.

CODE DEPENDENCIES AND REQUIRED MODULES


-The program requires the system to have the following softwares :

 OPENCV (Built-in Facial Recognizers)


 JUPYTER (Hosting open source software)
 PYTHON (2.7 OR 3)
 NUMPY (to calculate the histograms using complex mathematical
 OS(Windows 10 )
 Tkinter ( for Developing the User Interface)

PHASES
There are basic three phases to the Facial recognition software:

1. Front End Development: Creating a GUI which can execute the software
flawlessly using Tkinter toolkit.
2. Data Gathering: Gather face data (face images in this case) of the persons you
want to identify.
3. Data Preprocessing : Transforming/ Converting each one into a decimal number
using binary to decimal conversion and then making a histogram of all the decimal values
extracted from the image.
4. Train the Dataset using Recognizer: Feed that face data and respective names
of each face to the recognizer so that it can learn.
5. Recognition: Feed new faces of that people and see if the face recognizer you just
trained recognizes them.

PRIOR KNOWLEDGE
1. Learning about the theoretical Inputs to the Smart Scanner that is the open cv
functionalities.
2. Learning about Data Science - Machine Learning (Supervised and Unsupervised
Algorithms) prior to developing the software.
3. Learning about the basic handling operations of opencv , Anaconda , Project Jupyter
which are the essentials to the Developing phase .

DEVELOPMENT
The development of the project is divided into three groups with DATA PREPROCESSING
being a task for all the individual group members.

Anoushka
Responsible for Learning and explaining about the recognizer that are available in open cv
for facial recognition i.e about

 EigenFaces – cv2.face.createEigenFaceRecognizer().

 FisherFaces – cv2.face.createFisherFaceRecognizer().

 Local Binary Patterns Histograms


(LBPH) – cv2.face.createLBPHFaceRecognizer().

Chaitanya
Responsible for initiating the development process alongside other group members .We
are going to divide the Face Recognition process into three steps:

1. Prepare Training Data: Read training images for each person/subject along with
their labels, detect faces from each image and assign each detected face an integer
label of the person it belongs.
2. Train Face Recognizer: Train OpenCV's LBPH recognizer by feeding it the data
we prepared in step 1.
3. Prediction: Introduce some test images to face recognizer and see if it predicts
them correctly.
To detect faces

Ayush Gupta
1. Front End developer – Making use of tkinter to provide a front end of the software
which will interact with the user.

PAGE 1
2. Responsible for the coding process along with help in debugging from the other group
members
3. Coding Using HOG (Histogram Oriented graphs)

Recent Development
We have understood the theoretical material that goes into the facial recognition software
, We have also developed the initial facial detection that goes into the whole process , our
software can now detect faces from live feed cameras or photos in live feed. Learning
about classifiers and cascades as well . We have been referencing from youtube , github
and Wikipedia as well to broaden our horizons in the field of Machine Learning . Emotion
analysis requires extensive knowledge into Neural Networks and Deep Learning and we
are under composite learning into the regarding field

PAGE 2

You might also like