FACE IDENTIFICATION

65
PROJECT REPORT FACE IDENTIFICATION 1 INTRODUCTION 1.1 PURPOSE OF THE PROJECT: This project is aimed to identify the criminals in any investigation 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. 1.2 PROJECT OBJECTIVE: 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. 1.3 PROJECT SCOPE: The scope of the project is confined to store the image and store in the database. When a person has to be - 1 -

Transcript of FACE IDENTIFICATION

Page 1: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

1 INTRODUCTION

1.1 PURPOSE OF THE PROJECT:

This project is aimed to identify the criminals in any investigation

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.

1.2 PROJECT OBJECTIVE:

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.

1.3 PROJECT SCOPE:

The scope of the project is confined to store the image and store in the

database. When a person has to be identified the images stored in the database are

compared with the existing details.

1.4 PROJECT OVERVIEW:

This project can be used to identify a criminal in the investigation

department. The project maintains the photographs of all the criminals. Each

photograph is clipped into different parts.

- 1 -

Page 2: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

2. SYSTEM REQUIREMENTS ANANLYSIS

2.1EXISTING SYSTEM

The development of face identification has been past from the year to

years. In recent years to identify any criminal face they used to make a sketch or draw

a image based on the eyewitnesses. It used to take more amount of time and it was

very difficult task for any investigation department to easily catch the criminals within

a stipulated time. In order to catch the criminals first they used to search their record

whether to find out is there any record about that particular person in the past. In

olden days each and every record was maintained in the books or registers or files

which used to contain information about previous criminals with their names, alias

name, gender, age, crime involved, etc. Here each and every task used to take the help

of the person because they used to write in them and it needed very much of manual

effort.

There are three major research groups, which propose three different

approaches to the face recognition problem. The largest group has dealt with facial

characteristics. The second group performs human face identification based on feature

vectors extracted from profile silhouettes. The third group uses feature vectors

extracted from a frontal view of the face. The first method is based on the

information theory concepts in other words on the principal component analysis

methods. In this approach, the most relevant information that best describes a face is

derived from the entire face image. The second method is based on extracting feature

vectors from the basic parts of a face such as eyes, nose, mouth and chin.

2.2PROPOSED 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

the “locate” option.

- 2 -

Page 3: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

2.2.1Overview of Proposed System:

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 it should be segmented into different slices.

2.3 FEASIBILITY STUDY

Once the problem is clearly understood, the next step is to conduct

feasibility study, which is high-level capsule version of the entered systems and

design process. The objective is to determine whether or not the proposed system is

feasible. The three tests of feasibility have been carried out.

Technical Feasibility

Economical Feasibility

Operational Feasibility

2.3.1 Technical Feasibility

In Technical Feasibility study, one has to test whether the proposed

system can be developed using existing technology or not. It is planned to implement

the proposed system using java technology. It is evident that the necessary hardware

and software are available for development and implementation of the proposed

system. Hence, the solution is technically feasible.

2.3.2 Economical Feasibility

As part of this, the costs and benefits associated With the proposed system

compared and the project is economically feasible only if tangible or intangible

benefits outweigh costs. The system development costs will be significant. So the

proposed system is economically feasible.

2.3.3Operational Feasibility

It is a standard that ensures interoperability Without stifling competition and

innovation among users, to the benefit of the public both in terms of cost and service

quality. The proposed system is acceptable to users. So the proposed system is

operationally feasible.

- 3 -

Page 4: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

2.4 SYSTEM REQUIREMENT SPECIFICATION

2.4.1 Software Requirements:

Operating System : Windows 2000

Database Server : Oracle 9i

Programming Language : Java

Frame Work : Swing

2.4.2 Hardware Requirements:

Processor : Pentium IV

Clock Speed : 2.86GHZ Processor

Hard disk : 2GB or above

RAM : 256MB or above

2.5 SYSTEM MODULE DESCRIPTION

Add Image

Clip Image

Construct Image

Identify Image

A module is a small part of our project. This plays a very important role

in the project and in coding concepts. In Software Engineering concept we treat it has

a small part of a system but whereas in our programming language it is a small part of

the program, which we also called as function in, some cases which constitute the

main program.

Importance of modules in any software development side is we can easily

understand what the system we are developing and what its main uses are. At the time

of project we may create many modules and finally we combine them to form a

system.

2.5.1 Add Image

- 4 -

Page 5: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

Add Image is a module that is considered with adding image along

with the complete details of the person of whom we are taking image. In this we add

Image and store them in our database. This module is mainly considered for adding

details of the criminals like name, age, alias name, gender, location, state, Arrested

Date, etc. At the time of the adding image we give some criminal id to that particular

person, so that it can be easily added to the database with any duplication of the data.

