SlideShare a Scribd company logo
1 of 14
Hai Le-Hong, Hoa Nguyen-Ngoc, Thanh
Nguyen-Tri
Vietnam National University of Hanoi
A complete fingerprint matching algorithm on
GPU for a large scale identification system
Outline
1. Introduction
2. Adapting Complete Fingerprint Matching to GPU
3. Experiment
4. Conclusion
1. Introduction
 Fingerprints are most used biometrics
features for identification
 Minutiae-based matching is the most
popular approach
The need for speed
 Although state-of-the-art algorithms are very
accurate, but the need for processing speed for
databases with millions fingerprints are very
demanding
(Minutia Cylinder-Code, a state-of-the-art matching
algorithm, takes 3 milliseconds to perform a matching.
So it takes 3 seconds to identify a fingerprint in a
database of 1000 fingerprints)
Methods to increase the speed
 Graphic Processing Unit (GPU) has been proven
to be a very useful tool to accelerate the
processing speed of computationally intensive
algorithms
GPU
 CUDA-enabled GPU consists
of a set of Streaming
Multiprocessors (SM)
 Each SM schedules and
executes threads in groups of
32 parallel threads called
warps
 A warp executes one common
instruction at a time
 If threads of the same warp
take different paths (due to flow
control instructions), they have
to wait for each other
GPU for Fingerprint Identification
 Not all algorithms can be implemented on GPU
easily
 Recently, having reports for applying GPU for
MCC fingerprint matching like the works of
Gutierrez et al, Capelli et al
 Most approaches make use of GPU for the
filtering process. After that, more accurate
matching algorithms on CPU for remaining
fingerprint candidates are used
2. Our Ideas
 Based on a view using 32 minutiae for each
fingerprint is enough for the matching process
 From statistics of FVC 2002 fingerprint
databases, the average number of minutiae of
each fingerprint is 30
 The average number of matches for a genuine
matching is 6
Details of Our Proposal
 We use one block for matching, each block has
32 threads
 Each thread of the block is used to calculate a
column in the similarity matrix of MCC algorithm
and to find the maximum value in that column
3. Experiment
 We carried out all the experiments on a GTX
GPU, an NVIDIA GeForce GTX 680 with 1536
CUDA cores, Kepler Architecture and 2GB of
memory
 FVC 2002 database was scaled to different
database sizes (ranging from 10000 to 200 000)
Execution time of the first ten queries
with different database sizes
DB size Time (ms) Throughput (KMPS)
10000 58 1724
50000 284 1760
100000 567 1763
150000 850 1764
200000 1105 1809
Speed
 At larger DB sizes, throughput of the proposed
algorithm is stable at 1.8 millions matches per
second
 It is higher than the result reported for previously
published GPU algorithm, which gains 55.7
KMPS on a single GPU device, which is the same
as our device
Accuracy
 We achieved an EER of 1.34% against a 1.26%
of MCC-baseline
 These are certainly minor differences and can be
accepted in real world applications
4. Conclusion
 Our approach uses all minutiae for calculating
cylinders, but choosing 32 minutiae for matching
process, that makes the approach actually fit well
with the GPU computing architecture
 The proposed method does not affect the
accuracy of the original algorithm. The speed of
the adapting algorithm gains state-of-the-art
result
 The proposed approach can be easily scaled-up
thus makes it possible to implement large-scale
fingerprint identification systems with inexpensive
hardware

More Related Content

Similar to A complete fingerprint matching algorithm on gpu

The influence of data size on a high-performance computing memetic algorithm ...
The influence of data size on a high-performance computing memetic algorithm ...The influence of data size on a high-performance computing memetic algorithm ...
The influence of data size on a high-performance computing memetic algorithm ...journalBEEI
 
