Sie sind auf Seite 1von 45

Chapter 1.

Introduction

1.1Abstract
1.2Project overview
1.3Introduction and Motivation
1.4 Problem Definition
1.5Literature Review – Technical Paper
1.6Scope

Chapter 2. Project Design: Development Model

2.1Lifecycle Model

2.2 Requirement Analysis : Feasibility and Risk Analysis

2.3Software Requirements Specification Document

2.4Software Design Document

2.5UML Diagrams / DFD , CFD, ERD

Chapter 3. Project Management Plan

3.1Software Architecture
3.2Task & Responsibility Assignment Matrix
3.3Project Timeline Chart

Chapter 4. Project Implementation (Implementation Details)

4.1Approach / Main Algorithm / Methodology


4.2Programming Language used for Implementation
4.3Tools used

Chapter 5. Integration & Testing

5.1Testing Approach
5.2Testing Plan
5.3Unit Test Cases
5.4Integrated System Test Cases

Chapter 6. Conclusion&Future work (Enhancements)

Chapter 7. References
Appendix
I) Minimum System Requirement
II) User’s Manual
III) Technical Reference Manual
IV) Data Sheets of chips used ( for hardware projects only)
1. Introduction
1.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).
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.

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.
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.
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.
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.
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.

2.2 ) REQUIREMENT ANALYSIS :

FEASIBILITY ANALYSIS
A 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
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:

Image Acquisition

Artificial Neural
Image Preprocessing Feature Extraction
Networks

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
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.
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:
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

Image Acquisition

Feature Extraction
Image Preprocessing
Neural
Moment Invariant Networks
Conversion of colored to .
Method
grayscale image
Global features like
Image Enhancement Back-propagation
signature height,
Noise Reduction Artificial Neural
Image Area,
Size Normalization Network for
Maximum Vertical
Thinning Training and
and Horizontal
Image Cropping Verification
Projection.

Fig 2.2: Architectural design


2.4.3) System Overview:

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 integrates


computation, 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. It
also 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.

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:
2.5.1) Activity Diagram:
a) Image Pre-processing
b) Feature Extraction:
c) Sequence Diagram:
3) Project management plan:
3.1) Software Architecture:
3.2) Tasks:
Table 3.1:
Sr. Task Description Deliverab Resources Dependen Risks and
No. les and Needed cies and Contingenci
Milestone Constrain es
s ts
3.2.1 Interacting Get Prepare Developer Coding Fixing of
with the requirement analysis manuals cannot be appointment
client specificatio report started
ns
3.2.2 Developm Develop the Actual MATLAB Version of Availability
ent actual developm software of software
application ent of v/s waiting
project for it
3.2.3 Testing Execute and Validatin Code Getting Availability
check the g the code right of
project inputs for knowledgeab
respective le people for
modules testing

3.2) Assignments:
Table 3.2:
Tasks Description Name
Requirement 1) Collection of information Snehal S. Pradhan
Gathering 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 Snehal S. Pradhan


and architecture 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 Manasi D. Mahajan


Training and Verification Snehal S. Pradhan

Testing 1)Testing each module Snehal S. Pradhan


independently

2) Integrating and then testing Manasi D. Mahajan


integrated modules.

Documentation Generating different Snehal S. Pradhan


reports(Requirements Specification, Manasi D. Mahajan
Design,
Planning)

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 Start date End date
allotted
Gathering Collection of 15 1st Aug 2010 15th Aug 2010
information information and
analysis of various
papers
Designing Software design 20 16th Aug 2010 5th Sept 2010
document-data and
architecture
Coding 1.Image Acquisition 171 10th Sept 2010 1st March 2011
2.Image Pre-
processing
3.Feature Extraction
4. Artificial Neural
Networks for
Training and
Verification.
Testing Testing various 20 4th March 2011 24th March
modules 2011
Documentation Generating different 10 30th March 5th April 2011
reports(Requirements 2011
Specification,
Design,
Planning)

Project Timeline Chart


The flow of the activities can be shown by using Gantt chart
SR WORK TASK AUG SEPT OCT NOV DEC JAN FEB MARCH APRIL
NO.
Collection of
1
papers
Analysis of
2
papers
3 Software Design
4 GUI Design
5 Database Design
6 Preprocessing
Feature
7
Extraction
Pattern Matching
8 Using Dynamic
Programming
9 Testing
10 Documentation

Fig : Project Timeline Chart (Gnatt Chart)

4) Project Implementation
4.1) METHODOLOGY

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

Feature Extraction
Image Preprocessing
Moment Neural Networks
Conversion of colored Invariant Method
to grayscale image Global features Back-propagation
Image Enhancement like signature Artificial
Noise Reduction height, Image Neural Network
Size Normalization Area, Maximum for Training and
Thinning Vertical and Verification.
Image Cropping Horizontal
Projection.

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.
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.
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.
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.
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.
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.
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
μ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.
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.
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.
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.

Fig 4.8: GUI


Fig 4.9:

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 integrates


computation, 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. It
also 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.

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.
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.

5.2) Testing Plan:


Type of Features to be tested Responsibility Features not to Testing tools &
testing Allocation be tested environment
1) Speech Manual
Acquisition Snehal Pradhan
And Layout of the
2) Speech Pre-processing Manasi Mahajan GUI Manual
Unit testing Code

3) Feature Extraction Manual


code

4) Training and testing of Manual


pattern matching

1.Functions of the various Manual


modules acting together Snehal Pradhan
Integration Method of
testing connection
2. Interface to modules between Manual
Manasi Mahajan modules

3. Links between modules Manual

1. Maintaining Database Manasi Mahajan Manual


System
testing

1. Resolve problems due Manual


to error Snehal Pradhan
Regression
testing
2. Ensure no new errors Manasi Mahajan Manual
are generated

5.3) Unit Test Cases:


Type of Item to be tested Input Expected Actual Output
testing Output
1) Load speech to Select speech speech displayed Speech signal
be tested into GUI signal in gif on the top part of displayed on the
by pressing load format from GUI. top part of GUI.
button. proper folder

2) Feature Pre-processed Feature vector Feature vector


Extraction code speech signal

Unit testing 3)Recording Feature vector Saved Mat files Saved Mat files
training data of speech input of the speech of the speech
with the desired input recorded in input recorded in
output. proper folder proper folder

5) Testing of Feature vector Display Display


speech input of the speech recognized recognized
using pattern signal to be speech speech
matching code tested. command at the command at the
GUI GUI

5.4) Integrated System Test Cases:


Item to be Input Expected Actual Output
Type of testing tested Output
1) GUI Click on button Call to Call to
appropriate appropriate
functions. functions.

Integration
testing 2) Link between Function calls Output of called Output of called
modules. function returned function returned
to caller. 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
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

4) http://www.ugcs.caltech.edu/~dinkarg/ee148/project.html
Appendix
I) 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:
1) MATLAB 7.0 or later versions.
2) Microsoft Excel 2003.
3) Microsoft Access 2003.

II) User’s Manual

Das könnte Ihnen auch gefallen