The present invention relates to biometric filters and in particular to the use of filters in a system and method of generating a subset of enrolled biometric representations from a master database of enrolled biometric representations.
The time and computational resources required to perform a biometric 1:N search of a master database comprising a plurality of enrolled biometric representations using a captured biometric representation can be prohibitively expensive. Increasing the number of independent biometric representations in the master database increases the length of time required to perform the search. A 1:N search is typically performed using a complex biometric matching algorithm by comparing a captured biometric data representation against each of the enrolled biometric representations in the master database. A numerical score is generated for each comparison and the enrolled biometric representations in the master database corresponding to the top-ranking scores are returned as the search results.
Filters are used to reduce the searching time by discarding those enrolled biometric representations which are unlikely to subsequently successfully match against the captured biometric representation. Biometric filters known heretofore are based on modality-specific features extracted from each enrolled biometric representation of the master database which can be quickly compared. For example, a known filtering technique with fingerprints is based on the high-level overall pattern formed by the flow of ridges in the fingerprint which are assigned to one of several classes, such as by using the Henry classification system. Other example finger-based filter techniques are based on the location of the core and delta points, the thickness of finger ridges, the number of ridges between specific locations, or the spatial relationships between specific points.
Filters known heretofore have reduced the length of time required to perform a search. However, since each filtering technique requires the extraction and comparison of modality-specific features, they are highly specific to certain environments, modalities, and biometric instances and cannot be used across multi-biometric databases.
Known arrangements relate to pre-assigning the biometrics to one of a number of available bins of like biometrics and then only searching the presented biometric against that specific bin. This requires an a priori classification of the biometrics and suffers in the same way as any statistical binning arrangement in that the usefulness of the final search will depend on the accuracy of the initial binning decision.
These and other problems are addressed by providing a method and system for generating a subset of enrolled biometric representations from a master database of enrolled biometric representations prior to comparing modality-specific features. Such a system and methodology enables an analysis of enrolled biometric data. A plurality of vectors may be generated, each having a plurality of score values representative of the relationship between individual ones of the enrolled biometrics with a plurality of biometric representations forming a filter set. In accordance with the teaching of the present invention, it is possible to judiciously use the vectors to enable a filtering of the enrolled biometric data on a dynamic basis.
These and other features will be better understood with reference to
The present application will now be described with reference to the accompanying drawings in which:
The invention will now be described with reference to an exemplary system 100 which implements a method of generating a subset of enrolled biometric representations from a master database or gallery of N enrolled biometric representations. The subset is desirably representative of those enrolled biometrics that are most likely to provide a match for a presented biometric be that as part of an open 1:N or closed 1: N search criteria. Using the teaching of the present invention it is possible to provide the subset on a per request basis such that the subset is dynamically generated depending on the specifics of a presented biometric. In accordance with the teaching of the invention it is possible to improve the speed of a biometric 1:N search by applying a generic filtering technique that utilizes pre-computed vectors of comparison scores derived by comparing gallery biometric data against a pre-selected filter set. In a preferred arrangement, the distance between each gallery score vector and a probe score vector is used to select a subset of candidates for further searching. Unlike previous techniques, the method is not limited to a specific biometric modality. The technique can be used with any biometric modality and leverages any existing matching algorithm for that modality that produces a well-distributed score.
In order to provide this architecture of pre-computed vectors, it is necessary to first define a filter set. The system 100 comprises a first data structure, namely, a master database 105 for storing at least one filter set comprising a plurality of biometric representations 110. The first data set is populated with a group of biometric data that is first selected as a filter set, using one or more techniques described below. The biometric data in the filter set may consist of raw biometric samples, images, templates, or a combination of these. The filter set may be user defined or in an alternative approach the filter set could be provided by a third party service provider. The importance of the filter set within the context of the teaching of the present invention is that it enables the generation of vectors for the enrolled biometric representations, each of the vectors comprising a number of scores comparable in number to the number biometric representations within the filter set. The vectors provide a biometric agnostic or non-specific representation of a relationship between a biometric representation and a filter set.
The present invention provides for the formation of filter sets in a number of different approaches. For example, the filter could be derived exclusively or non-exclusively from biometric representations from the master database of enrolled biometric representations. Another approach which although computationally expensive provides a highly efficient technique is to adopt a brute force empirical search of a given dataset. Yet another technique which similarly to the previously mentioned techniques does not have to be done in an exclusive fashion is to derive the filter from biometric error rate data.
It is possible to generate the filter set from biometric data of the same modality. Within a specific modality, the filter set may contain data from the same biometric instance (e.g. same finger) or from different instances (e.g. multiple types of fingers). Filter sets for other multi-biometric data is described later.
As was mentioned above, the present invention provides for many possible methods to select an appropriate filter set. These include but are not limited to one or more of the following:
It will be understood from the above that the best filter selection or generation approach will depend on the circumstances of the data being analysed and as a result the above are only provided as examples of illustrative techniques that may be usefully employed within the context of the teaching of the present invention.
The filter set is usefully employed in the generation of vectors. To store these vectors, a second data structure 112 is provided including information on corresponding vectors 120 for each of the enrolled biometric representations 115. It will be understood that typically this second data structure is implemented in the form of a relational table with pairs of (enrolment identifier, vector), where the enrolment identifier is a link/pointer to the actual enrolment data. In this way, the generated vectors may be stored separately to the master database of enrolled biometrics. This serves to maintain integrity between the two data structures but also is advantageous with regard to storage requirements, and has benefits in distributed database architectures. It will be understood that such an arrangement is typically advantageous in environments where subsequent to computation of the vectors for each of the enrolled biometrics, that the enrolled biometrics are no longer required within the context of the implementation of the filter scheme. However, it will be also understood that such a relational data structure is not essential within the context of the teaching of the present invention in that the second data structure may also be implemented in the form where each of the plurality of enrolled biometric representations 115 and their corresponding vectors 120 are stored.
A specific benefit of the teaching of the present invention lies in the ability to efficient conduct a 1: N search of the database of enrolled biometrics. As part of this search it is necessary to provide a probe or test biometric 125. This can be provided directly from a biometric capturing device which is interfaced to the system and provides for capturing biometric data personal to a user, for example, an iris image or a finger print image. It will be understood within the context of the teaching of the present invention that where referenced as a biometric capture device that it is not intended to limit the application of the present invention to any one modality of biometric and indeed the capture device could be capable of capturing a plurality of biometrics of the same or different modalities. The biometric capturing device is operable for generating a biometric representation 127 of the captured biometric. However it will also be understood that the presented probe biometric need not be directly captured by the system of the present invention in that third parties could independently capture the probe biometrics and then present them to a system provided in accordance with the teaching of the invention. Once received, either directly from the capture device or from a third party, a software matching module 130 is programmed to implement a matching algorithm for matching the biometric representation 127 against the biometric representations 110 of the filter set in the master database 105. A software scoring module 132 is co-operable with the matching module 130 for scoring the matching performed by the matching module 130. It will be understood that the functionality of the matching and scoring modules could be integrally provided as part of the same module or could be separated as is illustrated here. The use of different reference numerals will be understood as simply referring to separate activities that are effected and is not intended to limit the teaching of the present invention to any one specific hardware or software architecture. It will be understood that within the context of biometric authentication systems that such comparison and generation of scores is known in a single function from elements such as SDKs as provided by any number of biometric SDK vendors.
A vector generating module 134 is provided for generating a vector (V) 135 comprising the scores generated by the scoring module 132. It will be understood that each of the vectors define an ordered list of match scores, individual ones of the match scores identifying the similarity of the biometric representation to individual ones of the biometric representations of the filter. A comparing module 140 is programmed to implement a comparing algorithm for comparing the vector 135 generated by the vector generating module 134 against each vector 120 associated with each of the enrolled biometric representations 115. A subset generating module 150 is provided for generating the subset based on the comparison performed by the comparing module. The subset may be a list of identifiers or indexes pointing to the corresponding enrolment data, or it may contain the actual enrolment data or derivative thereof.
Referring now to the flow chart of
In this example, each vector comparison performed by the comparison module 140 in block 215 results in a distance or correlation score 145, representing the magnitude of difference between the vector 135 and each of the vectors 120. The lower the distance score the closer the values of the two compared vectors are. Biometric representations that originate from the same user will, it will be appreciated, exhibit smaller inter-vector distances than biometrics representations derived from different users. The subset generating module 150 is configured for determining which of the enrolled vectors are within a definable threshold of the tested biometric on the basis of the vector computation. This output may result in identification of a plurality or a percentage of the closest vector matches or those that exhibit a distance below a specific distance threshold, and the classification of that subset into the subset. It will be appreciated that this subset represents a proportion of the master set of enrolled biometrics and based on the vector analysis it is probable that the ultimate match for the presented biometric will be derived from this subset.
This subset can then be used in a variety of different ways. For example, traditional complex 1:1 biometric matching, or other known matching or filtering techniques may be performed on the filtered subset which contains substantially less biometric representations compared to the secondary database 112. The method of generating the subset as described above may be implemented using any traditional programming language, and only requires a traditional biometric matching algorithm to generate vector scores. Alternatively, instead of directly implementing the vector creation and vector comparison routines, a text-based search engine may be leveraged to perform these tasks. The generated filters can be adapted for use with a text-based search engine by quantizing the values of scores. Instead of using actual raw matching scores, the score values are normalized into a smaller number of score groupings. For example, for an algorithm that produces scores distributed between 0 and 10,000, the score space may be divided into 50 groups each with a score range of 200. Each score group is given a textual representation, such as G1, G2, G3 and so on. A filter vector will now consist of an ordered string of these textual score groups, rather than a sequence of raw match scores.
Instead of performing vector distance computations as described in block 215, comparison may be based on textual comparisons of the strings of score groups. Typically, each string of score groups will have a static length, corresponding to the number of elements in the original filter set. Comparisons may be performed by a highly efficient text-based search engine, which will return the biometric representations which are within the comparison criteria.
Heretofore operation of a system and methodology provided in accordance with the teaching of the present invention has been described with reference to single biometrics and single filters. A number of filter sets may be produced using one or more of the techniques outlined above. Depending on characteristics of the input 1:N search probe or other configurable conditions, the filter set to apply may be dynamically selected at search time. The enrolment filter vectors for all of the several possible filter sets are typically generated beforehand. At search time, the probe filter vector is generated for the selected filter set, and filtering takes place. In a similar fashion to how the term filter should be considered in both singular and plural, the term biometric as used herein is intended to define both single and multiple biometrics. In this way, it will be understood that individual ones of the biometric representations referred to above may relate to multiple biometrics. By this is meant that the multiple biometrics may relate to one or more of:
In this context a 1:N identification search may use more than one instance (multi-instance) of a biometric, such as when multiple different fingers from the same individual are searched against a multi-finger gallery. Similarly, a 1:N identification search may use more than one biometric modality (multi-modal), such as when a finger image and an iris image from the same individual are searched against a gallery containing both finger and iris biometrics.
The teaching of the invention may also be applied to multi-biometric scenarios including multi-instance, multi-modal, multi-sample, multi-algorithm, multi-sensor, and any combination of these.
In a multi-modal scenario, a separate filter set may be constructed for each different modality. For example, a filter set would be created for finger and a second filter set for iris images. A finger matching algorithm and an iris matching algorithm are used to generate scores for the respective two separate score vectors. The two separate score vectors (one for finger, one for iris) may be combined, such as by concatenation, to form a single logical vector, which is then compared with other similar vectors as before.
Alternatively, the two modality-specific vectors, derived from matching with the separate modality-specific filters, may be compared separately and the vector results fused using appropriate normalization and fusion techniques. This second approach allows a greater weighting to be placed on one or more of the vectors, and hence modalities. For example, the vector distance score for the iris part might be given more importance, a greater weighting, when it is combined with the vector distance score for the finger part.
In a multi-instance scenario, a single filter may be used, regardless of the instance type of the input. Alternatively, as with the multi-modal scenario, a different filter may be assigned for each instance type. For example, one filter set can be defined for index fingers and another more appropriate filter set defined for use with thumbs. As with the multi-modal scenario, this can then lead to a single logical vector or separate vector comparisons.
The same options exist for multi-sensorial, multi-sample, and multi-algorithm scenarios. For example, a different filter set might be created for each input sensor, such as a filter set for finger images captured from a silicon-based sensor, and a second filter set for those captured from an optical sensor. The same options are present for multi-sample (multiple images of the same instance from the same individual) and multi-algorithm (different matching algorithms for comparing the same modalities).
It will be understood that what has been described herein are exemplary embodiments of a system and methodology implementing a generic filter arrangement that may be usefully employed in generation of a subset of a master database of enrolled biometrics for searching/analysis purposes. Such a system and methodology employs a plurality of vectors each having a plurality of score values representative of the relationship between individual ones of the enrolled biometrics with a plurality of biometric representations forming a filter set. Judicious use of the vectors enables a filtering of the enrolled biometric data on a dynamic basis. While the present invention has been described with reference to exemplary arrangements and diagrams it will be understood that it is not intended to limit the teaching of the present invention to such arrangements as modifications can be made without departing from the spirit and scope of the present invention. In this way it will be understood that the invention is to be limited only insofar as is deemed necessary in the light of the appended claims.
Furthermore, the words comprises/comprising when used in this specification are to specify the presence of stated features, integers, steps or components but does not preclude the presence or addition of one or more other features, integers, steps, components or groups thereof.