Sie sind auf Seite 1von 21

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.

1

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.

2

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.

3

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.

4

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.

5

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.

6

Chapter-5 Block Diagram & Description

INPUT

An

image

is

passed

to

the

system

for

classification.

Images

vary

in

format,

size

and

resolution.

vary in format, size and resolution. PRE-PROCESS The signature is pre-processed to remove

PRE-PROCESS

The signature is pre-processed to remove unwanted noise from light

and

environment. The

image

resized, threshold

also

the

environment. The image resized, threshold also the CLASSIFIER The classifier decides whether the signature

CLASSIFIER The classifier decides whether the signature belongs to the training images or not based on the information learned during

images or not based on the information learned during OUTPUT The output indicates whether the original

OUTPUT The output indicates whether the original input signature is identified or not or matches with the training signatures or not

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.

7

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:

each person, so we have total of 20 training signatures. These are shown below: Figure 5.2.

Figure 5.2. Showing Training Signatures

8

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

9

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

10

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.

Syntax

imwrite(A,filename,fmt)

imwrite(X,map,filename,fmt)

Description

imwrite(A,filename,fmt) writes the image A to the file specified by filename

in the format specified by fmt.

5.3.7 NNTOOL: It is the neural network toolbox in MATLAB for training of

Signature

Database.

As Shown in the Figure.

Purpose

Open Network/Data Manager

Syntax

nntool

Description

nntool opens the Network/Data Manager window, which allows you to

import, create, use, and export neural networks and data.

11

Figure 5.3. “NNtoolbox GUI in MATLAB.” 12

Figure 5.3. “NNtoolbox GUI in MATLAB.”

12

Chapter-6 GUIDE

Guide is “Graphical Use r Interface design environment” is Open GUI Layout Editor in MATLAB

Syn tax

guid

e

guid

e('filename.fig')

guid

e('fullpath')

guid

e(HandleList)

Des cription

Gui de initiates the GUI design environment (GUIDE) to ols that allow you to cr eate or edit GUIs interactively.

Gui de opens the GUIDE Quick Start dialog where you ca n choose to open a prev iously created GUI or create a new one using on e of the provided tem plates.

Gui de('filename.fig') opens the FIG-file named filename. fig for editing if it

is on

the MATLAB path.

the FIG-file named filename. fig for editing if it is on the MATLAB path. Fig ure

Fig ure 6.1 Showing GUI creator in MATLAB.

13

6.1 GUIDE Tools Su mmary

The GUIDE tools are av ailable from the Layout Editor shown in th e figure below. The tools are called out in the figure and described briefly below. Subs equent sections show you how to use them .

out in the figure and described briefly below. Subs equent sections show you how to use

Figure 6.2: GUIDE Tools

14

Chapter-7 Software requirements

1. Matlab (R2009b)

2. Adobe Photoshop 7.0 (for Preprocessing)

Chapter-8 Flowchart

Signature Image
Signature
Image
Result
Result

Signature

PreprocessingChapter-8 Flowchart Signature Image Result Signature Feed-Forward Back Propagation Neural Network Figure 8.1

Flowchart Signature Image Result Signature Preprocessing Feed-Forward Back Propagation Neural Network Figure 8.1
Flowchart Signature Image Result Signature Preprocessing Feed-Forward Back Propagation Neural Network Figure 8.1

Feed-Forward Back Propagation Neural NetworkFlowchart Signature Image Result Signature Preprocessing Figure 8.1 Illustrates the flowchart proposed for the design

Figure 8.1 Illustrates the flowchart proposed for the design of the Signature Identification system, based on the methodology.

15

Chapter-9 G UIDE for Signature Identification Sy stem

The Figure below showi ng the proposed GUI for Signature Identif ication System. And it is still under the De velopment Process.

ication System. And it is still under the De velopment Process. Figure 9.1: Guide for Signature

Figure

9.1: Guide for Signature Identification System

16

Chapter-10 Software Programming

11.1 Reading Images:

A11=imread('A1.jpg'); A12=imread('A2.jpg'); A13=imread('A3.jpg'); A14=imread('A4.jpg'); A15=imread('A5.jpg'); B11=imread('B1.jpg'); B12=imread('B2.jpg'); B13=imread('B3.jpg'); B14=imread('B4.jpg'); B15=imread('B5.jpg');

C11=imread('C1.jpg'); C12=imread('C2.jpg'); C13=imread('C3.jpg'); C14=imread('C4.jpg');

C15=imread('C5.jpg');

D13=imread('B3.jpg');

D14=imread('B4.jpg');

D12=imread('B2.jpg');

D15=imread('B5.jpg');

D11= imread('D1.jpg');

11.2 Converting to Grayscale:

A11=rgb2gray(A11);

A13=rgb2gray(A13);

A15=rgb2gray(A15);

B12=rgb2gray(B12);

B14=rgb2gray(B14);

C11=rgb2gray(C11);

C13=rgb2gray(C13);

C15=rgb2gray(D15);

D12=rgb2gray(D12);

D14=rgb2gray(D14);

A12=rgb2gray(A12);

A14=rgb2gray(A14);

B11=rgb2gray(B11);

B13=rgb2gray(B13);

B15=rgb2gray(B15);

C12=rgb2gray(C12);

