Review of Sequential Access Method for Fingerprint Identification

Real time fingerprint identification is usually equipped with specific computation machine architecture to optimize speed factor. Focusing on achieving better speed performance of fingerprint identification on common computation machine, a disquisition was conducted on sequential access method for fingerprint identification, with its underlying data structure designed to work with parallel processing. Hypothetically, parallel processing based on multi-cores processor technology, can give faster result without reducing accuracy. If multi core processor was detected, simultaneous processes would run on fingerprint matching-pairs to find its similarity score, respectively. Experiment confirms that speed performance of fingerprint identification using sequential access method with parallel processing outperforms the one without parallel processing. For both strategy, even though using parallel processing confirms faster result, experiment shows that searching time O(n) still linearly depends on number of fingerprints in database. Avoiding such searching time trend, hypothetically, need strategy of direct access method utilization.


Introduction
A fingerprint identification system recognizes an individual by searching the entire enrolment templates in database for a match. It conducts one-to-many comparison/matching to establish if the individual is present in the database and if so, returns the identifier of the enrolment reference that matched. In an identification system, the system establishes a subject's identity (or determines that the subject is not enrolled in the system database) without the subject having to claim an identity [1]. This general concept applied to others biometric identification system, like palm print [2]. Figure 1 shows daily activities of a fingerprint identification system that consists of two main stages, i.e. enrolment and matching. On large database (could be several million fingerprints), identification demands real time result, so it is important to optimize its speed with respect to its accuracy by tuning up all of those main stages. Previously, we have reportedspeed optimization of fingerprint feature extraction in [3], which play important role during ten-print batch processing of enrolment andmatching. The identification process can be speeded up by reducing the number of comparisons that are required to be performed. Sometimes, information about sex, race, age, and other data related to the individual are available and the portion of the database to be searched can be significantly reduced; however, this information is not always accessible (e.g., criminal identification based on latent fingerprints) and, in a general case, intrinsic information of the fingerprint samples has to be used for an efficient retrieval.Searching involves lookup or indexing operations (finding the value associated with a key) using index. Prudent use of index can make searching faster by eliminating the need to sort (almost always the ultimate goal of sorting is to organize a search) and thus reducing I/O cost [4]. Searching involves sequential or direct access of data. Sequential access is the concept of accessing (or reading) records from a table in sequential order, i.e. from the top to bottom, one after another. Direct access is the concept of accessing (or reading) specific records from a table in no particular order by specifying which row(s) to be read. The row(s) value possibly comes from processing of specific data representation, like quad-tree, kd-tree, and range-tree [5].
Although hypothetically, direct access of fingerprint identification method would outperforms its sequential access method, it is however still important to know some aspects of sequential access method as a base for improvement. Sequential access method for finger print identificationis the most natural process of fingerprint identification thatbasically conducts oneto-many matching between input fingerprintand enrolled fingerprints in the database.Because of method's simplicity, method's most natural process, and method's strong foundation for improvement, a disquisition of this method was taking place based on [6], [7] and using [8] as a basic framework. While [6] gives translation-and rotation-variant features (i.e. minutiae's absolute coordinate and absolute orientation), [7] gives translation-invariant and rotation-variant features in star configuration (i.e. center-minutiae-to-neighbor-minutiae edge length, and centerminutiae's absolute orientation), [8] gives translation-and rotation-invariant features in star configuration (i.e. center-minutiae-to-neighbor-minutiae edge length, center-minutiae's relative orientation, and neighbor-minutiae's relative orientation), this paper observed parallel processing design that was implemented on [8] to gives improvement on fingerprint identification speed without reducing its accuracy.

Research Method
Sequential access method for fingerprint identification uses fingerprint's local features (minutiae-based only) without pre-selection stage (clasification process to produce pre-defined classes). Research design on this method involves: a. Global data structure used by enrolment stage (Figure 2). b. Sequential access method run above designated global data structure (Figure 3). c. The algorithm and its underlying main object ( Figure 4). d. Derivative featurescomputation and comparison( Figure 5). e. Similarity score mechanism from pairing traversal process ( Figure 6). f. Monte-Carlo-based experiment at Result and Discussion ( Figure 7, Figure 8, Table 1).

Global Data Structure at Enrolment Stage
Enrolment uses main Abstract Data Type (ADT) called Person which is primarily a way to group multiple fingerprints belonging to one person. Person consists of Fingerprint object that contains basic information about the fingerprint, i.e. Image that is used to perform template extraction and Template that is used for identification. Image is in raw image format that must be set before generating valid Template. The format of this image is a simple raw 2D array of bytes. Every byte represents shade of gray from black (0) to white (255). Template is an abstract model of the fingerprint and once was generated, Image property can be set to null to save space. Figure 2 shows memory space requirement for template contains fingerprint intrinsicinformation. Templates are better than fingerprint images, because they require less space and they are easier to match than images.
Person object is designed to be easy to serialize in order to be stored in binary-format (BLOB) under Person attributein database.This binary-format attribute indexed with numericformat ID attribute ( Figure 2). Here, we need to determine what key-like information can be used to construct data structure for searching. Additional requirement, this information should be translation-and rotation-invariant for reliability factor related to identification accuracy. Global structure data at Figure 2 do not contains translation-and rotation-invariant information (consider as primitive feature), but that information can be used to generate translation-and rotation-invariant key-like information (consider as derivative feature).   Figure 3a shows basic approach of sequential access method for fingerprint identification. The matching is a kind of associative array with similarity measure. Probe fingerprint on input is compared sequentially with database's candidate fingerprints stored in the associative array, candidates are sorted by result of the similarity measure function, and the closest match is returned. Similarity measure function (matching algorithm) computes similarity score that represents degree of similarity between two templates.

Sequential Access Method at Identification Stage
Enhancement of basic approach (Figure 3b) utilizes p cores of processor so there will be p concurrent tasks (parallel process) on p fingerprint matching-pairs to produce psimilarity scores, respectively. A fingerprint matching-pair consists of probe fingerprint and a candidate fingerprint from database to be match with.

The Algorithm
Identification stage at and EdgeTable to store derivative features belong to probe and candidate fingerprint, respectively. The others objects, i.e. MinutiaPairing, EdgeLookup, and PairSelector work together during edge pairing process to produce pair of the longest paths belong to probe and candidate fingerprint (Figure 6a). Traversal of candidate's longest path will give best similarity score as indicator for best similarity to the probe fingerprint. During traversal, some parameters values saved by MinutiaPairing, similar edges belong to probe and candidate saved by EdgeLookup, and decision for next minutiae pair to be travelled handled by PairSelector. from primitive features are compute in dynamic run-time memory for identification, i.e. its length of minutiae-edge d, and relative angle between minutiae -minutiae-edge (β 1 and β 2 ), as shown by Figure 5b. c. Derivative features are constructed at EdgeTablebelong to Matcher object. One table for the probe fingerprint (encapsulated by ProbeIndex) and one table for candidate fingerprint to be matched against. d. There will be global computation time O(n) for identification where nis number of candidate fingerprints in database. For each matching between a probe and candidate fingerprint, there will be local computation time O(i*j) where i is number of records of probe's minutia information (primitive features) and j is number of records of candidate's primitive features, as shown by Figure 2. e. The output will be pairing of the longest paths which are similar between probe path and its counterpart candidate path,as shown by pair of green paths at Figure 6a. These longest paths have its own root (consists of pair of minutiae index, one from probe and one from candidate), shown by gray record at Figure 2, as final objective of fingerprint identification. Traversal of the longest candidate path, start from its root, accumulate a similarity score (from computation of some parameters taken during traversal). representing location (x k ,y k ) and the arrowed line pointing down representing orientation t k . A second minutia j is in the lower left with orientation pointing down and to the left.

Derivative Features Computation
To account for relative translational position, the distance d kj is computed between the two minutia locations. This derivative feature will remain relatively constant between corresponding points on two different finger impressions regardless of how much translation and rotating may exist. Additional derivative featuresis angle between each minutia's orientation and the intervening line between both minutiae. This way, these angles remain relatively constant to the intervening line regardless of how much the fingerprint is rotated. In Figure5b, the angle θ kj of the intervening line between minutia k and j is computed by taking the arctangent of the slope of the intervening line. Angles β k and β j are computed relative to the intervening line by incorporating θ kj and each minutia's orientation t.
For each pair-wise minutia comparison, an entry is made into an edge table as shown by Figure 5c, i.e. consists of { d kj , β 1 , β 2 }, where β 1 = max (β k , β j ) and β 2 = min (β k , β j ). So that in left edge illustration as shown by Figure 6b, β 1 = β k and β 2 = β j . Entries are stored in the Edge Table belong to Matcher object. In ascending order of distance, the table is trimmed at the point in which a maximum distance and a maximum neighbour threshold are reached. Making these measurements between pairs of minutiae, an edge table must be constructed for each probe fingerprint and every candidate fingerprint we wish to match with.

Derivative Features Comparison
Derivative feature comparison takes the minutia edge tables from two separate fingerprints and look for similar entries between the two tables. Figure5a shows part of two impressions of the same fingerprint with slight differences in both translation and rotation. The left print represents a probe impressionin which all its minutiae have been pair-wised computed with relative measurements stored in edge table P with sample ( Figure 5c).
The relative measurements computed from the particular pair of minutia (Figure 5b) have been stored as the m th entry in table P, denoted P m . The notation of individual values stored in the table are represented as lookup functions on a given table entry. For example, the index of the upper right minutia is stored in table entry P m and is referenced as k(P m ), while the ISSN: 1693-6930 distance between the two minutiae is also stored in table entry P m and is referenced as d(P m ). The right print represents a candidate impressionfrom database, and uses similar notation, except that all its pair-wise minutia comparisons have been stored in table G, and the measurements made on the two corresponding minutia in the candidate print have been stored in table entry G n .
Black records at Figure 5c indicate similar entries. Three tests are conducted to determine if table entries P m and G n are similar. The first test checks to see if the corresponding distances are within a specified tolerance:∆ d (d(P m ), d(G n ) ) <T d .The last two tests check to see if the relative minutia angles are within a specified tolerance:∆ β (β 1 (P m ), β 1 (G n )) <T β , and ∆ β (β 2 (P m ), β 2 (G n )) <T β . Figure 6 shows part of process to calculate similarity score of a candidate fingerprint compared to the probe fingerprint. Maximum similarityscore produced by accumulatingsimilarityscore parameters during traversal of the longest path (maybe discontinuous path) of candidate fingerprint. Pair of green paths at Figure6a actually is not pair of the longest paths but it illustrates the process to find it at probe and candidate fingerprint.  Figure 6a). Green, red, and blue records are similar edge pair (each from probe's edge and candidate's edge) belong to its minutia pair process during traversal. Green records also special entries that constructs pair of the longest path, each longest path for probe and candidate fingerprint.

