abstract

55
Chapter 1. Introduction 1.1 Abstract 1.2 Project overview 1.3 Introduction and Motivation 1.4 Problem Definition 1.5 Literature Review – Technical Paper 1.6 Scope Chapter 2. Project Design: Development Model 2.1 Lifecycle Model 2.2 Requirement Analysis : Feasibility and Risk Analysis 2.3 Software Requirements Specification Document 2.4 Software Design Document 2.5 UML Diagrams / DFD , CFD, ERD Chapter 3. Project Management Plan 3.1 Software Architecture 3.2 Task & Responsibility Assignment Matrix 3.3 Project Timeline Chart Chapter 4. Project Implementation (Implementation Details) 4.1 Approach / Main Algorithm / Methodology 4.2 Programming Language used for Implementation 4.3 Tools used Chapter 5. Integration & Testing 5.1 Testing Approach 5.2 Testing Plan 5.3 Unit Test Cases 5.4 Integrated System Test Cases Chapter 6. Conclusion&Future work (Enhancements) Chapter 7. References

Transcript of abstract

Page 1: abstract

Chapter 1. Introduction1.1 Abstract1.2 Project overview1.3 Introduction and Motivation1.4 Problem Definition1.5 Literature Review – Technical Paper1.6 Scope

Chapter 2. Project Design: Development Model

2.1 Lifecycle Model2.2 Requirement Analysis : Feasibility and Risk Analysis2.3 Software Requirements Specification Document2.4 Software Design Document2.5 UML Diagrams / DFD , CFD, ERD

Chapter 3. Project Management Plan3.1 Software Architecture3.2 Task & Responsibility Assignment Matrix3.3 Project Timeline Chart

Chapter 4. Project Implementation (Implementation Details)4.1 Approach / Main Algorithm / Methodology4.2 Programming Language used for Implementation4.3 Tools used

Chapter 5. Integration & Testing

5.1 Testing Approach 5.2 Testing Plan5.3 Unit Test Cases5.4 Integrated System Test Cases

Chapter 6. Conclusion&Future work (Enhancements)

Chapter 7. References

Appendix I) Minimum System Requirement II) User’s ManualIII) Technical Reference ManualIV)Data Sheets of chips used ( for hardware projects only)

Page 2: abstract

1. Introduction1.1) ABSTRACT

Signature is the characteristic of the particular person and hence used globally for identifying

a person, validity of the documents signed, banking etc. Up till now, in banks where signature

of a person is the basic code for transaction, the validity of the signature is generally checked

by a man.

Our project simulates the ability of a man to

recognize a signature from the set of samples of signatures. A signature verification system

may be either offline or online. The signature is captured using an optical scanner and stored

in an image format (GIF).Then the image is converted into a bit pattern from which features

are extracted. These features are said to be static. Artificial Neural Network is used in our

project. Our system is trained to identify similarities and patterns among different signature

samples. Any given signature is verified based on training that is provided.

Our project incorporates database management, image preprocessing, feature extraction,

learning and verification modules (Artificial Neural Networks).

Page 3: abstract

1.2) PROJECT OVERVIEW

Our project is designed to speed up the process of verification and minimize manual

intervention. Our system automates the process of recognition and verification of signatures. The

features of standard signatures of customers along with their account number and their name are

stored in the database. The Artificial Neural Network is trained using the features extracted from

the database. The operator will provide the customer’s signature in the form of an image. The

features extracted from this signature image are used to test the system (Recognition and

Verification). The output of neural network provides a serial number which corresponds to a

customer record in the database.

The error rate is calculated by comparing the features of original signature image with the

features of signature image to be tested. This error rate should be less than the threshold value for

the signature to be recognized and genuine.

STEPS IN SIGNATURE RECOGNITION

A) Image Pre-processing: The data is transformed to a standard format.

1. Conversion of colored to gray scale image.

2. Image Enhancement

3. Noise Reduction

4. Image Normalization

5. Image Thinning

6. Cropping

B) Feature extraction: converts each image into a set of binary features.

1. Global feature

2. Moment Invariant Method

C) Artificial Neural networks:

It is used for identification and verification. Back Propagation neural network is

used.

Page 4: abstract

1.3) INTRODUCTION AND MOTIVATION

There exist a number of biometrics methods today e.g. Signatures, Fingerprints, Iris etc. There is

considerable interest in authentication based on handwritten signature verification system as it is

the cheapest way to authenticate the person. Signature verification does not require the

