59
Image Processing for Biometric Applications Ruggero Donida Labati Image Processing Techniques for Different Biometric Traits Academic year 2016/2017

Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Image Processing forBiometric ApplicationsRuggero Donida Labati

Image Processing Techniques forDifferent Biometric Traits

Academic year 2016/2017

Page 2: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

• Fingerprint• Iris• Face

Summary

Page 3: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Fingerprint

Page 4: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

• A fingerprint in its narrow sense is an impression left by the friction ridges of a human finger

• One of the most used traits in biometric applicationso High durabilityo High distinctivity

• The more mature biometric trait

Fingerprint

Ridge Valley

Page 5: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

• Level 1: the overall global ridge flow pattern

• Level 2: points of the ridges, called minutiae points

• Level 3: ultra-thin details, such as pores and local peculiarities of the ridge edges

Levels of analysis

Page 6: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

• Usually from 0°to 180°• Evaluation of the gradient orientation in

squared regionsFor each local region, the ridge orientation is considered as the mean of the angular values of the pixels

Level 1: local ridge orientation

Page 7: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

• Global or map

• x-signature

Level 1: local ridge frequency

Page 8: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Level 1: singular regions

Loop Delta Whorl

• Pointcaré algorithm

• The northern loop is usually considered as the core point

Page 9: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Level 1: Pointcaré algorithm

• Let G is be a vector field and C be a curve immersed in G, then the Poicaré index PG,C is defined as the total rotation of the vectors of G along C

• Considering eight near elements dk (k = 0… 7)

.

• Classification– 0° = the point is not a singular point;– 360° = whorl region;– 180° = core point;– -180° = delta point.

Page 10: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Level 1: ridge count

Page 11: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

• Evaluates both frequency and space

Level 1: Gabor filters (1/2)

Page 12: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

The even-symmetric Gabor filter has the general form

where Φ is the orientation of the Gabor filter, f is the frequency of a sinusoidal plane wave, and σxand σy are the space constants of the Gaussian envelope along x and y axes, respectively.

Level 1: Gabor filters (2/2)

Page 13: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Level 2: minutiae

termination bifurcation lake point orisland

Independentridge

spur crossover

Page 14: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Level 2: the most used minutiae extractor

Crossing number: 8 neigborhood of the pixel p

𝐶𝐶𝐶𝐶 𝑝𝑝 =12�𝑘𝑘=1

8

𝑛𝑛𝑘𝑘 − 𝑛𝑛 𝑘𝑘+1 mod 8

If 𝐶𝐶𝐶𝐶 𝑝𝑝 = 1 or 𝐶𝐶𝐶𝐶 𝑝𝑝 = 3, p is a minutia

Page 15: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Level 2: minutia patterns

Page 16: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Level 2: ridge following

Page 17: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Level 3

• Minimum resolution of 800 DPI

Page 18: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

The biometric recognition process

Page 19: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Acquisition

Latent Inked and rolled Live scan

Page 20: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Thermal (Sweeping)

3dimensional

Images

Page 21: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Quality evaluation (1/2)

NIST NFIQ

Page 22: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

• Local standard deviation (16 X 16 pixels)

Preprocessing: segmentation

Page 23: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Preprocessing: enhancement

• Contextual filtering

Page 24: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Minutiae-based matching

• Two minutiae are considered as correspondent if their spatial distance sd and direction difference dd are less than fixed thresholds

• Non-exact point pattern matchingo Roto-translationso Non-linear distortionso False minutiaeo Missed minutiaeo Non constant number of minutiae

Page 25: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Minutiae-based matching:Delaunay triangulation

• Featureso Side lengths of th triangles

o Greater angls

o Incenters

o Minutiae features (x, y, θ)

Page 26: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Minutiae-based matching:Delaunay triangulation (1/2)

• Method A o Method B

Page 27: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Minutiae-based matching:NIST Bozhorth 3

• Step 1: Construction of Intra-Fingerprint Minutiae Comparison Tables

• Step 2: Construction of Inter-Fingerprint Compatibility Table Step 3: Traverse Inter-Fingerprint Compatibility Table constructed in second step

Page 28: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Other minutiae-based recognition methods: Cylindercode

Page 29: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

[1] A. K. Jain, et al., “Filterbank-based fingerprint matching,”IEEE Transactions on Image Processing, 2000.

Template Finercode

Input Finercode

Euclidean distance Matchingresult

Compute A.A.D.featureFiltering

Normalizeeach sectorInput image

Divide imagein sectors

Locate thereference point

Other recognition methods: Fingercode

Page 30: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Iris

Page 31: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

The colored ring around the pupil of the eye is called the Iris

Iris biometric trait

Page 32: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Iris-based identification

AcquisitionModule

Feature Extraction

ModuleDataBase

iriscode

MatchingModule

N iriscode

Identity / Not identified

AcquisitionModule

Feature Extraction

Module

QualityChecker

Enrollment

Identification

QualityChecker

iriscode

Page 33: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Iris scanners

Page 34: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

How iris recognition works

Page 35: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Iris segmentation using Hough transform

Page 36: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Iris segmentation using Daugman’s method

Page 37: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Iris segmentation using active contours

Page 38: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

I

III = separable eyelashes

II = not-separable eyelashes

Eyelids and eyelashes

Page 39: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Separable eyelashes

GaborFilter

