synthetic fingerprint generation - aminer 1. abstract 2. introduction 3. fingerprint features 4....
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.
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.