Similarity Score
Similarity score between probe fingerprint and one candidate fingerprint from database, is obtained through traversal of pairing of the longest paths, each path belongs to the probe and candidate fingerprint to be match with ( Figure 6). The longer the pair of these longest paths, the higher the similarity between those both fingerprints.
There are two conducted comparisons related to the similarity score, i.e.: a. Finding pairing of the longest path through comparison with others pairing of the longest path found during iteration on probe and one candidate fingerprint. b. After finding pairing of the longest path with the best similarity score (represent the best similarity between probe and one candidate fingerprint),that score put in unsorted associative array with Person ID as a key, and Similarity (Match) Score as the value (Figure3). Person ID represents index (location) of a candidate fingerprint in database and Match Score indicate candidate's best similarity score obtained during pairing traversal with probe fingerprint. The highest score in associative array become the strong similar candidate among others candidates fingerprint in database. Some parameters for traversal score computation of the pairing of the longest path are minutiae pair count, correct type minutiae pair count, and supported minutiae pair count. The last two parameters are used for strict filtering of minutiae pair count forbetter deal with false matches that cause problems with low quality fingerprints.

Results and Discussion
Monte Carlo analysis was conducted on experiment, that rely on repeated random sampling to compute the results. The analysis is most suited for calculation by a computer and tends to be used when it is infeasible to compute an exact result with a deterministic algorithm [9].The analysis follows this procedure: 1) define a domain of possible inputs; 2) generate inputs randomly from a probability distribution over the domain; 3) perform a deterministic computation on the inputs; 4) aggregate the results.
In this procedure the domain of inputs is set A of database 1 (fingerprint image collected by using small-size and low-cost optical sensors) of fingerprint verification contest (FVC) 2000 [10], 2002 [11], and 2004 [12], each with 300x300, 388x374, and 640x480 pixel size. Then each database was set up with 100, 400, and 800 data population (every set A of FVC database has maximum value of 800 data population). So we have domain of inputs come from nine different databases (differ from FVC year and number of data population).

