Hadoop for Large-scale Biometric Databases<br />Jason Trost<br />Cloud Computing Team<br />Booz | Allen | Hamilton<br />
This session shows the application of Hadoop and a large-scale, low-latency distributed fuzzy matching database to Biometr...
Key Takeaways from this Session<br />Searching large-scale Biometric Databases is a hard problem<br />Hadoop is a potentia...
4<br />Introduction to Biometrics<br />Iris<br />Face<br />Fingerprint<br />Biometrics:<br />The science of establishing t...
Assist with criminal investigations (e.g. crime scene fingerprints)<br />Identify individuals entering and leaving the cou...
It has many useful applications where establishing identity is important
Banks and Financial Services companies are using biometrics to prevent banking and identity fraud
National governments are creating biometric databases for law enforcement & security reasons:</li></li></ul><li>Enrollment...
Enrollment: Adding New Identities and Biometrics Data to the Database<br />Collect biographic information from an individu...
Verification: One-to-one Matching<br />Lookup the biometric template for a particular individual<br />Verify that the stor...
Identification: One-to-Many Searching<br />Capture some number of raw Biometric features, convert them into Biometric temp...
What is Fuzzy matching?<br />Fuzzy matching is an operation performed on two objects that determines how similar the objec...
Why Fuzzy Matching?<br />Biometric data is inherently noisy and dirty<br />Conditions are not exactly the same when the or...
Existing Large-scale Biometric Databases<br />US Visitor & Immigrant Status Indicator Technology (US-VISIT)*<br />Internat...
This session shows the application of Hadoop and a large-scale, low-latency distributed fuzzy matching database to Biometr...
Combined U.S. government biometric databases are expected to grow to hold billions of identities<br />The DHS’s US-VISIT p...
Biometric Databases are a Big Data Problem<br />Large scale operations<br />Searching and storing 100 Million to 1 Billion...
Biometric Databases Must Perform Fuzzy Matching<br /><ul><li>Fuzzy matching techniques must be used because the data is no...
Most applications require low latency fuzzy match searches in order to be useful
The objects being searched for cannot be ordered effectively to speed up searches
Clustering techniques can be used to reduce the search space, but this only goes so far
Fuzzy match searches are expensive and typically a large number of objects need to be searched to find a match</li></ul>16...
This session shows the application of Hadoop and a large-scale, low-latency distributed fuzzy matching database to Biometr...
Hadoop and Biometric Databases<br />HDFS as file storage for petabytes worth of images<br />Redundancy<br />Distribution<b...
MapReduce can be used for improving feature selection by analyzing the entire database to select features that are most ef...
Easy to test and deploy new algorithms against all data at scale
N-to-N matching search (special type of Identification search) to cleanse database, find people trying to circumvent the s...
Map Reduce can be used for batched searching where latency doesn’t matter
What about low latency searching…?</li></li></ul><li>Fuzzy Table: A Solution to Large-scale, Low Latency, Fuzzy Matching<b...
Fuzzy Table Architecture<br />20<br />
Fuzzy Table: Bulk Data Processing Component<br />The centroids from K-means clustering are used to create a “Bin classifie...
This makes searching faster because a only small subset of the data must be processed
This concept is based on work done in academia*</li></ul>*Efficient Search and Retrieval in Biometric Databases by Amit Mh...
Bulk Clustering and Real-time Classification<br />22<br />This makes searching for keys faster because only a small subset...
Fuzzy Table: Data Storage and Bins<br />Bins are represented as directories in HDFS containing one or more chunk files (st...
Fuzzy Table: Low Latency Fuzzy Matching Component<br />The low latency component consists of three main parts<br />Client ...
Fuzzy Table Query<br />25<br />
Fuzzy Table Query<br />26<br />
Upcoming SlideShare
Loading in...5
×

Biometric Databases and Hadoop__HadoopSummit2010

7,981

Published on

Hadoop Summit 2010 - Application Track
Biometric Databases and Hadoop
Jason Trost, Abel Sussman and Lalit Kapoor, Booz Allen Hamilton

Published in: Technology
0 Comments
11 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,981
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
11
Embeds 0
No embeds

No notes for slide

Biometric Databases and Hadoop__HadoopSummit2010

  1. 1. Hadoop for Large-scale Biometric Databases<br />Jason Trost<br />Cloud Computing Team<br />Booz | Allen | Hamilton<br />
  2. 2. This session shows the application of Hadoop and a large-scale, low-latency distributed fuzzy matching database to Biometrics<br />Background - what you need to know about Biometrics<br />The Problem – Big Data and unordered fuzzy matching<br />A Solution - Hadoop Applications for Biometrics<br />Session Agenda<br />
  3. 3. Key Takeaways from this Session<br />Searching large-scale Biometric Databases is a hard problem<br />Hadoop is a potential solution to this problem<br />Hadoop is a great platform for solving all sorts of Big Data and distributed computing problems, even low latency searching<br />3<br />
  4. 4. 4<br />Introduction to Biometrics<br />Iris<br />Face<br />Fingerprint<br />Biometrics:<br />The science of establishing the identity of an individual based on the physical, chemical, or behavioral attributes of the person * <br />Modality:<br />Physical or behavioral characteristics of an individual used to establish identity*<br />Template:<br />A symbolic or numeric representation of a modality optimized for storage and/or matching<br />Palm Print<br />Gait<br />Hand Geometry<br />Signature<br />Ear<br />Voice<br />Keystroke Pattern<br />Facial Thermogram<br />Vein Pattern<br />* Handbook of Biometrics. A. Jain, P. Flynn A. Ross.<br />
  5. 5. Assist with criminal investigations (e.g. crime scene fingerprints)<br />Identify individuals entering and leaving the country<br />Surveillance<br />5<br />Why are Biometrics Important?<br /><ul><li>Enables identifying/authenticating individuals based on “credentials” that are hard to forge
  6. 6. It has many useful applications where establishing identity is important
  7. 7. Banks and Financial Services companies are using biometrics to prevent banking and identity fraud
  8. 8. National governments are creating biometric databases for law enforcement & security reasons:</li></li></ul><li>Enrollment – Add an identity and associated biometric data to the database if they do not already exist<br />Verification – Lookup the biometric template for a single individual and determine whether it matches a captured biometric measurement (1-to-1 match)<br />Identification – Determine the identity of an individual given some biometric measurements (1-to-N match)<br />6<br />Biometric Database Operations<br />
  9. 9. Enrollment: Adding New Identities and Biometrics Data to the Database<br />Collect biographic information from an individual such as name, address, SSN, etc<br />Capture biometric data in raw form (e.g. high resolution images)<br />Transform raw biometric data into encoded biometric template (feature vector)<br />Store all this information in the biometrics database<br />7<br />
  10. 10. Verification: One-to-one Matching<br />Lookup the biometric template for a particular individual<br />Verify that the stored template and the recently captured template match<br />Fuzzy matching is used for matching the biometric templates<br />8<br />
  11. 11. Identification: One-to-Many Searching<br />Capture some number of raw Biometric features, convert them into Biometric templates<br />Perform fuzzy matching against large number of stored biometric templates to determine the identity<br />If latency is not an issue, this is relatively straightforward, especially in MapReduce<br />This is a hard problem for low latency applications and increasing in complexity as the size of these databases grow<br />There is a speed/accuracy tradeoff<br />The search space can be reduced using clustering techniques, but this only goes so far<br />9<br />
  12. 12. What is Fuzzy matching?<br />Fuzzy matching is an operation performed on two objects that determines how similar the objects are to each other<br />Typically this operation produces a numeric similarity score<br />Necessary when data collected from sensor is noisy, and matching needs to be very accurate<br />Almost all biometric matching algorithms perform some sort of fuzzy matching:<br />Elastic Bunch Graph Matching – face recognition algorithm<br />BOZORTH3 - minutiae based fingerprint matching algorithm<br />IrisCode - iris matching algorithm<br />Other Examples:<br />Image comparison<br />Audio comparison<br />Video comparison<br />10<br />
  13. 13. Why Fuzzy Matching?<br />Biometric data is inherently noisy and dirty<br />Conditions are not exactly the same when the original biometric data was captured (Enrollment) and when a new reading occurs (Identification)<br />Different types of cameras and sensors made by different companies<br />Partial or smudged fingerprints (e.g. crime scene)<br />Changes in skin tone, facial hair, makeup<br />Different lighting conditions<br />Aging and skin damage<br />Weight gain, Weight loss<br />Injury<br />Derived from http://www.flickr.com/photos/glennji/3558118429/. Licensed under Creative Commons<br />11<br />
  14. 14. Existing Large-scale Biometric Databases<br />US Visitor & Immigrant Status Indicator Technology (US-VISIT)*<br />International travelers’ biometrics (fingerprint and face)<br />Collected at US ports of entry, Immigration Services, and State Department<br />Used to support the Department of Homeland Security's mission<br />FBI Integrated Automated Fingerprint Identification System, (IAFIS)**<br />Used to solve and prevent crime and catch criminals and terrorists<br />Includes fingerprints, criminal histories, mug shots, scars and tattoo photos, physical characteristics like height, weight, and hair and eye color, and aliases<br />AllTrust Networks Paycheck Secure System<br />Uses fingerprints to support secure check cashing<br />Designed to stop fraud and speed check cashing<br />Plus many more<br />12<br />* One Team, One Mission, Securing our Homeland. US DHS. <br />** http://www.fbi.gov/hq/cjisd/iafis/iafis_facts.htm<br />*** http://www.alltrustnetworks.com/News/6Million/tabid/378/Default.aspx<br />
  15. 15. This session shows the application of Hadoop and a large-scale, low-latency distributed fuzzy matching database to Biometrics<br />Background - what you need to know about Biometrics<br />The Problem – Big Data and unordered fuzzy matching<br />A Solution - Hadoop Applications for Biometrics<br />Session Agenda<br />
  16. 16. Combined U.S. government biometric databases are expected to grow to hold billions of identities<br />The DHS’s US-VISIT program has the world’s largest and fastest biometric database (called IDENT) with over 110 million identities and roughly 145,000 identities enrolled or verified daily*<br />From the FBI’s Integrated Automated Fingerprint Identification System (IAFIS) alone, there are 66.5 million identities with 8,000-10,000 more subjects added each day **<br />India is reportedly creating a biometric database to hold the fingerprints and face images for each of its 1.2 billion citizens as part of its Unique Identification Project ***<br />European Union’s Biometric Matching System (EU-BMS) is expected to hold biometric information of 70 Million people to support visa applications, border control, and immigration ****<br />AllTrust Networks Paycheck Secure system has enrolled over 6 Million users and has performed over 70 Million transactions*****<br />13<br />Growth of Biometric Databases<br />* US-VISIT: The world’s largest biometric application. William Graves.<br />** http://www.fbi.gov/hq/cjisd/iafis/iafis_facts.htm<br />*** http://www.business-standard.com/india/news/national-population-register-to-start-biometrics-data-collectiondec/399135/<br />**** http://www.findbiometrics.com/articles/i/5220/<br />***** http://www.alltrustnetworks.com/News/6Million/tabid/378/Default.aspx<br />
  17. 17. Biometric Databases are a Big Data Problem<br />Large scale operations<br />Searching and storing 100 Million to 1 Billion Identities<br />Multiple biometric templates and raw files per identity for multimodal matching (Fingerprints, Faces, and Iris)<br />Typically, new raw files and templates are stored after each Verification and Identification operation because the biometrics readings change over time<br />Raw Images:<br />(500M Identities x 16KB-300KB* x 10-20) = 1-2 PB<br />Biometric Templates:<br />(500M Identities x 256b-3KB** x 10-20) = 2-27 TB<br />15<br />
  18. 18. Biometric Databases Must Perform Fuzzy Matching<br /><ul><li>Fuzzy matching techniques must be used because the data is noisy and “dirty”
  19. 19. Most applications require low latency fuzzy match searches in order to be useful
  20. 20. The objects being searched for cannot be ordered effectively to speed up searches
  21. 21. Clustering techniques can be used to reduce the search space, but this only goes so far
  22. 22. Fuzzy match searches are expensive and typically a large number of objects need to be searched to find a match</li></ul>16<br />
  23. 23. This session shows the application of Hadoop and a large-scale, low-latency distributed fuzzy matching database to Biometrics<br />Background - what you need to know about Biometrics<br />The Problem – Big Data and unordered fuzzy matching<br />A Solution - Hadoop Applications for Biometrics<br />Session Agenda<br />
  24. 24. Hadoop and Biometric Databases<br />HDFS as file storage for petabytes worth of images<br />Redundancy<br />Distribution<br />Opens the doors to storing more and more raw images and at higher resolutions<br />18<br /><ul><li>Mahout/MapReduce can be used for indexing and clustering biometric templates to improve overall search speeds
  25. 25. MapReduce can be used for improving feature selection by analyzing the entire database to select features that are most effective in distinguishing identities
  26. 26. Easy to test and deploy new algorithms against all data at scale
  27. 27. N-to-N matching search (special type of Identification search) to cleanse database, find people trying to circumvent the system (Identity Fraud, etc)
  28. 28. Map Reduce can be used for batched searching where latency doesn’t matter
  29. 29. What about low latency searching…?</li></li></ul><li>Fuzzy Table: A Solution to Large-scale, Low Latency, Fuzzy Matching<br />Fuzzy Table is a large scale, low latency, distributed fuzzy matching database<br />It enables fast parallel searches against keys that cannot be effectively ordered and that require fuzzy matching such as biometrics identification, large scale image search, large scale audio search, etc<br />It provides the benefits of Hadoop against problems that require large scale low latency fuzzy matching<br />Horizontal scalability over commodity hardware<br />Distributed and parallel computation<br />High reliability and redundancy<br />Enabled by Mahout and MapReduce for binning/clustering, re-encoding, and other bulk data operations<br />We have found no other solution with these characteristics<br />19<br />
  30. 30. Fuzzy Table Architecture<br />20<br />
  31. 31. Fuzzy Table: Bulk Data Processing Component<br />The centroids from K-means clustering are used to create a “Bin classifier” that is used determine the best bins to search for a given key<br />{Key, Value} records are stored as SequenceFiles in HDFS and the files are stored in such a way to spread these records across the cluster for optimal parallel searching<br />MapReduce is used for all other bulk or batch data processing including:<br />Re-encoding the raw files into Feature vectors<br />Performing large-scale feature evaluation to improve clustering<br />Batch fuzzy match searching<br />21<br /><ul><li>Mahout’s Canopy Clustering and K-means Clustering are used to partition the data into clusters (referred to as bins) in order to reduce the search space
  32. 32. This makes searching faster because a only small subset of the data must be processed
  33. 33. This concept is based on work done in academia*</li></ul>*Efficient Search and Retrieval in Biometric Databases by Amit Mhatre, Srinivas Palla, Sharat Chikkerur and Venu Govindaraju<br />* Efficient fingerprint search based on database clustering. Manhua Liu, Xudong Jiang, Alex Chichung Kot<br />
  34. 34. Bulk Clustering and Real-time Classification<br />22<br />This makes searching for keys faster because only a small subset of the entire dataset needs to be processed using fuzzy matching<br />The classifier determines which Bins need to be searched in order to find the most likely matching keys<br />
  35. 35. Fuzzy Table: Data Storage and Bins<br />Bins are represented as directories in HDFS containing one or more chunk files (stored as SequenceFiles): /fuzzytable/_table_fingerprints/_bin_000001/_chunk_000001<br />Chunk files contain many {Key, Value} pairs and are a small multiple of the HDFS block size <br />Chunk files are distributed uniformly and randomly across the Data Servers in the cluster<br />This ensures that the bins are striped across the cluster for optimal parallel searching<br />Also, chunk files are replicated across the Data Servers using the replication mechanism in HDFS<br />Data Servers only search through chunk files that reside locally and results are returned in real-time as soon as a match is found<br />23<br />
  36. 36. Fuzzy Table: Low Latency Fuzzy Matching Component<br />The low latency component consists of three main parts<br />Client – submit queries for Keys and get back {Key, Value} pairs<br />Master Server – serve metadata about which Data Servers host which bins<br />Data Servers – Actually perform fuzzy matching searches<br />Data Servers perform fuzzy matching against Keys in order to find {Key, Value} records<br />double score = fuzzyMatcher.match(key, storedRec.getKey());<br />if(score >= threshold) <br /> return storedRec;<br />Fuzzy matching searches are performed in parallel across many Data Servers<br />24<br />
  37. 37. Fuzzy Table Query<br />25<br />
  38. 38. Fuzzy Table Query<br />26<br />
  39. 39. Fuzzy Table Query<br />27<br />
  40. 40. Fuzzy Table Query<br />28<br />
  41. 41. Fuzzy Table Query<br />29<br />
  42. 42. Fuzzy Table Query<br />30<br />
  43. 43. Fuzzy Table Query<br />31<br />
  44. 44. Fuzzy Table Query<br />32<br />
  45. 45. Future Work<br />Fuzzy Table is still a research prototype, but we plan to keep building it out to support this biometrics work<br />Locality Sensitive Hashing instead of K-means clustering for binning and search space reduction<br />Distributed/Replicated master servers (and Zookeeper integration)<br />Real-time ingest<br />Hopefully we will have performance/scalability metrics as well as more features and example applications to share within the next few months<br />33<br />
  46. 46. Conclusion<br />Searching large-scale Biometric Databases is a hard problem<br />Hadoop is a potential solution to this problem<br />We used MapReduce for bulk processing to enable distributed low latency fuzzy matching over HDFS<br />Hadoop is a great platform for solving all sorts of Big Data and distributed computing problems, even for low latency searching<br />34<br />
  47. 47. Contributors<br />Cloud Computing Team<br />Jason Trost<br />Lalit Kapoor<br />Daniel Neuberger<br />Michael Beck<br />Edmond Kohlwey<br />Josh Sullivan<br />Identity Management/Biometrics Team<br />Abel Sussman<br />Eric Karlinsky<br />Deanna Walters<br />Joel Rader<br />Allen Wight<br />35<br />
  48. 48. Questions?<br />
  49. 49. Contact Information – Cloud Computing Team<br />37<br />Joshua Sullivan<br />Senior Associate<br />Lalit Kapoor<br />Senior Consultant<br />Michael Beck<br />Senior Consultant<br />Daniel Neuberger<br />Senior Consultant<br />Jason Trost<br />Associate<br />Booz Allen Hamilton Inc.<br />134 National Business Parkway.<br />Annapolis Junction, Maryland 20701<br />(301)543-4611<br />sullivan_joshua@bah.com<br />Booz Allen Hamilton Inc.<br />134 National Business Parkway.<br />Annapolis Junction, Maryland 20701<br />(301)821-8000 kapoor_lalit@bah.com<br />Booz Allen Hamilton Inc.<br />134 National Business Parkway.<br />Annapolis Junction, Maryland 20701<br />(301)821-8000 kapoor_lalit@bah.com<br />Booz Allen Hamilton Inc.<br />134 National Business Parkway.<br />Annapolis Junction, Maryland 20701<br />(301)821-8000 kapoor_lalit@bah.com<br />Booz Allen Hamilton Inc.<br />134 National Business Parkway.<br />Annapolis Junction, Maryland 20701<br />(301)543-4400<br />trost_jason@bah.com<br />Edmund Kohlwey<br />Consultant<br />Booz Allen Hamilton Inc.<br />134 National Business Parkway.<br />Annapolis Junction, Maryland 20701<br />(301)617-3523 kohlwey_edmund@bah.com<br />
  50. 50. Contact Information – Identity Management Team<br />38<br />Joel Rader <br />Identity Analyst<br />Eric Karlinsky<br />Identity Analyst<br />Deanna Walters<br />Biometrics Analyst<br />Allen Wight<br />Biometrics Analyst<br />Booz Allen Hamilton Inc.<br />13200 Woodland Park Rd<br />Herndon, VA 20171<br />(703) 984-0312<br />rader_joel@bah.com<br />Booz Allen Hamilton Inc.<br />13200 Woodland Park Rd.<br />Herndon, VA 20171<br />(703) 984-3532 Karlinsky_eric@bah.com<br />Booz Allen Hamilton Inc.<br />13200 Woodland Park Rd<br />Herndon, VA 20171<br />(703) 984-1982<br />walters_deanna@bah.com<br />Booz Allen Hamilton Inc.<br />13200 Woodland Park Rd<br />Herndon, VA 20171<br />(703) 984-1978<br />wight_allen@bah.com<br />Abel Sussman<br />Biometrics Subject Matter Expert<br />Booz Allen Hamilton Inc.<br />13200 Woodland Park Rd.<br />Herndon, VA 20171<br />(703) 984-7663<br />sussman_abel@bah.com<br />

×