0% found this document useful (0 votes)
3 views

Object detection

The project report details the development of a face recognition system using Python, aimed at automating student attendance to improve efficiency and reduce distractions in classrooms. It addresses the limitations of traditional attendance methods and outlines the objectives, system requirements, and implementation strategies. The report includes a literature survey, methodology, and expected outcomes, emphasizing the importance of real-time processing and accuracy in face detection.

Uploaded by

Puneet Superstar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Object detection

The project report details the development of a face recognition system using Python, aimed at automating student attendance to improve efficiency and reduce distractions in classrooms. It addresses the limitations of traditional attendance methods and outlines the objectives, system requirements, and implementation strategies. The report includes a literature survey, methodology, and expected outcomes, emphasizing the importance of real-time processing and accuracy in face detection.

Uploaded by

Puneet Superstar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 73

A

PROJECT REPORT
ON
FACE RECOGNITION USING PYTHON

Submitted in partial fulfillment of the requirements of the degree of

BACHELOR OF ENGINEERING

MR. CHHAND YADNESH MANIK

Under the Guidance of

PROF. NARESH SHENDE

ATMA MALIK INSTITUTE OF TECHNOLOGY AND RESEARCH


(AMRIT)
Mohili -Aghai Shahapur 421601
Affiliated to
UNIVERSITY OF MUMBAI

DEPARTMENT OF COMPUTER ENGINEERING


Academic Year – 2024-2025
CERTIFICATE
This dissertation report entitled “FACE RECOGNITION USING
PYTHON ” by Mr. Yadnesh Chhand is approved for the degree of Bachelor
of Engineering in Computer Engineering for academic year 2024 - 2025.

Examiners

1.

Project Guide

Prof. Naresh Shende

Prof. Naresh Shende Dr. D. D. Shinde


(HOD) (Principle)

Date:

Place:
DECLARATION
I declare that this written submission represents my ideas in my own words and where

others' ideas or words have been included, We have adequately cited and referenced the original

sources. I also declare that We have adhered to all principles of academic honesty and integrity

and have not misrepresented or fabricated or falsified any idea/data/fact/source in my

submission. I understand that any violation of the above will be cause for disciplinary action

by the Institute and can also evoke penal action from the sources which have thus not been

properly cited or from whom proper permission has not been taken when needed.

Mr. Yadnesh Chhand

Date:
ACKNOWLEDGEMENT

I would like to take the opportunity to express my heartfelt gratitude to the people whose
help and co-ordination has made this project a success. We thank Prof. Naresh Shende for
knowledge, guidance and co-operation in the process of making this project.

I owe project success to my guide and convey my thanks to her. We would like to express
my heartfelt to all the teachers and staff members of Computer Engineering department of AMRIT
for their full support. We would like to thank my principal for conductive environment in the
institution.

I am grateful to the library staff of AMRIT for the numerous books, magazines made
available for handy reference and use of internet facility.

Lastly, I am also indebted to all those who have indirectly contributed in making this project
successful.
CONTENTS
CH.
TOPIC NAME PAGE NO.
NO
LIST OF FIGURES I

LIST OF TABLES II

LIST OF SYMBOLS AND ABBREVATION IV

ABSTRACT V

1 INTRODUCTION 1
1.1 Introduction 2
1.2 Objective of the project 2
1.3 Problem Statement 3
1.4 Aims and Objective 4
1.5 Main Purpose 4

2 LITERATURE SURVEY 5

2.1 Student Attendance System 6

2.2 Digital Image Processing 6

2.3 Image Representation in a Digital Computer 7

2.4 Steps in Digital Image Processing 7

2.5 Definition of Terms and History 8

3 SYSTEM REQUIREMENT & SPECIFICATION 16

3.1 Hardware Requirement 17

3.2 Software Requirement 17

3.3 Technology 18

4 MODAL IMPLEMENTATION AND ANALYSIS 20

4.1 Introduction 21

4.2 Model Implementation 21

4.3 Design Requirement 22

4.4 Experimental Results 27


5 SYSTEM ARCHITECTURE 10

5.1 Existing System 31

5.2 Proposed System 31

5.2.1 Application 31

SYSTEM DESIGN 33
6 6.1 Methodology 34
6.2 Working 34
6.3 Unified Modeling Language 36

7 PROJECT IMPLEMENTATION 40
7.1 Result 41-43
7.2 Output 44
775828
GRGREGE

CONCLUSION AND FUTURE SCOPE 45-46


REFERENCES 47
PAPER PUBLICATION DETAILS 49
LIST OF FIGURES

Sr. Fig. Figure Name Page No.


No. No.
1 2.1 A diagram showing the steps in digital image processing 8

2 2.2 Haar Feature 11

3 2.3 Integral of Image 11

4 2.4 LBP Operation 13

5 2.5 The LBP operation Radius Change 14

6 2.6 Extracting The Histogram 14

7 4.1 Model Implement 21

8 4.2 Installing OpenCV 23

9 4.3 Jetson Board 24

8 4.4 Web Camera 26

9 4.5 Dataset sample 28

10 6.3.1 Class Diagram 36

11 6.3.2 Use Case Diagram 37

12 6.3.3 System Flowchart 38

13 6.3.4 System Architecture 39

14 7.1 Results 41-42

15 7.2 Output 42

I
LIST OF TABLES

Sr. Table Table Name Page No.


No. No.
1 2.1 Advantages & Disadvantages of Different Biometric 6
System

2 2.2 Advantages & Disadvantages of Face Detection 10


Methods

3 4.1 Specifications of Jetson Nano Developer kit 25

4 4.2 Experimental Results-1 28

5 4.3 Experimental Results-2 29

II
LIST OF SYMBOLS AND ABBREVIATIONS

RAM Random Access Memory


GPU Graphics Processing Unit
SE Standard Edition
VMS Virtual Machine Specification
API Application Programming Interface
KNN k-Nearest Neighbors

III
ABSTRACT

The advancement of next-generation network technologies provides a huge improvement in


healthcare facilities. Technologies such as 5G, edge computing, cloud computing, and the Internet of
Things (IoT) gave a ride to smart healthcare that a client can have anytime, anywhere, and in real
time. In our proposed smart healthcare system, we present a smart healthcare framework for
automatic voice disorder assessment and treatment using a deep learning approach. Voice disorders
are the medical conditions involving abnormal pitch, loudness or quality of the sound produced by
the larynx and therefore affecting speech production.
In this system, voice samples of clients are captured by smart sensors and initially processed using
edge computing. The data is sent to a core cloud using the Simple Object Access Protocol (SOAP) system
for further processing. Data assessment and management are controlled by a service provider through a
cloud manager. The result of this automatic assessment system helps specialists to prescribe
appropriate treatments to the clients. By using Convolutional neural networks (CNN) we will test the
voice samples and get the result.

Keywords: Voice disorder diagnosis, Machine Learning, Support Vector Machine (SVM), k-nearest
neighbors (KNN), Gradient Boosting, and Ensemble Learning.

IV
Face Recognition Using Python

CHAPTER 1
INTRODUCTION

AMRIT Page 1
Face Recognition Using Python

1. INTRODUCTION

1.1 Introduction
Real-time human detection and tracking is a vast, challenging and important field of
research. It has wide range of applications in human recognition, human computer interaction
(HCI), video surveillance etc. The research for biometric authentication of a person has reached
far but the real-time tracking of human beings has not gained much importance. Tracking of
human being can be used as a prior step in biometric face recognition. Keeping continuous track
of person will allow to identify person at any time. The system consist of two parts first human
detection and secondly tracking. Human detection step is split into face detection and eye
detection. Face is a vital part of human being represent most important information about the
individual. Eyes are the important biometric feature used in person identification. Face detection
is done using skin color-based methods. Color model is used to detect skin regions as it
represents intensity and color information separately. For eye region detection projection
function and pixel count methods are used.

1.2 Objective of the Project:


The motive of object detection is to recognize and locate all known objects in a scene.
Preferably in 3D space, recovering pose of individual in 3D is very important for robotic control
systems. Imparting intelligence to machines and making robots more and more autonomous and
independent has been a sustaining technological dream for the mankind. It is our dream to let the
robots take on tedious, boring, or dangerous work so that we can commit our time to more
creative tasks. Unfortunately, the intelligent part seems to be still lagging behind. In real life, to
achieve this goal, besides hardware development, we need the software that can enable robot the
intelligence to do the work and act independently. One of the crucial components regarding this
is vision, apart from other types of intelligences such as learning and cognitive thinking.

AMRIT Page 2
Face Recognition Using Python

1.3 Problem Statement:


Traditional student attendance marking technique is often facing a lot of trouble. The face
recognition student attendance system emphasizes its simplicity by eliminating classical student
attendance marking technique such as calling student names or checking respective identification
cards. There are not only disturbing the teaching process but also causes distraction for students
during exam sessions. Apart from calling names, attendance sheet is passed around the classroom
during the lecture sessions. The lecture class especially the class with a large number of students
might find it difficult to have the attendance sheet being passed around the class. Thus, face
recognition attendance system is proposed in order to replace the manual signing of the presence of
students which are burdensome and causes students get distracted in order to sign for their
attendance. Furthermore, the face recognition based automated student attendance system able to
overcome the problem of fraudulent approach and lecturers does not have to count the number of
students several times to ensure the presence of the students.

The paper proposed by Zhao, W et al. (2003) has listed the difficulties of facial
identification. One of the difficulties of facial identification is the identification between known
and unknown images. In addition, paper proposed by Pooja G.R et al. (2010) found out that the
training process for face recognition student attendance system is slow and time-consuming. In
addition, the paper proposed by Priyanka Wagh et al. (2015) mentioned that different lighting and
head poses are often the problems that could degrade the performance of face recognition based
student attendance system.