2.5.2 Clip Image

This modules main function is to divide the images into different

pieces such as hairs, forehead, eyes, nose and lips and store them in the database and

also creates the files onto our system.

2.5.3 Construct Image

Based on the eyewitness’s clues we are going to construct the images.

The witness will give us instruction by looking onto the screen on which there will be

the parts of the images like eyes, hairs etc.

2.5.4 Identify Image

This module contains the interface to take the image from above

module and it compares or searches with the images already there in the database. If

any image is matched then we identify him/her as the criminal else we add that new

image again to the database.

- 5 -

Page 6: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

SYSTEM DESIGN

UML DIAGRAMS

UNIFIED MODELING LANGUAGE

UML is the international standard notation for object-oriented analysis and design.

The Object Management Group defines it. The heart of object-oriented problem

solving is the construction of a model. The model abstracts the essential details of the

underlying problem from its usually complicated real world. Several modeling tools

are wrapped under the heading of the UML™, which stands for Unified Modeling

Language™.

AN OVERVIEW OF UML:

The UML is a language for

Visualizing

Specifying

Constructing

Documenting

These are the artifacts of a software-intensive system. The three major elements of

UML are

The UML’s basic building blocks

The rules that dictate how those building blocks may be put together.

Some common mechanisms that apply throughout the UML.

BASIC BUILDING BLOCKS OF THE UML:

The vocabulary of UML encompasses three kinds of building blocks:

Things

Relationships

Diagrams

Things are the abstractions that are first-class citizens in a model.

Relationships tie these things together.

Diagrams group the interesting collection of things.

- 6 -

Page 7: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

THINGS IN THE UML:

They are the abstractions that are first-class citizens in a model. There are four kinds

of things in the UML

1. Structural things

2. Behavioral things.

3. Grouping things.

4. Annotational things.

These things are the basic object oriented building blocks of the UML. They are used

to write well-formed models.

STRUCTURAL THINGS:

Structural things are the nouns of the UML models. These are mostly static parts of

the model, representing elements that are either conceptual or physical. In all, there

are seven kinds of Structural things.

Class:

A class is a description of a set of objects that share the same attributes, operations,

relationships, and semantics. A class implements one or more interfaces. Graphically

a class is rendered as a rectangle, usually including its name, attributes and operations,

as shown below.

Interface:

An interface is a collection of operations that specify a service of a class or

component. An interface describes the externally visible behavior of that element.

Graphically the interface is rendered as a circle together with its name.

- 7 -

Page 8: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

ISpelling

Collaboration:

Collaboration defines an interaction and is a society of roles and other elements that

work together to provide some cooperative behavior that’s bigger than the sum of all

the elements. Graphically, collaboration is rendered as an ellipse with dashed lines,

usually including only its name as shown below.

Use Case:

Use case is a description of a set of sequence of actions that a system performs that

yields an observable result of value to a particular thing in a model. Graphically, Use

Case is rendered as an ellipse with dashed lines, usually including only its name as

shown below.

Active Class:

An active class is a class whose objects own one or more processes or threads and

therefore can initiate control activity. Graphically, an active class is rendered just like

a class, but with heavy lines usually including its name, attributes and operations as

shown below.

- 8 -

Chain of Responsibili

ty

Place Order

Page 9: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

Component:

Component is a physical and replaceable part of a system that conforms to and

provides the realization of a set of interfaces. Graphically, a component is rendered as

a rectangle with tabs, usually including only its name, as shown below.

orderform.java

Node:

A Node is a physical element that exists at run time and represents a computational

resource, generally having at least some memory and often, processing capability.

Graphically, a node is rendered as a cube, usually including only its name, as shown

below.

server

BEHAVIORAL THINGS:

Behavioural Things are the dynamic parts of UML models. These are the verbs of a

model, representing behaviour over time and space.

- 9 -

Face Identification

Image

Suspend ()Flush ()

Page 10: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

Interaction:

An interaction is a behavior that comprises a set of messages exchanged among a set

of objects within a particular context to accomplish a specific purpose. Graphically, a

message is rendered as a direct line, almost always including the name if its operation,

as shown below.

Display

State Machine:

A state machine is a behavior that specifies the sequence of states an object are an

interaction goes through during its lifetime on response to events, together with its

responses to those events. Graphically, a state is rendered as a rounded rectangle

usually including its name and its sub-states, if any, as shown below.

GROUPING THINGS:

Grouping things are the organizational parts of the UML models. These are the boxes

into which a model can be decomposed.

Package:

A package is a general-purpose mechanism for organizing elements into groups.

Business Rules

ANNOTATIONAL THINGS:

Annotational things are the explanatory parts of the UML models.

Note:

- 10 -

Waiting

Page 11: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