installation of costly equipments and hence can be used at day to day places like Banks etc.

The objective of the project is to make software for “Offline Signature Recognition and

Verification”. It involves recognition of signature that has been read optically. The method starts

with a scanned image of a handwritten signature.

A signature is treated as an image carrying a certain pattern of pixels that pertains to a specific

individual. There is a growing interest in the area of signature recognition and verification

(SRVS) since it is one of the important ways to identify a person. Recognition is finding the

identification of the signature owner [1]. Verification is the decision about whether the signature

is genuine or forged. Signature is a special case of handwriting in which special characters and

flourishes are viable. Signature verification is a different pattern recognition problem as no two

genuine signatures of a person are precisely the same. Signature Recognition and Verification

(SRVS) are categorized into two major classes:

On-line Signature Recognition and Verification System

Off-line Signature Recognition and Verification System

The difference between the off-line and on-line lies in how data are obtained. In the on-line

SRVS data are obtained using special peripheral device, while in the off-line SRVS images on

the signature written on a paper are obtained using scanner or a camera.

Page 5: abstract

1.4) PROBLEM DEFINITION

Our project is designed to speed up the process of verification and minimize manual

intervention. Our system automates the process of recognition and verification of signatures. The

operator who is using Offline Signature Recognition and Verification software will provide the

customer’s signature in the form of an image. Our system is able to recognize the owner of the

image and provides the identification number and name of the customer to whom the signature

belongs to. Our system recognizes all signatures that the artificial neural network is trained for.

Page 6: abstract

1. 5) LITERATURE SURVEYED

1] Integration of Offline and Online Signature Verification System

By: Deepthi Uppalapati, Department of Computer Science & Engineering, Indian Institute of

Technology, Kanpur, India, July 2007

In this thesis, an integrated verification system has been proposed in which the feature vector

comprises of static and dynamic features. It not only provides a way to match and compare an

online signature versus an offline signature and vice versa, but also improves the system

performance.

2] Signature recognition and Verification with ANN

By: Cemil oz, Fikret Ercal, Zafer Demir, 2005

In this paper, we present an off-line signature recognition and verification system which is based

on moment invariant method and ANN. Two separate neural networks are designed; one for

signature recognition, and another for verification (i.e. for detecting forgery). Both networks use

a four-step process. First step is to separate the signature from its background. Second step

performs normalization and digitization of the original signature. Moment invariant vectors are

obtained in the third step. And the last step implements signature recognition and verification.

3] Paper on Offline Signature Recognition and Verification Based on Artificial Neural Network

By: Mohammed A. Abdala , Noor ayad Yousif, December 2008

In this paper, a problem for Offline Signature Recognition and Verification is presented. A

system is designed based on two neural networks classifier and three powerful features (global,

texture and grid features). Our designed system consist of three stages: the first is preprocessing

stage, second is feature extraction stage and the last is neural network (classifiers) stage which

consists of two classifiers, the first classifier consists of three Back Propagation Neural Network

and the second classifier consists of two Radial Basis Function Neural Network. The final output

is taken from the second classifier which decides to whom the signature belongs and if it is

genuine or forged. The system is found to be effective with a recognition rate of (%95.955) if

two back propagation of the first classifier recognize the signature and (%99.31) if all three back

propagation recognize the signature.

Page 7: abstract

1.6) SCOPE

Our system involves two separate but strongly related tasks:

1) Identification of the signature owner (Recognition)

2) The decision about whether the signature is genuine or forged (Verification)

Many of the applications use Offline Signature Recognition as they are simple and do not require

any additional tools (like stylus). The features of the standard signatures of the customers along

with their name and identification number are stored in the database with the help of tools like

Microsoft Access. The signature to be recognized and verified is in an image format. Various

image processing and neural network techniques are to be used. The signature image to be tested

is identified and verified by using a threshold value.

Page 8: abstract

2) PROJECT DESIGN: DEVELOPMENT MODEL

2.1) Lifecycle Model

Waterfall model

Waterfall Model is used to implement our system. The modules in our project are organized in a

linear order. It begins with feasibility analysis and on the successful demonstration of the

feasibility analysis, the requirements analysis and project planning begins.

The design starts after the requirements analysis is done. And coding begins after the design is

done. Once the coding is completed, it is integrated and testing is done. On succeeful completion

of testing, the system is installed. After this the regular operation and maintenance of the system

takes place. The following figure demonstrates the steps involved in waterfall life cycle model.

 

fig 2.1: The Waterfall Software Life Cycle Model