Review of Sequential Access Method
Experiment was conducted f of random inputs (a hundred should be enough) per database each input (searching/matching itself on database) our final result per database, as shown by time (Avg), sample standard matching time (Max).
Sample standard deviation below(the use of N − 1 instead of where ሼ‫ݔ‬ ଵ , ‫ݔ‬ ଶ , … , ‫ݔ‬ ே ሽ are the observed values mean value (Avg) of these observations. this procedure has two other common properties of Monte Carlo truly be random. Second, there shou Carlo-based experiment on (single core) and with parallelprocessing RAM 4 GB and Intel® Core™i5 Sequential Access Method for Fingerprint Identification Experiment was conducted for each of nine data bases. We generate (a hundred should be enough) per database then perform a computation on (searching/matching itself on database). Finally, we aggregate the results to obtain , as shown by Table 1, i.e., the approximation of tandard deviation (σ), minimum matching time (Min eviation was calculated using formula with Bessel's correction − 1 instead of N): the observed values (matching time) of the sample items and of these observations. To get an accurate approximation for this procedure has two other common properties of Monte Carlo method. First, the inputs truly be random. Second, there should be a large number of inputs.We conducted sequential access method algorithm without parallel processing and with parallelprocessing (multi-cores) on Microsoft® Windows™ 7 ™i5-2430M (Quad Cores)@ 2.20 GHz.
Monte Carlo analysis for sequential with single core and multi-coreson database Figure 8. Speed performance comparison of sequential accessed method with single core and of nine databases Table 1. Parametersapproximation sequential accessed method with single core and multi-cores of nine databases  Table 1. 8clearly shows that for all nine databases, sequential accessed method of fingerprint We generate arbitrary number then perform a computation on . Finally, we aggregate the results to obtain the approximation of average matching n), and maximum Bessel's correction [13] ( identification with parallel processing outperforms the one without parallel processing. It also shows that even though using parallel processing gives faster result, in general searching time O(n) is still dependsheavily on number of n fingerprints in database. Without parallel processing, searching time O(n) is almost linearly depends on number of n fingerprints in three different tested database (FVC 2000, FVC 2002, and FVC 2004, while using parallel processing by quad core processor, searching time O(n) is in sub linear trend (o(n)) where time increasing is only about one-third to a half of searching time O(n) without parallel processing.
It can be analyzed the cause of the experiment result above (that also two main disadvantages of sequential access method) which are lied on its two big sequential accesses conducted during identification process, i.e.: a. Sequential access to the whole n candidate fingerprints in database during matching probe fingerprint. Even though highest similarity score has already obtained from candidate fingerprint at very first location of database, the algorithm must still examine the rest of candidate fingerprints in database. b. Sequential access to the whole minutia pairs [i,j] during matching probe to each candidate in database, where i is number of probe's minutia and i is number of candidate's minutia. Even though pair of the longest path (Figure 7a) has already obtained from the very first minutia pairs [0,0], the algorithm must still examine the rest of minutia pairs [i,j].

Conclusion
We have observed sequential access method forfingerprint identification without and with parallel processing. Theexperiment gives empiric resultsthat in general searching time O(n) still dependsheavily on number of n fingerprint in database, i.e. in linear and sub linear fashion, respectively.With this result, we can predict what would happened if database contains millions number of fingerprints. The algorithm becomes unreliable with long time response without using parallel processing, and with parallel processing there must be some specific hardware implementation that should be avoided without doing algorithm optimization first.To overcome such kind of disadvantages of sequential access method for fingerprint identification, future work on designing and implementing of direct access method with various efficient representation of data structure, need to be observed.