A note is simply a symbol for rendering constraints and comments attached to an

element or a collection of elements.

Graphically a note is rendered as a rectangle with dog-eared corner together, with a

textual or graphical comment, as shown below.

RELATIONSHIPS IN THE UML:

There are four kinds of relationships in the UML:

1. Dependency

2. Association

3. Generalization

1.Dependency: This is relationship between two classes whenever one class is

completely dependent on the other class. Graphically the dashed line represents it

with arrow pointing to the class that it is being depended on.

2. Association: It is a relationship between instances of the two classes. There is

an association between two classes if an instance of one class must know about

the other in order to perform its work. In a diagram, an association is a link

connecting two classes. Graphically it is represented by line as shown.

3. Generalization: An inheritance is a link indicating one class is a super class of

the other. A generalization has a triangle pointing to the super class. Graphically it

is represented by line with a triangle at end as shown.

DIAGRAMS IN UML:

- 11 -

Page 12: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

Diagrams play a very important role in the UML. There are nine kind of modeling

diagrams as follows:

Use Case Diagram

Class Diagram

Object Diagram

Sequence Diagram

Collaboration Diagram

State Chart Diagram

Activity Diagram

Component Diagram

Deployment Diagram

CLASS DIAGRAM:

Class diagrams are the most common diagrams found in modeling object-oriented

systems. A class diagram shows a set of classes, interfaces, and collaborations and

their relationships. Graphically, a class diagram is a collection of vertices and arcs.

Contents:

Class Diagrams commonly contain the following things:

Classes

Interfaces

Collaborations

Dependency, generalization and association relationships

USE CASES DIAGRAM:

Use Case diagrams are one of the five diagrams in the UML for modeling the

dynamic aspects of systems(activity diagrams, sequence diagrams, state chart

diagrams and collaboration diagrams are the four other kinds of diagrams in the UML

for modeling the dynamic aspects of systems). Use Case diagrams are central to

modeling the behavior of the system, a sub-system, or a class. Each one shows a set of

use cases and actors and relationships.

Common Properties:

- 12 -

Page 13: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

A Use Case diagram is just a special kind of diagram and shares the same common

properties, as do all other diagrams- a name and graphical contents that are a

projection into the model. What distinguishes a use case diagram from all other kinds

of diagrams is its particular content.

Contents

Use Case diagrams commonly contain:

Use Cases

Actors

Dependency, generalization, and association relationships

Like all other diagrams, use case diagrams may contain notes and constraints. Use

Case diagrams may also contain packages, which are used to group elements of your

model into larger chunks. Occasionally, you will want to place instances of use cases

in your diagrams, as well, especially when you want to visualize a specific executing

system.

INTERACTION DIAGRAMS

An Interaction diagram shows an interaction, consisting of a set of objects and their

relationships, including the messages that may be dispatched among them. Interaction

diagrams are used for modeling the dynamic aspects of the system.

A sequence diagram is an interaction diagram that emphasizes the time ordering of

the messages. Graphically, a sequence diagram is a table that shows objects arranged

along the X-axis and messages, ordered in increasing time, along the Y-axis and

messages, ordered in increasing time, along the Y-axis.

Contents

Interaction diagrams commonly contain:

Objects

Links

Messages

Like all other diagrams, interaction diagrams may contain notes and constraints.

SEQUENCE DIAGRAMS:

- 13 -

Page 14: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

A sequence diagram is an interaction diagram that emphasizes the time ordering of

the messages. Graphically, a sequence diagram is a table that shows objects arranged

along the X-axis and messages, ordered in increasing time, along the Y-axis.

Typically you place the object that initiates the interaction at the left, and increasingly

more sub-routine objects to the right. Next, you place the messages that these objects

send and receive along the Y-axis , in order of increasing time from top to the bottom.

This gives the reader a clear visual cue to the flow of control over time.

Sequence diagrams have two interesting features:

1. There is the object lifeline. An object lifeline is the vertical dashed line that

represents the existence of an object over a period of time. Most objects that

appear in the interaction diagrams will be in existence for the duration of the

interaction, so these objects are all aligned at the top of the diagram, with their

lifelines drawn from the top of the diagram to the bottom.

2. There is a focus of the control. The focus of control is tall, thin rectangle that

shows the period of time during which an object is performing an action,

either directly or through the subordinate procedure. The top of the rectangle

is aligns with the action; the bottom is aligned with its completion.

Contents

Sequence diagrams commonly contains

Objects

Object Life Line

Focus Of Control

ACTIVITY DIAGRAM

An Activity Diagram is essentially a flow chart showing flow of control from activity

to activity. They are used to model the dynamic aspects of as system. They can also

be used to model the flow of an object as it moves from state to state at different

points in the flow of control.