With the waterfall model, the activities performed in our project are requirements analysis,

project planning, system design, detailed design, coding and unit testing, system integration and

testing. When the activities of a phase are completed, there should be an output product of that

phase and the goal of a phase is to produce this product. The outputs of the earlier phases are

often called intermediate products or design document. For the coding phase, the output is the

code. After each phase is completed and its outputs are certified, these outputs become the inputs

to the next phase and should not be changed or modified. The changes in one phase may affect

the later phases. These changes are to be made in a controlled manner after evaluating the effect

of each change on the project.

Page 9: abstract

2.2 ) REQUIREMENT ANALYSIS :

FEASIBILITY ANALYSISA good feasibility study shows the strengths and deficits before the project is planned or budgeted for. By doing the research beforehand, it is possible to save money and resources in the long run by avoiding projects that are not feasible. Technical Feasibility – The project requires technical tools that are easily available. Also,

the system requirements are not very high. The project can run on any machine which fulfills the basic requirements. MATLAB is the programming language used which is highly accessible and extensively used. Hence the system is technically feasible.

Schedule Feasibility – The time available for the completion of the project was approximately of 8-9 months. Hence it was ea to achieve the deadline for project submission.

Economic Feasibility – The project is economically feasible. All the tools required for the completion of the project are open source and freeware softwares. The hardware requirements were also not very high. Hence much investment is not required for the technical tools.

Resource Feasibility – All the software and hardware resources necessary for the project were easily available and hence resource feasibility is achieved.

Operational Feasibility – The functionalities of the system will have to be tested from time to time for errors or any other drawbacks.It is important to provide an efficient software which provides all the required functionalities to the client.

RISK ANALYSIS

Schedule Risk:No schedule risk in our project.

Budget Risk:

No budget risk in our project.

Operational Risks:

 Insufficient resources like availability of scanner.  No proper training of Signature images.

Technical risks: Difficult project modules integration.

2.3) Software Requirement Specification Document

Page 10: abstract

2.3.1)  Introduction:

2.3.1.1) Purpose/Problem Definition: Our project is designed to speed up the process of

verification and minimize manual intervention. The system automates the process of recognition

and verification of signatures.

2.3.1.2) Scope:

a) In our project we are using offline signature recognition.

b) Standard signatures are stored in the database.

c) Signature to be recognized and verified is an image.

d) Image Pre-processing is done on the image

e) Feature Extraction is done on the pre-processed image.

f) Neural Networks is used for training and verification.

2.3.1.3)  Overall Description:

2.3.1.3.1) Product Perspective: The product will have the following modules:

a) Image Acquisition: Handwritten signatures of customers are scanned and converted into

images.

b) Image Pre-processing: The data is transformed in a standard format.

1. Conversion of colored to gray scale image.

2. Image Enhancement

3. Noise Reduction

4. Size Normalization

5. Thinning

6. Cropping

Image Acquisition

Image Preprocessing Feature Extraction Artificial Neural Networks

Page 11: abstract

c) Feature extraction: converts each image into a set of binary features.

1. Global features

2. Moment Invariant Method

d) Artificial Neural networks: It is used for identification and verification. Back Propagation

neural network is used.

2.3.1.3.2) USER PERSPECTIVE: The user has to deal with the user interface only. He/she

must not be concerned with the backend processing. All the internal processing details will be

hidden.

2.3.1.3.3) GENERAL CONSTRAINTS: Only one user will access the application at a time.

2.3.1.3.4) ASSUMPTION AND DEPENDENCIES: The system should be compatible with

most of the operating systems i.e. previous and latest ones.

2.3.2)   REQUIREMENTS-

2.3.2.1)   EXTERNAL INTERFACE REQUIRED:

2.3.2.1.1)  USER INTERFACE: The user must be able to access the interface which interacts

with modules

Loading image to be tested  

Recognition button which implements recognition and verification

All these interfaces have different design and include all elements to achieve the respective

functionalities.

2.3.2.1.2)  SOFTWARE INTERFACE: The Operating Systems can be any version of

Windows.

2.3.2.2)   PERFORMANCE REQUIREMENTS:

2.3.2.2.1) Maintainability: The system should manage the changes effectively i.e. easy to be

maintained.

2.3.2.2.2) Compatibility: The system must be compatible with all the operating systems and the

underlying database.

Page 12: abstract

2.3.2.2.3) Scalability: The System should be scalable.

2.3.2.2.4) Security: Data abstraction needs to be implemented properly.

