Face Identification System
Face Identification System
MASTER
In COMPUTER APPLICATION
Year 2023-2024
By
Semester-II
Prof.
3.1 Perspective 18
CERTIFICATE
This is to certify that, this project report entitled “Face Detection System” is a record of
work carried out by Mr. Kadam Gaurav Prakash Rupali (Seat no-1910493), studentof MCA
semester-II class and is submitted to University of Mumbai, in partial fulfilment of the
requirement for the award of the degree of Master in Computer Application. The project
report has been approved.
This is to certify that the project work entitled “Face Detection System”,
for Master in Computer Application submitted to University of Mumbai by Mr.
Kadam Gaurav Prakash Rupali (Seat no-1910493) a bonafide student of
Institute of Distance and Open Learning, Vidyanagari, Kalina, Santracruz East has
been approved for the award of Master in Computer Application.
Examiner1.
2.
Date:
Place:
Declaration
I declare that this written submission represents my ideas in my own words and where
other's ideas or words have been included, I have adequately cited and referenced the
original sources. I also declare that I 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.
(Signature)
Ms. Kadam Gaurav Prakash Rupali
Seat No-1910493
Date:
Place:
ABSTRACT
person along with photograph. To identify any Criminal we need some identification
regarding person, which are given by eyewitness. In most cases the quality and
resolution of the recorded image segments is poor and hard to identify a face. To
done in many ways like finger print, eyes, DNA etc. One of the applications is face
identification. The face is our primary focus of attention in social inters course
playing a major role in conveying identify and emotion. Although the ability to infer
Administrator Authentication
Employee
Viewing &
Eyewitness
Employee selecting,
images
Criminal
Criminal Images
details
E-R Diagram Between Eyewitness and Criminal:
Crimin
Criminal Criminal id Criminal
images details
Criminal
Criminal Id
User id details
Pwd
Getting
details
Employee Criminal
of
criminal
List Of Figures:
giving/retrieving Details()
Ask details()
insert/Updat details()
split image()
insert/update face()
delete crimminal()
Administrator:
Login
Inserting/Updating
Criminal Details
Already Existed
Criminal
Splitting/Updating
Images
Administrator criminal
New Criminal
Inserting/Updating
Face Details
Deleting Images
Client (Operator):
Operator Login
Identifying the
Criminal
images
List Of Abbreviations:
N-TIER APPLICATIONS
The N-tier Applications provide specific advantages that are vital to the business
continuity of the enterprise. Typical features of a real life n-tier may include the
following:
Security
Manageability
Easy Maintenance
Data Abstraction
The above mentioned points are some of the key design goals of a successful n-tier
application that intends to provide a good Business Solution.
DEFINITION
Simply stated, an n-tier application helps us distribute the overall functionality into
various tiers or layers:
Presentation Layer
Business Rules Layer
Database/Data Store
Each layer can be developed independently of the other provided that it adheres to
the standards and communicates with the other layers as per the specifications.
This is the one of the biggest advantages of the n-tier application. Each layer can
potentially treat the other layer as a ‘Block-Box’.
In other words, each layer does not care how other layer processes the data as long
as it sends the right data in a correct format.
Presentation Layer
Services
DB
N-Tier Architecture
1. THE PRESENTATION LAYER
Also called as the client layer comprises of components that are dedicated to
presenting the data to the user. For example: Windows/Web Forms and
buttons, edit boxes, Text boxes, labels, grids, etc.
This layer encapsulates the Business rules or the business logic of the
encapsulations. To have a separate layer for business logic is of a great
advantage. This is because any changes in Business Rules can be easily
handled in this layer. As long as the interface between the layers remains the
same, any changes to the functionality/processing logic in this layer can be
made without impacting the others. A lot of client-server apps failed to
implement successfully as changing the business logic was a painful process.
department. Here the technique is we already store some images of the criminals in
our database along with his details and that images are segmented into many slices
say eyes, hairs, lips, nose, etc. These images are again stored in another database
record so to identify any criminals; eyewitnesses will see the images or slices that
appear on the screen by using it we develop the face, which may or may not be
matched with our images. If any image is matched up to 99% then we predict that
he is only the criminal. Thus using this project it provides a very friendly
environment for both operator and eyewitness to easily design any face can identify
criminals very easy. This project is intended to identify a person using the images
previously taken. The identification will be done according the previous images of
different persons.
Here the technique is we already store some images of the criminals in our database
along with his details and those images are segmented into many slices say eyes,
hairs, lips, nose, etc. These images are again stored in another database record so to
identify any criminals; eyewitnesses will see the images or slices that appear on the
screen by using it we develop the face, which may or may not be matched with our
images. If any image is matched up to 99% then we predict that he is only the
criminal. Thus using this project it provides a very friendly environment for both
operator and eyewitness to easily design any face can identify criminals very easy.
The project is aimed at identifying the criminals with the help of eye witness. There
are mainly four modules in our project. They are Adding, Deleting, Updating and
identifying the criminals. There are mainly three roles in our project. They are:
Administrator
Operator
Eyewitness
The administrator is responsible for providing User id’s and passwords. He provides
authentication to the users. He creates deletes and Updates the User ids and
responsible for entering the criminal details and maintains them. He adds, deletes
and updates the criminal details. He also constructs the criminal face with the help
of eye witness.
Review of Literature: Research Paper
Feasibility Study
A feasibility study is a high-level capsule version of the entire System analysis and
Design Process. The study begins by classifying the problem definition. Feasibility
is to determine if it’s worth doing. Once an acceptance problem definition has been
generated, the analyst develops a logical model of the system. A search for
Operational Feasibility:
If there was sufficient support for the project from the management and from
the users.
Project.
support from management and users. Being developed in Java so that the
Technical feasibility:
Does the proposed equipment have the technical capacity for using the new
system?
platform.
The observer pattern along with factory pattern will update the results
eventually
Environment
The system developed and installed will be good benefit to the organization.
The system will be developed and operated in the existing hardware and software
infrastructure. So there is no need of additional hardware and software for the
system.
Percpective:
database is to provide a convenient, accurate, and reliable way to identify the face of
criminals.
The system should be able to identify and verify the faces of individuals in real
time, and store their identification data in a database. The system should be able to
generate the report at the end of the identification and send mails do not identify.
The system should be designed to be easy to use for both administrators and
criminals. Administrators should be able to easily add, edit, and delete criminal
The system should also be secure and reliable. The database should be protected f
rom unauthorized access, and the system should be able to handle a large number of
By conducting the requirements analysis we listed out the requirements that are
Module Description
2. Admin Module.
3. Client Module.
User Interface Module:
Actually every application has one user interface for accessing the entire
application. In this application also we are providing one user interface for
accessing this application. The user interface designed completely based on the
end users. It is provide friendly accessing to the users. This user interface has
attractive look and feel. Technically I am using the swings in core java for
preparing this user interface.
Admin Module:
Client Module:
➢ The system should be easy to modify for any updates. Any errors or bugs
that are identified should be easy to mend.
➢ The system should be secure and maintain the privacy of the students.
Software Requirements:
Database : Oracle
IDE/Workbench : My Eclipse
Hardware Requirements:
System Configuration
Processor: Intel(R) Core(TM) i3-10110U CPU @2.10GHz 2.59GHz
RAM: 8.00 GB
Resource requirement:
About Eclipse:-
Everything is a plugin.
There is a work base where you can develop any project per the user's
custom needs.
Any functionality can be extended using the number of plugins the user
desires
It supports powerful knowledge tools, including folding and hyperlink
navigation, grading, macro definition browser, and code editing with syntax
highlight.
It comes with a visual code debugging tool which can easily debug any
loopholes in the project.
Drag and drop facility for all user-interface designs
Assist project development along with appropriate supervision for using
different toolchains and source navigation
Java Eclipse IDE also comes with a Java Doc facility which can be used for
any kind of documentation by the users.
The first step in system design is to divide the system into small
system. Each subsystem encompasses aspects of the system that share some
common property – similar functionality, the same physical location, or
associations, operations, events, and constraints that are interrelated and that
of related functions that share some common purpose such as I/O processing.
The interface specifies the form of all interactions and the information flow
across subsystem boundaries but does not specify how the sub system is
terms of the ones below it and providing the basis of implementation for the
ones above it. The objects in each layer can be independent, although there
Knowledge is one-way only: a subsystem knows about the layers below it,
but has no knowledge of the above layers. Each layer may have its own set
architecture, each layer is built only in terms of the immediate lower layer. In
a open architecture, a layer can use features of any lower layer to any depth.
layers are closed architecture form. The three layers are GUI layer, Network
layer and I/O layer. The purpose of GUI layer is to provide an efficient user
interface to the user to interact with the system. It is built upon the Network
layer which provides basic FTP services. The lowest layer is the I/O layer that
provides services like reading or writing file to and from local and remote
systems.
Coding :
import java.awt.*;
Import java.awt.event.*;
Import javax.swing.*;
Label l,l3;
JLabel l2,l1;
Font f;
Button b1,b2,b3,b4,b5,b8,b9,b10;
Container c1;
Operator()
c1=getContentPane();
c1.setLayout(new FlowLayout());
setBackground(Color.LIGHT_GRAY);
f=new Font("Arial",Font.BOLD,20);
setFont(f);
");
",i,JLabel.LEADING);
",Label.CENTER);
addWindowListener(new WindowAdapter()
System.exit(0);
});
l.setForeground(new Color(100,100,100));
l.setFont(new Font("Arial",Font.BOLD,30));
l2.setForeground(new Color(100,100,100));
l2.setFont(new Font("Arial",Font.BOLD,20));
l3.setForeground(new Color(0,64,64));
l3.setFont(new Font("Arial",Font.BOLD,20));
b3.setForeground(new Color(255,255,255));
b3.setBackground(new Color(0,64,64));
b3.setFont(new Font("Arial",Font.BOLD,15));
b4.setForeground(new Color(255,255,255));
b4.setFont(new Font("Arial",Font.BOLD,15));
b4.setBackground(new Color(0,64,64));
// b5.setForeground(new Color(255,255,255));
// b5.setFont(new Font("Arial",Font.BOLD,15));
// b5.setBackground(new Color(0,64,64));
b8.setForeground(new Color(255,255,255));
b8.setFont(new Font("Arial",Font.BOLD,15));
b8.setBackground(new Color(0,64,64));
/*b9.setForeground(new Color(255,255,255));
b9.setFont(new Font("Arial",Font.BOLD,15));
b9.setBackground(new Color(0,64,64));
b10.setForeground(new Color(255,255,255));
b10.setFont(new Font("Arial",Font.BOLD,15));
b10.setBackground(new Color(0,64,64));*/
b3.addActionListener(this);
b4.addActionListener(this);
//b5.addActionListener(this);
b8.addActionListener(this);
//b10.addActionListener(this);
//b9.addActionListener(this);
c1.add(l);
c1.add(l2);
c1.add(l3);
// c1.add(b5);
c1.add(b4);
c1.add(b3);
c1.add(b8);
// c1.add(b9);
// c1.add(b10);
setSize(500,600);
setVisible(true);
if(ae.getSource()==b5)
d.setSize(700,600);
d.setVisible(true);
if(ae.getSource()==b3)
f1.setSize(800,800);
f1.setVisible(true);
if(ae.getSource()==b8)
d1.setSize(600,400);
d1.setVisible(true);
if(ae.getSource()==b9)
mi.setSize(700,600);
mi.setVisible(true);
if(ae.getSource()==b10)
da.setSize(600,400);
da.setVisible(true);
}
if(ae.getSource()==b4)
r1.setSize(600,600);
r1.setVisible(true);
}}
Testing :
Software testing is a critical element of software quality assurance and
represents an interesting anomaly for the software. During earlier definition and
crops up during any phase of the development or usage of the product. A sincere
The testing phase involves the testing of development system using various
data. Preparation of the test data plays a vital role in system testing. After preparing
the test data, the system under study was tested using those data. While testing the
system, by using the test data, errors were found and corrected by using the following
testing steps and corrections were also noted for future use. Thus, a series of testing
is performed on the proposed system before the system is ready for implementation.
Integration testing
Validation testing
Unit testing
Output testing
Unit testing:
design module. Using the unit test plans prepared in the design phase of the system
development as a guide, important control paths are tested to uncover errors with in
the boundary of the modules. The interfaces of the modules are tested to ensure
proper flow of information into and out of the modules under consideration boundary
conditions were checked. All independent paths were exercised to ensure that all
statements in the module have been executed at least once and all error-handling
situation. This testing is carried during the programming state itself. At the end of
this testing phase each module is found to be have an adverse effect working
Integration Testing:
Data can be lost across an interface, one module can on another; sub-
functions when combined may not produce the desired major function: global data
structures can present problems. Integration testing is a systematic technique for the
program structure while at the same time concluding tests to uncover errors
associated with interface. All modules are combined in this testing step. Then the
entire program is tested as a whole. Each of the module is integrated and tested
separately and later all modules are tested together for sometime to ensure the system
personal programs, as well as to large team efforts. Being vague about your
objective only postpones decisions to a later stage where changes are much more
costly.
The problem statement should state what is to be done and not how it is to be
done. It should be a statement of needs, not a proposal for a solution. A user manual
for the desired system is a good problem statement. The requestor should indicate
which features are mandatory and which are optional, to avoid overly constraining
design decisions. The requestor should avoid describing system internals, as this
standards, such as modular construction, design for testability, and provision for
justification to specify the use of a particular algorithm. The analyst must separate
the true requirements from design and implementation decisions disguised as
restrict flexibility. There may be politics or organizational reasons for the pseu
requirements, but at least the analyst should recognize that these externally
imposed design decisions are not essential features of the problem domain.
considerable detail. A requirement for a research effort in a new area may lack many
details, but presumably the research has some objective, which should be clearly
stated.
The analyst must work with the requestor to refine the requirements so
they represent the requestor’s true intent. This involves challenging the
requirements and probing for missing information. The psychological,
organizational, and political considerations of doing this are beyond the scope of
this book, except for the following piece of advice: If you do exactly what the
customer asked for, but the result does not meet the customer’s real needs, you will
probably be blamed anyway.
Existing System:
This system is manual system only. Here, have a facility to store the criminal
images. If you want to compare the criminal images with the existing images it is
manual process. This process is very slow to give the result. It is very critical to find
the criminal images.
Proposed System:
To overcome the drawbacks that were in the existing system we develop a
system that will be very useful for any investigation department. Here the program
keeps track of the record number of each slice during the construction of identifiable
human face and calculate maximum number of slices of the similar record number.
Based on this record number the program retrieves the personal record of the suspect
(whose slice constituted the major parts of the constructed human face) on exercising
Advantages:
Overview:
Addition, Clipping, Construction and updating of the criminal record and face.
Comparing the image with the faces that are there in our database. If any new images
are found then it should be entered into our database by add image module and then
We decomposed our system into three subsystems as layers. The three layers are
closed architecture form. The three layers are GUI layer, Network layer and I/O
layer. The purpose of GUI layer is to provide an efficient user interface to the user
to interact with the system. It is built upon the Network layer which provides basic
FTP services. The lowest layer is the I/O layer that provides services like reading or
ADD MODULE: The add module is helpful in adding the details of the
criminals along with the details of the criminal photo. While adding the details of
the criminal, we crop the image of the criminal and store those cropped parts in a
separate database.
DELETE MODULE: This module deletes the criminal details along with the
photo. The operator first submits the criminal id and searches for the availability of
the id in the database. If that id is available in the database, then the operator may
delete the record of that particular r criminal.
UPDATE MODULE : The operator first enters the criminal id and searches for
the availability of that id .If that id is available in the database , then the details of
that criminal are retrieved and the operator can update the details of that criminal
and that updated details of the criminal are stored in the database again for future
retrieval.
IDENTIFY MODULE: The cropped parts of the criminals, along with the
criminal Id are viewed by the eyewitness .The eyewitness selects particular
cropped part of the criminal and it is freeze by the operator., then complete face of
the criminal is constructed and the details of the criminal is retrieved.
DFD(Data Flow Diagram) :
LoginDb LoginDb
LEVEL 1 P1 p2
Level 2 LoginDb
P2.1
ACK
Create
Create id & psw
P2 LoginDb LoginDB
Update id & psw p2.2
Login Update Change detail submit ACK
LoginDb
P2.3
Delete
ACK
Chapter 7 :
System Development:
It’s a great pleasure and moment of immense satisfaction for me to express my profound
gratitude to my project guide, Prof. Dyaneshwar Deore whose constant encouragement enabled
me to work enthusiastically. His perpetual motivation, patience and excellent expertise in
discussion during progress of dissertation work have benefited me to an extent, which is beyond
expression. His depth and breadth of knowledge of Engineering field made me realize that
theoretical knowledge always help to develop efficient operational software, which is a blend of
all core subjects of the field. The completion of this project would not have been possible without
his encouragement, patient guidance and constant support.
I would like to thank all staff members for their valuable cooperation and permitting me to
work in the computer labs.
Special thanks to my colleagues and friends for providing me useful comments, suggestions
and continuous encouragement.
Finally, I thanks my family members, for their support and endurance during this work.
----------------------------------
(Seat No:1910493)