Unlike images from a traditional fingerprint scanner, fingertip photos obtained from a webcam suffer from low contrast, high noise, and blurring. We present a system that performs matching using such images.
Fingerprint registration and authentication is performed via a web interface. The images are sent to a server where an image enhancement module extracts the fingerprint. A matching module then computes a similarity score for each pair.
On a system that collects 3 images for registration and 1 image for authentication, we obtain an Equal Error Rate of 6.17%. At a False Match Rate of 1%, we obtain a False Non-Match Rate (or False Rejection Rate) of 12.5%. These numbers are highly competitive with existing systems of a similar nature. The ubiquity of webcams and mobile phone cameras allow the system to be deployed rapidly. Deployment costs are also significantly reduced as no specialized hardware will be required.
We aim to build a complete system that can perform both enrollment and authentication. We have separated our system into two halves: client-side and server-side.
Registration
Authentication
Capture 3 Enrollment Images
Server Upload
Image Processing and Enhancement
Minutiae Detection
Storage in Database based on Username
Thresholding Function Matching score with all
Templates
Retrieval of Relevant Templates
Capture 1 Authentication Image
EXECUTIVE SUMMARY AIMS AND OBJECTIVES
BACKGROUND INFORMATION
• Contrast between ridges and valleys is very low • Significant level of noise
• Difficult to perform Segmentation
• Motion blur can be present to some degree
• Lighting can be very different between different images of the same finger
• Lack of test data for fingertip images as opposed to fingerprint images, as no test database currently exists
TECHNICAL CHALLENGES
CONTROL
CENTER
JAVA
FINGERTIP CAPTURE
Flash Webcam CapturePHP Web Application
FINGERPRINT
EXTRACTION
MATLAB
DB MySQLENROLLMENT AUTHENTICATION
Send fingertip Image
Send fingerprint Image
Retrieve user and template Information Store user and template Information
Send
fingertip
image
Get authentication/ enrollment responseNBIS
SERVER - LINUX OS
CLIENT - BROWSER
SYSTEM BLOCK DIAGRAM
F
LOW DIAGRAMLucy-Richardson Deconvolution
Unsharpening
Bandpass Filter
Ridge Orientation
Ridge Segmentation
Reliability Map
Ridge Frequency
Hole Filling
Ridge Filtering
Masking
Segmentation
Results after each step of Image Enhancement (From top left): -
1. Original fingertip image 2. Grayscale image 3. Lucy-Richardson deconvolution 4. Unsharpening 5. Bandpass filtering 6. Normalization 7. Ridge frequency 8. Orientation image 9. Ridge filter 10. Mask after hole filling 11. Masked image 12. Final image
FINGERPRINT EXTRACTION
E
NHANCING
I
NTERNET
T
RANSACTION
S
ECURITY
WITH
F
INGERPRINT
R
ECOGNITION
By : Kannan Chandrasegaran , Shrikant Patnaik,
Sagar Nilesh Shah & Saurabh Swarup
Supervised By : Prof Cunsheng Ding, CSE
Prof Bing Zeng, ECE
Fingerprint matching relies on a features known as minutiae
Ridge Ending Ridge Bifurcation
Client side :
• Acquire the low resolution fingertip image from the user, perform basic cropping, and send it to the server securely.
Fingertip Image
Fingerprint Image
Server application:
• Perform Image processing, converting a
fingertip image to a fingerprint image
• Perform Authentication using a fingerprint matching module.
After calculating the error rates for 1 enrollment sample, we estimate the error rates for multiple enrollment samples to be :
In testing the performance of any fingerprint matching system, two types of errors need to be considered. The first, a Type I error, is the rate at which a genuine user is rejected by the system. The second, a Type II error, is the rate at which an impostor is accepted by the system. These two values are also known as False Non-Match Rate (FNMR) and False
Match Rate (FMR) respectively.
There is a natural tradeoff between these two values in any system, as having a more liberal acceptance policy will inevitably accept more impostors, and vice versa. Depending on the requirements of the system, one may be favored over another. In highly secure applications, for instance, a very low FMR might be desirable, at the expense of genuine users having to retry authentication multiple times. To evaluate a system in general, the Equal Error Rate (EER), defined as the point at which FMR = FNMR, may be used.
We also evaluate the system’s suitability of the system for a secure application. We evaluate the FNMR when the FMR is set at 1%.
As our matching system returns a similarity score for any pair of fingerprints, it is necessary to define a threshold to separate matches from non matches.
We found that 3 Enrollment Samples were ideal and it would provide a much better
authentication without sacrificing convenience or security.
The final FMR and FNMR curves with respect to the threshold are:
No of Enrollment Samples EER(%) FNMR (%) at FMR = 1% 1 19.35 46.43 2 11.61 23.82 3 6.17 12.50 4 13.84 25.00 5 14.06 27.44 Constraints
• The system is reliant on a camera that can focus on an object that is very close. The small distance
between the fingertip and the camera makes the focal distance highly critical, as a small deviation from the ideal point affects the results significantly. This means the user will need to be trained to perform
manual focus on the webcam before deployment. Many webcams are unable to perform autofocus below a specific distance. In future work, it will be valuable to build the system to focus on the finger area
automatically.
• Lack of existing data for out testing. Test databases exist for fingerprint images, not fingertip images. We have designed the system to authenticate if one out of three templates match the input, based upon the results we obtained from our test dataset. These value could potentially change if we perform a study on a much larger set of volunteers than was currently possible.
Future work
• Due to the thin nature of our client, it is easy to quickly build clients for other platforms. In the future, we can build a smartphone application as a proof of concept for deploying our system within other
applications. There also might be issues specific to phone cameras, in terms of the ability to focus.
Ergonomic issues can also be explored, as the high quality camera is usually on the back of the phone. • The application of machine learning techniques to the matching algorithm. The BOZORTH3 algorithm we
utilize for matching is designed for fingerprint images acquired using a scanner, and it is possible that images from our system have slightly different characteristics.
DISCUSSION AND CONCLUSION
Our system has a number of merits that give it a significant edge over other authentication systems :
• The system adds additional layer of security by implementing the webcam based fingerprint authentication system.
• As the registration and authentication system is accessible from a browser, it can be instantly deployed to any user who has access to a computer, a webcam, and a browser. It can also be integrated
easily into an existing e-commerce website.
• As the only required hardware component is a low resolution camera (640 x 480), the deployment cost is very low, especially since many users might already possess a suitable webcam.
• As the bulk of the processing happens on the server, clients can be built for any platform with great speed.
MERITS OF THE PROJECT
We tested the system as a whole without skin segmentation and created a new database of fingerprints consisting of 3 fingerprints from 28 new test subjects. The FMR and FNMR curves with respect to threshold that we achieved are:
INITIAL RESULTS FINAL RESULTS
We use four main binaries for the matching process.
• DJPEG and CJPEG, which are functions of the IMGTOOLS library which convert a MATLAB processed image to a NBIS compatible grey scale image.
• MINDTCT, which is the binary for minutiae detection. • BOZORTH3 which is the binary for fingerprint matching.
IMPLEMENTATION MINUTIAE DETECTION
M
INUTIAE
E
XTRACTION
AND
M
ATCHING
T
ESTING
AND
R
ESULTS
0.0000 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 0 20 40 60 80 100 120 140 160 180 200 R a t e Threshold value 3 Sample FMR 3 Sample FNMR 0.0000 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 0 20 40 60 80 100 120 R a t e Threshold Value FMR FNMR For fingerprint matching we use the
NIST Biometric Image Software (NBIS) which is an open source biometrics
matching software originally developed by the American National Institute of Standards and Technology (NIST) for
the Federal Bureau of Investigation and the Department of Homeland Security in the USA.
The NBIS software comes as C source code which is compiled on a Linux OS to produce the binary executables for all the fingerprint matching functions.
THRESHOLDING FUNCTION