Beruflich Dokumente
Kultur Dokumente
Introduction
1.1Abstract
1.2Project overview
1.3Introduction and Motivation
1.4 Problem Definition
1.5Literature Review – Technical Paper
1.6Scope
2.1Lifecycle Model
3.1Software Architecture
3.2Task & Responsibility Assignment Matrix
3.3Project Timeline Chart
5.1Testing Approach
5.2Testing Plan
5.3Unit Test Cases
5.4Integrated System Test Cases
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 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.
2. Image Enhancement
3. Noise Reduction
4. Image Normalization
5. Image Thinning
6. Cropping
1. Global feature
used.
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
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
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.
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:
Operational Risks:
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.2) REQUIREMENTS-
2.3.2.1.1) USER INTERFACE: The user must be able to access the interface which interacts
with modules
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.
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.
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.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.
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.
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.
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) 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.
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.
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.
MATLAB 7.0 or later versions: It forms the base of our project as all our codes run in
MATLAB.
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.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:
All the modules like image acquisition, image pre-processing, feature extraction and artificial
neural network are tested individually.
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
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
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