2.3.2.2.5) Usability: The user interface should be easy enough to use.

2.3.1.4) DESIGN CONSTRAINTS:  

 The constraints at the designing time are that the needs may keep on changing so the designers

must keep this in view and design the product in this way that it is easily updatable.

2.3.1.5) HARDWARE REQUIREMENTS:

1) RAM-1GB or above

2) Any Intel Processor of 1.0 GHz or above

2.3.1.6) SOFTWARE REQUIREMENTS:

1) MATLAB 7.0 or later versions.

2) Microsoft Excel and Access

2.4) SOFTWARE DESIGN DOCUMENT

2.4.1) Introduction:

Page 13: abstract

2.4.1.1) Design Overview:

Modular design of the system helps us to have clear goal and logically correct view of the

design. We will try to isolate the functionality of each module and will also try to make the

design of the system simple irrespective of the interdependency of between the modules.

Good system is characterized by highly cohesive module. Our project consists of four modules

which are almost dependent on each other. We will design each module separately to keep it

clear and easy to understand.

2.4.2) System Architectural Design

Fig 2.2: Architectural design

2.4.3) System Overview:

Image Acquisition

Image Preprocessing

Conversion of colored to grayscale imageImage EnhancementNoise ReductionSize NormalizationThinningImage Cropping

Feature Extraction

Moment Invariant Method Global features like signature height, Image Area, Maximum Vertical and Horizontal Projection.

.Neural

Networks

Back-propagation Artificial Neural

Network for Training and Verification

Page 14: abstract

Offline Signature Recognition and Verification System helps in identifying the owner of the signature and their verification. Our project deals with designing a system which is aimed at speeding up the process of recognition and verification and minimizing manual intervention. The system will automate the process of recognition and verification of signatures.

2.4.4) Design Constraints:

The general design constraints for our project are as follows:i) Our system works only for windows operating system.ii) Handwritten signatures must be scanned using Canon 4350d scanner.iii) Access database consisting of one table i.e. original which stores the features of original signatures along with customer account number and their name must be imported.iv) 2 Microsoft Excel files i.e. sn.xls and testd.xls must be imported.v) The original table of Access database and sn.xls must be consistent.v) MATLAB 7.0 or later versions should be incorporated into the environment.

2.4.5) System Software Architecture:The Software modules used are as follows:

2.4.5.1) Microsoft Access: It is used as an input/output database. It consists of one table i.e. original. The original table stores sr_no, account number, customer name and features of original signatures of each customer.

2.4.5.2) Microsoft Excel: It is for training and testing purpose. The file sn.xls is a copy of original table of our database which is used to provide as input to artificial neural network. One extra column of target is added to sn.xls file. The testd.xls file is used to store the features of the signature to be tested.

2.4.5.2) MATLAB 7.0 or later versions: It forms the base of our project as all our codes run in MATLAB.

Why MATLAB 7.0?

a) MATLAB is a high-performance language for technical computing. It integratescomputation, visualization, and programming environment.

b) MATLAB is a modern programming language environment: it has sophisticated data structures, contains built-in editing and debugging tools, and supports object-oriented programming. These factors make MATLAB an excellent tool for teaching and research.

c) MATLAB is an interactive system whose basic data element is an array that does not require dimensioning.

d) It has powerful built-in routines that enable a very wide variety of computations. Italso has easy to use graphics commands that make the visualization of results immediately available. Specific applications are collected in packages referred to as toolbox. There are

Page 15: abstract

toolboxes for signal processing, symbolic computation, control theory, simulation, optimization, and several other fields of applied science and engineering.

2.4.6) Database Design:

The database named db is created using Microsoft Access 2003. This database consists of the following:

2.4.6.1) Original signature table: It consists of sr_no, account number, name of customer, path of Original signature images and various features of original signatures of each customer. The original table consists of three original signature images of each customer which are signed at different instants of time. There are three customers in our database so total 9 signatures are present which is used for training the artificial neural network.Apart from Microsoft Access 2003, we also use two Microsoft Excel 2003 files. They are as follows:2.4.6.2) sn.xls: This file is a copy of the original table. Only an extra column of target vector is added. They are used for training purpose.2.4.6.3) testd.xls: This file stores all the features of the signature that is to be tested. It is used for testing of signatures.

2.4.7) Input and Output Formats:

