Projece Report

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

`

FACE RECOGNITION:
A MODERN WAY OF SECURITY
A PROJECT REPORT
Submitted by
Patel Poojan Babubhai
AnikAli Zulfikar Mukhi
Makvana Shivansh Dineshbhi
Desai Neel Pradipkumar
In fulfillment for the award of the degree
of
BACHELOR OF ENGINEERING
in

Computer Engineering

LDRP Institute of Technology and Research, Gandhinagar

Kadi Sarva Vishwavidyalaya


February, 2023
LDRP INSTITUTE OF TECHNOLOGY AND RESEARCH
GANDHINAGAR

CE-IT Department

CERTIFICATE
This is to certify that the Project Work entitled “FACE RECOGNITION: A MORDEN WAY
OF SECURITY” has been carried out by Patel Poojan Babubhai (20BECE30175), AnikAli
Zulfikar Mukhi (221SBECE30013), Makvana Shivansh Dineshbhi (221SBECE30010), Desai
Neel Pradipkumar (20BECE30203) under my guidance in fulfillment of the degree of Bachelor
of Engineering in Computer Engineering Semester-6 of Kadi Sarva Vishwavidyalaya University
during the academic year 2022-2023.

Name of Guide Name of HOD

Prof. Pinkal Chauhan Dr. Sandeep Modha

LDRP ITR LDRP ITR


Presentation-I for Project-I

1. Name & Signature of Internal Guide

2. Comments from Panel Members

3. Name & Signature of Panel Members


ACKNOWLEDGEMENT

We take this opportunity to humbly express our gratitude to all those who are
concerned with our project. Working in a good environment and motivation
enhances the quality of the work and that’s what we got from our University
through our Software Engineering Project based on a combination of
Supervised Machine Learning, Data Science and Predictive Analysis.
We are glad to receive this golden opportunity under the expert guidance of
Prof. Pinkal Chauhan from Computer Engineering department of LDRP-ITR,
Gandhinagar. We are sincerely indebted to her for giving us the opportunity to
work on this project. Her continuous guidance and help have proved to play a
key role in our success in overcoming the challenges that we faced during the
course of our project work.
We are heartily thankful to her for guiding us and leading to the completion of
project successfully. She has provided us with her experience and expertise for
the seamless timeline of the project report. We are also thankful to the Head of
Department Dr. Sandeep Modha for providing us with such a wonderful
opportunity.
To conclude, we thank all the people who had directly or indirectly help as to
complete our project.

3
ABSTRACT

Face recognition systems are used in practically every industry in this digital
age. One of the most widely utilized biometrics is face recognition. Today’s
video surveillance camera system usually is not occupied with a face
recognition system. With some modification, a surveillance camera system can
be used as face detection and recognition that can be done in real-time. The
proposed system makes use of devices with cameras that can identify a person
automatically by using face recognition technology. It can be used for security,
authentication, and identity, among other things.

Our system provides face-recognition technology which sends notification to


the user of the device to notify them of some unknown individual who is
captured by that devices webcam or internal camera.

4
TABLE OF
CONTENTS

NO CHAPTER NAME PAGE NO

Acknowledgement 3

Abstract 4

Table of Contents 5

List of Figures 7

List of Tables 8

1 Introduction 9
1.1 Introduction 9
1.2 Aims and Objective of the work 9
1.3 Brief Literature Review 10
1.4 Problem Definition 11

2 Technology and Literature Review 12


2.1 Technology 12
2.2 Literature Review 13

3 System Requirements Study 15


3.1 User Characteristics 15
3.2 Hardware and Software Requirements 15
3.3 Assumptions and Dependencies 16

5
4 System Diagrams 17

4.1 ER Diagram 17

4.2 Use Case Diagram 18

4.3 Data Flow Diagram 19

4.3.1 Context Level DFD 20

4.3.2 Level 1 DFD 20

4.4 Activity Diagram 22

4.5 Sequence Diagram 23

5 Data Dictionary
24
6 References and Future Works
26
6.1 Conclusion 26

6.2 Future Works 26

6.3 Bibliography 26

6
LIST OF FIGURES

NO NAME PAGE NO

1 ER Diagram of Face Recognition: AMWOS 17

2 Use Case Diagram of the system 18

3 Context Level Data Flow Diagram 20

4 Level 1 Data Flow Diagram 20

5 Activity Diagram of the system 22

6 Sequence Diagram of the system 23

7
LIST OF TABLES

NO NAME PAGE NO

1 User Table 25

2 Owner_Images Table 25

3 Stranger_Images Table 25

8
1) Introduction

1.1 Introduction

Nowadays, people want one sole thing that is to make them feel safe and secure.
The most commonly used security system is the CCTV (closed circuit
Television). It is usually installed in hospitals, malls, parking lots etc. However,
with the help of CCTV one can monitor the area 24/7, or the footage if stored in
a location can be retrieved when required. Although, it can be used to deter
crime and allows the authorities to identify and solve a crime, it doesn’t detect
neither recognize the person who is involved. So, we developed a system that
allow us to get significant features for identifying individuals and notifying the
user. Face recognition is started in this when any human face detected in the
radius of the device’s camera. The system will activate and automatically take
pictures. The taken image will be compared to the ones that are stored in the
backend database. If the face does not exist in the database, it will be stored as
newly detected, and the system will notify the user of captured image. The
mentioned functionality will only happen if user has turned on the secure mode
in our android application. The process of face detection and face recognition is
done with help of the Open-source computer vision (OpenCV).

1.2 Aims and Objective of the work

Our project’s aim is to provide security by detecting unknown individuals to


prevent stealing, misuse of personal devices and in future we can also integrate
this system on CCTVs and home door cameras to increase security of private
properties.

9
To achieve this aim we have created facial detection system using python and
OpenCV, and for the user’s convenience we have developed an android
application which uses this facial detection system to notify the user of
unknown individuals.

1.3 Brief Literature Review

Introduction:

Literature Review is mainly carried out in order to analyze the background of


the current project which helps to find out flaws in the existing system and
guides on which unsolved problems we can work out. So, the following topics
not only illustrate the background of the project but also uncover the problems
and flaws which motivated to propose solutions and work on this project.

For this project we have studied following systems:

• Smart surveillance camera using raspberry pi 2 and opencv


• Face detection and recognition application using Android + Raspberry Pi
• FaceIdentity – A Model of implementation for Face Detection and Face
Recognition in Android

10
1.4 Problem definition

It is necessary to make use of automatic video analysis technologies for


developing smart surveillance system which can aid the human operator in both
detecting and reacting to potential threats. The internet and wireless broadband
infrastructure is becoming robust enough to permit excellent remote video
surveillance. With advances in hardware and software technology, and the
emergence of ubiquitous internet infrastructure and wireless networks with
broadband capability, it is now possible to design and build a networked video
surveillance system that can do an excellent job of remote video supervision
from anywhere and at any time. The requirements of a video surveillance
system differ in important ways from CCTV, NVR’s and DVR’s. A modern
way of security (AMWOS) provides video-based object analysis capabilities.
The developed SVSS provides a wide range of features in order to solve the
following problems:

• Detecting objects.
• Face detection.
• Sending Notification to the user.
• Storing Faces in Database Automatically.
• Simple Application UI.

The limitations of this system are as follows:

• The system currently only works for android smart phones.


• Application does not work in very low light conditions.
• Bias errors may occur as a result of not using data that is representative of
the environments and the conditions in which the algorithm is used. This
type of error can result from different environmental conditions.

11
2) Technology and Literature Review

2.1 Technology

Android:

Android software development is the process by which applications are created


for devices running the Android operating system. Google states that "Android
apps can be written using Kotlin, Java, and C++ languages".

In this project the main application is developed for android devices using java
as base programming language.

Python:

Python is a computer programming language often used to build websites and


software, automate tasks, and conduct data analysis.

In our application the main machine learning code for facial recognition is
written in python programming language.

OpenCV:

OpenCV (Open Source Computer Vision Library) is an open-source computer


vision and machine learning software library. OpenCV was built to provide a
common infrastructure for computer vision applications and to accelerate the
use of machine perception in the commercial products.

In our application we use OpenCV library for its excellent video and image
analysis and facial detection and recognition capabilities.

12
Firebase:

The Firebase Real-time Database is a cloud-hosted NoSQL database that lets


you store and sync data between your users in real-time.

In our application google’s firebase database is used for user authentication and
to store the major data which is used by the application.

NumPy:

NumPy is a Python library used for working with arrays. It also has functions
for working in domain of linear algebra, Fourier transform, and matrices.

In our project NumPy is used to create the value arrays that are used in our
facial recognition application.

2.2 Literature Review

1) Smart surveillance camera using raspberry pi 2 and OpenCV

Abstract: Nowadays the need for a safe and secure system is desired by each
and every individual in the society. The most commonly used system, Closed
Circuit Television (CCTV) is being implemented everywhere such as in
hospitals, warehouses, parking lots, buildings etc... However, this very system
though effective has its downside when it comes to cost. Thus, the need for a
cost-effective system is required. The existing system for surveillance is a
security camera with the night vision capabilities using raspberry pi and
OpenCV. This is a cost-effective method that uses a credit card sized chip RPI.
The image is captured and each frame is processed. The image is stored and an
email is sent if human is detected.

13
Limitations:

• User has to buy physical devices for this system to work.


• Cannot be used in windows or android devices.

2) Face detection and recognition application using android + Raspberry Pi

Abstract: This work describes the development of a face detection and


recognition application developed into Raspberry Pi and Android. The
application connects with the Raspberry Pi by Bluetooth protocols. The object
detection is based on boosted cascade while the face recognition is based on
Eigen-faces. The developed system may be especially useful for visually
impaired users since it can contribute to facilitate their autonomous behavior
during their everyday life. The developed device shows great potential for
extrapolation to other areas as education of visually impaired users.

Limitations:

• User has to buy physical devices for this system to work.


• Uses very early versions of android and openCV.

3) FaceIdentity – A Model of implementation for Face Detection and Face


Recognition in Android

Abstract: The purpose of this application is to implement detection and facial


recognition on the Android platform. The library was imported into the Android
project and then we created a new class (CameraView) that extends the base
class (JavaCameraView) of the OpenCV library. The most important method in
the CameraView class is takePicture() which saves picture in the phone
memory.

Limitations: Just a model project.

14
3) System Requirements Study

3.1 User Characteristics

Analyzing user characteristics is an important aspect of any project. It allows us


to clearly define and focus on who the end users are for the project. Also, it
allows checking the progress of the project to ensure that we are still developing
the system for the end users. The user must have following characteristics:

• User must have basic knowledge of Smart Phones.

• User must be able to easily interact with the proposed system.

• User must know the technical terms used in the system for performing
different tasks specially related to facial recognition.

• User should be also being aware about the background running process of
the system.

3.2 Hardware and Software Requirements

Software and Hardware Requirements are used to describe the minimum


hardware and software requirements to run the Software. These requirements
are described below.

Software Requirements:

Client:

Operating System: Android 5.0 (Lollipop) or up, Windows 10 or up

Server:

Operating System: Windows 10 or up

Database Support: Firebase (noSQL)

15
Hardware Requirements:

Client:

Android Smart Phone (5.0 Lollipop or up)

Laptop or Desktop with Windows 10 or up

Minimum 512 MB of free RAM on Android

Minimum 1GB of free RAM on Windows

Stable Internet Connection

Device with webcam or internal Camera

3.3 Assumptions and Dependencies

Assumptions:

• User is the person having enough knowledge for the basic mobile apps.
• We will provide a user-friendly interface so that any user can easily
navigate through the system, but he/she should be capable of providing
valid faces for successful login.
• The server used for data storing is always secured.

Dependencies:

• The system is dependent upon the user’s valid credentials. If user inputs
wrong username or password, he/she will not be allowed to login to the
system. But user can reset his/her password.

• This application depends on the google’s firebase noSQL database so all


the user’s data is stored by google.

16
4) System Diagrams

4.1 ER Diagram

ER Diagram stands for Entity Relationship Diagram, also known as ERD is a


diagram that displays the relationship of entity sets stored in a database. In other
words, ER diagrams help to explain the logical structure of databases. ER
diagrams are created based on three basic concepts: entities, attributes and
relationships. ER Diagrams contain different symbols that use rectangles to
represent entities, ovals to define attributes and diamond shapes to represent
relationships. At first look, an ER diagram looks very similar to the flowchart.
However, ER Diagram includes many specialized symbols, and its meanings
make this model unique. The purpose of ER Diagram is to represent the entity
framework infrastructure.

17
4.2 Use Case Diagram

18
4.3 Data Flow Diagram

As information moves through software, it is modified by a series of


transformations.

A Data Flow Diagram (DFD) is a graphical technique that depicts information


flow and the transformations that are applied as data move from input to output.
The data flow diagram is known as a data flow graph or a bubble chart. The
Data Flow Diagram may be used to representation a system or software at any
level of abstraction. In fact, DFDs may be used partitioned into levels that
represent increasing information flow and functional detail.

Therefore, the DFD provides a mechanism for functional modeling as


information flow modeling. The Data Flow Diagram (DFD) serves two
purposes: To provide an indication of how data are transformed as they move
through the system and to depict the functions that transform the data flow. The
DFD provides additional information that is used during the analysis of the
information domain and serves as a basis for the modeling of function.

A Level 0 DFD also called as fundamental system model or a context model,


represents the entire software element as a single bubble with input and output
data indicated by incoming and outgoing arrows respectively. Additional
processes and information flow paths are represented as the level 0 is
partitioned to reveal details. Each of the proves represents at level 1 is sub
function of the overall system depicted in the context model. Each of the
process may be refined are layered to depict more detail. Information continuity
must be maintained in every layer, that is input and output to each refinement
must remain the same.

19
4.3.1 Context Level DFD

4.3.2 Level 1 DFD

20
21
4.4 Activity Diagram

The Activity Diagram is a multi-purpose process flow diagram that is used to


model behavior of the system. Activity Diagram can be used to model a Use
Case, or a class, or a complicated method. An Activity Diagram can show
parallel processing. This is important when using Activity Diagram to model
business processes, some of which can be performed in parallel, Lad for
modeling multiple threads in concurrent programs.

22
4.5 Sequence Diagram

The Sequence diagram is one of the most effective diagrams to model object
interactions in a system. A Sequence diagram is modeled for every Use Case.
Whereas the Use Case diagram enables modeling of a business view of the
scenario, the Sequence diagram contains implementation details of the scenario,
including the objects and classes that are used to implement the scenario, and
messages passed between the objects.

23
5) Data Dictionary

Data Dictionary is a store of information about the data in database. The


dictionary defines the name, description, source of data, users of data, and
keywords in data, formula to derive the data, specification and such other
details.

Data dictionary brings common understanding of the data in the organization.


RDBMS provides software to create the dictionary. Use of data dictionary
enforces the standards of processing, usage's application and documentation in
the organization. Data Dictionaries are an integral component of structured
analysis, since data flow diagram by them do not fully describe the information
about the system. The data dictionary provides additional information about the
system.

A data dictionary is a catalogue a repository of the elements in a system. These


elements center on data the way they are structured to meet user requirements
and organization needs. In a data dictionary, a list of all the elements composing
the data flowing through a system is included.

If a project team member wants to know the definition of a data item name or
the contents of a particular data flow, the information will be available in the
data dictionary. Descriptions of all data used in the system are given in a data
dictionary.

Our system heavily relies on google’s firebase, which is a noSQL database for
that reason our system contains less database tables and very simple entity
relationship-structure.

24
User Table:

# Name Type Size Extra


1. User_email varchar 50 Primary Key

2. Name varchar 40 -

3. Password varchar 25 Not Null

Owner_Images Table:

# Name Type Size Extra


1. Image_name varchar 50 Primary Key

2. Owner_image blob 40 Not Null

Stranger_Images Table:

# Name Type Size Extra


1. Image_name varchar 50 Primary Key

2. Stranger_image blob 40 Not Null

25
6) References and Future Works

6.1 Conclusion

We have successfully implemented the working of the home surveillance


controlled using android mobile device. The camera is successfully controlled
using the android application through the wireless technology. Even the real
time video feel is successfully achieved using the Wi-Fi technology on our
designed android application.

6.2 Future Works

In Future we plan to implement our system on remote cameras (i.e. CCTVs)


using devices like Raspberry Pi and Arduino to provide home and office
security.

6.3 Bibliography

www.geeksforgeeks.org/android-tutorial

www.geeksforgeeks.org/python-programming-language/learn-python-tutorial

www.geeksforgeeks.org/machine-learning

https://app.diagrams.net/

https://www.researchgate.net/publication/284253914_Face_detection_and_reco
gnition_application_for_Android

https://docs.google.com

https://console.firebase.google.com/

https://www.python.org/

https://developer.android.com/studio

https://www.researchgate.net/publication/303880721_Face_Detection_and_Fac
e_Recognition_in_Android_Mobile_Applications

26

You might also like