Thresholding

𝑔𝑔(𝑥𝑥, 𝑦𝑦) = 𝐾𝐾 exp� −𝜋𝜋(𝑎𝑎2(𝑥𝑥 − 𝑥𝑥0)2 + 𝑏𝑏2(𝑦𝑦 − 𝑦𝑦0)2)� exp�𝑗𝑗(2𝜋𝜋𝐹𝐹0 (𝑥𝑥 cos𝜔𝜔0 + 𝑦𝑦 sin𝜔𝜔0) + 𝑃𝑃)�

𝐿𝐿1 (𝑥𝑥, 𝑦𝑦) = �1 if �𝐼𝐼(𝑥𝑥, 𝑦𝑦) ∗ ℛℯ�𝑔𝑔(𝑥𝑥, 𝑦𝑦)�� > 𝑡𝑡3 0 else

𝑡𝑡3 = 𝑘𝑘 max(|𝐼𝐼𝑟𝑟(𝑥𝑥, 𝑦𝑦) ∗ 𝑔𝑔(𝑥𝑥, 𝑦𝑦)|)

Page 40: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Non-separable eyelashes and reflections

1)

2)

3)

4)5) Starting from an initial set of points L5, we

apply an iterative region growingtechnique based on the following

where μ and σ are the local mean andstandard deviation of I(x,y) processed in a3 × 3 matrix centered in the point x,yand β is a fixed threshold .

𝐿𝐿2 (𝑥𝑥, 𝑦𝑦) = �1 if var�𝐼𝐼(𝑥𝑥, 𝑦𝑦)� > 𝑡𝑡4 0 else

𝐿𝐿3 (𝑥𝑥, 𝑦𝑦) = erode(𝐿𝐿2(𝑥𝑥, 𝑦𝑦), 𝑆𝑆 )

𝐿𝐿4 (𝑥𝑥, 𝑦𝑦) = �1 if 𝐼𝐼(𝑥𝑥, 𝑦𝑦) > 𝑡𝑡50 else

𝐿𝐿5 = 𝐿𝐿3 OR 𝐿𝐿4

𝜇𝜇 + 𝛽𝛽𝜎𝜎 < 𝐼𝐼(𝑥𝑥, 𝑦𝑦)

Page 41: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Iris normalization: motivation

Pupil dilation Gaze deviation Resolution

Page 42: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Iris normalization: Rubber sheet model

Page 43: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Iriscode (1/2)

”The detailed iris pattern is encoded into a 256-byte “IrisCode” by demodulating it

with 2D Gabor wavelets, which represent the texture by phasors in the

complex plane. Each phasor angle (Figure*) is quantized into just the

quadrant in which it lies for each local element of the iris pattern, and this

operation is repeated all across the iris, at many different scales of analysis”

J. Dougman

Parte reale di h

Parte immaginaria h

11

(*)

Real part of h

Imaginary part of h

Page 44: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Iriscode (2/2)

Page 45: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Matching Score = 0.26848

Iriscode matching

Page 46: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Face

Page 47: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Face recognition using still images

Page 48: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Face acquisition sensors

• Cameras (a)• Webcams• Scanners for off-line

acquisitions• Termocameras (b)• Multispectral devices

(c,d,e,f)

Page 49: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

• Scan window over image

• Classify window as either:– Face– Non-face

ClassifierWindowFace

Non-face

Face detection

Page 50: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

• Consider an n-pixel image to be a point in an n-dimensional space, x Rn.

• Each pixel value is a coordinate of x.∈

x1

x2

x3

Images as features

Page 51: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

{ Rj } are set of training images.

x1

x2

x3R1 R2

I

),(minarg IRdistID jj

=

Nearest Neighbor Classifier

Page 52: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

• Use Principle Component Analysis (PCA) to reduce the dimsionality

Eigenfaces

Page 53: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Eigenfaces (2)

[ ] [ ][ x1 x2 x3 x4 x5 ] W

• Construct data matrix by stacking vectorized images and then apply Singular Value Decomposition (SVD)

Page 54: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

• Modelingo Given a collection of n labeled training images

Compute mean image and covariance matrix Compute k Eigenvectors (note that these are images) of covariance

matrix corresponding to k largest Eigenvalues Project the training images to the k-dimensional Eigenspace

• Recognitiono Given a test image, project to Eigenspace

Perform classification to the projected training images

Eigenfaces (2)

Page 55: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Problems of PCA

Page 56: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Fisherfaces

• An n-pixel image x∈Rn can be projected to a low-dimensional feature space y∈Rm by

y = Wx

where W is an n by m matrix.

• Recognition is performed using nearest neighbor in Rm.

• How do we choose a good W?

Page 57: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

• PCA (Eigenfaces)

Maximizes projected total scatter

• Fisher’s Linear Discriminant

Maximizes ratio of projected between-class to projected within-class scatter

WSWW TT

WPCA maxarg=

WSW

WSWW

WT

BT

Wfld maxarg=

χ1χ2

PCA

LDA

PCA and LDA

Page 58: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Face recognition based on fiducial points

Page 59: Image Processing Techniques for Different Biometric Traitshomes.di.unimi.it/donida/biometricsphd/Lecture2_Donida...Image Processing for Biometric Applications Ruggero Donida Labati

Gabor wavelet Discrete cosine transform

Examples of other features