C14=rgb2gray(C14);

D11=rgb2gray(D11);

D13=rgb2gray(D13);

D15=rgb2gray(D15);

11.3Reshaping the data:

A11=reshape(A11,64,1);

A13=reshape(A13,64,1);

A15=reshape(A15,64,1);

B12=reshape(B12,64,1);

B14=reshape(B14,64,1);

A12=reshape(A12,64,1);

A14=reshape(A14,64,1);

B11=reshape(B11,64,1);

B13=reshape(B13,64,1);

B15=reshape(B15,64,1);

17

C11=reshape(C11,64,1);

C13=reshape(C13,64,1);

C15=reshape(C15,64,1);

D12=reshape(D12,64,1);

D14=reshape(D14,64,1);

C12=reshape(C12,64,1);

C14=reshape(C14,64,1);

D11=reshape(D11,64,1);

D13=reshape(D13,64,1);

D15=reshape(D15,64,1);

11.4Converting to Double:

A11=double(A11);

A13=double(A13);

A15=double(A15);

B12=double(B12);

B14=double(B14);

C11=double(C11);

C13=double(C13);

C15=double(C15);

D12=double(D12);

D14=double(D14);

A12=double(A12);

A14=double(A14);

B11=double(B11);

B13=double(B13);

B15=double(B15);

C12=double(C12);

C14=double(C14);

D11=double(D11);

D13=double(D13);

D15=double(D15);

11.5 Creating Database for training:

P= [A11 A12 A13 A14 A15 B11 B12 B13 B14 B15 C11 C12 C13 C14 C15 D14 D15];

11.6 Creating Target Vectors:

T= [000 000 000 000 000 001 001 001 001 001 100 100 100 100 100 111 111 111 111];

18

Chapter-11 Result

The signature is identified after giving training to the neural network and the output of the neural network will be generated corresponding to the target vectors. The output value when more closer to the corresponding target value. Then the signature corresponding to that target value will be shown and hence the person will be identified. The graphical user interface (GUI) in the project and the programming in the call back of every pushbutton will perform the corresponding function and will show us the details of identified person.

Chapter-12 Applications

There is a tradeoff between security and convenience. An unlocked car with the keys in the ignition is very convenient to use, but also easy to steal. Banks who issue credit cards want their customers to use their cards frequently, while minimizing their exposure to fraud. In general, once a credit card is issued, credit transaction practices lean toward giving the buyer the benefit of the doubt, as a moderate amount of fraud is preferable to lost business and frustrated customers that results if the authentication process is too burdensome or stringent. So, credit card use generally does not require photo ID; card possession and a modest attempt to approximate the signature on the card are typically sufficient to purchase merchandise.

Signature in Retail Reliable authentication and authorization are increasingly becoming necessary for many commonplace activities such as boarding an aircraft, crossing international borders, entering a secure physical location, and performing financial transactions. Biometrics is a useful method to verify identity.

Identity Theft Identity theft occurs when a thief assumes the identity of an individual, usually by collecting personal information on the victim, such as name, address, date of birth, Social Security number, and credit card number, and uses this information to bill charges to the victim’s name. The signature on the back of a credit card will not deter an identity thief who requests and signs a new card. However, by electronically

19

monitor the accounts with dynamic signature verification algorithms, abrupt changes in signatures may be detected, indicating potential fraud.

20

REFERENCES

[1] J. F. Vélez, Á. Sánchez , and A. B. Moreno, “Robust Off-Line Signature

Verification Using Compression Networks And Positional Cuttings”, Proc. 2003

IEEE Workshop on Neural Networks for Signal Processing, vol. 1, pp. 627-636, 2003.

[2] Sansone and Vento, “Signature Verification: Increasing Performance by a Multi-

Stage System”, Pattern Analysis & Applications, vol. 3, pp. 169–181, 2000.

[3] E. J. R. Justino, F. Bortolozzi and R. Sabourin, “Off-line Signature Verification

Using HMM for Random, Simple and Skilled Forgeries”, ICDAR 2001, International

Conference on Document Analysis and Recognition, vol. 1, pp. 105--110. 2001

[4] B. Zhang, M. Fu and H. Yan, “Handwritten Signature Verification based on

Neural ‘Gas’ Based Vector Quantization”, IEEE International Joint Conference on

Neural Net-works, pp. 1862-1864, May 1998.

[5] M. Arif and N. Vincent, “Comparison of Three Data Fu-sion Methods For An Off-

Line Signature Verification Prob-lem”, Laboratoire d’Informatique, Université de

François Rabelais, 2003

[6] A. Chalechale and A. Mertins, “Line Segment Distribu-tion of Sketches for

Persian Signature Recognition”, IEEE Proc. TENCON, vol. 1, pp. 11–15, Oct. 2003

[7] C.Cortes and V.Vapnik, “Support-vector networks. Machine Learning”, vol. 20,

pp.:273-297, Nov. 1995.

[8] V.N.Vapnik, “The Nature of Statistical Learning Theory”, Springer, 1995.

WEBLINKS:

[9] http://www.epadlink.com/ ePad POS Electronic Signature Solution Interlink Electronics

[10] http://www.wacom.com/productinfo/4x5.cfm Wacom Intuos2 4x5 Product Information, Wacom Technology Corporation

21