PROJECT REPORT
FACE IDENTIFICATION
1 INTRODUCTION 1.1 PURPOSE OF THE PROJECT:
This This projec projectt is aimed aimed to identi identify fy the crimin criminals als in any invest investiga igatio tion n 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-
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 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 vector vectorss extrac extracted ted from from profile profile silhou silhouett ettes. es. The The third third group group uses uses feature feature vector vectorss 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 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.2.1Overview of Proposed System:
-2-
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 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 vector vectorss extrac extracted ted from from profile profile silhou silhouett ettes. es. The The third third group group uses uses feature feature vector vectorss 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 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.2.1Overview of Proposed System:
-2-
PROJECT REPORT
FACE IDENTIFICATION
•
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 feasib feasibilit ility y study, study, which which is high-le high-level vel capsul capsulee versio version n of the entered entered syste systems ms 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 system using using java technology. technology. It is evident that the necessary hardware and softw software are are availa available ble for develo developme pment nt and impleme implementa ntatio tion n of the propos proposed ed 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 compar compared ed and the projec projectt is econom economical ically ly feasibl feasiblee only only if tangib tangible le or intang intangibl iblee benefits outweigh costs. The system development costs will be significant. So the proposed system is economically feasible.
2.3.3Operational 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 qualit quality. y. The proposed proposed system system is accepta acceptable ble to users. users. So the propo proposed sed syste system m is operationally feasible.
-3-
PROJECT REPORT
FACE IDENTIFICATION
2.4 SYSTEM REQUIREMENT SPECIFICATION SPECIFICATION
2.4.1 Software Requirements: Requirements:
Operating System
: Windows 2000
Database Server
: Oracle 9i
Prog Progra ramm mmin ing g Lang Langua uage ge
: Java Java
Frame Work
: Swing
2.4.2 Hardware Requirements: 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 r ole in the project and in coding concepts. In Software Engineering concept we treat it has a small part of a system system but whereas in our programmin programming g 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
Add Image is a module that is considered with adding image along with the complete complete details of the person of whom we are taking taking image. In this we add -4-
PROJECT REPORT
FACE IDENTIFICATION
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.
SYSTEM DESIGN
-5-
PROJECT REPORT
FACE IDENTIFICATION 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-
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-
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.
Chain of Responsibili ty 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.
Place Order
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-
PROJECT REPORT
FACE IDENTIFICATION
Face Identification Image
Suspend () Flush ()
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-
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.
Waiting
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 -
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 -
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.
- 12 -
PROJECT REPORT
FACE IDENTIFICATION
Common Properties:
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 rela tionships
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. - 13 -
PROJECT REPORT
FACE IDENTIFICATION
SEQUENCE DIAGRAMS:
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 -
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.
- 15 -
PROJECT REPORT
FACE IDENTIFICATION CLASS DIAGRAM
USE CASE DIAGRAM
- 16 -
PROJECT REPORT
FACE IDENTIFICATION
SEQUENCE DIAGRAM
- 17 -
PROJECT REPORT
FACE IDENTIFICATION
ACTIVITY DIAGRAM
Login
Authentication
Valid User Invalid User Main Screen
Choose Option
Add Image
Enter Details
Add to Database
Clip Image
Update Details
Construct Image
Open Image& Make Clips
Open Record & Update
Specify Feature
Add Clips to Database
Add to database
Search Image
Search Process
Search Image & Get Details
Result
End
- 18 -
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 -
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.
Ci d
fnam ee
age
Crime Involve d Con necte d by
FACE
Crim e Id
Forehead
Suspect Photo
Face_Suspect photo
Hairs
Nos e
Face_heights
Crime Id
Cid
Photo Height Con necte d by
Chi n
Face_Suspects
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 -
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
Number
5 (Primary Key)
First Name
Varchar2
15
Last Name
Varchar2
15
Alias Name
Varchar2
15
D.O.B
Date
Age
Number
5
Gender
Varchar2
15
Address
Varchar2
15
City
Varchar2
15
State
Varchar2
15
Arrested Date
Date
Crime Involved In
Varchar2
15
Photo
Varchar2
15
- 21 -
PROJECT REPORT
FACE IDENTIFICATION
CRIMINAL_SUSPECT TABLE
Field Name
Data Type
Size
Criminal Id
Number
5 (Primary Key)
Cid
Number
5
FACE_HEIGHTS TABLE
Field Name Criminal Id
Data Type Number
Size 5
Hair
Number
5
Forehead
Number
5
Eyes
Number
5
Nose
Number
5
Lips
Number
5
Chin
Number
5
Cid
Data Type Number
Size 5
Suspect Photo
Varchar2
15
Suspect Height
Varchar2
15
FACE_SUSPECTPHOTO
Field Name
4. IMPLEMENTATION
- 22 -
PROJECT REPORT
FACE IDENTIFICATION
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 -
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 -
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.
- 25 -
PROJECT REPORT
FACE IDENTIFICATION
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 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
- 26 -
PROJECT REPORT
FACE IDENTIFICATION
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.
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,
- 27 -
PROJECT REPORT
FACE IDENTIFICATION
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 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 PreCompiled 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.
- 28 -
PROJECT REPORT
FACE IDENTIFICATION
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 :
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
- 29 -
PROJECT REPORT
FACE IDENTIFICATION
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
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)
- 30 -
PROJECT REPORT
FACE IDENTIFICATION
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.
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) - 31 -
PROJECT REPORT
FACE IDENTIFICATION
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)
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;
- 32 -
PROJECT REPORT
FACE IDENTIFICATION
SCREENS LOGIN SCREEN
MAIN SCREEN
- 33 -
PROJECT REPORT
FACE IDENTIFICATION
- 34 -
PROJECT REPORT
FACE IDENTIFICATION
- 35 -
PROJECT REPORT
FACE IDENTIFICATION
NEW CRIMINAL FORM
SHOW DETAILS
- 36 -
PROJECT REPORT
FACE IDENTIFICATION
CLIP IMAGE SCREEN
- 37 -
PROJECT REPORT
FACE IDENTIFICATION
UPDATE DETAILS SCREEN
CONSTRUCT SCREEN
FIND FACE
- 38 -
PROJECT REPORT
FACE IDENTIFICATION
- 39 -
PROJECT REPORT
FACE IDENTIFICATION
HELP SCREEN
- 40 -
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
- 41 -
PROJECT REPORT
FACE IDENTIFICATION
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
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
User validation
User will enter
Main Screen
Password Criminal Details
Details are
into Main Screen New Menu is
are entered
stored in the
selected to enter
2
File
- 42 -
PROJECT REPORT
Main Screen
new criminal
Display option is
Criminal
details. Display details
File
clicked.
Details are
menu is selected
displayed
to get details
Show
•
4
database
New
•
3
FACE IDENTIFICATION
Details Main Screen
File
Exit Main Screen
from database. Exit Option is
Screen will be
Screen will be
Clicked.
exited
shut down
Criminal Image is
The clips are
Clip image menu
•
5
6
Edit
clipped into
stored in
is selected to clip
•
Clip
different parts
database
image and store
Image Main Screen
Changes in the
Details of the
Update details
Edit
details of the
criminal are
menu is selected
Update
criminals are
updated
to update the
Details
entered
details of the
Different clips of
Face of the
criminals Construct face
Identificat
criminals are
criminal is
menu is to
ion
selected and
constructed
construct the
Construct
arranged in order
•
7
Main Screen
•
them in database
criminal face from various
Face
clips stored in the 8
Show all suspects
All suspects
database. Show more
is checked
detail along
suspect menu is
ion
with photo are
selected to get
Find Face
displayed
the details of all
Main Screen
•
Identificat
suspects and more possible suspect involved 9
Main Screen
Help
About Face
The version
in crime. About face
Identification is
and the
identification
- 43 -
PROJECT REPORT •
About
FACE IDENTIFICATION checked
overview of
system menu is
the system is
selected to get
displayed
the details of above system.
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 -
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 -
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 - 46 -