1 Objective The aim of this project is to study and design an Efficient Signature Identification system in MATLAB. Project objectives are listed as follows: • To study and understand Signature Identification system using neural network. • To design a model for an ideal Signature Identification system. • To enhance the model for a high-speed Signature Identification system. • To develop a program in MATLAB based on the designed model. • To create a database set of signature images. • To validate and test the Signature Identification system. • To perform tests for program optimization and accuracy. • To demonstrate an effective and Signature Identification system.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
Objective The aim of this project is to study and design an Efficient Signature Identification
system in MATLAB. Project objectives are listed as follows:
• To study and understand Signature Identification system using neural network.
• To design a model for an ideal Signature Identification system.
• To enhance the model for a high-speed Signature Identification system.
• To develop a program in MATLAB based on the designed model.
• To create a database set of signature images.
• To validate and test the Signature Identification system.
• To perform tests for program optimization and accuracy.
• To demonstrate an effective and Signature Identification system.
2
Abstract
Automatic recognition of signatures is a challenging problem which has received
much attention during the recent years due to its many applications in different fields.
Signature identification is one of those challenging problems and up to date, there is
no technique that provides a robust solution to all situations and different applications
that signature identification may encounter.
It is a hard problem to decide whether two signatures given as scanned binary images
are written by the same person or not. Our major project gives a complex strategy to
solve this problem including the preprocessing of the scanned image, conversion from
RGB to Gray scale, cropping the images, image resize, reshaping of images and a
decision process using a back propagation neural network model. Signature
Identification focuses on still images, which can be broadly grouped into image-based
and feature-based approaches.
Signature identification is commonly used in applications such as human-machine
interfaces, automatic access control systems, security purposes which involve
comparing an image with a database of stored signatures in order to identify the
signature. This project involves the design and development of an efficient signature
identification system. The pattern recognition algorithm designed for this project is
based on general architecture of Signature identification systems. Program source
code and simulation is executed in MATLAB.
3
Chapter-1 Introduction
The problem of signature identification basically means to decide whether or not a
current test signature corresponds to a given reference signature. HUMANS recognize
each other according to their various characteristics for ages. We recognize others by
their face when we meet them and by their voice as we speak to them. Identity
verification (authentication) in computer systems has been traditionally based on
something that one has (key, magnetic or chip card) or one knows (PIN, password).
Things like keys or cards, however, tend to get stolen or lost and passwords are often
forgotten or disclosed. To achieve more reliable verification or identification we
should use something that really characterizes the given person. Biometrics offer
automated methods of identity verification or identification on the principle of
measurable physiological or behavioral characteristics such as a signature or a voice
sample. These characteristics should not be duplicable, but it is unfortunately often
possible to create a copy that is accepted by the biometric system as a true sample.
Signature authentication technology uses the dynamic analysis of a signature to
authenticate a person. The technology is based on measuring speed, pressure and
angle used by the person when a signature is produced. This technology uses the
individual's handwritten signature as a basis for authentication of entities and data. An
electronic drawing tablet and stylus are used to record the direction, speed and
coordinates of a handwritten signature. There is no encryption or message
confidentiality offered yet with signature dynamics, but more modern examples use
one-way hash functions to encrypt the signature dynamics and data and append it to
the document being signed. In one iteration, Created by Topaz Systems, the signature
actually disappears from view if the document is tampered with after signature.
4
Chapter-2 Problem Domain
Signature identification has become a popular area of research in computer vision,
mainly due to increasing security demands and its potential, commercial and law
enforcement applications. It is a very challenging problem and up to date and there is
no technique that provides a robust solution to all situations and different applications
that signature identification may encounter specially in the Banking field where the
faster method for identification of signature is required. Hence, this project focuses on
developing a technique that provides a solution for an efficient Signature
Identification system in different applications.
5
Chapter-3 Literature survey
A number of biometric methods have been introduced, but few have gained wide
acceptance. Before we discuss about our approach, we have concentrated on some
techniques to gather knowledge. In 2001 Adrian Perrig introduces the BiBa signature
scheme. BiBa signature scheme is a new signature construction that uses one-way
functions without trapdoors. The most important features of BiBa signature scheme is
a low verification overhead and a relatively small signature size. In comparison to
other one-way function based signature schemes, BiBa has smaller signatures and is
at least twice as fast to verify (which probably makes it one of the fastest signature
scheme to date for verification). BiBa stands for Bins and Balls signature a collision
of balls under a hash function in bins forms the signature.
In the year of 2004 Sascha Schimke, Claus Vielhauer, Jana Dittmann in the
Proceedings of the 17th International Conference on Pattern Recognition they
discussed about the problem of authenticating for on-line signature. They are
explained a method for on-line signature authentication.
Use of Artificial neural networks in pattern recognition is a popular technique. Neural
network based invariant character recognition system using double back propagation
model has proposed, the model consists of two parts. The first is a preprocessor,
which is intended to produce a translation, rotation and scale invariant representation
of the input pattern. The second is a neural net classifier. The outputs produced by the
preprocessor at the first stage are classified by this neural net classifier trained by a
learning algorithm called double back-propagation. The recognition system was tested
with ten numeric digits (0-9). The test included rotated, scaled and translated version
of exemplar patterns. An artificial neural network is trained to identify similarities and
patterns among different handwriting samples. Artificial neural network techniques
have also proven helpful in the preprocessing that must take place before a
handwriting sample can be considered suitable input for an artificial neural network.
Another major research is the integration of a feed-forward back propagation neuronal
network.
6
Chapter-4 Project Methodology
The methodology of this project is based upon information collected and processed
the study and research phase. The technique to be applied for the design and
implementation of the Signature identification systems is as follows:
• Data gathering of signature images of subjects from a digital camera.
• Pre-processing of face images in Adobe Photoshop.
• Importing face images into MATLAB.
• Design of a Feed-Forward Back Propagation Neural Network in MATLAB.
• Input face images into FF Artificial Neural Network (ANN).
• Training the neural network and simulating it for different input images.
• Testing and validation of the program and technique.
• Creating a user-friendly program in MATLAB from the source code.
7
Chapter-5 Block Diagram & Description
Figure 5.0.Generic representation of a Signature Identification system
5.1 Back Propagation Algorithm The generalized delta also known as back propagation algorithm is explained here
briefly for feed forward Neural Network (NN). The explanation here is intended to
give an outline of the process involved in back propagation algorithm. The NN
explained here contains three layers. These are input, hidden, and output Layers.
During the training phase, the training data is fed into to the input layer. The data is
propagated to the hidden layer and then to the output layer. This is called the forward
pass of the back propagation algorithm. In forward pass, each node in hidden layer
gets input from all the nodes from input layer, which are multiplied with appropriate
weights and then summed. The output of the hidden node is the nonlinear
transformation of this resulting sum. Similarly each node in output layer gets input
from all the nodes from hidden layer, which are multiplied with appropriate weights
and then summed. The output of this node is the non-linear transformation of the
resulting sum. The output values of the output layer are compared with the target
output values. The target output values are those that we attempt to teach our network.
The error between actual output values and target output values is calculated and
propagated back toward hidden layer. This is called the backward pass of the back
propagation algorithm. The error is used to update the connection strengths between
nodes, i.e. weight matrices between input-hidden layers and hidden-output layers are
updated. During the testing phase, no learning takes place i.e., weight matrices are not
changed. Each test vector is fed into the input layer. The feed forward of the testing
data is similar to the feed forward of the training data.
INPUT
An image is passed to the system for classification. Images vary in format, size and resolution.
PRE-PROCESS
The signature is pre-processed to remove unwanted noise from light and the environment. The image also resized, threshold and normalized.
CLASSIFIER
The classifier decides whether the signature belongs to the training images or not based on the information learned during training.
OUTPUT
The output indicates whether the original input signature is identified or not or matches with the training signatures or not
8
5.2 Training Signatures: The signatures from four different persons are taken in
a blank page. Five set of each signature is taken from each person, so we have total of
20 training signatures. These are shown below:
Figure 5.2. Showing Training Signatures
9
5.3 Signature Preprocessing: In the preprocessing of signatures involves the various operations performed on
signature images before fed to the artificial neural network for training.
Following are the preprocessing operations performed on the training signatures in
MATLAB:
1. Image Read i.e. Load data to MATLAB.
2. Convert to Gray Scale
3. Resize
4. Reshape
5. Double
6. Create Database.
5.3.1 Image Read: Read image from graphics file Syntax A = imread (‘filename’);
Description
A = imread (‘filename’) reads a grayscale or color image from the file
specified by the string filename. If the file is not in the current folder, or in a
folder on the MATLAB path, specify the full pathname.
5.3.2 Convert to Gray Scale: The RGB color image is then converted to Gray Scale.
Syntax
I = rgb2gray (RGB)
Description
I = rgb2gray(RGB) converts the true color image RGB to the grayscale
intensity image I. rgb2gray converts RGB images to grayscale by
eliminating the hue and saturation information while retaining the
luminance..
10
Class Support
If the input is an RGB image, it can be of class uint8, uint16, single, or
double. The output image I is of the same class as the input image. If the
input is a color map, the input and output color maps are both of class
double.
5.3.3 Resize: Enlarge or shrink image sizes
Syntax
B = imresize(A, scale) B = imresize(A, [mrows ncols])
Description
B = imresize(A, scale)
It returns image B that is scale times the size of A. The input image A can
be a grayscale, RGB, or binary image. If scale is between 0 and 1.0, B is
smaller than A. If scale is greater than 1.0, B is larger than A.
5.3.4 Reshape: Reshape array, to convert parallel data into serial data of image matrix.
Syntax
B = reshape(A,m,n) B = reshape(A,m,n,p,...) B = reshape(A,[m n p ...])
Description
B = reshape(A,m,n) returns the m-by-n matrix B whose elements are taken
column-wise from A. An error results if A does not have m*n elements.
5.3.5 Double: To convert a uint8 or uint16 indexed image to double.
Syntax
11
B = double (A);
Description
In a true color image of class double, the data values are floating-
point numbers in the range [0, 1]. In a true color image of class uint8,
the data values are integers in the range [0, 255], and for true color
images of class uint16 the data values are integers in the range [0,
65535].
5.3.6 Create Database: A database is created with “Imwrite” command.
Guide initiates the GUI design environment (GUIDE) tools that allow you to create or edit GUIs interactively.
Guide opens the GUIDE Quick Start dialog where you can choose to open a previously created GUI or create a new one using one of the provided templates.
Guide('filename.fig') opens the FIG-file named filename.figis on the MATLAB path.
Figure 6.1 Showing GUI creator in MATLAB.
Guide is “Graphical User Interface design environment” is Open GUI Layout Editor
initiates the GUI design environment (GUIDE) tools that allow you
opens the GUIDE Quick Start dialog where you can choose to open a previously created GUI or create a new one using one of the provided
filename.fig for editing if it
6.1 GUIDE Tools Summary
The GUIDE tools are available from the Layout Editor shown in the figure below.
The tools are called out in the figure and described briefly below. Subsequent sections
show you how to use them.
14
GUIDE Tools Summary
The GUIDE tools are available from the Layout Editor shown in the figure below.
The tools are called out in the figure and described briefly below. Subsequent sections
show you how to use them.
Figure 6.2: GUIDE Tools
The GUIDE tools are available from the Layout Editor shown in the figure below.
The tools are called out in the figure and described briefly below. Subsequent sections