synthetic fingerprint generation - aminer 1. abstract 2. introduction 3. fingerprint features 4....

19
SYNTHETIC FINGERPRINT GENERATION Deepak Kumar Gupta-Y6154 Manish Kumar Verma-Y6245 CS 698x : Multimodal Biometrics Instructor: Dr. PhalguniGupta Mentors: Umarani Jayaraman, Badrinath Srinivas

Upload: vodien

Post on 20-Apr-2018

240 views

Category:

Documents


5 download

TRANSCRIPT

SYNTHETIC FINGERPRINT

GENERATION

Deepak Kumar Gupta-Y6154

Manish Kumar Verma-Y6245

CS 698x : Multimodal Biometrics

Instructor: Dr. PhalguniGupta

Mentors: Umarani Jayaraman, Badrinath Srinivas

INDEX:

1. Abstract

2. Introduction

3. Fingerprint Features

4. Approach

5. Generation of a Master Fingerprint a. Fingerprint Representation

i. Spiral phase Ψs(x, y)

b. Fingerprint Reconstruction

i. Problem Statement

ii. Orientation Field Reconstruction

iii. Continuous Phase Reconstruction ΨC(x, y)

iv. Calculation of phase offset P(m, n)

v. Fingerprint area generation

6. Generation of Synthetic Fingerprint Impressions a. Variation in the ridge line thickness

b. fingerprint distortion

c. Perturbation and global translation/rotation

d. Background generation

7. Results

8. Features

9. References

1. Abstract:

This document describes a Synthetic Fingerprint Generator, for generating synthetic

fingerprints on the basis of some mathematical models that describe the main features of real

fingerprints. The synthetic images are randomly generated according to few given

parameters. The approach is able to generate very realistic fingerprints, which can be useful

for performance evaluation, training and testing of fingerprint-based systems.

A fingerprint image is modeled as a 2D Frequency Modulation (FM) signal whose phase

consists of the continuous part and the spiral part (which corresponds to minutiae). An

algorithm is implemented to reconstruct the continuous phase from minutiae. The

implementation is strongly based on the papers mentioned in the reference.

Keywords: Fingerprint synthesis, fingerprint reconstruction, minutiae, AM-FM, orientation

field.

2. Introduction

1. Evaluation on small databases makes the accuracy estimates highly data dependent.

2. A large database (thousands or tens of thousands) is required to evaluate and compare

various algorithms

3. Collecting large databases of fingerprint images is:

a. Expensive both in terms of money and time

b. Tedious for both the technicians involved and for the volunteers.

4. Even if one is able to collect such a large fingerprint database, it is difficult to share it

with others due to privacy legislation that often protects such personal data.

5. Finally, publicly available databases of real fingerprints do not constitute lasting solutions

because they expire once “used” in different applications and different environments.

Synthetic Fingerprint Generator can be used to create, at zero cost, large databases of

fingerprints, thus allowing recognition algorithms to be simply tested and optimized. The

artificial-fingerprints generated emulate fingerprints acquired with on-line sensors, since this

kind of acquisition allows practical online recognition systems to be developed

3. Fingerprint features

At a macroscopic analysis, a fingerprint is composed of a set of ridge lines, which often flow

parallel and sometimes produce local macro-singularities called core and delta, respectively.

Fingerprints are usually partitioned into five main classes (arch, tented arch, left loop, right

loop and whorl) according to the number and position of their macro-singularities. The ridge-

line flow can be effectively described by a structure called directional map, which is a

discrete matrix whose elements denote the orientation of the tangent to the ridge lines.

Analogously, the ridge line density can be summarized by using a density map. At a finer

analysis, other very important features can be discovered in fingerprint patterns. These micro

singularities, called minutiae or Galton characteristics, are essentially determined by the

termination or the bifurcation of the ridge lines.

Arch Tainted Arch

Left Loop Right Loop

Whorl

Figure 1. The five main fingerprint classes: white circles denote core singularities, white triangles denote delta singularities.

4. Approach:

The basic idea behind Synthetic Fingerprint Generation is:

A fingerprint shape, a directional map and a density map are generated separately;

then these three features are combined to obtain a fingerprint pattern, known as

master-fingerprint as shown in figure 4.

In order to generate more impressions of the same finger, a master-fingerprint is first

generated; then several synthetic fingerprints are randomly derived, starting from the

same master-fingerprint using the steps starting from step 6 as shown in figure 5.

Figure 4.

Figure 5.

5. Generation of a Master Fingerprint

5.1 FINGERPRINT REPRESENTATION

Larkin and Fletcher proposed to represent a fingerprint image as a 2D amplitude and

frequency modulated (AM-FM) signal:

I(x, y) = a(x, y) + b(x, y) cos(Ψ(x, y)) + n(x, y)

composed of four components:

the intensity offset a(x, y),

the amplitude b(x, y),

the phase Ψ(x, y), and

the noise n(x, y).

Here we are only interested in the phase Ψ(x, y), since ridges and minutiae are totally

determined by the phase; the other three components just make the fingerprint appear

realistic.

Therefore, an ideal fingerprint is represented as a 2D FM signal:

I(x, y) = cos(Ψ(x, y))

According to the Helmholtz Decomposition Theorem, the phase can be uniquely

decomposed into two parts: the continuous phase and the spiral phase:

Ψ(x, y) = ΨC(x, y) + ΨS(x, y).

The gradient of the continuous phase ΨC(x, y) is termed as instantaneous frequency G(x,

y). The direction of instantaneous frequency is normal to ridge orientation. The amplitude

of instantaneous frequency is equal to the ridge frequency.

5.1.1. The spiral phase ΨS(x, y) corresponds to minutiae:

where xn and yn coordinates of the nth minutia,

N total number of minutiae.

The direction of a minutia is determined by its polarity pn ∈{1,−1} and the local

ridge orientation O(xn, yn), which is defined in the continuous phase.

Assume the ridge orientation is in the range [0, π]. The direction of a minutia is

equal to O(xn, yn) when it has positive polarity, or O(xn, yn)+π when it has

negative polarity.

Fig. 1. (a) Synthetic fingerprint without minutiae and (b) synthetic fingerprint with 7 minutiae

5.2 Fingerprint Reconstruction

5.2.1. Problem Statement

A set of N minutiae {xn, yn, αn}, 1 ≤ n ≤ N of a fingerprint is given, where (xn, yn)

and αn denote the location and direction of the nth minutia, respectively. In terms of

FM model, the spiral phase is given and the direction of instantaneous frequency of

the continuous phase is known at the locations of the N minutiae. A more practical

goal is to estimate the FM representation of the original fingerprint, cos(Ψ(x, y)). To obtain the phase Ψ(x, y), the following three steps are performed:

orientation field reconstruction,

continuous phase reconstruction, and

combination of the spiral phase and the continuous phase.

The flow chart of the proposed fingerprint reconstruction algorithm is depicted in

fig. 4.

5.2.2. Orientation Field Reconstruction

The image is divided into non-overlapping blocks of 8 × 8 pixels. The cosine and

sine components of 2αk of all the K selected minutiae are summed:

where dk the Euclidean distance between the block center and the kth minutia.

Then the orientation at block (m, n) is computed as:

5.2.3. Continuous Phase Reconstruction

The continuous phase of a fingerprint is modeled by piecewise planes at each

foreground block (m, n) of 8 × 8 pixels:

ΨC(x, y) = 2π * F(m, n) * (cos(O(m, n))x + sin(O(m, n))y) + P(m, n),

8(m− 1) ≤ x < 8m, 8(n − 1) ≤ y < 8n,

Where F(m, n) ridge frequency

O(m, n) ridge orientation and

P(m, n) the phase offset at block (m, n).

Since it is not possible to estimate the ridge frequency from minutiae (if the ridge

count information between minutiae is provided, then it is possible to estimate the

ridge frequency), we have used a constant frequency value 0.1 for the whole image,

which corresponds to a ridge period of 10 pixels in 500 ppi images.

The only unknown value, the phase offset P(m, n), is estimated by the following

algorithm.

5.2.4. Calculation of phase offset P(m, n)