The scanned image is saved in gif format which is provided as input to the pre-processing module. The output of this module is saved as a jpeg image on which feature extraction is carried out. These features are provided in vector form to the last stage i.e. artificial neural networks. The error rate obtained by comparing original signature image with the tested signature image should be less than a threshold value for it to be recognized and genuine.

2.5) UML DIAGRAMS:

Page 16: abstract

2.5.1) Activity Diagram:a) Image Pre-processing

b) Feature Extraction:

Page 17: abstract

c) Sequence Diagram:

Page 18: abstract
Page 19: abstract

3) Project management plan:3.1) Software Architecture:

3.2) Tasks:

Table 3.1:

Sr.

No.

Task Description Deliverab

les and

Milestone

s

Resources

Needed

Dependen

cies and

Constrain

ts

Risks and

Contingenci

es

3.2.1 Interacting

with the

client

Get

requirement

specificatio

ns

Prepare

analysis

report

Developer

manuals

Coding

cannot be

started

Fixing of

appointment

3.2.2 Developm

ent

Develop the

actual

application

Actual

developm

ent of

project

MATLAB Version of

software

Availability

of software

v/s waiting

for it

3.2.3 Testing Execute and

check the

project

Validatin

g the code

Code Getting

right

inputs for

respective

modules

Availability

of

knowledgeab

le people for

testing

Page 20: abstract

3.2) Assignments:

Table 3.2:Tasks Description Name

Requirement Gathering

1) Collection of information Snehal S. Pradhan Manasi D. Mahajan

2) Analysis of various papers Snehal S. Pradhan Manasi D. Mahajan

3) Design Generation Manasi D. Mahajan Snehal S. Pradhan

4) Coordinating Snehal S. Pradhan

Designing 1) Software design document-data and architecture

Snehal S. Pradhan Manasi D. Mahajan

2) Designing user interface Manasi D. Mahajan

3) Designing the database Snehal S. Pradhan

Coding 1) Image Acquisition Manasi D. Mahajan

2) Image Pre-processing Snehal S. Pradhan

3) Feature Extraction Manasi D. Mahajan

4) Artificial Neural Network for Training and Verification

Manasi D. Mahajan Snehal S. Pradhan

Testing 1)Testing each module independently

Snehal S. Pradhan

2) Integrating and then testing integrated modules.

Manasi D. Mahajan

Documentation Generating different reports(Requirements Specification, Design,Planning)

Snehal S. Pradhan Manasi D. Mahajan

Page 21: abstract

3.3) Project Time Allocation:

Project timeline is made to track the progress in the project. By making careful analysis we have

decided to schedule the project in the following way:

Table 3.3:

Tasks Description Days

allotted

Start date End date

Gathering

information

Collection of

information and

analysis of various

papers

15 1st Aug 2010 15th Aug 2010

Designing Software design

document-data and

architecture

20 16th Aug 2010 5th Sept 2010

Coding 1.Image Acquisition

2.Image Pre-

processing

3.Feature Extraction

4. Artificial Neural

Networks for

Training and

Verification.

171 10th Sept 2010 1st March 2011

Testing Testing various

modules

20 4th March 2011 24th March

2011

Documentation Generating different

reports(Requirements

Specification,

Design,

Planning)

10 30th March

2011

5th April 2011

Page 22: abstract

Project Timeline Chart

The flow of the activities can be shown by using Gantt chart

SR

NO.

WORK TASK AUG SEPT OCT NOV DEC JAN FEB MARCH APRIL

1Collection of

papers

2Analysis of

papers

3 Software Design

4 GUI Design

5 Database Design

6 Preprocessing

7Feature

Extraction

8

Pattern Matching

Using Dynamic

Programming

9 Testing

10 Documentation

Fig : Project Timeline Chart (Gnatt Chart)

Page 23: abstract

4) Project Implementation

4.1) METHODOLOGY

The modules in our project and the algorithms used for each module are as follows

Fig 4.1: System Architectural Design

1) Image Acquisition:

The handwritten original signatures of the customer are scanned and the path of the scanned

images is stored in the database along with their identification number and their name along with

their features of signatures like the seven moments, image area, signature width, vertical center,

horizontal center, number of cross points and edge points are stored in original database. The

operator has to load a signature image that is to be tested using the given GUI. This image to be

tested is provided as input to the Image Pre-processing module.

Image Acquisition

Image Preprocessing

Conversion of colored to grayscale imageImage EnhancementNoise ReductionSize NormalizationThinningImage Cropping

Feature Extraction

Moment Invariant Method Global features like signature height, Image Area, Maximum Vertical and Horizontal Projection.