- 14 -

Page 15: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

An activity is an ongoing non-atomic execution with in a state machine. Activities

ultimately result in some action, which is made up of executable atomic computations

that result in a change of state of distinguishes a use case diagram from all other kinds

of diagrams is its particular content.

Contents

Activity diagrams commonly contain:

Fork

Start & End Symbol

STATE CHART DIAGRAMS

A state chart diagram shows a state machine. State chart diagrams are used to model

the dynamic aspects of the system. For the most part this involves modeling the

behavior of the reactive objects. A reactive object is one whose behavior is best

characterized by its response to events dispatched from outside its context. A reactive

object has a clear lifeline whose current behavior is affected by its past.

A state chart diagram show a state machine emphasizing the flow of control from

state to state. A state machine is a behavior that specifies the sequence of states an

object goes through during its lifetime in response to events together with its response

to those events. A state is a condition in the life of the object during which it satisfies

some conditions, performs some activity or wait for some events. An event is a

specification of a significant occurrence that has a location in time and space.

Graphically a state chart diagram is a collection of vertices and arcs.

Contents:

State chart diagram commonly contain:

Simple states and Composite states.

Transitions, events and actions.

CLASS DIAGRAM

- 15 -

Page 16: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

USE CASE DIAGRAM

SEQUENCE DIAGRAM

- 16 -

Page 17: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

ACTIVITY DIAGRAM

- 17 -

Page 18: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

Choose Option

- 18 -

Login

Authentication

Valid User

Invalid User

Main Screen

Add Image Clip Image

Update Details

Construct Image

Search Process

Enter Details

Add to Database

Open Image&

Make Clips

Add Clips to Database

Open Record & Update

Add to database

Specify Feature

Search Image

Search Image &

Get Details

Result

End

Page 19: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

OVERVIEW OF E-R DIAGRAM

An E-R Diagram stand for Entity Relationship model is a tool

that is commonly used to translate different views of data among managers, users and

programmers to fit into a common framework, define data processing and constraint

requirements to help us meet the different views and helps to implement the database.

The E-R model forms the basis of E-R diagram that represent

the conceptual database as viewed by the end user. These diagrams depict the E-R

model three main Components:

Entities

Attributes

Relationships.

1. ENTITIES

An entity at the E-R modeling level actually refers to the

entity set not to a single entity occurance. In other words the word “entity” in the E-R

model corresponds to a table and not to a row in the relational environment. The E-R

model refers to a specific table row as an entity instance or entity occurrence. An

entity is represented by a rectangle containing the entity occurrence. An entity is

represented by a rectangle containing the entities name.

It is denoted by rectangle by specifying the table name in it.

2. ATTRIBUTES

Attributes are represented by ovals and are connected to the

entity with a line. Each oval contain the name of the attribute it represents. For

example Criminal Details entity includes the attributes cid, fname, lname, etc.

- 19 -

Page 20: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

3. RELATIONSHIP

A relationship is an association between entities. Each

relation is identified so that its name is descriptive of the relation. Ideally the

name is an active verb.

NORMALIZATION

In relation database design the process of organizing data to minimize

redundancy. Normalization usually involves dividing a database into two or more

tables and defining relations among tables. The objective is to isolate data so addition,

deletion and modification of a field can be made in just one table and they propagated

through rest of the database visa defined relations.

There are there main normal forms each with increasing level of normalization.

- 20 -

Cid

fnamee

FACE

age Crime Involved

Conn-ected by

Face_heights

ForeheadHairs Nos

e Chin

Face_Suspect photo

Crime Id

Suspect Photo Photo

Height

Conn-ected by

Face_Suspects

Crime Id

Cid

Page 21: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

First Normal From (1NF): - Each field in table contains different

information. For example in an employee list each table would contain only

one birth date field.

Second Normal From (2NF): - Each field in table that is not determining of

the contents of another field must it self are function of the other fields in the

table.

Third Normal From (3Nf): - No duplicate information is permitted. So, for

example if two tables both require birth date fields the birth date information

would be spread in to separate table, and two another tables would then access

the birth date information via an index field in the birth date table. Any

changes in birth date would automatically reflect in all tables that link to that

birth date

DATABASE TABLES

FACE

Field Name Data Type Size

Criminal Id

First Name

Last Name

Alias Name

D.O.B

Age

Gender

Address

City

State

Arrested Date

Crime Involved In

Photo

Number

Varchar2

Varchar2

Varchar2

Date

Number

Varchar2

Varchar2

Varchar2

Varchar2

Date

Varchar2

Varchar2

5 (Primary Key)

15

15

15

5

15

15

15

15

15

15

- 21 -

Page 22: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

CRIMINAL_SUSPECT TABLE

Field Name Data Type Size