Hence, there is a need to develop a real time operating student attendance system which
means the identification process must be done within defined time constraints to prevent
omission. The extracted features from facial images which represent the identity of the students
have to be consistent towards a change in background, illumination, pose and expression. High
accuracy and fast computation time will be the evaluation points of the performance.

AMRIT Page 3
Face Recognition Using Python

1.4 Aims and Objectives:

The objective of this project is to develop face recognition attendance system.


Expected achievements in order to fulfill the objectives are:

● To detect the face segment from the video frame.


● To extract the useful features from the face detected.
● To classify the features in order to recognize the face detected.
● To record the attendance of the identified student.

1.5 Main Purpose:


A number of surveillance scenarios require the detection and tracking of people. Although
person detection and counting systems are commercially available today, there is need for further
research to address the challenges of real-world scenarios. The focus of this work is the
segmentation of groups of people into individuals and tracking them over time. The relevant
applications of this algorithm are people counting and event detection. Experiments document
that the presented approach leads to robust people counts

AMRIT Page 4
Face Recognition Using Python

CHAPTER 2
LITERATURE SUREY

AMRIT Page 5
Face Recognition Using Python

2 LITERATURE SURVEY

2.1 Student Attendance System:

Arun Katara et al. (2017) mentioned disadvantages of RFID (Radio Frequency


Identification) card system, fingerprint system and iris recognition system. RFID card system is
implemented due to its simplicity. However, the user tends to help their friends to check in as
long as they have their friend’s ID card. The fingerprint system is indeed effective but not
efficient because it takes time for the verification process so the user has to line up and perform
the verification one by one. However for face recognition, the human face is always exposed and
contain less information compared to iris. Iris recognition system which contains more detail
might invade the privacy of the user. Voice recognition is available, but it is less accurate
compared to other methods. Hence, face recognition system is suggested to be implemented in
the student attendance system.

System Type Advantage Disadvantages

RFID card system Simple Fraudulent usage


Fingerprint system Accurate Time-consuming
Voice recognition system Less accurate compared to Others

Iris recognition system


Accurate Privacy Invasion

Table 2.1: Advantages & Disadvantages of Different Biometric System

2.2 Digital Image Processing:

Digital Image Processing is the processing of images which are digital in nature by a digital
computer. Digital image processing techniques are motivated by three major applications
mainly:

AMRIT Page 6
Face Recognition Using Python

 Improvement of pictorial information for human perception


 Image processing for autonomous machine application
 Efficient storage and transmission.

2.3 Image Representation in a Digital Computer:

An image is a 2-Dimensional light intensity function

𝐟 (𝐱,𝐲) = 𝐫 (𝐱,𝐲) × 𝐢 (𝐱,𝐲) -(2.0)

Where, r (x, y) is the reflectivity of the surface of the corresponding image point. i (x,y)
Represents the intensity of the incident light. A digital image f(x, y) is discretized both in spatial
co-ordinates by grids and in brightness by quantization. Effectively, the image can be represented
as a matrix whose row, column indices specify a point in the image and the element value
identifies gray level value at that point. These elements are referred to as pixels or pels.