Neural Networks

Back-propagation Artificial Neural Network for Training and Verification.

Page 24: abstract

fig 4.2:Original Signature image

2) Image Pre-processing:

It consists of the following stages:

a) Conversion of colored to grayscale image:

A color image consists of coordinate matrix and three color matrix. Color matrices are known as

Red (R), Green (G) and Blue (B). The designed system is based on gray scale images; therefore,

colored image must be converted to gray scale using the equation below [3]:

G=0.299*Red+0.5876*Green+0.14*Blue

Algorithm: Color to grayscale

1) x = image obtained from the image path provided in the database.

2) Applying MATLAB inbuilt function to x: y = rgb2gray(x).

3) y is the grayscale image.

b) Image Enhancement:

Light and camera cause Characteristics can case problem in the image such as poorly

lighted image or image with bad contrast. This filter attempts to enhance the brightness and

contrast of image. We use Adaptive contrast enhancement algorithm for this stage.

Algorithm: Image enhancement

1) Initialize threshold = 20 and constant = 1.0.

Page 25: abstract

2) Calculate the standard deviation with the MATLAB inbuilt function std:

deviation = std(double(y(i-1:i+1,j-1:j+1))). Where i is row no and j is column no.

3) If ( y(i,j ) - deviation ) > threshold then e = y(i,j) * constant.

4) e is the enhanced image.

Fig 4.3: Image after enhancement

c) Noise Reduction:

The purpose of applying this filter is to eliminate noise as much as possible. We are using Salt and

Pepper filter to remove salt and pepper noise[3].

Algorithm: Noise Reduction

1) e is the enhanced image which is used in this stage.

2) Applying 3 * 3 mask to e we get al=[e(x-1,y-1) e(x-1,y) e(x-1,y+1) e(x,y-1) e(x,y) e(x,y+1) e(x+1,y-

1) e(x+1,y) e(x+1,y+1)]; // x is row and y is column.

3) Sort al

4) Calculate median ie al(4).

5) Replace e(x,y) by median.

6) e obtained is noise free.

Page 26: abstract

fig 4.4: Image after noise reduction

d) Size Normalization:

Signature dimension may vary due to the scanning and capturing process. Furthermore, width

and height of signature vary from person to person and sometimes even for the same person. The

image size is adjusted so that a few rows are added to the signature image to facilitate the

calculation of the next step[3].

Algorithm: Size normalization

1) e is the enhanced and noise free image to be normalized.

2) Using MATLAB inbuilt function we get,

r = imresize (e,[128 ,128]);

3) r is normalized image.

Page 27: abstract

Fig 4.5: Image after normalization

e) Thinning:

This filter aims to reduce the width of the signature from several pixels to a single pixel. This

process is performed on binary image[3].

Algorithm: Thinning

1) Convert r to a binary image b. i.e b = im2bw (r).

2) Thinning the image b using the MATLAB function. t = bwmorph (b, 'thin', inf);

3) t is the thinned image.

Page 28: abstract

fig 4.6: Image after thinning

f) Image Cropping:

The capture image may contain the signature and the area surrounding the signature which is

empty of data. Thus to get the signature containing area cropping is used.

Algorithm: Image Cropping

1) t is the image to be cropped.

2) Let xstart, xend, ystart, yend be the threshold values.

3) If (t(r,c) = =0) then if (r<ystart) then ystart=r; if((r>yend)) then yend=r;

if (c<xstart) then xstart=c; if (c>xend) then xend=c.

4) Copy t into p: p((i-ystart+1),(j-xstart+1))= t(i,j).

5) p is the final output of pre-processed module.

6) Save this p as jpeg type of image.

Page 29: abstract

Fig 4.7: Image after cropping

3) Feature Extraction:

It consists of the following two techniques:

a) Moment Invariant Method:

Moment invariants are properties of connected regions in binary images that are invariant to

translation, rotation and scaling. They can be easily calculated from region properties and they

are very useful in performing shape classification and part recognition. Moment invariants are

usually specified in terms of centralized moment. Here, the moment is measured with respect to

the “center of mass”, (x’, y’). The central moment, μ, with respect to the centroid, and the

normalized central moment, η, are calculated as[2]:

The moment invariants used in our research are computed using the equations given in Table

below for all signatures at various angles[3].

Central Moments Derived Invariant Moments

μ00=m00 I1=η20 + η02

Page 30: abstract

μ10=0 I2=(η20 -η02)^2+4η11^2