Initialize the queue with the top the top left-most block (whose phase offset is

assumed to be 0.

In each iteration, a block is obtained from the queue and each of its

Four-connected neighbors are checked if it has been reconstructed (namely, the

phase offset has been estimated).

If one of the neighboring blocks has not been reconstructed, the phase offset of

this block is estimated and it is put into the queue.

This procedure is performed until the queue is empty (which means that the

continuous phase has been reconstructed at all the foreground blocks).

Here we describe how to estimate the phase offset of a block using all of the already

reconstructed four-connected neighbors.

Consider one of the neighbors, say block (m − 1, n), of block (m, n). The

phase images of these two blocks are required to be continuous at the border

pixels {(x, y) : x = 8(m− 1), 8(n − 1) ≤ y < 8n}.

For each border pixel (x, y), a phase offset of block (m, n) is estimated:

P(m,n) = 0.2π * (cos(O(m − 1, n)) * x + sin(O(m − 1, n)) * y) +

P(m− 1, n) −0.2π * (cos(O(m, n)) * x + sin(O(m, n)) * y)

The mean value is used as the phase offset of block (m, n).

5.2.5. Fingerprint area generation

Acquired fingerprint images have different sizes and external shapes.

Depending on the finger size, position, and pressure.

Model based on:

Four elliptical arcs

A rectangle

Five control parameters

After the continuous phase is reconstructed, the reconstructed fingerprint can be obtained by combining the continuous phase and the spiral phase.

6. Generation of Synthetic Fingerprint Impressions:

Several factors contribute to make substantially different the impressions of a given finger

as captured by an on-line acquisition sensor:

displacement and rotation;

different touching area;

non-linear distortion produced by non-orthogonal pressure of the finger against the

sensor;

variations in the ridge-line thickness given by pressure intensity or by skin condition

(wet or dry);

Small cuts or abrasions on the fingertip;

Background noise and other random noise.

For each fingerprint impression to be generated, we sequentially perform the following

steps, starting from the master-fingerprint:

erosion/dilation (variation of the ridge average thickness);

fingerprint distortion;

noising and rendering;

global translation/rotation;

generation of a realistic background.

6.1 VARIATION IN THE RIDGE LINE THICKNESS

Operations (using a structural element of 3x3, strel('square',3))

Reduce thickness

Erosion operator

imerode(image,strA)

Increase thickness

Dilation operator

imdilate(image,strA)

6.2 DISTORTION

Cause Skin distortion

different finger placements over the sensing element

Complexity :Non-linear

Based on Lagrangian interpolation - Newton−Raphson method

In general, the finger pressure against the sensor plate is not uniform but a decrease

moving from the centre toward the borders, and it is possible to distinguish three distinct

regions:

(a) A close-contact region where the high pressure and the surface friction does not allow

any skin slippage.

(c) An external region, whose boundary delimits the fingerprint visible area, where the

light pressure allows the finger skin to be dragged by the finger movement.

(b) A transitional region where an elastic distortion is produced to smoothly combine

regions „a‟ and „c‟. The skin compression and stretching is restricted to region „b‟, since

points in „a‟ remain almost fixed and points in „c‟ rigidly move together with the rest of

the finger.

Bottom view of a finger before and after the application of traction and torsion forces. In both cases the fingerprint area detected by the sensor (i.e. the finger touching area) is delimited

by the external boundary of region c.

Let v = [x,y]T be a generic point on the fingerprint surface; then consider the function

shapedista : R2 R to model both

the shape of the close-contact region „a‟,

the distance of a generic point v from the region „a‟.

shapedista(v) indicates the position of v with respect to the region a; when v is outside a,

this function returns a measure proportional to the distance between the point and the

border of a.

The torsion and traction forces applied to the finger move the points in region c by an

amount ∆(v), which can be computed on the basis of a rotation angle θ and a

displacement vector d (according to an affine transformation with no scale changes)

where c0 is the centre of rotation.

The gradual transition occurring in region b, is described by the following function:

brake : RxR R,

The overall distortion transformation can then be expressed as distortion : R

2 R

2;

distortion(v) = v + (v) * ∆(shapedista(v),k)

The shape and size of regions b and c are implicitly determined by a, dista(v) and k; in

fact, the internal c boundary is the locus of points where brake(shapedista(v),k) = 1. The

parameter k can be conceived as a skin plasticity coefficient. Here we have

where ce and A are the parameters controlling the ellipse.

Distorted images of the master fingerprint: some corresponding minutiae are connected to highlight the non-linear distortions.

6.3 PERTURBATION AND GLOBAL TRANSLATION/ROTATION

Copy the pixels brighter than a fixed threshold to a temporary image

Add noise

Form small white blobs of variable size and shape

Amount of noise increases with the inverse of the fingerprint border distance

Smooth the resulting image

3 × 3 averaging box filter

filter2(fspecial('average',3),image)/255;

filter2(fspecial('gaussian',[3 3],0.5),image);

Superimpose the valley layer to the resulting image

Rotate and translate the image

6.4 BACKGROUND GENERATION

Statistical model based on the KL Transform

Set of background-only images as training set

Randomly generate new backgrounds

Linear subspace that represents the main variations in the training backgrounds is

calculated.

7 Results:

7.1 SAMPLE FINGERPRINT SHAPES

a1 = 130 a1 = 140 a1 = 100

a2 = 85 a2 = 100 a2 = 110

b1 = 100 b1 = 160 b1 = 122

b2 = 85 b2 = 85 b2 = 72

c = 90 c = 95 c = 71

7.2 MASTER FINGER PRINT GENERATED

a1 = 130

a2 = 85

b1 = 100

b2 = 85

C = 90

7.3 RESULTS OF EROSION AND DILATION

Example of dilation and erosion using 3x3 structuring element

sample fingerprint Dilation erosion

7.4 RESULTS OF NON-LINEAR DISTORTION

Impression1 Its Non linear distorted fingerprint1

Impression2 Its Non linear distorted fingerprint2

7.5 RESULTS OF NOISE RENDERING

Noisy Fingerprint of Impression1 Noisy Fingerprint of Impression2

8 Features:

We have provided three versions of the Synthetic fingerprint generator.

1. Generate the master fingerprint only based on a given minutia template. Here one needs

to update the file “final.m” as per the given minutia template.

2. Generate impressions of a given master fingerprint Here one needs to update the value of

N in the file “script.m” to the number of impressions one wishes to generate say, 100.

3. Generate the master fingerprint as well as impressions from a given minutia template.

Here one needs to update the file “final.m” as per the given minutia template and to

update the value of N in the file “script.m” to the number of impressions one wishes to

generate.

9 REFERENCES:

[1] FM Model Based Fingerprint Reconstruction from Minutiae Template, Jianjiang Feng and

Anil K. Jain

[2] SFinGe: an Approach to Synthetic Fingerprint Generation, Raffaele Cappelli

[3] Handbook of Fingerprint Recognition, D. Maltoni, D. Maio, A.K. Jain and S. Prabhakar,,

Springer (New York), 2003.

[4] Advances in fingerprint modeling, Davide Maltoni and Raffaele Cappelli, 2007.