Fingerprint Classification

Final project by

Maor Sharf

sharfma@bgu.ac.il


Introduction

In today's world the fingerprint takes a big part of the identity of a person and a useful tool in various operations.
Fingerprint can be used by many organizations for many purposes, for example: 

1. The police, which is saving records of fingerprints from people who are suspected of criminal acts for future fast recapturing.
2. Big top secret companies which develop high risk products and need very strong security systems that will be hard to pass.

All this and more need a big database for all this fingerprints, and to be able to compare and recognize them fast is hard work. 
So, if there is a way to minimize the starting size of the database for matching the fingerprint it will save a lot of time.

A fingerprint can be classified into 5 major fingerprint's classes:
5 fingerprints classes

When we can classify a fingertip to 1 of the 5 classes, we can save up to 80% of unneeded matching process. 
The 80% comes from trying to compare a fingertip from 1 class to a fingertip from another class that will surely turn up as mismatch.

Classes identifying

1)	Arch:  
	as we can see in the middle of the fingertip the lines start 
	to dive up and then back down,therefore making a little arch 
	in this case it's little).
	
		Arch

2)	Tented arch: 
	this is same as the arch but in this type of fingertips the 
	arch is much bigger.	

		Tented arch	
		
3)	Left loop: 
	as we can see in the middle of the fingertip the lines coming 
	from the right start to dive up and when they start to dive 
	down they start going left and back to the right side where 
	they come from, thus making a left loop by returning back.
	
		Left loop
		
4)	Right loop: 
	as we can see in the middle of the fingertip the lines coming 
	from the left start to dive up and when they start to dive down 
	they start going right and back to the left side where they come 
	from, thus making a right loop by returning back.
	
		Right loop
		
5)	Whorl: 
	as we can see in the middle of the fingertip there is whorl thus 
	the name of the class.
	
		Whorl

Approach and Method

Now that we established what makes every class special, we will see how we can identify every one of them from a picture.
The process is not complex: 
We start by reading the picture (size 300X300) and start to find all the edges, now we can start and understand what class of fingertip we have.
In every class we look at the middle of the fingertip and count the edges. 
For every class we know the range of edges we should expect.
Let's divide the edges to 4 groups:
1.	Square 1: the sum of all edges between 0-90.
2.	Square 2: the sum of all edges between 90-180.
3.	Square 3: the sum of all edges between 180-270.
4.	Square 4: the sum of all edges between 270-0.

We will also divide to two more groups:
1.	axis1: the sum of all edges between 30 through 0 to 330 and 150 through 180 to 210.
2.	axis2: the sum of all edges between 60 through 90 to 120 and 240 through 270 to 300.

If we have a fingertip from class arch, we expect that most of edges will "fall" in square 1 and square 2, also most of the edges will "fall" in axis1. 
If we have a fingertip from class tented arch, we expect that most of edges will "fall" in square1 and square 2, also edges will "fall" in axis1 
and axis2 in ratio of 1:3.
If we have a fingertip from class left loop we expect having more edges "fall" in square 2 than in square 1, also most of the edges will "fall" in axis2.
If we have a fingertip from class right loop we expect to have more edges in 
square 1 than in square 2 and also most of the edges will "fall" in axis2. 
If we have a fingertip from class whorl we expect that all edges will be distributed equally between all squares and axis.
 

Experiment Results

From 20 fingertips there was 80% classifying success. 
When asked to classify fingertips from class tented arch there was 60% classifying success (3/5).
When asked to classify fingertips from class arch there was 100% classifying success (5/5).
When asked to classify fingertips from class left loop there was 80% classifying success (4/5).
When asked to classify fingertips from class right loop there was 80% classifying success (4/5).
When asked to classify fingertips from class whorl there was 80% classifying success (4/5).
  

Common Mismatches

We expect that a fingertip will be nice and clear and that the middle of the fingertip will be the majority of the picture, but in real life we find ourselves with pictures of fingertips that doesn't contain most of the fingertip's middle. 
So, the edges we would get won’t give us much information. 
Sometimes the pictures are too dark or too light which makes the edges not accurate.
In those cases we see that some classes can be mistaken with another classes.  
Most common mismatches are: 
1.	Tented arch to left loop or right loop.
2.	Whorl to arch.
3.	Left loop to right loop.
 

Conclusions

We see that by classifying a fingertip to 1 out of 5 classes we decrease the time needed to match a fingertip to a database. The success rate is about 80%. 
Thus, on average we save 64% of the time to match a fingertip. 
The process of classifying a fingerprint can be improved to get even higher success percentage, but will be more complex and may not improve running time of the overall process.
 

Additional Information

References

	1.Ben Shahar, Ohad, Lecture notes from Introduction to Computational and Biological Vision course.
	2. http://en.wikipedia.org/wiki/Fingerprint.