0 évaluation0% ont trouvé ce document utile (0 vote)
11 vues38 pages
This file is about fingerprint matching. It describes various features of a fingerprint and helps in understanding the process as how to start a fingerprint matching.
This file is about fingerprint matching. It describes various features of a fingerprint and helps in understanding the process as how to start a fingerprint matching.
This file is about fingerprint matching. It describes various features of a fingerprint and helps in understanding the process as how to start a fingerprint matching.
On-Line Fingerprint Verification Anil J ain, Fellow, IEEE, Lin Hong, and Ruud Bolle, Fellow, IEEE
Presented by Chris Miles
Fingerprint Matching Compare two given fingerprints T,I Return degree of similarity (0->1) Binary Yes/No T -> template, acquired during enrollment I -> Input Either input images, or feature vectors (minutiae) extracted from them Issues involved with matching
extremely difficult problem Displacement Rotation Partial Overlap Not completely in image Distortion (Non- Linear) Stretches when pushed down More issues Pressure and Skin condition Pressure, dryness, disease, sweat, dirt, grease, humidity Noise Dirt on the sensor Feature Extraction Errors State of the Art Many algorithms match high quality images Challenge is in low-quality and partial matches 20% of the problems (low quality) at FVC2000 caused 80% of the false non-matches Many were correctly identified at FVC2002 though Approaches Correlation-based matching Superimpose images compare pixels Minutiae-based matching Classical Technique Most popular Compare extracted minutiae Ridge Feature-based matching Compare the structures of the ridges Everything else FVC2002 EER FMR100 FMR1000 FMR0 Rej Enroll Rej Match Enroll Match PA15 19 15 28 38 0 0 11 197 PA27 33 28 56 144 0 0 212 198 PB27 41 34 59 129 0 0 123 113 PB15 77 77 104 129 0 0 7 22 PB05 92 146 187 229 0 0 48 52 PA08 99 112 207 311 0 0 56 56 PA35 118 120 271 421 0 0 405 165 PA02 131 134 180 222 32 20 81 123 PB35 142 151 271 460 0 0 77 66 PA13 218 249 348 1029 0 14 17 48 PA45 222 305 496 627 0 0 52 62 PA26 250 308 430 614 0 0 54 63 PA34 331 471 755 1089 0 0 53 65 PA24 376 517 848 1204 7 5 57 59 PA19 419 647 960 1319 0 0 18 18 PA29 424 701 1120 1514 0 0 65 66 PA14 521 727 973 1169 0 0 68 176 PA07 546 1188 2055 2547 0 0 20 54 PA31 572 3195 7512 7991 0 0 1 315 PA28 605 1558 3183 4850 0 0 48 77 PA21 607 1077 1862 3369 43 63 80 84 PA10 616 766 888 974 0 0 181 181 PA42 640 1129 1601 1987 104 163 49 50 PA32 672 1040 1503 1826 39 93 33 56 PA12 712 1198 1636 2012 7 5 24 28 PA20 904 1366 1817 2282 0 0 13 15 PA18 1209 2779 2917 3659 86 40 68 70 PA22 1466 3809 5357 6532 0 25 57 65 PA16 1679 2629 3296 4387 0 53 116 119 PA25 3910 9033 9659 9934 25 181 52 63 PA03 5000 10000 10000 10000 0 100000 705 501 Correlation-based Techniques T and I are images Sum of squared Differences SSD(T,I) = ||T-I|| 2 = (T-I) T (T-I) = ||T|| 2 + ||I|| 2 2T T I Difference between pixels ||T|| 2 + ||I|| 2 are constant under transformation Try to maximize correlation Minimizes difference CC(T,I) = T T I Can't be used because of displacement / rotation Maximizing Correlation I (x,y,) Transformation of I Rotation around the origin by Translation by x,y S(T,I) = max CC(T,I (x,y,) ) Try them all take max Correlation Results Doesn't Work Non-Linear distortion is significant and not accounted for Skin Condition / Pressure cause brightness / contrast and thickness to vary significantly Difference correlation Check max/min correlation values Matches show greater range Computationally Expensive (try them all) Divide and Conquer Identify local regions in the image Pieces of the whole Interesting regions Match them Sum correlations to find global correlation Check difference of transforms for each region Consolidation Computation Improvements Correlation Theorem Spatial Correlation = point wise mutation in fourier domain TI = F -1 (F *(T) x F(I)) Resultant image has values = correlation for translating to those points No rotation Very large computation improvement Computational Improvements Multi resolution hierarchical approaches Fourier-Mellin Gives rotational invariance Other steps reduce accuracy Divide and Fourier Partition into local regions Match them against each other Border overlap Much faster Optical Fingerprint Matching Lenses to derive the Fourier transform of the images Joint transform correlator for matching Very expensive Complex Immature Minutiae-based Methods Classical Technique T, I are feature vectors of minutiae Minutiae = (x,y,) Two minutiae match if Euclidean distance < r 0 Difference between angles <
Tolerance Boxes r 0
Alignment Displacement Rotation Scale Distortion-tolerant transformations More transformations higher degree of freedom for matcher More false matches Formulation M'' j = map(m' j ) Map applies a geometrical transformation mm(m'' j , m i ) returns 1 if they match Matching can be formulated as maximize mm(map x, y, )(m' P(i) ), m i ) P is an unknown function which pairs the minutiae Which minutiae in I corresponds to which in T m i=1 x, y, , P P Pairs the minutiae If P(i) = j j is i's mate Most likely pair If P(i) = null i, from T has no mate in I If no i matches a j, that j has no mate Each minutiae has a maximum of one mate Trivial if alignment is known Point Pattern Matching Alignment is rarely known Cast as point pattern matching Angular component is only a small difference Techniques Relaxation Algebraic and operational research solutions Tree search (pruning) Search (Energy Minimization) Hough Transform Matching Relaxation Maintain confidence levels between all possible matchings How likely we think I a matches T b Iteratively Calculate the consistencies the transformations required for those matches Adjust the confidence levels of points that agree with other points Decrease others Iterative -> slow Algebraic and Operational Research Solutions Use algebraic methods Requires very restrictive assumptions Exactly aligns under affine transformation N = M All minutiae perfectly identified Assignment problems Bipartite graph matching Tree Search (Pruning) Search the tree of possible matches If A matches B, then C matches F, then D matches K More assumptions M=N No outliers -> All minutiae must match Search (Energy Minimization) Cast as a general search problem Search towards the optimal set of matches Fitness is a function of consistency Can use any general search technique GA Simulated Annealing Hough Transform Brute force search over possible Pairings / rotations / scalings Foreach m i in I Foreach m j in T Foreach in discretized 's If I
J < threshold Foreach scale in discretized scales dx,dy = m i map ,scale (m j ) A[dx,dy,theta,scale]++ Whichever A is highest is the closest transformation Can then find pairings easily Hough Transform Improvements Vote on neighboring bins / smooth the bins, to get more robust answers Parallelize on custom hardware Hierarchical discretization Chang et al 1997 Find the principle pair and a course transformation with respect to it that matches the most points Calculate pairing Use the pairing to calculate exact alignment Principle Pair Brute force for the segment, 2 pts, which can be best mapped to a corresponding segment in T Foreach m i in I Foreach m j in T Reset A Foreach m i 2 in I Foreach m j 2 in T ,S = Transformation required to turn m i 1,m i 2 into m j 1,m j 2 A[,S]++ Remember the m i 1and m j 1 and S with the highest A value m i 1,m j 1 are the principle pair and S is the course transformation Segment Matching Udupa, Garg, Sharma 2001 Looking for matching segments of similar lengths Foreach, determine transforms to match them Try to match remaining minutiae Check consistencies of best matches Final score is a combination of the number of mated pairs, the fraction of consistent alignments, and the topological correspondence Minutiae match with pre-alignment Idea pre-align T before storage in database Align each I just once against the global orientation Reduces computation in identification systems Absolute pre-alignment Orient everything in a common direction No reliable system to do this Difficult to detect core, or even basic orientation Relative pre-alignent Align I to for each T seperately No computation savings M82 Fbi Do course absolute pre- alignment Center the image around the core location Orient it with ridges to the left/right averaged facing up Find principal pairs Look at minutiae around the center Find the best matching pair -> Principle Calculate course transformation, deformation tensor Avoiding Alignment Ordinary Person - You should go to work Philosopher - Why? Intrinsic coordinate system Instead of using global coordinate system orient them with respect to the ridge patterns Minutiae are defined with respect to this Transformation / rotation does not change their relative location Problems partitioning the image into the local coordinate systems Ridge Relative Pre-alignment Jain, Hong, Bolle 1997 Store minutiae along with information about the ridge attached to it Oriented along minutiae orientation Normalized to ridge frequency Compare with other ridges until you find a good match Take as principle pair Comparing ridges Convert minutiae in T,I to polar coordinates with respect to the reference minutiae Reference minutiae = the one with the ridge Order them into a list
Check how many insertions / deletions / transformations are necessary to match the lists Variant Match distances and relative angles of sampled points Results Results