abstract
TRANSCRIPT
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)
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).
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 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
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
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
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
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
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.
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
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
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
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)
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.
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 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.
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 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
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
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
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
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:
1) MATLAB 7.0 or later versions.
2) Microsoft Excel 2003.
3) Microsoft Access 2003.
II) User’s Manual