High Performance & High Throughput Computing - EUDAT Summer School (Giuseppe ...
High Performance & High Throughput Computing - EUDAT Summer School (Giuseppe ...High Performance & High Throughput Computing - EUDAT Summer School (Giuseppe ...
High Performance & High Throughput Computing - EUDAT Summer School (Giuseppe ...EUDAT
 
Area Optimized Implementation For Mips Processor
Area Optimized Implementation For Mips ProcessorArea Optimized Implementation For Mips Processor
Area Optimized Implementation For Mips ProcessorIOSR Journals
 
Structure And Role Of The Processor
Structure And Role Of The ProcessorStructure And Role Of The Processor
Structure And Role Of The Processorpy7rjs
 
Comprehensive Performance Evaluation on Multiplication of Matrices using MPI
Comprehensive Performance Evaluation on Multiplication of Matrices using MPIComprehensive Performance Evaluation on Multiplication of Matrices using MPI
Comprehensive Performance Evaluation on Multiplication of Matrices using MPIijtsrd
 
Parallel implementation of pulse compression method on a multi-core digital ...
Parallel implementation of pulse compression method on  a multi-core digital ...Parallel implementation of pulse compression method on  a multi-core digital ...
Parallel implementation of pulse compression method on a multi-core digital ...IJECEIAES
 
Microproccessor technology
Microproccessor technologyMicroproccessor technology
Microproccessor technologyETC
 
A Parallel Computing-a Paradigm to achieve High Performance
A Parallel Computing-a Paradigm to achieve High PerformanceA Parallel Computing-a Paradigm to achieve High Performance
A Parallel Computing-a Paradigm to achieve High PerformanceAM Publications
 
Convolutional neural networks for speech controlled prosthetic hands
Convolutional neural networks for speech controlled prosthetic handsConvolutional neural networks for speech controlled prosthetic hands
Convolutional neural networks for speech controlled prosthetic handsMohsen Jafarzadeh
 
Intelligent Monitoring
Intelligent MonitoringIntelligent Monitoring
Intelligent MonitoringIntelie
 
A High Performance Fingerprint Matching System for Large Databases Based on GPU
A High Performance Fingerprint Matching System for Large Databases Based on GPUA High Performance Fingerprint Matching System for Large Databases Based on GPU
A High Performance Fingerprint Matching System for Large Databases Based on GPUAlpesh Kurhade
 
Efficient algorithm for rsa text encryption using cuda c
Efficient algorithm for rsa text encryption using cuda cEfficient algorithm for rsa text encryption using cuda c
Efficient algorithm for rsa text encryption using cuda ccsandit
 
Efficient algorithm for rsa text encryption using cuda c
Efficient algorithm for rsa text encryption using cuda cEfficient algorithm for rsa text encryption using cuda c
Efficient algorithm for rsa text encryption using cuda ccsandit
 
BIL406-Chapter-2-Classifications of Parallel Systems.ppt
BIL406-Chapter-2-Classifications of Parallel Systems.pptBIL406-Chapter-2-Classifications of Parallel Systems.ppt
BIL406-Chapter-2-Classifications of Parallel Systems.pptKadri20
 
Monte Carlo on GPUs
Monte Carlo on GPUsMonte Carlo on GPUs
Monte Carlo on GPUsfcassier
 

Similar to A complete fingerprint matching algorithm on gpu (20)

The influence of data size on a high-performance computing memetic algorithm ...
The influence of data size on a high-performance computing memetic algorithm ...The influence of data size on a high-performance computing memetic algorithm ...
The influence of data size on a high-performance computing memetic algorithm ...
 
High Performance & High Throughput Computing - EUDAT Summer School (Giuseppe ...
High Performance & High Throughput Computing - EUDAT Summer School (Giuseppe ...High Performance & High Throughput Computing - EUDAT Summer School (Giuseppe ...
High Performance & High Throughput Computing - EUDAT Summer School (Giuseppe ...
 
Area Optimized Implementation For Mips Processor
Area Optimized Implementation For Mips ProcessorArea Optimized Implementation For Mips Processor
Area Optimized Implementation For Mips Processor
 
Lecture1
Lecture1Lecture1
Lecture1
 
Structure And Role Of The Processor
Structure And Role Of The ProcessorStructure And Role Of The Processor
Structure And Role Of The Processor
 
Comprehensive Performance Evaluation on Multiplication of Matrices using MPI
Comprehensive Performance Evaluation on Multiplication of Matrices using MPIComprehensive Performance Evaluation on Multiplication of Matrices using MPI
Comprehensive Performance Evaluation on Multiplication of Matrices using MPI
 
Parallel implementation of pulse compression method on a multi-core digital ...
Parallel implementation of pulse compression method on  a multi-core digital ...Parallel implementation of pulse compression method on  a multi-core digital ...
Parallel implementation of pulse compression method on a multi-core digital ...
 
Microproccessor technology
Microproccessor technologyMicroproccessor technology
Microproccessor technology
 
cuTau Leaping
cuTau LeapingcuTau Leaping
cuTau Leaping
 
A Parallel Computing-a Paradigm to achieve High Performance
A Parallel Computing-a Paradigm to achieve High PerformanceA Parallel Computing-a Paradigm to achieve High Performance
A Parallel Computing-a Paradigm to achieve High Performance
 
Exploring Gpgpu Workloads
Exploring Gpgpu WorkloadsExploring Gpgpu Workloads
Exploring Gpgpu Workloads
 
FrackingPaper
FrackingPaperFrackingPaper
FrackingPaper
 
Convolutional neural networks for speech controlled prosthetic hands
Convolutional neural networks for speech controlled prosthetic handsConvolutional neural networks for speech controlled prosthetic hands
Convolutional neural networks for speech controlled prosthetic hands
 
Intelligent Monitoring
Intelligent MonitoringIntelligent Monitoring
Intelligent Monitoring
 
A High Performance Fingerprint Matching System for Large Databases Based on GPU
A High Performance Fingerprint Matching System for Large Databases Based on GPUA High Performance Fingerprint Matching System for Large Databases Based on GPU
A High Performance Fingerprint Matching System for Large Databases Based on GPU
 
Chap2 slides
Chap2 slidesChap2 slides
Chap2 slides
 
Efficient algorithm for rsa text encryption using cuda c
Efficient algorithm for rsa text encryption using cuda cEfficient algorithm for rsa text encryption using cuda c
Efficient algorithm for rsa text encryption using cuda c
 
Efficient algorithm for rsa text encryption using cuda c
Efficient algorithm for rsa text encryption using cuda cEfficient algorithm for rsa text encryption using cuda c
Efficient algorithm for rsa text encryption using cuda c
 
BIL406-Chapter-2-Classifications of Parallel Systems.ppt
BIL406-Chapter-2-Classifications of Parallel Systems.pptBIL406-Chapter-2-Classifications of Parallel Systems.ppt
BIL406-Chapter-2-Classifications of Parallel Systems.ppt
 
Monte Carlo on GPUs
Monte Carlo on GPUsMonte Carlo on GPUs
Monte Carlo on GPUs
 

Recently uploaded

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 

A complete fingerprint matching algorithm on gpu

  • 1. Hai Le-Hong, Hoa Nguyen-Ngoc, Thanh Nguyen-Tri Vietnam National University of Hanoi A complete fingerprint matching algorithm on GPU for a large scale identification system
  • 2. Outline 1. Introduction 2. Adapting Complete Fingerprint Matching to GPU 3. Experiment 4. Conclusion
  • 3. 1. Introduction  Fingerprints are most used biometrics features for identification  Minutiae-based matching is the most popular approach
  • 4. The need for speed  Although state-of-the-art algorithms are very accurate, but the need for processing speed for databases with millions fingerprints are very demanding (Minutia Cylinder-Code, a state-of-the-art matching algorithm, takes 3 milliseconds to perform a matching. So it takes 3 seconds to identify a fingerprint in a database of 1000 fingerprints)
  • 5. Methods to increase the speed  Graphic Processing Unit (GPU) has been proven to be a very useful tool to accelerate the processing speed of computationally intensive algorithms
  • 6. GPU  CUDA-enabled GPU consists of a set of Streaming Multiprocessors (SM)  Each SM schedules and executes threads in groups of 32 parallel threads called warps  A warp executes one common instruction at a time  If threads of the same warp take different paths (due to flow control instructions), they have to wait for each other
  • 7. GPU for Fingerprint Identification  Not all algorithms can be implemented on GPU easily  Recently, having reports for applying GPU for MCC fingerprint matching like the works of Gutierrez et al, Capelli et al  Most approaches make use of GPU for the filtering process. After that, more accurate matching algorithms on CPU for remaining fingerprint candidates are used
  • 8. 2. Our Ideas  Based on a view using 32 minutiae for each fingerprint is enough for the matching process  From statistics of FVC 2002 fingerprint databases, the average number of minutiae of each fingerprint is 30  The average number of matches for a genuine matching is 6
  • 9. Details of Our Proposal  We use one block for matching, each block has 32 threads  Each thread of the block is used to calculate a column in the similarity matrix of MCC algorithm and to find the maximum value in that column
  • 10. 3. Experiment  We carried out all the experiments on a GTX GPU, an NVIDIA GeForce GTX 680 with 1536 CUDA cores, Kepler Architecture and 2GB of memory  FVC 2002 database was scaled to different database sizes (ranging from 10000 to 200 000)
  • 11. Execution time of the first ten queries with different database sizes DB size Time (ms) Throughput (KMPS) 10000 58 1724 50000 284 1760 100000 567 1763 150000 850 1764 200000 1105 1809
  • 12. Speed  At larger DB sizes, throughput of the proposed algorithm is stable at 1.8 millions matches per second  It is higher than the result reported for previously published GPU algorithm, which gains 55.7 KMPS on a single GPU device, which is the same as our device
  • 13. Accuracy  We achieved an EER of 1.34% against a 1.26% of MCC-baseline  These are certainly minor differences and can be accepted in real world applications
  • 14. 4. Conclusion  Our approach uses all minutiae for calculating cylinders, but choosing 32 minutiae for matching process, that makes the approach actually fit well with the GPU computing architecture  The proposed method does not affect the accuracy of the original algorithm. The speed of the adapting algorithm gains state-of-the-art result  The proposed approach can be easily scaled-up thus makes it possible to implement large-scale fingerprint identification systems with inexpensive hardware

Editor's Notes

  1. Minutiae are the points where the ridge continuity breaks The task in the minutiae-based matching approach is finding the maximum number of matching minutiae pairs in two given fingerprints.
  2. used a different fingerprint database in the experiments, the average number of minutiae of a fingerprint is quite stable.