Criminal Id

Cid

Number

Number

5 (Primary Key)

5

FACE_HEIGHTS TABLE

Field Name Data Type Size

Criminal Id

Hair

Forehead

Eyes

Nose

Lips

Chin

Number

Number

Number

Number

Number

Number

Number

5

5

5

5

5

5

5

FACE_SUSPECTPHOTO

Field Name Data Type Size

Cid

Suspect Photo

Suspect Height

Number

Varchar2

Varchar2

5

15

15

- 22 -

Page 23: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

4. IMPLEMENTATION

OVERVIEW OF JAVA

Java was conceived by James Gosling, Patrick Naughton, Chris Warth, Ed Frank and

Mike Sheridan at Sun Microsystems Inc.in 1991. It took 18 months to develop the

first working version. This language was initially called “Oak” but was renamed as

“Java” in 1995. Between the initial implementation of Oak in the fall of 1992 and the

public announcement of Java in the spring of 1995, many more people contributed to

the design and evolution of the language.

The main properties of the Java, which made Java so popular, are as follows:

1. Simple

2. Secure

3. Portable

4. Object-Oriented

5. Robust

6. Multithreaded

7. Architecture-Neutral

8. Interpreted

9. High performance

10.Distributed

11.Dynamic

The most striking feature of the language is that is a platform-neutral

language. Java is first programming language that is not tied to any particular

hardware or operating system. Programs developed in Java can be executed anywhere

on any system.

THE KEY FEATURES OF JAVA IS BYTE CODE:

The key that allows Java to solve both the security and the portability

problems just described is that the output of a Java compiler is not executable code.

Rather, it is Byte code. Byte code is a highly optimized set of instructions designed to

be executed by the Java runtime systems, which is called the Java Virtual Machine

- 23 -

Page 24: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

(JVM). That is, in its standard form, the JVM is an interpreter for Byte code. This

may come has a bit of surprise.

Translating a Java program into a byte code helps and makes it much

easier to run a program in a wide variety of environments. The reason is

straightforward only the JVM needs to be implemented for each platform. Once the

runtime package exists for a given system, any Java program can run on it.

Remember, although the details of the JVM will differ from platform to platform, all

interpret the same Java Byte code.

JAVA ENVIRONMENT:

Java environment includes a large number of development tools and

hundreds of classes and methods. The development tools are the part of the system

known as Java Development Kit (JDK) and the classes are methods are part of the

Java standard library (JSL), also known as the Application Programming Interface

(API).

JAVA DEVELOPMENT KIT:

The Java development kit comes with a collection of tools that are used

for developing and running Java programs. They include:

1. Applet Viewer (for viewing Java Applets)

2. Javac (Java Compiler)

3. Java (Java interpreter)

4. Javap (Java Disassembler)

5. Javah (for C header files)

6. Javadoc (for creating HTML documents)

7. Jdb (Java Debugger)

APPLICATION PROGRAMMING INTERFACE:

The Java standard library includes hundreds of classes and methods

grouped into several functional packages. Most commonly used packages are:

Language support package: A collection of classes and methods required for

implementing basic features of java.

- 24 -

Page 25: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

Utilities package: A collection of classes to provide utility functions such as

date and time functions.

Input/Output package: A collection of classes required for input & output

manipulations.

Networking package: A collection of classes for communication with other

computers via Internet.

AWT package: The abstract window toolkit package contains classes that

implements platform independent graphical user interface.

Applet package: This includes a set of classes that allows us to create Java

applets.

OVERVIEW OF SWINGS

Swings are basically used to create a GUI look i.e. graphical user

interface. A GUI presents a pictorial interface to a program. It allows the user to

spend less time trying to remember which keystroke sequence do what and spends

more time using the program in a productive manner.

The classes that are used to create the GUI components of swing are part

of javax.swing package. These are the latest GUI components of java2 platform.

Swing Components are written, manipulated and displayed completely in java.

Difference Between AWT & Swings:

The original GUI components from Abstract Windows Toolkit package

java.awt are tied directly to the local platforms graphical user interface capabilities.

So, a java program executing on a different java platforms has a different appearance

and sometimes even different user interaction on each platform.

The swing component allows the programmer to specify a different look

and feel for each platform, or uniform look and feel across all platforms. Because

- 25 -

Page 26: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

swing components are written in Java, they provide a greater level of portability and

flexibility than original java GUI component i.e. AWT. Swing components are often

referred as lightweight components because they are written completely in Java so

they are not “weighed down” by complex GUI capabilities of the platform on which

they are used. Whereas AWT components that are tied to local platform are

correspondingly called heavyweight components as they rely on the local platform

windowing system to determine their functionality and their look and feel.

The important topics that play a very vital role in swings are as follows:

Component: A class component defines the methods that can be applied to an

object of any subclass of component.

Container: It is a collection of a related components, we attach components to

the contentpane i.e. Container. Here two important methods which are

important for a container are add & setLayout where we can add any

components and set the size and position of that particular component.

JLabel: JLabel provides text information or information on GUI. It displays a

single line of read-only text. We can add ToolTip & Icons to JLabel.

JtextField Or JPasswordField: these are single-line areas in which the users

can enter text from keyboard or text can simply be displayed. JPasswordField

is used to encrypt the text.

JButton: A Button is a component the user clicks to trigger a specific action.

There are several types of buttons like Command buttons, CheckBoxes,

ToggleButtons and RadioButtons.

JCheckBox & JRadioButton: The swing GUI component has three types of

state buttons- JToggleButtons, JCheckBox and JRadioButton that have on/off

or true/false values. A JRadioButton is different from a JCheckBox in the

there are several JRadioButton are grouped and only one of the JRadioButton

in the group can be selected at any time.

- 26 -

Page 27: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

JComboBox: A combobox also called as drop down list provides a list of

items from which the users can make a selection.

JList: A List display a selection of items from which the user may select one

or more items. JList support single-line selection List and multiple-selection

list.

JPanel: This is used to arrange component in a exact location.

JTextArea: It provides an area for manipulating multiple lines of text.

JAVA DATABASE CONNECTIVITY (JDBC)

The Java database connectivity Application Programming Interface

(API) is an API currently being designed by Sun Microsystems that provides a Java

language interface with SQL Call Level Interface standard. This standard provides a

DBMS independent interface to relational databases that defines a generic SQL

database access framework.

The most visible implementation of the SQL CLI is Microsoft’s ODBC

(Open Database Connectivity). This API defines a common SQL syntax and function

calls that can be used by developers to send SQL commands to and retrieve data from

SQL databases. ODBC - enabled applications make use of database drivers (similar to

other device drivers) installed on the system that allows applications to talk to a

vendor’s database. Using this methodology, all of the DBMS specific code is placed

inside the ODBC driver and the application developer is shielded from

implementation specific problems in theory. Practically speaking, it is sometimes

difficult to completely remove vendor’s specific syntax from all ODBC operations,

but in most cases, it is relatively simple task to port ODBC to run on a new database

server.

ODBC’s primary drawback is that it is written in C. Because of the

limitations inherent in the use of native methods, the JDBC designers have designed

- 27 -

Page 28: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

the JDBC specification to most easily use ODBC in short-term, but they have

provided the capability long-term for JDBC to be implemented in other ways.

NOTE: JDBC, like ODBC, is designed to be a Call Level SQL Interface. Because

many of its many of its low-level operations can be combined into a higher level,

object oriented interface, except to see Java class libraries released in the future that

provide a mapping to the underlying JDBC Calls. This happened with ODBC almost

immediately, and the majority of ODBC developers currently use other Interface

rather than using ODBC API directly.

The JDBC API is expressed as a series of abstract Java interfaces

within the java.sql package. Here are the most commonly used interfaces:

java.sql.DriverManager – manages the loading and unloading of database

drivers from the underlying systems.

java.sql.Connection – Handles the connections to a specific database.

java.sql.Statement – contains an SQL statement to be passed to the database:

two sub-types in this interface are the PreparedStatement (for executing a Pre-

Compiled SQL statement) and the CallableStatement (for executing a database

stored procedure).

java.sql.ResultSet – contains the record result set from the SQL statement

passed to the database.

STEPS REQUIRED TO ACCESS A JDBC DATABASE

The steps required to access a JDBC database should be familiar.

JDBC uses the concept of a “ Connection” handle to manage a program’s connection

to a database.

ESTABLISING A CONNECTION

The first thing we need to do is establish a connection with the DBMS

you want to use. This involves two steps :

1.Loading the driver: If, we want to use the JDBC-ODBC bridge driver, the

following code will load it :

- 28 -

Page 29: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);

Our driver documentation will give us the class name to use. For instance, if the class

name is jdbc.Driverxyz, you would load the driver with the following line of code:

Class.forName(“jdbc.Driverxyz”);

2. Making the connection : the second step in establishing a connection is to have

the appropriate driver connect to the

DBMS. The following line of code illustrates the general syntax:

Connection con;

Con=DriverManager.getConnection (url,”scott”,”tiger”);

This step is also simple with the hardest thing being what to supply for

URL. If you are using the JDBC-ODBC Bridge driver, the JDBC URL will start with

jdbc:odbc:. The rest of the URL is generally your data source name or database

system.

CREATING A STATEMENT

A statement needs to be created so that it can be passed to the database for

processing. This is done by calling the connection class createStatement () method.