Typically following image processing applications, the image size which is used is𝟐𝟓𝟔 ×
𝟐𝟓𝟔, elements, 𝟔𝟒𝟎 × 𝟒𝟖𝟎 pels or 𝟏𝟎𝟐𝟒 × 𝟏𝟎𝟐𝟒 pixels. Quantization of these matrix pixels is
done at 8 bits for black and white images and 24 bits for colored images (because of the three
color planes Red, Green and Blue each at 8 bits)[.

2.4 Steps in Digital Image Processing:

Digital image processing involves the following basic tasks:

● Image Acquisition - An imaging sensor and the capability to digitize the signal produced
by the sensor.
● Preprocessing – Enhances the image quality, filtering, contrast enhancement etc.
● Segmentation – Partitions an input image into constituent parts of objects.
● Description/feature Selection – extracts the description of image objects suitable for
further computer processing.
● Recognition and Interpretation – Assigning a label to the object based on the information

AMRIT Page 7
Face Recognition Using Python

provided by its descriptor. Interpretation assigns meaning to a set of labelled objects.


● Knowledge Base – This helps for efficient processing as well as inter module
cooperation.

Figure 2.1 : A diagram showing the steps in digital image processing

2.5 Definition of Terms and History:

Face Detection
Face detection is the process of identifying and locating all the present faces in a single
image or video regardless of their position, scale, orientation, age and expression. Furthermore,
the detection should be irrespective of extraneous illumination conditions and the image and
video content.

2.5.1 Face Recognition


Face Recognition is a visual pattern recognition problem, where the face, represented as a
three dimensional object that is subject to varying illumination, pose and other factors, needs to
be identified based on acquired images.

Face Recognition is therefore simply the task of identifying an already detected face as a
known or unknown face and in more advanced cases telling exactly whose face it is.

AMRIT Page 8
Face Recognition Using Python

Difference between Face Detection and Face Recognition


Face detection answers the question, Where is the face? It identifies an object as a “face” and
locates it in the input image. Face Recognition on the other hand answers the question who is
this? Or whose face is it? It decides if the detected face is someone .It can therefore be seen that
face detections output (the detected face) is the input to the face recognizer and the face
Recognition’s output is the final decision i.e. face known or face unknown.

Face Detection
A face Detector has to tell whether an image of arbitrary size contains a human face and if
so, where it is. Face detection can be performed based on several cues: skin color (for faces in
color images and videos, motion (for faces in videos), facial/head shape, facial appearance or a
combination of these parameters. Most face detection algorithms are appearance based without
using other cues. An input image is scanned at all possible locations and scales by a sub window.
Face detection is posed as classifying the pattern in the sub window either as a face or a non-face.
The face/nonface classifier is learned from face and non-face training examples using statistical
learning methods[9]. Most modern algorithms are based on the Viola Jones object detection
framework, which is based on Haar Cascades.

AMRIT Page 9
Face Recognition Using Python

Face Detection
Advantages Disadvantages
Method
1. Long Training Time. 2.Limited
1. High detection
Viola Jones Head Pose. 3.Not able to detect dark
Speed.
Algorithm 2. High Accuracy. faces.
1. Simple computation. 1. Only used for binary and grey
Local Binary 2. High tolerance against images. 2.Overall performance is
Pattern Histogram the monotonic inaccurate compared to Viola-Jones
illumination changes. Algorithm.

Need not to have any prior


The result highly depends on the training
Ada Boost knowledge about face
data and affected by weak classifiers.
Algorithm structure.

1. Capable to deal with


SMQT Features lighting problem in object The region contain very similar to grey
and SNOW detection. value regions will be misidentified as face.
Classifier Method 2. Efficient in
computation.

1. Detection process is slow and


High accuracy only if large computation is complex.
Neural-Network size of image were trained. 2. Overall performance is weaker
than Viola-Jones
algorithm.

Table 2.2: Advantages & Disadvantages of Face Detection Methods

Viola-Jones algorithm which was introduced by P. Viola, M. J. Jones (2001) is the most
popular algorithm to localize the face segment from static images or video frame. Basically
the concept of Viola-Jones algorithm consists of four parts. The first part is known as Haar
feature, second part is where integral image is created, followed by implementation of
Adaboost on the third part and lastly cascading process.

AMRIT Page 10
Face Recognition Using Python

Figure 2.2: Haar Feature

Viola-Jones algorithm analyses a given image using Haar features consisting of


multiple rectangles (Mekha Joseph et al., 2016).
In the fig shows several types of Haar features. The features perform as window
function mapping onto the image. A single value result, which representing each feature
can be computed by subtracting the sum of the white rectangle(s) from the sum of the
black rectangle(s).

Figure 2.3: Integral of Image

AMRIT Page 11
Face Recognition Using Python

The value of integrating image in a specific location is the sum of pixels on the left and
the top of the respective location. In order to illustrate clearly, the value of the integral
image at location 1 is the sum of the pixels in rectangle A. The values
of integral image at the rest of the locations are cumulative. For instance, the value at
location 2 is summation of A and B, (A + B), at location 3 is summation of A and C, (A +
C), and at location 4 is summation of all the regions, (A + B + C + D). Therefore, the sum
within the D region can be computed with only addition and subtraction of diagonal at
location 4 + 1 − (2 + 3) to eliminate rectangles A, B and C.

2.5.2 Local Binary Pattern Histogram


Local Binary Pattern (LBP) is a simple yet very efficient texture operator which labels the
pixels of an image by thresholding the neighborhood of each pixel and considers the result
as a binary number.

It was first described in 1994 (LBP) and has since been found to be a powerful feature for
texture classification. It has further been determined that when LBP is combined with
histograms of oriented gradients (HOG) descriptor, it improves the detection performance
considerably on some datasets. Using the LBP combined with histograms we can represent
the face images with a simple data vector.

LBPH algorithm work step by step:


LBPH algorithm work in 5 steps.

1. Parameters: the LBPH uses 4 parameters:


● Radius: the radius is used to build the circular local binary pattern and represents the
radius around the central pixel. It is usually set to 1.
● Neighbors: the number of sample points to build the circular local binary pattern. Keep in
mind: the more sample points you include, the higher the computational cost. It is
usually set to 8.
● Grid X: the number of cells in the horizontal direction. The more cells, the finer the grid,
the higher the dimensionality of the resulting feature vector. It is usually set to 8.
● Grid Y: the number of cells in the vertical direction. The more cells, the finer the grid,
the higher the dimensionality of the resulting feature vector. It is usually set to 8.

AMRIT Page 12
Face Recognition Using Python

2. Training the Algorithm: First, we need to train the algorithm. 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. With the training set already constructed, let’s see the LBPH computational
steps.
3. Applying the LBP operation: The first computational step of the LBPH is to create an
intermediate image that describes the original image in a better way, by highlighting the facial
characteristics. To do so, the algorithm uses a concept of a sliding window, based on the
parameters radius and neighbors.

The image below shows this procedure:

Figure 2.4: LBP Operation

Based on the image above, let’s break it into several small steps so we can understand it easily:

 Suppose we have a facial image in grayscale.


 We can get part of this image as a window of 3x3 pixels.
 It can also be represented as a 3x3 matrix containing the intensity of each pixel (0~255).
 Then, we need to take the central value of the matrix to be used as the threshold.
 This value will be used to define the new values from the 8 neighbors.
 For each neighbor of the central value (threshold), we set a new binary value. We set 1 for
values equal or higher than the threshold and 0 for values lower than the threshold.
 Now, the matrix will contain only binary values (ignoring the central value). We need to
concatenate each binary value from each position from the matrix line by line into a new
binary value (e.g. 10001101). Note: some authors use other approaches to concatenate the
binary values (e.g. clockwise direction), but the final result will be the same.

AMRIT Page 13
Face Recognition Using Python

 Then, we convert this binary value to a decimal value and set it to the central value of the
matrix, which is actually a pixel from the original image.
 At the end of this procedure (LBP procedure), we have a new image which represents better
the characteristics of the original image.

Figure 2.5: The LBP operation Radius Change

It can be done by using bilinear interpolation. If some data point is between the pixels, it uses
the values from the 4 nearest pixels (2x2) to estimate the
value of the new data point.

4. Extracting the Histograms: Now, using the image generated in the last step, we can use
the Grid X and Grid Y parameters to divide the image into multiple grids, as can be seen in the
following image:

Figure 2.6: Extracting The Histogram

Based on the image above, we can extract the histogram of each region as follows:

AMRIT Page 14
Face Recognition Using Python

● As we have an image in grayscale, each histogram (from each grid) will contain only

● 256 positions (0~255) representing the occurrences of each pixel intensity.


● Then, we need to concatenate each histogram to create a new and bigger histogram.
Supposing we have 8x8 grids, we will have 8x8x256=16.384 positions in the final
histogram. The final histogram represents the characteristics of the image original image.

5. Performing the face recognition: In this step, the algorithm is already trained. Each
histogram created 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.
a. 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.
b. We can use various approaches to compare the histograms (calculate the distance between
two histograms), for example: Euclidean distance, chi-square, absolute value, etc. In this
example, we can use the Euclidean distance (which is quite known) based on the following
formula:

c. So the algorithm output is the ID from the image with the closest histogram. The algorithm
should also return the calculated distance, which can be used as a ‘confidence’ measurement.
d. We can then use a threshold and the ‘confidence’ to automatically estimate if the algorithm
has correctly recognized the image. We can assume that the algorithm has successfully
recognized if the confidence is lower than the threshold defined.

AMRIT Page 15
Face Recognition Using Python

CHAPTER 3
SYSTEM REQUIREMENT
& SPECIFICATION

AMRIT Page 16
Face Recognition Using Python

3 SYSTEM REQUIREMENT & SPECIFICATION

3.1 Hardware Requirements:


• Laptop or Computer
• Processor: Intel core i5 (or above version)
• RAM: 8GB (or above)
• Storage: 512 GB SSD (or above)
• GPU: GTX 1080 (or above)

3.2 Software Requirements:


• Platform: Windows 10/11
• Python
• PyCharm

AMRIT Page 17
Face Recognition Using Python

3.3 Technology:
PYTHON:
Python is a multi-paradigm programming language. Object-oriented programming and structured
programming are fully supported, and many of its features support functional programming and
aspect- oriented programming (including metaprogramming and metaobjects).Many other
paradigms are supported via extensions, including design by contract and logic programming.

Python uses dynamic typing and a combination of reference counting and a cycle-detecting garbage
collector for memory management. It uses dynamic name resolution (late binding), which binds
method and variable names during program execution.

Its design offers some support for functional programming in the Lisp tradition. It has filter,
mapandreduce functions; list comprehensions, dictionaries, sets, and generator expressions. The
standard library has two modules (itertools and functools) that implement functional tools borrowed
from Haskell and Standard ML.

Rather than building all of its functionality into its core, Python was designed to be highly extensible
via modules. This compact modularity has made it particularly popular as a means of adding
programmable interfaces to existing applications. Van Rossum's vision of a small core language
with a large standard library and easily extensible interpreter stemmed from his frustrations with

ABC, which espoused the opposite approach.

Python strives for a simpler, less-cluttered syntax and grammar while giving developers a choice
in their coding methodology. In contrast to Perl's "there is more than one way to do it" motto,

Python embraces a "there should be one—and preferably only one—obvious way to do it"
philosophy.

Python's developers strive to avoid premature optimization and reject patches to non-critical parts
of the CPython reference implementation that would offer marginal increases in speed at the cost
of clarity.[75] When speed is important, a Python programmer can move time-critical functions to
extension modules written in languages such as C; or use PyPy, a just-in-time compiler. Cpython
is also available, which translates a Python script into C and makes direct C-level API calls into

the Python interpreter.

AMRIT Page 18
Face Recognition Using Python

Python's developers aim for it to be fun to use. This is reflected in its name—a tribute to the British
comedy group Monty Python and in occasionally playful approaches to tutorials and reference
materials, such as examples that refer to spam and eggs (a reference to a Monty Python sketch) instead
of the standard foo and bar. The programming language's name 'Python' came from the BBC Comedy
series Monty Python's Flying Circus. Guido van Rossum thought he needed a name that was short,
unique and slightly mysterious, and so, he decided to name the programming language 'Python'.

A common neologism in the Python community is pythonic, which has a wide range of meanings
related to program style. "Pythonic" code may use Python idioms well, be natural or show fluency in the
language, or conform with Python's minimalist philosophy and emphasis on readability. Code that is
difficult to understand or reads like a rough transcription from another programming language is called
un-pythonic. Python users and admirers, especially those considered knowledgeable or experienced,
are often referred to as Pythonistas.

PYCHARM:
PyCharm is a dedicated Python Integrated Development Environment (IDE) providing a wide range of
essential tools for Python developers, tightly integrated to create a convenient environment for
productive Python, web, and data science development.

AMRIT Page 19
Face Recognition Using Python

CHAPTER 4
MODAL IMPLEMENTATION
AND ANALYSIS

AMRIT Page 20
Face Recognition Using Python

4 .1 INTRODUCTION:

Face detection involves separating image windows into two classes; one containing
faces (turning the background (clutter). It is difficult because although commonalities exist
between faces, they can vary considerably in terms of age, skin color and facial expression. The
problem is further complicated by differing lighting conditions, image qualities and
geometries, as well as the possibility of partial occlusion and disguise. An ideal face detector
would therefore be able to detect the presence of any face under any set of lighting
conditions, upon any background. The face detection task can be broken down into two steps.
The first step is a classification task that takes some arbitrary image as input and outputs a binary
value of yes or no, indicating whether there are any faces present in the image. The second
step is the face localization task that aims to take an image as input and output the location of
any face or faces within that image as some bounding box with (x, y, width, height).After
taking the picture the system will compare the equality of the pictures in its database and give the
most related result. We will use NVIDIA Jetson Nano Developer kit, Logitech C270 HD
Webcam, open CV platform and will do the coding in python language.

4.2 Modal Implementation:

Figure 4.1: Model Implement

AMRIT Page 21
Face Recognition Using Python

The main components used in the implementation approach are open source
computer vision library (OpenCV). One of OpenCV’s goals is to provide a simple- to-use
computer vision infrastructure that helps people build fairly sophisticated vision
applications quickly. OpenCV library contains over 500 functions that span many areas in
vision. The primary technology behind Face recognition is OpenCV. The user stands in
front of the camera keeping a minimum distance of 50cm and his image is taken as an
input. The frontal face is extracted from the image then converted to gray scale and stored.
The Principal component Analysis (PCA) algorithm is performed on the images and the
eigen values are stored in an xml file. When a user requests for recognition the frontal face
is extracted from the captured video frame through the camera. The eigen value is re-
calculated for the test face and it is matched with the stored data for the closest neighbour.

4.3 Design Requirements:


We used some tools to build the system. Without the help of these tools it would not
be possible to make it done. Here we will discuss about the most important one.

4.3.1 Software Implementation:


1. OpenCV: We used OpenCV 3 dependency for python 3. OpenCV is library where there
are lots of image processing functions are available. This is very useful library for
image processing. Even one can get expected outcome without writing a single code.
The library is cross-platform and free for use under the open-source BSD license.
Example of some supported functions are given bellow:
● Derivation: Gradient/Laplacian computing, contours delimitation
● Hough transforms: lines, segments, circles, and geometrical shapes detection
● Histograms: computing, equalization, and object localization with back projection
algorithm
● Segmentation: thresholding, distance transform, foreground/background detection,
watershed segmentation

● Filtering: linear and nonlinear filters, morphological operations


● Cascade detectors: detection of face, eye, car plates

AMRIT Page 22
Face Recognition Using Python
● Interest points: detection and matching

● Video processing: optical flow, background subtraction, camshaft (object


tracking)
● Photography: panoramas realization, high definition imaging (HDR), image
inpainting

So it was very important to install OpenCV. But installing OpenCV 3 is a complex


process. How we did it is given below:

Fig 4.2: Installing OpenCV

We copied this script and place it on a directory on our raspberry pi and saved it. Then
through terminal we made this script executable and then ran it.

Sudo chmod 755 /myfile/pi/installopencv.bash


sudo /myfile/pi/installopencv.bash

these are the command line we used.

AMRIT Page 23
Face Recognition Using Python

2. Python IDE: There are lots of IDEs for python. Some of them are PyCharm,
Thonny, Ninja, Spyder etc. Ninja and Spyder both are very excellent and free but we used
Spyder as it feature- rich than ninja. Spyder is a little bit heavier than ninja but still much
lighter than PyCharm. You can run them in pi and get GUI on your PC

1. sudo apt-get isntall spyder

through ssh-Y. We installed Spyder through the command line below.

4.3.2 Hardware Implementation:

Figure 4.3 Jetson Board

4.3.2.1 NVIDIA Jetson Nano Developer kit:


NVIDIA® Jetson Nano™ Developer Kit is a small, powerful computer lets you run
multiple neural networks in parallel for applications like image classification, object
detection, segmentation, and speech processing. All in an easy-to-use platform that runs in
as little as 5 watts.

It’s simpler than ever to get started! Just insert a microSD card with the system image,
boot the developer kit, and begin using the same NVIDIA JetPack SDK used across the
entire NVIDIA Jetson™ family of products. JetPack is compatible with NVIDIA’s world-
leading AI platform for training and deploying AI software, reducing complexity and effort
for developers.

AMRIT Page 24
Face Recognition Using Python

Specifications:

GPU 128-core NVIDIA Maxwell™

CPU Quad-core ARM® A57 @ 1.43 GHz

Memory 2 GB 64-bit LPDDR4 25.6 GB/s

Storage microSD (Card not included)

Video Encode 4Kp30 | 4x 1080p30 | 9x 720p30 (H.264/H.265)

Video Decode 4Kp60 | 2x 4Kp30 | 8x 1080p30 | 18x 720p30 (H.264/H.265)

Connectivity Gigabit Ethernet, 802.11ac wireless†

Camera 1x MIPI CSI-2 connector

Display HDMI

USB 1x USB 3.0 Type A,2x USB 2.0 Type A, USB 2.0 Micro-B

Others 40-pin header (GPIO, I2C, I2S, SPI, UART)


12-pin header (Power and related signals, UART) 4-pin Fan header†

Mechanical 100 mm x 80 mm x 29 mm

Table 4.1 Specifications of Jetson Nano Developer kit

AMRIT Page 25
Face Recognition Using Python

The developer kit uses a microSD card as boot device and for main storage. It’s
important to have a card that’s fast and large enough for your projects; the minimum
requirement is a 32GB UHS-1 card.

So we used 64Gb microSD card.

Before utilizing it, we have to configure our NVIDIA Jetson Nano Board for Computer
Vision and Deep Learning with TensorFlow, Keras, TensorRT, and OpenCV.
The NVIDIA Jetson Nano packs 472GFLOPS of computational horsepower. While it is a
very capable machine, configuring it is not easy to configure.

4.3.2.2 Webcam:

Figure 4.4 Web Camera


Specifications:
• Logitech C270 Web Camera (960-000694) supports for NVIDIA jetson nano developer
kit.
• The C270 HD Webcam gives you sharp, smooth conference calls (720p/30fps) in a
widescreen format. Automatic light correction shows you in lifelike, natural colors.
• Which is suitable to use with the NVIDIA Jetson Nano and NVIDIA Jetson Xavier NX
Development Kits.

AMRIT Page 26
Face Recognition Using Python

4.4 Experimental Results:

The step of the experiments process are given below:

Face Detection:

Start capturing images through web camera of the client side: Begin:

● Pre-process the captured image and extract face image


● calculate the eigen value of the captured face image and compared with eigen values of
existing faces in the database.
● If eigen value does not matched with existing ones,save the new face image information
to the face database (xml file).
● If eigen value matched with existing one then recognition step will done.

End

Face Recognition:

Using PCA algorithm the following steps would be followed in for face recognition:

Begin:

● Find the face information of matched face image in from the database.
● update the log table with corresponding face image and system time
that makes completion of attendance for an individua students.

End

This section presents the results of the experiment conducted to capture the face
into a grey scale image of 50x50 pixels.

AMRIT Page 27
Face Recognition Using Python

Test data Expected Result Observed Pass/


Result Fail
OpenCAM_CB() Connects with the Camera pass
installed camera and started.
starts playing.
LoadHaar Loads the Gets ready for Pass
Classifier() HaarClassifier Cascade Extraction.
files for frontal face
Initiates the Paul-
ExtractFace() Viola Face extracted Pass
Face extracting Frame
work.
Learn() Start the PCA Updates the Pass
Algorithm facedata. xml
Recognize() It compares the input Nearest face Pass
face with the saved
faces.

Table 4.2 Experimental Results-1


Here is our data set sample.

Figure 4.5 Dataset sample

AMRIT Page 28
Face Recognition Using Python

Face Orientations Detection Rate Recognition Rate

0o (Frontal face) 98.7 % 95%

18º 80.0 % 78%

54º 59.2 % 58%

72º 0.00 % 0.00%

90º(Profile face) 0.00 % 0.00%

Table 4.3 Experimental Results-2

We performed a set of experiments to demonstrate the efficiency of the proposed


method. 30 different images of 10 persons are used in training set. Figure 3 shows a sample
binary image detected by the ExtractFace() function using Paul-Viola Face extracting
Frame work detection method.

AMRIT Page 29
Face Recognition Using Python

CHAPTER 5
SYSTEM ARCHITECTURE

AMRIT Page 30
Face Recognition Using Python

5 SYSTEM ARCHITECTURE

5.1 Existing System:

Most existing digital video surveillance systems rely on human observers for detecting
specific activities in a real-time video scene. However, there are limitations in the human
capability to monitor simultaneous events in surveillance displays. Hence, human motion
analysis in automated video surveillance has become one of the most active and attractive
research topics in the area of computer vision and pattern recognition.

5.2 Proposed System:


When presented with an image or video, object detection TensorFlow works by identifying
known objects from all instances through the help of computer vision. The history of object
detection is as recent as the internet. The first recorded neural network for object detection was
Overfeat, as developers believed object detection would help improve image identification.
TensorFlow object detection combines Deep and Machine Learning for object recognition.
Through APIs, developers can run TensorFlow trained models rather than build from scratch.
This saves them a lot of time and improves their predictive accuracy. Also, TensorFlow object
detection tutorial ensures anyone can apply a model without prior knowledge of Machine
Learning. However, they'd still need a basic understanding of Python.

5.2.1 Applications:
People counting has a wide range of applications in the context of pervasive systems. These
applications range from efficient allocation of resources in smart buildings to handling emergency
situations. There exist several vision-based algorithms for people counting. Each algorithm
performs differently in terms of efficiency, flexibility and accuracy for different indoor scenarios.
Hence, evaluating these algorithms with respect to different application scenarios, environment
conditions and camera orientations will provide a better choice for actual deployment. For this
purpose, in our paper the most commonly implemented Frame Differencing, Circular Hough

AMRIT Page 31
Face Recognition Using Python

Transform and Histogram of Oriented Gradient based methods are evaluated with respect to
different factors like camera orientation, lighting, occlusion etc. The performance of these
algorithms under different scenarios demonstrates the need for more accurate and faster people
counting algorithms.

AMRIT Page 32
Face Recognition Using Python

CHAPTER 6
SYSTEM DESIGN

AMRIT Page 33
Face Recognition Using Python

6 SYSTEM DESIGN

6.1 Methodology:

TensorFlow is an open-source API from Google, which is widely used for solving machine
learning tasks that involve Deep Neural Networks. TensorFlow Object Detection API is an open-
source library made based on TensorFlow for supporting training and evaluation of Object
Detection models. Today we will take a look at “TensorFlow Detection Model”, which is a
collection of pre-trained models compatible with TensorFlow Object Detection API. PyCharm is
a programming language that translates an abstract idea into a program design we can see on
screens. PyCharm presents a three- step approach for creating programs which are to design the
appearance of the application, assign property settings to the objects of your program & write the
code to direct specific tasks at runtime.

6.2 Working:
User just need to download the file and run the main.py on their local system.
On the starting window of the application, user will be able to see START and EXIT option,
using which user can start the application or exit from the application.
When user starts the application using START button, a new window will open, which allows
user with options like, DETECT FROM IMAGE, DETECT FROM VIDEO or DETECT FROM
CAMERA.
When user selects any of the first two option, he/she needs to select the respective files using
SELECT button.
User can preview the selected file using PREVIEW button, and detect and count the humans
using DETECT BUTTON
And when user selects, the last option of detecting through camera, user need to open the
Camera, using OPEN CAMERA button, As soon as camera opens, detection process will start.
After detection process gets completed or user manually completes it, two graph get plotted,

AMRIT Page 34
Face Recognition Using Python

1.) Enumeration Plot (Human Count Vs. time) and

2.) Avg. Accuracy Plot (Avg. Accuracy Vs. time).

Along with this two plots, an option to generate crowd report also appears, On clicking
on it, a crowd report in form of PDF is generated and saved automatically at the project file
location. In the crowd report generated, there will be information like, What is Max Human
Count, Max Accuracy, Max Avg. Accuracy, and also a two line status about crowd.

AMRIT Page 35
Face Recognition Using Python

6.3 UNIFIED MODELING LANGUAGE (UML )

6.3.1 Class Diagram:

Fig 6.3.1:

The HUMAN DETECTION SYSTEM Class Diagram is a modeled diagram that explain its
classes
.
and relationships. The diagram depicts the names and attributes of the classes, as well as their
links and, their methods. It is the most essential type of UML diagram which is critical in
software development. It is an approach to show the system’s structure in detail, including its
properties and op.erations. The HUMAN DETECTION SYSTEM must have a designed
diagr,am to define the

AMRIT Page 36
Face Recognition Using Python
6.3.2 Use Case Diagram:

Fig 6.3.2: Use Case Diagram

The objective of a use case diagram is to show the interactions of numerous items called
actors with the use case and to capture fundamental functionalities of a system. As you see
through the diagrams, there are the use cases involved to define the core functions of a system.
These processes were expected by the users to be connected to produce a certain output. Being
a programmer, this could be an important role that the HUMAN DETECTION SYSTEM
general Use Case Diagram should have.

AMRIT Page 37
Face Recognition Using Python

6.3.3 System Flowchart Diagram:

Fig 6.3.3: System Flowchart

The data included in the System flow chart diagram was labeled properly to guide the
developers on the graphical representation of the HUMAN FACE DETECTION SYSTEM.

AMRIT Page 38
Face Recognition Using Python

6.3.4 System Architecture:

Fig 6.3.4: System Architecture

A system architecture is the conceptual model that defines the structure, behavior, and more
views of a system. An architecture description is a formal description and representation of a
system, organized in a way that supports reasoning about the structures and behaviors of the
system. These diagrams visualize the boundaries, along with the software, nodes, and
processors that make up the system. They can also help you understand how different
components communicate with each other. Not only that, but they also give you an overview of
the physical hardware in the system.

AMRIT Page 39
Face Recognition Using Python

CHAPTER 7
PROJECT IMPLEMENTATION

AMRIT Page 40
Face Recognition Using Python

7. PROJECT IMPLEMENTATION

7.1 Results

AMRIT Page 41
Face Recognition Using Python

AMRIT Page 42
Face Recognition Using Python

AMRIT Page 43
Face Recognition Using Python

7.2 Output

AMRIT Page 44
Face Recognition Using Python

CONCLUSION

In the last section of the project, we generate Crowd Report, which will give some message on the
basis of the results we got from the detection process. For this we took some threshold human
count and we gave different message for different results of human count we got form detection
process.

Now coming to the future scope of this project or application, since in this we are taking any image,
video or with camera we are detecting humans and getting count of it, along with accuracy. So
some of the future scope can be: This can be used in various malls and other areas, to analyses the
maximum people count, and then providing some restrictions on number of people to have at a
time at that place.

This can replace various mental jobs, and this can be done more efficiently with machines. This
will ultimately leads to some kind of crowd-ness control in some places or areas when
implemented in that area.

AMRIT Page 45
Face Recognition Using Python

FUTURE SCOPE

Big data applications are consuming most of the space in industry and research area. Among the
widespread examples of big data, the role of video streams from CCTV cameras is equally important
as other sources like social media data, sensor data, agriculture data, medical data and data evolved
from space research. Surveillance videos have a major contribution in unstructured big data. CCTV
cameras are implemented in all places where security having much importance. Manual surveillance
seems tedious and time consuming. Security can be defined in different terms in different contexts
like theft identification, violence detection, chances of explosion etc.

In crowded public places the term security covers almost all type of abnormal events. Among them
violence detection is difficult to handle since it involves group activity. The anomalous or abnormal
activity analysis in a crowd video scene is very difficult due to several real-world constraints. The
paper includes a deep- rooted survey which starts from object recognition, action recognition, crowd
analysis and finally violence detection in a crowd environment. Majority of the papers reviewed in
this survey are based on deep learning technique. Various deep learning methods are compared in
terms of their algorithms and models.

AMRIT Page 46
Face Recognition Using Python
REFERENCE

LINKS:

▪ https://ieeexplore.ieee.org/document/9760635

▪ https://ieeexplore.ieee.org/document/9730709

▪ [1]. A brief history of Facial Recognition, NEC, New Zealand,26 May 2020.[Online].
Available: https://www.nec.co.nz/market-leadership/publications-media/a-brief-history-of-
facial- recognition/
▪ [2]. Face detection,TechTarget Network, Corinne Bernstein, Feb, 2020.[Online].
Available: https://searchenterpriseai.techtarget.com/definition/face-detection
▪ [3]. Paul Viola and Michael Jones, Rapid Object Detection using a Boosted Cascade of
Simple Features. Accepted Conference on Computer Vision and Pattern Re cognition,
2001.
▪ [4]. Face Detection with Haar Cascade,Towards Data Science-727f68dafd08,Girija
Shankar Behera, India, Dec 24, 2020.[Online].
Available:https://towardsdatascience.com/face-detection- with-haar-cascade-727f68dafd08
▪ [5]. Face Recognition: Understanding LBPH Algorithm,Towards Data Science-
90ec258c3d6b,Kelvin Salton do Prado, Nov 11, 2017.[Online].
Available
▪ :https://towardsdatascience.com/face-recognition-how-lbph-works-90ec258c3d6b
▪ [6]. What is Facial Recognition and how sinister is it, Theguardian, IanSample, July,
2019. [Online]. Available: https://www.theguardian.com/technology/2019/jul/29/what-is-
facial- recognition-and-how-sinister-is-it
▪ [7].Kushsairy Kadir , Mohd Khairi Kamaruddin, Haidawati Nasir, Sairul I Safie, Zulkifli
Abdul Kadir Bakti,"A comparative study between LBP and Haar-like features for Face
Detection using OpenCV", 4th International Conference on Engineering Technology and
Technopreneuship (ICE2T), DOI:10.1109/ICE2T.2014.7006273, 12 January 2015.
▪ [8].Senthamizh Selvi.R,D.Sivakumar, Sandhya.J.S , Siva Sowmiya.S, Ramya.S , Kanaga
Suba Raja.S,"Face Recognition Using Haar - Cascade Classifier for Criminal

AMRIT Page 47
Face Recognition Using Python

▪ Identification", International Journal of Recent Technology and Engineering(IJRTE),


vol.7, issn:2277-3878, , issue-6S5, April 2019.
▪ [9]. Robinson-Riegler, G., & Robinson-Riegler, B. (2008). Cognitive psychology:
applying the
▪ science of the mind. Boston, Pearson/Allyn and Bacon..
▪ [10]. Margaret Rouse, What is facial recognition? - Definition from WhatIs.com, 2012.
[online]
▪ Available at: http://whatis.techtarget.com/definition/facial-recognition
▪ [11]. Robert Silk, Biometrics: Facial recognition tech coming to an airport near you:
Travel Weekly, 2017. [online] Available at:
https://www.travelweekly.com/Travel-News/Airline-
▪ News/Biometrics-Facial-recognition-tech-coming-airport-near-you
▪ [12]. Sidney Fussell, NEWS Facebook's New Face Recognition Features: What We Do
(and Don't) Know, 2018. [online] Available at: https://gizmodo.com/facebooks-new-face-
recognition-fea tures-what-we-do-an-1823359911
▪ [13]. Reichert, C. Intel demos 5G facial-recognition payment technology | ZDNet, 2017.
[online] ZDNet. Available at: https://www.zdnet.com/article/intel-demos-5g-facial-
recognition-payment-
technology/#:~:text=Such%20%22pay%20via%20face%20identification,and%20artificial
%20int elligence%20(AI). [Accessed 25 Mar. 2018].
▪ [14]. Mayank Kumar Rusia, Dushyant Kumar Singh, Mohd. Aquib Ansari, “Human
Face Identification using LBP and Haar-like Features for Real Time Attendance
Monitoring”, 2019 Fifth International Conference on Image Information Processing
(ICIIP) ,Shimla, India, DOI: 10.1109/ICIIP47207.2019.8985867 10 February 2020.

AMRIT Page 48
Face Recognition Using Python

PAPER PUBLICATION DETAILS

Paper Name: Face Recognition Using Python


Journal: International Journal for Multidisciplinary Research
(IJFMR)
Volume: 7 Issue: II Published on: March-April, 2025.

AMRIT Page 49
7 2
March-April 2025
International Journal for Multidisciplinary Research (IJFMR)
E-ISSN: 2582-2160 ● Website: www.ijfmr.com ● Email: [email protected]

Face Recognition Usings Python


Dinesh Mhaskar1, Yadnesh Chhand2, Aakash Patil3, Om Vekhande4,
Prof. Mr. Naresh Shende5
1,2,3,4
Student, Computer Engineering, University Of Mumbai
5
Professor, Computer Engineering, University Of Mumbai

Abstract
The human faces are dynamic multidimensional systems that require good recognition
processing techniques. Over the past few decades, the interest in automated face recognition has
been growing rapidly, including its theories and algorithms. Public security, criminal
identification, identity verification for physical and logical access, and intelligent autonomous
vehicles are a few examples of concrete applications of automated face recognition that are
gaining popularity among industries. Research in face cognition started in the 1960s. Since then,
various techniques have been developed and deployed, including local, holistic, and hybrid
approaches, which recognize faces using only a few face image features or whole facial features.
Yet, robust and efficient face recognition still provides challenges for computer vision and
pattern recognition researchers. In this paper, the researchers offered an overview of face
recognition, the different used techniques in previous literature and their applications.

Keywords: Face Recognition, Person identification, Image processing, Survey

1. INTRODUCTION

I. BACKGROUND
Facial recognition is a biometric tool. Like other regularly used biometric technologies such as
fingerprint recognition, iris recognition, and finger vein pattern recognition , it identifies a person
based on specific physiological features. The introduction of facial recognition in the field of
pattern recognition had an impact on the range of applicability, particularly for cyber
investigations. This has been possible due to advanced training techniques and progression made
in the analysis. Increased demand for a robust security system led the researchers to find work on
finding a reliable technology that verifies identities. Facial recognition systems could be the best
solution due to their speed and convenience over other biometric technologies. The identity of
any person is incomplete without facial recognition. Just like any other form of identification,
face recognition requires samples to be collected, identified, extracted with necessary
information (features), and stored for recognition.
Though the software used varies, the facial recognition process generally follows three main
phases. First, the face is captured in real time. The software then determines a number of facial
features known as landmarks of nodal points on the face. This includes the depth of the eye
sockets, the distance between the eyes, the width of the nose, and the distance from the forehead
to the chin. Each software uses different nodal points and can obtain up to 80 different

IJFMR250239330 Volume 7, Issue 2, March-April 2025 1


International Journal for Multidisciplinary Research (IJFMR)
E-ISSN: 2582-2160 ● Website: www.ijfmr.com ● Email: [email protected]

measurements. This data is then converted into a mathematical formula that represents the
person’s unique facial signature. Afterward, the facial signature is compared to a dataset if known
faces. This can all happen in a matter of seconds. Facial recognition technology has been around
since the 1960s. Woodrow Wilson Bledsoe developed the early system that
identified photographs by manually entering the coordinates of facial features such as the mouth
and nose using an electrical stylus. When given a photograph of a person, the system could
extract images from a dataset that most closely resembled it . However, since its inception, facial
recognition has been polarizing. Facial recognition technology is widely used in the field of
safety and security. It is used by law enforcement agencies to fight crime and locate missing
people. Furthermore, face recognition technology is increasingly being used at airport security
checkpoints around the world to protect passengers and identify criminals attempting to enter the
country [3, 4]. Today, some companies are developing a service using face recognition data
platforms to help prevent shoplifting and violent crime. Facial recognition technology is getting
faster and more accurate every year. However, its applications do not stop at safety and security.
It could also soon be used to make our lives more convenient. Facial recognition is increasingly
used in mobile devices and consumer products to authenticate users. College classrooms and
testing facilities are using it to take attendance and prevent cheating. Retailers are using it to
identify customers. Moreover, some automotive manufacturers are developing ways to use the
technology in place of car keys. Facial recognition could also be used for targeting products to
specific groups by offering a personalized experience [3]. There are vocal arguments against
facial recognition technology, with the biggest being its threat to an individual’s privacy. Some
cities across the world are already working towards banning real-time facial recognition. That is
mainly because facial data can be collected and stored without the person’s permission [1].
Yet, the technology is still not perfect as has been demonstrated. It is being widely adopted since
it is an advancing technology still seeking to reach high accuracy.
A. How Facial Recognition Works
Since computers would not understand faces as humans would, this technology is built on
turning face images into numerical expressions, called templates, that can be processed by the
computer and then used to compare with other face images. For the matching to be accurate and
reap true results, features need to be extracted from an image that makes it unique, so that when
compared in the future with other images in the dataset, both images will match only if they share
the same features. Formerly, the distances between key points on a template were taken for such
processes; however, that was far from accurate
Since computers recognize images as matrices where their numbers represent pixel colors, facial
recognition focuses are processing such matrices in a way such that faces can be recognized from
the way the numbers are organized. Modern approaches have led to passing the digital face image
through a series of “filters” to generate templates that are unique for each face. These filters are
used in a form that will produce a distinctive simplified fingerprint for the face being processed
Earlier at the beginning of facial recognition, scientists would pick the filters themselves that
would be applied to the images. However, nowadays computers are responsible for that task
through deep learning. The filters are selected by giving the system a series of three images, two
of each are of the same person and the third is for someone else. Through trial and error, the
system must reach the maximum similarity between both images and the least with the third of
each triplet in the series. The desired output is a collection of filters that are reliable enough to
IJFMR250239330 Volume 7, Issue 2, March-April 2025 2
International Journal for Multidisciplinary Research (IJFMR)
E-ISSN: 2582-2160 ● Website: www.ijfmr.com ● Email: [email protected]

produce the distinctive face templates needed for facial recognition


B. Facial Recognition Matching Methods
Facial recognition has been approached through various methods over the years. Some of those
major methods are feature-based (also known as local), holistic, and hybrid matching.
Feature-based: In this method, distinct facial features such as mouth, nose, eyes, and more
are of importance; thus, they are extracted as key points with their location determined and are
geometrically processed on them to be represented later by vectors of distances and angles
relating these specific features. Then, pattern recognition techniques are used to match the faces
using these measurements Feature-based matching is considered high-speed since it uses
specific features of the face during the process and ex- tracts them before the analysis starts. It
also can be modified to be invariant to lighting, orientation, or pose; however, feature detection
could be hard which would force the programmer to discard some features that are vital
making comparability less accurate
Holistic: This approach takes the whole face into consideration rather than focusing on some
special features. It deals with 2D face images and works on comparing them directly to each other
and correlating their similarities. Eigenfaces is one of the methods used and was developed by
Sirovich and Kirby. It is one of the most widely researched face recognition techniques, also
known as Karhunen-Loe`ve expansion, Eigen image, Eigenvector, and a principal component
First, a set of images, known as the training set, is inserted into a dataset to be compared later
with the created eigen- faces. Subsequently, eigenfaces are generated by extracting features from
the faces using the mathematical tool Principal Component Analysis (PCA) [12]. This tool helps
reduce dimensionality to finally represent the eigenfaces as vectors of weights. Next, the system
receives the unknown image that needs to be recognized and finds its weight to compare with the
weights of the training set. For the image to be identified, it must be below a given threshold.
Finally, the image in the dataset with the closest weight to that of the unknown one will be the
output. Although this method’s advantage is that it does not destroy any of the image’s
information, this makes it computationally expensive since it values all the pixels of the image.
Moreover, they do not work best when a face is in very distinct poses or highly illuminated. Still,
after multiple enhancements and modifications to make up for its shortcomings, it is considered
to work better than the feature-based method.
Hybrid: This type of matching method employs both feature-based and holistic matching
methods on 3D face image.
C. Challenges of Face Recognition
Even though face recognition systems have been widely expanded and numerous methods have
been applied for face recognition. It still faces many challenges in real-life applications. Here are
some of the challenges explained.
Posing: People sometimes unconsciously pose differently every time they take a picture. Thus,
pose variations cause a serious challenge for face recognition systems which can lead to no or
faulty recognition of the face, especially in cases when the dataset has only the frontal view of
the face. Face recognition systems can manage only small variations in rotation angles while the
pose of the face that is createdby the rotation of the head position or changing the point of view
of the camera cause higher rotation angles. As a result, better pose tolerance and the ability to
recognize different poses should be taken into consideration in face recognition systems.
Techniques aiming for aligning to the image’s axis can be used to handle this challenge [14, 15].
IJFMR250239330 Volume 7, Issue 2, March-April 2025 3
International Journal for Multidisciplinary Research (IJFMR)
E-ISSN: 2582-2160 ● Website: www.ijfmr.com ● Email: [email protected]

Illumination: Illumination is a challenging condition that can heavily affect face recognition
systems. As variation in lighting changes the appearance of the face extremely. Even if a person
took the same images with the same pose and expression but with varying lighting can appear
drastically different. Also, it is
shown that the difference between two different images of two different people under the same
illumination conditions is lesser than the difference between two images of the exact person under
different lighting conditions. Thus, this challenge has attracted the attention of researchers and is
widely considered to be hard for algorithms and humans. To overcome this challenge, there are
three methods that can be applied, gradient, grey level, and face reflection field estimation
techniques.
Occlusion: Occlusion can be defined as something that blocks the face or part of the face such as
a mustache, hands on the face, scarf, sunglasses, or shadows caused by extreme light. Occlusion of
less than 50% of the face is referred to as partial occlusion. This challenge degrades the
performance of face recognition systems. The holistic approach is one of the methods that can be
used for this challenge as it suppresses the features, traits, and characters while the rest of the
face is used as a piece of valuable information .
Resolution: Varying quality and resolution of the images given as inputs are considered a
crucial challenge. Any image that is below 16 x 16 is considered a low-resolution image, those
types of images are used in CCTV cameras in public streets or supermarkets. Also, they do not
provide much information as they are mostly lost. As a result, the recognition process goes down
drastically. Hence, there is a direct relation between efficiency and the face recognition system as
when the resolution increases it gives a better, easier, and more efficient recognition process.
Aging: Aging is an uncontrollable process for all human section, this paper provides numerous
previous research papers on face recognition using different techniques and approaches that will
be discussed, which will provide a foundation for the current study. Finally, the conclusion
section will summarize the main findings, discuss the limitations of the developed system, and
suggest future research directions.

II. LITERATURE REVIEW

A. Brief view of ANN


Before proceeding to understand CNN, which is the most common deep learning algorithm used
in face recognition, itis important to understand the architecture of Artificial Neural Networks
(ANN) which is the core of the fully connected layer in CNN. ANN is inspired by the biological
brain and its ability to process information. Simply put, its information processing structure is
formed through learning where it receives examples relevant to a specific application to help
improve and adapt by changing the connections between the neurons or the weights they pass
through. Thus, ANN is special for its adaptive learning and self organization. Also, good ANN
software can be stable against minor disturbances .The process of ANN is separated into three
layers: the input layer, the hidden or middle layer(s), and the output layer. In CNN, the input of
ANN is the flattened image or vector. The hidden layers are the actual neurons in the network
and perform calculations on the input vector resulting in the output layer. The number of hidden
layers and the neurons in them is determined through multiple iterations of forward and backward
propagation through the network. Forward propagation or feed-forward network starts from the
IJFMR250239330 Volume 7, Issue 2, March-April 2025 4
International Journal for Multidisciplinary Research (IJFMR)
E-ISSN: 2582-2160 ● Website: www.ijfmr.com ● Email: [email protected]

input till it reaches an output that is compared to a predicted output and backward propagation
adjusts the hidden layer neurons’ weights depending on the calculated error as shown in Fig. 1
till the actual output equals the predicted one .bias resulting in a net sum, and the activation
function which takes the net sum to produce the neuron’s output, or simply put, depending on a
certain calculation it decides whether a neuron should be activated or not. There are various
types of activation functions: step, sigmoid, tanh, or Rectified Linear Unit (ReLu). Most of the
time, ReLU is used as the activation function as it outputs the value when larger than zero and
outputs zero when less whose equation is equation 1.𝑓(𝑥) = max {0, 𝑧}(1)Each neuron within
every hidden layer carries out these two functions and passes its output to the successive hidden
layer if there is one until the output layer is reached. If the final output does not match the
predicted one the error issent back through the neurons to adjust their weights. The output layer
has a variable number of neurons but most of them lie under the following classifications:
regression in which the output is a single neuron of a continuous number, binary classification
where the neuron is either 1 or 0 to signify classes, and multi- class classification which represents
various classes [21].

B. CNN in Face Recognition


Convolutional Neural Network (CNN) is one of the most used deep learning architectures in face
recognition nowadays for its improved performance. It is designed to extract image
characteristics. It consists of three main layers: convolution, pooling, and fully connected as
shown in Fig. 2 beings. As a result, the Human face is changing over time, it may contain marks
or wrinkles which affect the face recognition system. Hence, face Recognition efficiency is
waning with age. Having established the context for the study, it is crucial to grasp a clear
comprehension of the existing literature in the field. This will aid in comprehending the
significance of the study, which will be further talked about in the subsequent section.

C. Contribution
Face recognition systems are widely used in many real- world applications as documented in
several research papers which are discussed in detail in the following sections. This paper
provides a comprehensive survey of face recognition methods, from traditional feature-based
methods to recent deeplearning methods and identifies the key challenges that need to

Fig. 1: ANN with error calculation of output for backward


be addressed in order to improve the accuracy of face propagation recognition systems. The
subsequent sections will provide Within each neuron two functions are carried out: the transfer detailed
IJFMR250239330 Volume 7, Issue 2, March-April 2025 5
International Journal for Multidisciplinary Research (IJFMR)
E-ISSN: 2582-2160 ● Website: www.ijfmr.com ● Email: [email protected]

insights into the various aspects of the system’s function where the inputs are multiplied by very small
non- zero development and implementation. In the Literature Review weights and added to another small
non-zero number known as

Fig. 2: Convolution Layers [24]

1) Convolution Layer: An image can be viewed as a 2D matrix of its pixels. In face recognition,
a filter or kernelis an 𝑛 × 𝑛 matrix extracted, usually sized at (3×3), (4×4), or (5×4). The
convolution layer acts as the key building block of CNN, and it is where most of the processing
takes place. Convolution is done by having a filter go over the 2D input image and is multiplied
by the corresponding 𝑛 × 𝑛 matrix in the image as shown in Fig. 3. The filter may stride over the
input image matrix by 1 pixel as the red box does or 2 pixels as the orange box, then outputs the
resulting matrix of convolution known as the feature map. The convolution layer is sometimes
followed by one of the activation functions previously summarized before entering the following
layer, pooling .

Fig. 3: Convolution Process


If the image is colored then it would be 3D; however, nothing changes since the same process will
be done to each of the RGB color matrices and then added together giving a 2D output matrix.

2) Pooling Layer: The pooling layer follows convolution which helps reduce the matrix size and
speeds up the processing. Either Max-pooling or average pooling are used as shownin Fig. 4.
Maxpooling is done by passing another filter over the feature map and taking the maximum
value of the filtered region and outputting it to the final feature map. The filter is usually set to
2×2 with a stride of 2. Average pooling is done by taking the average of the filtered region and is
usually applied once before the fully connected layer to reduce the number of learnable
parameters. Just like convolution filters, pooling filters may vary in size and strides taken .

Fig. 4: Pooling types


3) Fully Connected Layer: The max-pooled image passes through the flattening step which
unfolds the matrix and turns it into a one-dimensional vector. Passing that final vector ANN’s
IJFMR250239330 Volume 7, Issue 2, March-April 2025 6
International Journal for Multidisciplinary Research (IJFMR)
E-ISSN: 2582-2160 ● Website: www.ijfmr.com ● Email: [email protected]

feed-forward network gives the fully connected layer output which may be multiple as shown in
Fig. 5 or single output neurons .

Fig. 5: ANN layers with multiple outputs [26]

III. MODELING AND ANALYSID

A. LBP and LBPH algorithm in OpenCV: It was mentioned earlier that OpenCV library,
Currently, the library has more than 2500 optimized algorithms. One of the algorithms is HOG
which is mentioned in this paper. Additionally, there are also other algorithms such as Local
Binary Patterns (LBP) and Local Binary Pattern Histogram (LBPH) algorithms that are used in a
variety of applications, such as face and object recognition, and can extract features from images.
There are various research papers that mentioned these algorithms in their face recognition
systems or application. Local Binary Patterns (LBP) is a texture operator that is derived from a
generic definition of texture in a local neighborhood and the original LBP operator was
introduced by Ojala et al. It is defined as a grayscale unvarying texture measure. LBP texture
operator has been a prominent method in many applications as a result of its discriminatory
power and computational simplicity. The computational simplicity feature facilitates the analysis
of images in difficult real-time conditions. Its crucial feature is its resistivity to monotonic
grayscale change, for instance, changes in lighting. Local Neighborhood refers to a particular
region or area surrounding a pixel in an image and is defined by choosing a crucial region around
each pixel in the image. This region’s size is determined by the radius parameter, which specifies
the distance between the center pixel and its neighbors. The original LBP operator generates labels
for picture pixels by thresholding the 3×3 neighborhood of each pixel with the center value and
then converting the result to a binary integer. The histogram of these various labels can then be
used as a texture descriptor. Before performing the LBP operation, it is required to train the
algorithm with a dataset of facial images of the person that needs to be recognized recognize, as
well as to assign an ID to each image in order for the algorithm to utilize that information in the
output result .Fig. 8 shows The LBP operator selects a part of the image that is 3×3 pixels in size,
which can also be modeled as a 3×3 matrix having the intensity of each pixel (0-255). The
central value of the matrix is utilized as a threshold to define the new values from the 8
neighbors. A new binary value is set foreach neighbor of the threshold .0 if the value falls below
the threshold and 1 if it exceeds the threshold. Consequently, the matrix will only contain binary
values that, when concatenated, generate a new binary value. The new binary value is then
converted to a decimal number and set to the matrix’s central value, which is actually a pixel
from the original image.
IJFMR250239330 Volume 7, Issue 2, March-April 2025 7
International Journal for Multidisciplinary Research (IJFMR)
E-ISSN: 2582-2160 ● Website: www.ijfmr.com ● Email: [email protected]

Fig. 6: LBP Operator Example [59]


The local Binary Patter Histogram (LBPH) algorithm isa face recognition method that extracts
features from faces using the LBP algorithm. In a training set, the LBPH method generates a
histogram of LBP values for each face. Then, using this histogram, faces in new images can be
recognized. A histogram is a statistical approach that counts the number of times each color
appears in each square. The algorithm makes use of the following four parameters: radius,
neighbour and grids X Y. The radius, which indicates the radius around the center pixel and is
typically set to 1, is used to construct the circular local binary pattern. Neighbors is the number of
sample points used to construct the circular local binary pattern; it is typically set at 8. Grid X
determines the number of horizontal cells; it is typically set to 8. Grid Y indicates the number of
cells that run vertically; it usually is set to 8. To extract the histograms for face recognition, the
image is separated into numerous grids with grid X and grid Y parameters. Each histogram from
each grid will have 256 positions reflecting the occurrences of each pixel intensity. The final
histogram is formed by concatenating each histogram and representing the characteristics of the
original image. Each final histogram is utilized to compare each image from the training dataset
to the final histogram of the given input image when performing face recognition. The algorithm
returns the image with the closest histogram after comparing two histograms from the input
image and the training image. Fig. represents an example of extracting histograms.

Fig. 7: Extracting Histograms example

IJFMR250239330 Volume 7, Issue 2, March-April 2025 8


International Journal for Multidisciplinary Research (IJFMR)
E-ISSN: 2582-2160 ● Website: www.ijfmr.com ● Email: [email protected]

B. Face recognition using HOGs algorithm


Histogram of the oriented gradient is one of the best descriptors used for shape and edge
description. HOGs are image descriptors invariant to 2D rotation, occlusion, and extreme under
garbled environments. It is therefore well suited for tackling the facial recognition problem. The
feature extraction process of HOG is based on extracting information about the edges in local
regions of a target image.This system encodes the picture using the HOG algorithm to create a
simplified version of the image. After the isolation of faces in an image, utilize a method called
the face landmark estimation algorithm developed by Vahid Kazemi and Josephine Sullivan to
reduce the chance that faces with varied turns do not belong to the same person [48]. The basic
idea is to identify 68 specific points on the image. However, a machine learning system is trained
to find those 68 specific spots on any image. No matter which way the faces are turned after
using this algorithm, the eyes and mouth can always be centered. In addition, direct comparison
between unknown faces and known faces that have already been trained and stored in a dataset is
the simplest method for face recognition. 128 metrics for a face are produced using a Deep
Convolutions Neural Network that has been trained. Therefore, all that is needed to obtain 128
measures for each face is to send the HOG method: Let 𝐺 and𝐺 be There is a new technology
that can be used to accelerate the overall speed of object detection using the HOG descriptor. Two
main modifications are the introduction of a lookup table for computing the oriented gradients of
an image. Another is the application of integral images for HOG feature calculation. An integral
Image is also known as a summed area table, which is commonly used for quickly and
efficiently generating the sum of values in a rectangular subset of a grid, it allows for very fast
feature evaluation and image input for object detection. Assumed the 2D grid data is of size 𝑊
×𝐻, its value at location (𝑥, 𝑦) is 𝑖(𝑥, 𝑦). Its integral image value at (𝑥, 𝑦) is denoted as 𝑖𝑖(𝑥, 𝑦)
then it can be calculated using equation.

IJFMR250239330 Volume 7, Issue 2, March-April 2025 9


International Journal for Multidisciplinary Research (IJFMR)
E-ISSN: 2582-2160 ● Website: www.ijfmr.com ● Email: [email protected]

Fig. 8: Calculation of an integral image for a 5×5 grid region. The shield subregion is the
area of interest

To calculate the area, sum 𝑉𝑅 of an interested region 𝑅 (shaded area in Fig. 8, in this paper do not
have to add upthe value of every single point inside that area. Instead, its integral image
representation can be used to compute the sum easily as shown in the following equation .
𝑉𝑅 = 𝑖𝑖(4) + 𝑖𝑖(1) − 𝑖𝑖(2) − 𝑖𝑖(3) Equation is an oriented gradient map of an image that comprises
a 2D grid of bin numbers (for zero- based, these numbers are from 0 to Nb-1 m where Nb is the
number of angular bins. A 2D grid of bin numbers makes up an image oriented gradient map. The
HOG features for a region inside this map can be constructed using this map. The HOG feature in
a region should be built in order to ascertain whether it contains the

Fig. 9: The HOG features of an interested region are generated by connecting the HOG
features of its four sub- areas. The four histograms are the features of the four overlapping
areas as indicated by dashed rectangles

𝑅𝑖𝑗ʹ=𝑅𝑖𝑗.𝑡 (9)

𝐺𝑖𝑗ʹ = (𝐺𝑖𝑗 ). 𝜏 (1
0)
𝐶𝑖𝑗 = {𝑅𝑖𝑗ʹ , 𝐺𝑖𝑗ʹ , 𝐵𝑖𝑗ʹ } (1
1)
Wher
e
1.4, 𝑌𝑎𝑣𝑒𝑔 < 64 (1
𝑡 = {0.6, 𝑌𝑎𝑣𝑒𝑔 > 192 1, 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 2)

To simplify computation, only the colors of 𝑅 and 𝐺 are compensated. Chrominance 𝐶𝑟 can
accurately represent human skin; thus, in order to simplify computation, just take 𝐶𝑟 into account
while performing a color space change. 𝐶𝑟 is defined as follows:
𝐶𝑟 = 0.5𝑅ʹ − 0.419𝐺ʹ − 0.081𝐵ʹ
In the previous equation [74], it can be seen that 𝑅ʹ and 𝐺ʹ are important factors due to their high
weight. In order to only compensate 𝑅 and 𝐺 to reduce computation. The human skin is
characterized by a binary matrix based on Cr and experimental findings:
IJFMR250239330 Volume 7, Issue 2, March-April 2025 10
International Journal for Multidisciplinary Research (IJFMR)
E-ISSN: 2582-2160 ● Website: www.ijfmr.com ● Email: [email protected]

𝑆𝑖𝑗 = {0,110, 𝑜𝑡 <ℎ 𝑒𝑟𝑤𝑖𝑠𝑒𝐶𝑟 < 64


where ”0” represents the white and ”1” represents the black point. In step two they used a 5×5
mask with a low pass filter to quickly remove high-frequency noise. Setting white points when
the number of white points in a block of 𝐶𝑖𝑗 exceeds 50% of the total points; if the black points are
greater than half, change the blocks to black blocks. This filter success- fully filters out human
skin. The third step identifying skin color blocks by storing four vertices of a rectangle around
each region, identifying the leftmost, rightmost, upmost, and lowermost points. This creates
candidate blocks for detecting facial features.In the final step detecting the height-to-width ratio
is a quick and easy way to recognize human faces. For each candidate block, it finds
characteristics like the height-to-breadth ratio, the mouth, and the eyes. This detection is given
priority by low computation modules, and any candidate blocks with a height- to-width ratio
between 1.5 and 0.8 are eliminated. In Mouth Region Detection, the algorithm determines the
height- to-width ratio of candidate blocks, morphs them based on image properties, and sorts of
areas in descending order. It then finds the major difference in region and bounding box, which
is crucial for mouth region detection. The algorithm calculates the centroid, and the meaning of
these calculations, extracting the mouth region.

IV. METHODOLOGY

A MATLAB-based face recognition system using image processing and neural networks
A novel method for recognizing human faces is presented in this research. By employing the
two- dimensional discrete cosine transform (2D-DCT) to compress pictures and remove
superfluous data from face photos, this method employs an image-based approach to artificial
intelligence (2D-DCT). Based on skin color, the DCT derives characteristics from photos of
faces. DCT coefficients are calculated to create feature methods, the method‘s processing needs
are drastically lowered by vectors. Moreover, to determine whether the object in the input the
use of a smaller feature space .picture is ”present” or ”not present” in the image dataset, DCT-
based feature vectors are into groups using a self- organizing map (SOM), which uses an
unsupervised learning method. By categorizing the intensity levels of grayscale images into
several categories, SOM performs face recognition. Adding to these algorithms, MATLAB was
used to evaluate the system . A different research study in introduced a novel approach for
identifying facial expressions. This method involve sutilizing a two- dimensional discrete cosine
transform (DCT) across the facial image to identify distinctive features. They employed a
constructive one hidden-layer feedforward neural network to classify facial expressions. To
enhance the learning process and decrease network size without compromising performance,
they incorporated a technique called input-side pruning, which they had previously proposed.
than chrominance. The 2D-DCT image compression method distribution that characterizes a
human face are employed as employs an intensity (grayscale) representation of the picture for
features to divide the candidate regions into faces and non-faces. further processing . The second
stage determines if the A non-linear luminance-based lighting compensation method is topic in
the input image is ”present” or ”not present” in the also used in the detecting process , and it is
particularly effective image dataset by classifying vectors into groups using self- at boosting and
restoring the natural colors in pictures that were organizing map (SOM) and an unsupervised
IJFMR250239330 Volume 7, Issue 2, March-April 2025 11
International Journal for Multidisciplinary Research (IJFMR)
E-ISSN: 2582-2160 ● Website: www.ijfmr.com ● Email: [email protected]

learning approach. taken under a variety of different lighting conditions.


If the subject is determined to be present, the training dataset’s best-match image will be shown
as the outcome. To circumstances, quickly identify technology frontal has been created . With
human faces in challenging a positive-The suggested design method uses ”8” of the 64 DCT
negative attractor template and a valley detector for the eyes and coefficients blocks with a for
size masking of 8 by to8 pixels calculate On the other2D- DCT side, of one picture well-
neighbor mouth it that uses are a on quick a pixel’s picture up, down segmentation left, and
right sides technique. were The known commonly artificial referred neural to as network
Kohonen is the Map. self Without-organizing any class map, tester represented the test by
results four-neighbor were 120 pixels. accurately With detected, a database 17 missed, of 137
information, discovers the it distribution is a technique of a set of patterns unsupervised. The
same learning method that and 2 erroneously detected.

Fig. 12: Proposed technique for face recognition system

V. HARDWARE IMPLEMENTATION

Face Recognition System Based on Raspberry Pi Plat- form: This paper used Raspberry Pi to
implement their work on face recognition. The Raspberry Pi is like a minicomputer, a smaller
version of a modern computer that is able to execute a task efficiently. The module uses a variety
of processors, it can install open-source operating systems and applications. Also, Raspberry Pi
supports various programming languages such as Python, C, and C++. Numerous applications in
which the analysis of human facial expressions is crucial may utilize Raspberry Pi, which can
detect real-time facial emotions. Also, using features provided by Python libraries such as
OpenCV and NumPy. NumPy library stands for Numerical Python, used for scientific computing
so it is crucial in terms of numerical calculations, considered as the core of many other Python
libraries that have derived from it, and it provides a high-performance multidimensional array
object. Raspberry Pi is the microprocessor used in this system. Besides, an integral part of its
memory is SQLite. SQLite is the dataset recognition works less appropriately when the
recognition However, in this paper zero background effect is taken into consideration by
extracting the entire face of the person from the stored images in the dataset; thus, it works
appropriately even with any background or place changes. Another factor affecting the face

IJFMR250239330 Volume 7, Issue 2, March-April 2025 12


International Journal for Multidisciplinary Research (IJFMR)
E-ISSN: 2582-2160 ● Website: www.ijfmr.com ● Email: [email protected]

recognition algorithm is the tiny changes like beards, make-up, and lighting conditions. The
algorithm of this system examines the structure of the person and every different edge part of the
human face. Thus, the system is smartly detecting the face throughout these tiny changes. The
speed of processing of the face recognition system is a crucial part. In this paper, images are
saved in the dataset in XML format. XML (Extensible Markup Language) file is used rather than
a PNG (Portable Network Graphic) file, as XML is easier and does not consume time during the
process. Besides, the image processing takes a shorter time as, throughout the process, only the
face is extracted from the image so other information in the image is not processed. Another
integral factor for decreasing the time is the gray scaling. As a result, four frames per processed by
the system. On the other hand, identifying a moving person through a slow image recognition
algorithm is a challenge faced in this paper.

VI. CONCLUSION

Face recognition is a vital research topic in the image processing and computer vision fields
because of both its theoretical and practical impact. Access control, image search, human-machine
interfaces, security, and entertainment are just a few of the real- world applications for face
recognition. However, these applications confront several difficulties, including lighting
conditions. Numerous research articles on both software and Journal of Computer Applications
Technology and Research, hardware are highlighted in this document as well as a deep dig p.
371–376, 2022. into the algorithm’s comprehension, concentrating mostly on M. Lal, K.
Kumar, R. Hussain, Mait, S. Ali, and H. methods based on local, holistic, and hybrid features
Shaikh, “Study of face recognition techniques: A survey,” International Journal of Advanced
Computer Science and
VII. REFERNCES

1. 2017. using principal component analysis (pca) in mat lab,” pp. Y. Said, M. Barr, and H. E.
Ahmed, Design of a face
2. 115–119, 10 2016. recognition system based on convolutional neural network.
3. C. A. Hansen, “Face recognition,” Institute for Computer (cnn),” Engineering Technology
Applied Science Research.
4. Science University of Trom so. vol. 10, no. 3, pp. 5608–5612, 2020.
5. J. S. Ram bey, N. Sinaga, and B. D. Waluyo, “Automatic “At database of faces: Orl face
database.” [Online].
6. door access system using face recognition,” International Available:
http://camorl.co.uk/facedatabase.html

IJFMR250239330 Volume 7, Issue 2, March-April 2025 13

You might also like