Fingerprint Recognition
E N D
Presentation Transcript
Fingerprint Recognition Professor Ostrovsky Andrew Ackerman
The Idea • Including Region information in minutiae matching • Reduces amount of matches need • Can help better identify matches
The Process • Preprocessing image • Getting image into proper input • 24-bit Bitmap of ridge detail properly enclosed • Thinning Image • Zhang-Suen Thinning algorithm • A Fast Parallel Algorithm for Thinning Digital Patterns • Edge Enhancement • Fill in gaps in edges due to input quality or thinning process • Code works to extent • Region Coloring • Colors in regions • Spurious Region Removal • Remove regions erroneously created in thinning process
Thinning (Zhang-Suen) • A(P) = Number of 01 patterns in order set P2 … P9 • B(P) = Number of non-zero neighbors • Algorithm: • Do until picture is stable: • First Subiteration: Delete P from pattern if: • A) 2 ≤ B(P) ≤ 6 • B) A(P) = 1 • C) P2 * P4 * P6 • D) P4 * P6 * P8 • Second Subiteration: Delete P from pattern if: • A and B same as above • C’) P2 * P4 * P8 • D’) P2 * P6 * P8
Thinning Example Spurious Regions Edge Gaps
Scanning Image • Scan image • Move a window down the image • Offset window horizontally • Offset window vertically • Offset window horizontally and vertically
Edge Enhancement • Scan the Image • For each window: • Find all the endpoints in the window • For each endpoint pair • Look at line that goes through the points • If line is “strong” • Draw line between points
Region Coloring • Color in Regions • Does in one scan of image
Spurious Regions Removal • Scan the Image • For each window • If a region is encased in the window and is small enough • Calculate how often the regions around it border it • Remove the border between the region and the region that least borders it
Testing • Tested 8 different fingerprints of same finger • Choose different minutiae pairs • Calculated amount of edges crossed between the minutiae • Calculated amount of regions crossed between minutiae pair • Compared Results
Minutiae Pair 1 • Image 1: 13 Regions, 20 Edges • Image 2: 9 Regions, 16 Edges • Image 3: 11 Regions, 19 Edges • Image 4: 11 Regions, 17 Edges • Image 5: 12 Regions, 19 Edges • Image 6: 10 Regions, 16 Edges • Image 7: 11 Regions, 15 Edges • Image 8: 13 Regions, 18 Edges
Minutiae Pair 2 • Image 1: 7 Regions, 11 Edges • Image 2: 5 Regions, 13 Edges • Image 3: 6 Regions, 11 Edges • Image 4: 7 Regions, 12 Edges • Image 5: 7 Regions, 11 Edges • Image 6: 6 Regions, 10 Edges • Image 7: 4 Regions, 8 Edges • Image 8: 7 Regions, 12 Edges
Statistics • Minutiae Pair 1 • Max Region Difference: 4 • Average Region Difference: 1.64 • Max Edge Difference: 5 • Average Edge Difference: 2.21 • Minutiae Pair 2 • Max Region Difference: 3 • Average Region Difference: 1.25 • Max Edge Difference: 5 • Average Edge Difference: 1.7
Future Work • Improve Preprocessing Code • Improve on edge enhancement via algorithms that use edge orientation • Matching Algorithm • Using processed fingerprints, come up with algorithm that does fingerprint matching • Use idea of regions and lines between minutiae • Fingerprint of Fingerprint • Run X amount of binary tests on a fingerprint and return a vector of size X. This binary vector would identify the finger print • Matching prints would have similar vectors (hamming distance) • Tests could include information about minutiae as well as regions