170 likes | 455 Views
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
E N D
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