Syntax:

Java.sql.Statement st=connection.createStatement();

RETREIVING VALUES FROM RESULT SET

JDBC returns results in a ResultSet object, so we need to declare in

instance of the class ResultSet to hold our result. The following code demonstrates

declaring the ResultSet object RS and assigning the results to query:

ResultSet rs=st.executeQuery(“SELECT NAME FROM FACE”);

OVERVIEW OF ORACLE

- 29 -

Page 30: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

DATABASE

A database is a set of data, organized for easy access. The database is an

actual data; it is the database that you will be accessing when you need to retrieve

data.

DATA DICTIONARY

The data dictionary is a set of tables Oracle uses to maintain information

about the database. The data dictionary contains information about tables, indexes,

clusters and so on.

DBA (DATABASE ADMINISTRATOR)

The DBA is the person responsible for the operation, configuration and

performance of the database. The DBA is charged with keeping the database

operating smoothly, ensuring that backups are done on regular basis (and that backups

work), and installing new software. Other responsibilities might include planning for

future expansion and disk space needs, creating databases and table spaces, adding

users and maintaining security, and monitoring the database and retuning it as

necessary. Large installations might have teams of DBA’s to keep the system running

smoothly; alternatively, the task might be segmented among the DBA’s.

ORACLE

Oracle is a relational database management system, it provides a platform for

client server computing i.e., it supports distributed database and distributed

processing.

STRUCTURED QUERY LANGUAGE (SQL)

SQL is an ANSI standard computer programming language used to

query relational databases. The ANSI standard for SQL specifies the core syntax for

language itself.

Create Table Command: This is used to create a table in database specifying the

columns in it.

- 30 -

Page 31: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

Syntax: create table table_name (column_name datatype(size));

Insertion of values: This is used to insert values to the specified columns in the table.

Syntax: insert into table_name values (expressions);

Viewing Data from tables: This is used to view the content’s of the table created.

Syntax: select * from table_name;

Creating a table from existing table: This is used to create a table from existing

table by taking the columns needed.

Syntax: create table table_name[(column_name)] as select column_name from

table_name;

Inserting data into a table from another table: This is used to insert rows from one

table into another table.

Syntax : insert into table_name values select column_name from table_name;

Delete operation: The verb DELETE in SQL is used to remove all rows from table,

or a selected set of rows from a table.

Syntax: delete from table_name; (deletes all rows)

Syntax: delete from table_name where condition; (deletes specified rows based on

condition)

Updating the contents of a table: the update command is used to change or modify

data values in a table. To update all the rows from table OR a select set of rows from a

table.

Syntax: update table_name set column_name = expression; (updates all the rows)

- 31 -

Page 32: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

Syntax: update table_name set column_name =expression where condition; (updates

selected rows based on condition)

Modifying existing columns: This is used in situation whenever we need to change

the type and size of the column.

Syntax: Alter table table_name modify (column_name new datatype (new size));

Renaming tables: To change the table name.

Syntax: rename oldtable_name to newtable_name;

Destroying tables: This is used to delete any table from the database.

Syntax: drop table_name;

Finding out the tables created by user: To display all the tables which are there in

our database.

Syntax: select * from tab;

Finding out the columns details of a table created: To check which columns are

present and what is there datatype& size we use this command i.e. desc.

Syntax: desc table_name;

SCREENS

LOGIN SCREEN

- 32 -

Page 33: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

MAIN SCREEN

- 33 -

Page 34: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

- 34 -

Page 35: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

- 35 -

Page 36: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

NEW CRIMINAL FORM

SHOW DETAILS

- 36 -

Page 37: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

CLIP IMAGE SCREEN

UPDATE DETAILS SCREEN

- 37 -

Page 38: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

CONSTRUCT SCREEN

FIND FACE

- 38 -

Page 39: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

- 39 -

Page 40: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

HELP SCREEN

- 40 -

Page 41: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

TESTING PHASE

The completion of a system is achieved only after it has been thoroughly

tested. Though this gives a feel the project is completed, there cannot be any project

without going though this stage. Though the programmer may have taken many

precautions not to commit any mistakes that crop up during the execution stage.

Hence in this stage it is decided whether the project can under go the real time

environment execution without any break downs, therefore a package can be rejected

even at this stage.

The testing phase involves the testing of the developed system using

various kinds of data. An elaborated testing of data is prepared and a system is tested

using the test data. While testing, errors are noted and corrections remade, the

corrections are also noted for future use.

SYSTEM TESTING

Testing is a set of activities that can be planned in advance and

conducted systematically. The proposed system is tested in parallel with the software

that consists of its own phases of analysis, implementation, testing and maintenance.

Following are the tests conducted on the system.

UNIT TESTING