μ01=0 I3=(η30 - 3η12)^2+ (3η21-η03)^2

μ20= m20-x’m00 I4=(η30 + η12)^2+ (η21-η03)^2

μ02= m02- y’m01 I5=(η30 - 3η12) (η30 + η12)^2( (η30 + η12)^2 -3(η21 +

η03)^2) + (3η21 - η03) (η21 + η03)(3 (η30 + η12)^2 -

(η21 + η03)^2)

μ11= m11- y’m10 I6=(η20 - η02) ((η30 + η12)^2- (η21 + η03)^2 )+ 4η11

( η30 + η21 )(η21+ η03)

μ30= m30-3x’m20 +2x’m10 I7=(3η12 - η30) (η30 + η12)( (3η30 η12) - 3(η21 +

η03)2) + (3η21- η03) (η21 + η03)(( 3η30 η12)^2 -(η21

+ η03)^2)

Algorithm:Moment Invariant

1) Input pre-processed image p whose feature is to be extracted.

2) Calculate centroid of image.

3) Calculate central moment ( μ ).

4) Calculate normalized central moment ( η ).

5) Calculate moment invariants.

b) Global Feature Extraction:

It provides information about specific cases concerning the structure of the signature.

It consists of:

i) Signature height:

The height of the signature can be considered as a way of representation, height-to-width ratio[3]

Algorithm: Signature height

1) Get width (w) and height (h) of image p using MATLAB inbuilt function size().

2) Calculate h/w to get signature height.

ii) Image Area:

Image area is the number of black pixels in the signature image.

Page 31: abstract

Algorithm: Image area

1) Get pre-processed image p.

2) Initialize counter to 0

3) If p(i,j)= = 0 then counter+1. //0 stands for black pixels i.e. signature

4) area = counter.

iii) Vertical center of signature:

Algorithm: Vertical center of signature

1) Get pre-processed image p.

2) Traverse each column and row

3) count=count+(col*pixelvalue(col,row))

4) Traverse all row and column

5) count1=count1+pixelvalue(row,col)

6) vc = count/count1.

iv) Horizontal center of signature:

Algorithm: Horizontal center of signature

1) Get pre-processed image p.

2) Traverse each row and col

3) count=count+(row*pixelvalue(row,col))

4) Traverse all row and column

5) count1=count1+pixelvalue(row,col)

6) hc = count/count1.

v) Number of cross point and edge point:

Number of cross point is the number of pixels having neighbors greater than or equal to 3

else it is a edge point.

Algorithm: Number of cross and edge point

1) Get pre-processed image p.

Page 32: abstract

2) Traverse each row and col

3) Sum=sum of all it’s neighbor pixels

4) If Sum<=3 then it is an edge pixel else it is a cross pixel.

4) Artificial Neural Networks:

It is mainly used for recognition and verification of signature images. We are using Back

Propagation technique for Artificial Neural Networks.

It consists of the following stages:

a) Training:

The extracted features like moment invariant and global features are given as input to the

Artificial Neural Network. It is trained to recognize the original signatures.

Page 33: abstract

b) Recognition and Verification:

The signature image to be tested is pre-processed and provided as input to an artificial neural

network. The output of artificial neural network is a number which corresponds to a record in the

original signature’s feature database. The error rate is calculated based on difference between the

original features and the features of the signature to be tested. If this error rate is less than or

equal to 10 then the signature is genuine else it is false.

Why Back Propagation technique?

1 It is a training procedure which allows multi-layer feedforward Neural Networks to be

trained.

2 Can theoretically perform “any” input-output mapping;

3 Can learn to solve linearly inseparable problems.

Page 34: abstract

Fig 4.8: GUI

Fig 4.9:

Page 35: abstract

4.2) Programming Language used for Implementation:

MATLAB 7.0 or later versions: It forms the base of our project as all our codes run in MATLAB.

Why MATLAB 7.0?

a) MATLAB is a high-performance language for technical computing. It integratescomputation, visualization, and programming environment.

b) MATLAB is a modern programming language environment: it has sophisticated data structures, contains built-in editing and debugging tools, and supports object-oriented programming. These factors make MATLAB an excellent tool for teaching and research.

c) MATLAB is an interactive system whose basic data element is an array that does not require dimensioning.

d) It has powerful built-in routines that enable a very wide variety of computations. Italso has easy to use graphics commands that make the visualization of results immediately available. Specific applications are collected in packages referred to as toolbox. There are toolboxes for signal processing, symbolic computation, control theory, simulation, optimization, and several other fields of applied science and engineering.