During the implementation of the system each module of the system was

tested separately to uncover errors with in its boundaries. User interface was used as a

guide in the process.

MODULE TESTING

A module is composed of various programs related to that module. Module

testing is done to check the module functionality and interaction between units within

a module.

It checks the functionality of each program with relation to other programs

within the same module. It then tests the overall functionality of each module.

INTEGRATION TESTING

- 41 -

Page 42: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

Integration testing is a systematic technique for constructing the program

structure while conducting tests to uncover errors associated with interfacing. The

objective is to take unit-tested module and build a program structure that has been

dictated by design.

ACCEPTANCE TESTING

The software has been tested with the realistic data given by the client and

produced fruitful results. The client satisfying all the requirements specified by them

has also developed the software within the time limitation specified. A demonstration

has been given to the client and the end-user giving all the operational features.

Unit Testing

S.no. Screen Input Output Remarks

1 Login Page User Id

Password

User validation User will enter

into Main Screen

2 Main Screen

File

New

Criminal Details

are entered

Details are

stored in the

database

New Menu is

selected to enter

new criminal

details.

3 Main Screen

File

Show

Details

Display option is

clicked.

Criminal

Details are

displayed

Display details

menu is selected

to get details

from database.

4 Main Screen

File

Exit

Exit Option is

Clicked.

Screen will be

exited

Screen will be

shut down

5 Main Screen

Edit

Clip

Image

Criminal Image is

clipped into

different parts

The clips are

stored in

database

Clip image menu

is selected to clip

image and store

them in database

6 Main Screen

Edit

Changes in the

details of the

Details of the

criminal are

Update details

menu is selected

- 42 -

Page 43: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

Update

Details

criminals are

entered

updated to update the

details of the

criminals

7 Main Screen

Identificat

ion

Construct

Face

Different clips of

criminals are

selected and

arranged in order

Face of the

criminal is

constructed

Construct face

menu is to

construct the

criminal face

from various

clips stored in the

database.

8 Main Screen

Identificat

ion

Find Face

Show all suspects

is checked

All suspects

detail along

with photo are

displayed

Show more

suspect menu is

selected to get

the details of all

suspects and

more possible

suspect involved

in crime.

9 Main Screen

Help

About

About Face

Identification is

checked

The version

and the

overview of

the system is

displayed

About face

identification

system menu is

selected to get

the details of

above system.

- 43 -

Page 44: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

IMPLEMENTATION PHASE

The implementation is the final and important phase. It involves User

training, system testing and successful running of the developed system. The users

test the developed system when changes are made according to the needs. The testing

phase involves the testing of the developed system using various kinds of data. An

elaborate testing of data is prepared and system is tested using the tests data.

Implementation is the stage where theoretical design turned into a working

system. Implementation is planed carefully to propose system to avoid unanticipated

problems. Many preparations involved before and during the implementation of

proposed system. The system needed to be plugged in to the organization’s network

then it could be accessed from anywhere, after a user logins into the portal. The tasks

that had to be done to implement the system were to create the database tables in the

organization database domain. Then the administrator was granted his role so that the

system could be accessed.

The next phase in the implementation was to educate the system. A

demonstration of all the functions that can be carried out by the system was given to

examination department person, who will make extensive use of the system.

- 44 -

Page 45: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

CONCLUSION

The purpose of face identification system is to identify criminals. In

past years this process is carried out by humans. This process gives the exact image of

the criminal but it is very difficult to identify the criminal details and also it requires

much amount of human burden.

The main aim of our project is to overcome the drawbacks of human

based system by using the machine based face identification process. In this process

we store the details of criminal into the database along with his photo or

image. Then we make the image into different clips containing hair, forehead, eyes,

nose, lips and chin and store these clips into the database. When any crime occurs

we compare the details given by the eyewitness with the clips already stored in the

database and we will identify the criminal. This project can be extended to adjust the

gaps between the clips after construction of the image to be a perfect photograph

using Image processing Techniques.

- 45 -

Page 46: FACE IDENTIFICATION

PROJECT REPORT FACE IDENTIFICATION

BIBLIOGRAPHY

BOOKS REFERRED

The following books were used extensively for the project development and

implementation.

1.”The Complete Reference Java2” Tata McGraw-Hill publishing Company Limited.

By Herbert Schildt.

2. “Software Engineering, A Practitioner’s Approach” Tata McGraw-Hill Publishing

Company Limited. By Roger S. Pressman.

3. “PL/SQL”. By Ivan Bayross.

WEBSITES REFERRED

The following links were searched and exploited extensively for the project

development and implementation.

1. http://www.java.sun.com/products\java

2. http://www.jakarta.apache.org

3. http://www.javaworld.com/

4. http://www.java2s.com/

- 46 -