Page 36: abstract

4.3) Tools used:

4.3.1) System requirements:

Operating systems: Windows XP

4.3.2) Hardware:

1) RAM-1GB or above

2) Any Intel Processor of 1.0 GHz or above

4.3.3) Software:

1) MATLAB 7.0 or later versions.

Page 37: abstract

5) Integration & Testing

5.1) Testing Approach:

The testing approaches used for our project are as follows:

5.1.1) Unit testing:

All the modules like image acquisition, image pre-processing, feature extraction and artificial

neural network are tested individually.

5.1.2) Integration testing:

In integration testing, all the modules that have been tested individually in unit testing are linked

together and tested so that the output of one module forms the input of another module. The

objective is to take unit tested components and build a program structure that has been dictated

by design.

5.1.3) Performance testing:

Performance testing occurs through all the steps in the testing process. The system should be

efficient so that it recognizes all the genuine signatures of the customers and not recognize the

forged ones depending on the threshold value of 10%. The performance should not fall below

70% i.e. it should recognize at least 7 out of 10 genuine signatures and provide the customer

details on the GUI.

Page 38: abstract

5.2) Testing Plan:

Type of testing

Features to be tested Responsibility Allocation

Features not to be tested

Testing tools & environment

Unit testing

1) Speech Acquisition Snehal Pradhan

AndManasi Mahajan

Layout of the GUI

Manual

2) Speech Pre-processing Code

Manual

3) Feature Extraction code

Manual

4) Training and testing of pattern matching

Manual

Integration testing

1.Functions of the various modules acting together Snehal Pradhan

Method of connection between modules

Manual

2. Interface to modulesManasi Mahajan

Manual

3. Links between modules Manual

System testing

1. Maintaining Database Manasi Mahajan Manual

Regression testing

1. Resolve problems due to error Snehal Pradhan

Manual

2. Ensure no new errors are generated

Manasi Mahajan Manual

Page 39: abstract

5.3) Unit Test Cases:

Type of testing

Item to be tested Input Expected Output

Actual Output

Unit testing

1) Load speech to be tested into GUI by pressing load button.

Select speech signal in gif format from proper folder

speech displayed on the top part of GUI.

Speech signal displayed on the top part of GUI.

2) Feature Extraction code

Pre-processed speech signal

Feature vector Feature vector

3)Recording training data

Feature vector of speech input with the desired output.

Saved Mat files of the speech input recorded in proper folder

Saved Mat files of the speech input recorded in proper folder

5) Testing of speech input using pattern matching code

Feature vector of the speech signal to be tested.

Display recognized speech command at the GUI

Display recognized speech command at the GUI

Page 40: abstract

5.4) Integrated System Test Cases:

Type of testing Item to be tested

Input Expected Output

Actual Output

Integration testing

1) GUI Click on button Call to appropriate functions.

Call to appropriate functions.

2) Link between modules.

Function calls Output of called function returned to caller.

Output of called function returned to caller.

6) Conclusion A reliable signature recognition and verification system is an important part of law enforcement, security control many business processes. It can be used in many applications like cheques, certificates, contracts etc. The offline signature recognition and verification incorporates database management, image acquisition, image preprocessing, feature extraction (moment invariant, global feature), learning and verification modules. The matching is done using back propagation algorithm and decision making is based on threshold based techniques that gives near accurate results. The system showed promising results with almost 80% accuracy.

Future work

Page 41: abstract

Defining a new effective feature vector which results in minimum deviation or any signature instance may aid to further improvement of the system accuracy.An extension to the approach would be implementation of other features like grid features and texture features used to train the network will help to boost the system performance.

7) References 1) Cemil oz, Fikret Ercal, Zafer Demir, ”Signature recognition and Verification with ANN”.

2) Mohammed A. Abdala, Noor ayad Yousif, “Offline Signature Recognition and Verification Based on ANN”.

3)http://www.scribd.com/doc/27260448/Signature-Recognition-Using-Image-Processing-Artificial

Page 42: abstract

4) http://www.ugcs.caltech.edu/~dinkarg/ee148/project.html

AppendixI) Minimum System Requirement

Operating systems: Windows 9X/2000/XP

Hardware:

1) RAM-1GB or above

2) Any Intel Processor of 1.0 GHz or above

Software:

Page 43: abstract

1) MATLAB 7.0 or later versions.

2) Microsoft Excel 2003.

3) Microsoft Access 2003.

II) User’s Manual