BIOMETRIC MATCHING TECHNOLOGY
1 Assignment
0 Petitions
Accused Products
Abstract
Biometric matching technology, in which a watch list is managed, multiple images of a potential suspect are accessed, and parallel pre-processing of the multiple images is controlled. Based on the pre-processing, an image of the potential suspect to use in matching against the watch list is determined and the determined image is used to search sorted biometric data included in the watch list. A subset of persons from the watch list is identified based on the search and parallel analysis of the determined image of the potential suspect against detailed biometric data associated with the subset of persons in the watch list is controlled. Based on the parallel analysis, it is determined whether the potential suspect matches a person in the watch list and a result is outputted based on the determination.
6 Citations
55 Claims
-
1. (canceled)
-
2. A system comprising:
-
a database storage; at least one processor; and at least one memory coupled to the at least one processor having stored thereon instructions which, when executed by the at least one processor, causes the at least one processor to perform operations comprising; managing, in the database storage and for each of a plurality of reference images, a) data for persons on a watch list using similarity scores for the respective reference image that represent, for each of the persons on the watch list, a similarity between the respective reference image and an image of the person and b) associations to biometric data for the persons on the watch list; accessing an image of a potential suspect; determining at least one criterion relevant to the image of the potential suspect based on at least one of sensor or camera data; selecting, as a reference image, a single reference image from among the plurality of reference images based on the at least one criterion; computing a similarity score that represents a similarity between the image of the potential suspect and the selected reference image based on selecting the single reference image; searching the watch list using the computed similarity score and the selected reference image; identifying, using a result of the search of the watch list using the computed similarity score, a subset of persons on the watch list each having a similarity score within a threshold of the computed similarity score for the selected reference image; determining whether the potential suspect matches a person in the subset of the persons on the watch list; and outputting a result based on determining whether the potential suspect matches a person in the subset of the persons on the watch list. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
3. The system of claim 2, wherein managing, for each of the plurality of reference images, a) the data for the persons on the watch list using the similarity scores for the respective reference image and b) associations to biometric data for the persons on the watch list comprises maintaining, for each of the plurality of reference images, numeric index values for the persons on the watch list using a similarity score for an image of the person and the respective reference image and maintaining blobs of images of the persons on the watch list stored on different partition servers.
-
4. The system of claim 2, wherein managing, for each of the plurality of reference images, a) the data for the persons on the watch list using the similarity scores for the respective reference image and b) associations to biometric data for the persons on the watch list comprises:
-
creating, in a relational database storage, a table for the watch list; accessing biometric data for a person to be included on the watch list; determining, for each person on the watch list and for each of the plurality of reference images, an index value from the accessed biometric data for the person and that represents a similarity score for the respective reference image and an image of the person; storing, for each person on the watch list and for each of the plurality of references images, the index value with an identifier for the person at an appropriate location in the table; determining, for each person on the watch list, whether blob data for the accessed biometric data of the person meets a threshold storage size; and based on determining whether the blob data for the accessed biometric data of the person meets the threshold storage size, performing one of; for each person on the watch list for which the blob data for the accessed biometric data of the person does not meet the threshold storage size, storing the blob data in the table with an identifier for the person, or for each person on the watch list for which the blob data for the accessed biometric data of the person meets the threshold storage size, storing the blob data in non-relational storage and storing a link to the blob data in the table with the identifier.
-
-
5. The system of claim 2, wherein the operations further comprise:
for each of the plurality of reference images; comparing, for each of a plurality of images of persons on the watch list, the reference image with the image; and determining, for each of the plurality of images of the persons on the watch list, the similarity score that represents a similarity between the reference image and the image based on comparing the reference image with the image.
-
6. The system of claim 2, wherein the operations further comprise:
evaluating distribution of similarity scores in the watch list, wherein selecting, as the reference image, the single reference image from among the plurality of reference images based on the at least one criterion comprises selecting, as the reference image, the single reference image from among the plurality of reference images based on the at least one criterion and evaluating the distribution of similarity scores in the watch list.
-
7. The system of claim 2, wherein identifying the subset of the persons on the watch list each having a similarity score within a threshold of the computed similarity score for the selected reference image comprises:
-
determining a quality measure for the image of the potential suspect and the images of the persons on the watch list; setting a score threshold based on the determined quality measure for the image of the potential suspect and the images of the persons on the watch list; and identifying a subset of the persons on the watch list each having a similarity score within the set score threshold of the computed similarity score for the selected reference image.
-
-
8. The system of claim 2, wherein identifying the subset of the persons on the watch list each having a similarity score within a threshold of the computed similarity score for the selected reference image comprises:
-
determining a number of matches within a set of matches representative of the subset of the persons on the watch list; determining whether the number of matches within the set of matches is within a match threshold; and based on determining whether the number of matches within the set of matches is within the match threshold, performing one of; in response to determining that the number of matches within the set of matches is within the match threshold, using the set of matches as the subset of the persons on the watch list for which to perform additional processing, or in response to determining that the number of matches within the set of matches is not within the match threshold; selecting a new reference image that is different than the selected reference image; identifying a new set of matches within the score threshold for the selected new reference image; and using at least a portion of the new set of matches as the subset of the persons on the watch list.
-
-
9. The system of claim 8, wherein using at least the portion of the new set of matches as the subset of the persons on the watch list comprises:
-
determining a set of common matches that includes matches which are in both a) the set of matches and b) the new set of matches; determining a number of matches within the set of common matches; determining whether the number of matches within the set of common matches is within a match threshold; and based on determining whether the number of matches within the set of common matches is within the match threshold, performing one of; based on determining that the number of matches within the set of common matches is within the match threshold, using the matches in the set of common matches as the subset of the persons on the watch list for which to perform additional processing, or based on determining that the number of matches within the set of common matches is not within the match threshold, continuing to narrow potential matches using an additional reference image.
-
-
10. The system of claim 2, wherein:
-
accessing the image of the potential suspect comprises accessing two or more images of the potential suspect; and the operations further comprise; controlling parallel pre-processing of the two or more images of the potential suspect to enhance a quality of each of the two or more images; and based on the parallel pre-processing, determining an image of the potential suspect to use in computing the similarity score that represents similarity between the image of the potential suspect and the selected reference image, wherein computing the similarity score that represents similarity between the image of the potential suspect and the selected reference image comprises computing the similarity score that represents similarity between the determined image of the potential suspect and the selected reference image.
-
-
11. The system of claim 10, wherein:
-
determining at least one criterion relevant to the image of the potential suspect based on at least one of sensor or camera data comprises determining at least one criterion relevant to the two or more images of the potential suspect based on at least one of sensor or camera data; and controlling parallel pre-processing of the two or more images of the potential suspect to enhance a quality of each of the two or more images comprises; selecting a number of images of the potential suspect to use in the parallel pre-processing based on the at least one criterion; and controlling the parallel pre-processing of the selected number of images of the potential suspect.
-
-
12. The system of claim 10, wherein:
-
determining at least one criterion relevant to the image of the potential suspect based on at least one of sensor or camera data comprises determining at least one criterion relevant to the two or more images of the potential suspect based on at least one of sensor or camera data; and controlling parallel pre-processing of the two or more images of the potential suspect to enhance a quality of each of the two or more images comprises; selecting types of operations to perform in the parallel pre-processing based on the at least one criterion; and controlling the parallel pre-processing of the two or more images of the potential suspect using the selected types of operations to perform in the parallel pre-processing.
-
-
13. The system of claim 10, wherein:
-
determining at least one criterion relevant to the image of the potential suspect based on at least one of sensor or camera data comprises determining at least one criterion relevant to the two or more images of the potential suspect based on at least one of sensor or camera data; and controlling parallel pre-processing of the two or more images of the potential suspect to enhance a quality of each of the two or more images comprises; selecting a number images of the potential suspect to use in the parallel pre-processing based on the at least one criterion; selecting types of operations to perform in the parallel pre-processing based on the at least one criterion; and controlling the parallel pre-processing of the selected number of images of the potential suspect using the selected types of operations to perform in the parallel pre-processing.
-
-
14. The system of claim 2, wherein the operations further comprise:
- determining a context of a situation associated with the image of the potential suspect;
setting a batch size based on the determined context of the situation; selecting a batch of images from the subset of the persons on the watch list based on the batch size; controlling parallel analysis of the image of the potential suspect against the batch of images; and controlling parallel analysis of the image of the potential suspect against additional batches of images until images of all the persons in the subset of the persons on the watch list have been analyzed, wherein determining whether the potential suspect matches a person in the subset of the persons on the watch list comprises determining whether the potential suspect matches a person in the subset of the persons on the watch list using a result of the controlled parallel analysis of the image of the potential suspect against the batches of images from the subset of the persons on the watch list.
- determining a context of a situation associated with the image of the potential suspect;
-
15. The system of claim 2, wherein the operations further comprise:
-
determining a criticality of a situation associated with the image of the potential suspect; setting a batch size based on the determined criticality of the situation; selecting a batch of images from the subset of the persons on the watch list based on the batch size; controlling parallel analysis of the image of the potential suspect against the batch of images; and controlling the parallel analysis of the image of the potential suspect against additional batches of images until images of all persons in the subset of the persons on the watch list have been analyzed, wherein determining whether the potential suspect matches a person in the subset of the persons on the watch list comprises determining whether the potential suspect matches a person in the subset of the persons on the watch list using a result of the controlled parallel analysis of the image of the potential suspect against the batches of images from the subset of the persons on the watch list.
-
-
16. The system of claim 2, wherein the operations further comprise:
-
determining a context of a situation associated with the image of the potential suspect; determining a criticality of a situation associated with the image of the potential suspect; setting a batch size based on the determined context of the situation and the determined criticality of the situation; selecting a batch of images from the subset of the persons on the watch list based on the batch size; controlling parallel analysis of the image of the potential suspect against the batch of images; and controlling parallel analysis of the image of the potential suspect against additional batches of images until images of all persons in the subset of the persons on the watch list have been analyzed, wherein determining whether the potential suspect matches a person in the subset of the persons on the watch list comprises determining whether the potential suspect matches a person in the subset of the persons on the watch list using a result of the controlled parallel analysis of the image of the potential suspect against the batches of images from the subset of the persons on the watch list.
-
-
17. The system of claim 2, wherein determining whether the potential suspect matches a person in the subset of the persons on the watch list comprises:
-
determining a number of unprocessed persons in the subset of the persons on the watch list for which the image of the potential suspect has not been compared to an image of the person; determining whether the number of unprocessed persons in the subset of the persons on the watch list is greater than a batch size; and in response to determining that the number of unprocessed persons in the subset is less than or equal to the batch size and for at least some potential suspects, performing a comparison of the image of the potential suspect against all remaining unprocessed persons in the subset of the persons on the watch list, wherein determining whether the potential suspect matches a person in the subset of the persons on the watch list comprises determining whether the potential suspect matches a person in the subset of the persons on the watch list using a result the performance of the comparison of the image of the potential suspect against all remaining unprocessed persons in the subset of the persons on the watch list.
-
-
18. The system of claim 17, wherein the operations further comprise:
-
for at least some potential suspects, selecting a batch of persons from the subset of the persons on the watch list in response to determining that the number of unprocessed persons in the subset is greater than the batch size; performing a comparison of the image of the potential suspect against all persons in the selected batch of persons; determining whether a match is found within the selected batch using a result of the comparison of the image of the potential suspect against all persons in the selected batch; and based on determining whether the match is found within the selected batch using the result of the comparison of the image of the potential suspect against all persons in the selected batch, performing one of; in response to determining that a match is found within the selected batch, ending processing and outputting the match, or in response to determining that a match is not found within the selected batch, processing one or more additional batches of images in parallel until all of the subset of the persons on the watch list have been processed or a match is found.
-
-
19. The system of claim 2, wherein the operations further comprise:
-
identifying a person of interest from the watch list; determining a profile for the identified person of interest from the watch list; accessing one or more images of a crowd that includes multiple potential suspects; comparing the profile for the identified person of interest from the watch list to profiles of the multiple potential suspects included in the one or more images of the crowd; and selecting, from among the multiple potential suspects included in the one or more images of the crowd, the potential suspect for further processing based on determining, in response to comparing the profile for the identified person of interest from the watch list to profiles of the multiple potential suspects included in the one or more images of the crowd, that the profile for the identified person of interest from the watch list matches a profile of the potential suspect, wherein accessing the image of the potential suspect, identifying the subset of the persons from the watch list, determining whether the potential suspect matches a person in the subset of the persons on the watch list, and outputting the result based on determining whether the potential suspect matches a person in the subset of the persons on the watch list are conditioned on the selection of the potential suspect for further processing.
-
-
3. The system of claim 2, wherein managing, for each of the plurality of reference images, a) the data for the persons on the watch list using the similarity scores for the respective reference image and b) associations to biometric data for the persons on the watch list comprises maintaining, for each of the plurality of reference images, numeric index values for the persons on the watch list using a similarity score for an image of the person and the respective reference image and maintaining blobs of images of the persons on the watch list stored on different partition servers.
-
-
20. A method comprising:
-
managing, in a database storage and for each of a plurality of reference images, a) data for persons on a watch list using similarity scores for the respective reference image that represent, for each of the persons on the watch list, a similarity between the respective reference image and an image of the person and b) associations to biometric data for the persons on the watch list; accessing an image of a potential suspect; determining at least one criterion relevant to the image of the potential suspect based on at least one of sensor or camera data; selecting, as a reference image, a single reference image from among the plurality of reference images based on the at least one criterion; computing a similarity score that represents a similarity between the image of the potential suspect and the selected reference image based on selecting the single reference image; searching the watch list using the computed similarity score and the selected reference image; identifying, using a result of the search of the watch list using the computed similarity score, a subset of persons on the watch list each having a similarity score within a threshold of the computed similarity score for the selected reference image; determining whether the potential suspect matches a person in the subset of the persons on the watch list; and outputting a result based on determining whether the potential suspect matches a person in the subset of the persons on the watch list. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
22. The method of claim 20, wherein managing, for each of the plurality of reference images, a) the data for the persons on the watch list using the similarity scores for the respective reference image and b) associations to biometric data for the persons on the watch list comprises maintaining, for each of the plurality of reference images, numeric index values for the persons on the watch list using a similarity score for an image of the person and the respective reference image and maintaining blobs of images of the persons on the watch list stored on different partition servers.
-
23. The method of claim 20, wherein managing, for each of the plurality of reference images, a) the data for the persons on the watch list using the similarity scores for the respective reference image and b) associations to biometric data for the persons on the watch list comprises:
-
creating, in a relational database storage, a table for the watch list; accessing biometric data for a person to be included on the watch list; determining, for each person on the watch list and for each of the plurality of reference images, an index value from the accessed biometric data for the person and that represents a similarity score for the respective reference image and an image of the person; storing, for each person on the watch list and for each of the plurality of references images, the index value with an identifier for the person at an appropriate location in the table; determining, for each person on the watch list, whether blob data for the accessed biometric data of the person meets a threshold storage size; and based on determining whether the blob data for the accessed biometric data of the person meets the threshold storage size, performing one of; for each person on the watch list for which the blob data for the accessed biometric data of the person does not meet the threshold storage size, storing the blob data in the table with an identifier for the person, or for each person on the watch list for which the blob data for the accessed biometric data of the person meets the threshold storage size, storing the blob data in non-relational storage and storing a link to the blob data in the table with the identifier.
-
-
24. The method of claim 20, comprising:
for each of the plurality of reference images; comparing, for each of a plurality of images of persons on the watch list, the reference image with the image; and determining, for each of the plurality of images of the persons on the watch list, the similarity score that represents a similarity between the reference image and the image based on comparing the reference image with the image.
-
25. The method of claim 20, comprising:
evaluating distribution of similarity scores in the watch list, wherein selecting, as the reference image, the single reference image from among the plurality of reference images based on the at least one criterion comprises selecting, as the reference image, the single reference image from among the plurality of reference images based on the at least one criterion and evaluating the distribution of similarity scores in the watch list.
-
26. The method of claim 20, wherein identifying the subset of the persons on the watch list each having a similarity score within a threshold of the computed similarity score for the selected reference image comprises:
-
determining a quality measure for the image of the potential suspect and the images of the persons on the watch list; setting a score threshold based on the determined quality measure for the image of the potential suspect and the images of the persons on the watch list; and identifying a subset of the persons on the watch list each having a similarity score within the set score threshold of the computed similarity score for the selected reference image.
-
-
27. The method of claim 20, wherein identifying the subset of the persons on the watch list each having a similarity score within a threshold of the computed similarity score for the selected reference image comprises:
-
determining a number of matches within a set of matches representative of the subset of the persons on the watch list; determining whether the number of matches within the set of matches is within a match threshold; and based on determining whether the number of matches within the set of matches is within the match threshold, performing one of; in response to determining that the number of matches within the set of matches is within the match threshold, using the set of matches as the subset of the persons on the watch list for which to perform additional processing, or in response to determining that the number of matches within the set of matches is not within the match threshold; selecting a new reference image that is different than the selected reference image; identifying a new set of matches within the score threshold for the selected new reference image; and using at least a portion of the new set of matches as the subset of the persons on the watch list.
-
-
28. The method of claim 27, wherein using at least the portion of the new set of matches as the subset of the persons on the watch list comprises:
-
determining a set of common matches that includes matches which are in both a) the set of matches and b) the new set of matches; determining a number of matches within the set of common matches; determining whether the number of matches within the set of common matches is within a match threshold; and based on determining whether the number of matches within the set of common matches is within the match threshold, performing one of; based on determining that the number of matches within the set of common matches is within the match threshold, using the matches in the set of common matches as the subset of the persons on the watch list for which to perform additional processing, or based on determining that the number of matches within the set of common matches is not within the match threshold, continuing to narrow potential matches using an additional reference image.
-
-
29. The method of claim 20, wherein:
-
accessing the image of the potential suspect comprises accessing two or more images of the potential suspect; and the method comprising; controlling parallel pre-processing of the two or more images of the potential suspect to enhance a quality of each of the two or more images; and based on the parallel pre-processing, determining an image of the potential suspect to use in computing the similarity score that represents similarity between the image of the potential suspect and the selected reference image, wherein computing the similarity score that represents similarity between the image of the potential suspect and the selected reference image comprises computing the similarity score that represents similarity between the determined image of the potential suspect and the selected reference image.
-
-
30. The method of claim 29, wherein:
-
determining at least one criterion relevant to the image of the potential suspect based on at least one of sensor or camera data comprises determining at least one criterion relevant to the two or more images of the potential suspect based on at least one of sensor or camera data; and controlling parallel pre-processing of the two or more images of the potential suspect to enhance a quality of each of the two or more images comprises; selecting a number of images of the potential suspect to use in the parallel pre-processing based on the at least one criterion; and controlling the parallel pre-processing of the selected number of images of the potential suspect.
-
-
31. The method of claim 29, wherein:
-
determining at least one criterion relevant to the image of the potential suspect based on at least one of sensor or camera data comprises determining at least one criterion relevant to the two or more images of the potential suspect based on at least one of sensor or camera data; and controlling parallel pre-processing of the two or more images of the potential suspect to enhance a quality of each of the two or more images comprises; selecting types of operations to perform in the parallel pre-processing based on the at least one criterion; and controlling the parallel pre-processing of the two or more images of the potential suspect using the selected types of operations to perform in the parallel pre-processing.
-
-
32. The method of claim 29, wherein:
-
determining at least one criterion relevant to the image of the potential suspect based on at least one of sensor or camera data comprises determining at least one criterion relevant to the two or more images of the potential suspect based on at least one of sensor or camera data; and controlling parallel pre-processing of the two or more images of the potential suspect to enhance a quality of each of the two or more images comprises; selecting a number images of the potential suspect to use in the parallel pre-processing based on the at least one criterion; selecting types of operations to perform in the parallel pre-processing based on the at least one criterion; and controlling the parallel pre-processing of the selected number of images of the potential suspect using the selected types of operations to perform in the parallel pre-processing.
-
-
33. The method of claim 20, comprising:
-
determining a context of a situation associated with the image of the potential suspect; setting a batch size based on the determined context of the situation; selecting a batch of images from the subset of the persons on the watch list based on the batch size; controlling parallel analysis of the image of the potential suspect against the batch of images; and controlling parallel analysis of the image of the potential suspect against additional batches of images until images of all the persons in the subset of the persons on the watch list have been analyzed, wherein determining whether the potential suspect matches a person in the subset of the persons on the watch list comprises determining whether the potential suspect matches a person in the subset of the persons on the watch list using a result of the controlled parallel analysis of the image of the potential suspect against the batches of images from the subset of the persons on the watch list.
-
-
34. The method of claim 20, comprising:
-
determining a criticality of a situation associated with the image of the potential suspect; setting a batch size based on the determined criticality of the situation; selecting a batch of images from the subset of the persons on the watch list based on the batch size; controlling parallel analysis of the image of the potential suspect against the batch of images; and controlling the parallel analysis of the image of the potential suspect against additional batches of images until images of all persons in the subset of the persons on the watch list have been analyzed, wherein determining whether the potential suspect matches a person in the subset of the persons on the watch list comprises determining whether the potential suspect matches a person in the subset of the persons on the watch list using a result of the controlled parallel analysis of the image of the potential suspect against the batches of images from the subset of the persons on the watch list.
-
-
35. The method of claim 20, comprising:
-
determining a context of a situation associated with the image of the potential suspect; determining a criticality of a situation associated with the image of the potential suspect; setting a batch size based on the determined context of the situation and the determined criticality of the situation; selecting a batch of images from the subset of the persons on the watch list based on the batch size; controlling parallel analysis of the image of the potential suspect against the batch of images; and controlling parallel analysis of the image of the potential suspect against additional batches of images until images of all persons in the subset of the persons on the watch list have been analyzed, wherein determining whether the potential suspect matches a person in the subset of the persons on the watch list comprises determining whether the potential suspect matches a person in the subset of the persons on the watch list using a result of the controlled parallel analysis of the image of the potential suspect against the batches of images from the subset of the persons on the watch list.
-
-
36. The method of claim 20, wherein determining whether the potential suspect matches a person in the subset of the persons on the watch list comprises:
-
determining a number of unprocessed persons in the subset of the persons on the watch list for which the image of the potential suspect has not been compared to an image of the person; determining whether the number of unprocessed persons in the subset of the persons on the watch list is greater than a batch size; and in response to determining that the number of unprocessed persons in the subset is less than or equal to the batch size and for at least some potential suspects, performing a comparison of the image of the potential suspect against all remaining unprocessed persons in the subset of the persons on the watch list, wherein determining whether the potential suspect matches a person in the subset of the persons on the watch list comprises determining whether the potential suspect matches a person in the subset of the persons on the watch list using a result the performance of the comparison of the image of the potential suspect against all remaining unprocessed persons in the subset of the persons on the watch list.
-
-
37. The method of claim 36, comprising:
-
for at least some potential suspects, selecting a batch of persons from the subset of the persons on the watch list in response to determining that the number of unprocessed persons in the subset is greater than the batch size; performing a comparison of the image of the potential suspect against all persons in the selected batch of persons; determining whether a match is found within the selected batch using a result of the comparison of the image of the potential suspect against all persons in the selected batch; and based on determining whether the match is found within the selected batch using the result of the comparison of the image of the potential suspect against all persons in the selected batch, performing one of; in response to determining that a match is found within the selected batch, ending processing and outputting the match, or in response to determining that a match is not found within the selected batch, processing one or more additional batches of images in parallel until all of the subset of the persons on the watch list have been processed or a match is found.
-
-
38. The method of claim 20, comprising:
-
identifying a person of interest from the watch list; determining a profile for the identified person of interest from the watch list; accessing one or more images of a crowd that includes multiple potential suspects; comparing the profile for the identified person of interest from the watch list to profiles of the multiple potential suspects included in the one or more images of the crowd; and selecting, from among the multiple potential suspects included in the one or more images of the crowd, the potential suspect for further processing based on determining, in response to comparing the profile for the identified person of interest from the watch list to profiles of the multiple potential suspects included in the one or more images of the crowd, that the profile for the identified person of interest from the watch list matches a profile of the potential suspect, wherein accessing the image of the potential suspect, identifying the subset of the persons from the watch list, determining whether the potential suspect matches a person in the subset of the persons on the watch list, and outputting the result based on determining whether the potential suspect matches a person in the subset of the persons on the watch list are conditioned on the selection of the potential suspect for further processing.
-
-
22. The method of claim 20, wherein managing, for each of the plurality of reference images, a) the data for the persons on the watch list using the similarity scores for the respective reference image and b) associations to biometric data for the persons on the watch list comprises maintaining, for each of the plurality of reference images, numeric index values for the persons on the watch list using a similarity score for an image of the person and the respective reference image and maintaining blobs of images of the persons on the watch list stored on different partition servers.
-
-
21. At least one non-transitory computer-readable storage medium encoded with executable instructions that, when executed by at least one processor, cause the at least one processor to perform operations comprising:
-
managing, in a database storage and for each of a plurality of reference images, a) data for persons on a watch list using similarity scores for the respective reference image that represent, for each of the persons on the watch list, a similarity between the respective reference image and an image of the person and b) associations to biometric data for the persons on the watch list; accessing an image of a potential suspect; determining at least one criterion relevant to the image of the potential suspect based on at least one of sensor or camera data; selecting, as a reference image, a single reference image from among the plurality of reference images based on the at least one criterion; computing a similarity score that represents a similarity between the image of the potential suspect and the selected reference image based on selecting the single reference image; searching the watch list using the computed similarity score and the selected reference image; identifying, using a result of the search of the watch list using the computed similarity score, a subset of persons on the watch list each having a similarity score within a threshold of the computed similarity score for the selected reference image; determining whether the potential suspect matches a person in the subset of the persons on the watch list; and outputting a result based on determining whether the potential suspect matches a person in the subset of the persons on the watch list. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55)
-
39. The computer-readable storage medium of claim 21, wherein managing, for each of the plurality of reference images, a) the data for the persons on the watch list using the similarity scores for the respective reference image and b) associations to biometric data for the persons on the watch list comprises maintaining, for each of the plurality of reference images, numeric index values for the persons on the watch list using a similarity score for an image of the person and the respective reference image and maintaining blobs of images of the persons on the watch list stored on different partition servers.
-
40. The computer-readable storage medium of claim 21, wherein managing, for each of the plurality of reference images, a) the data for the persons on the watch list using the similarity scores for the respective reference image and b) associations to biometric data for the persons on the watch list comprises:
-
creating, in a relational database storage, a table for the watch list; accessing biometric data for a person to be included on the watch list; determining, for each person on the watch list and for each of the plurality of reference images, an index value from the accessed biometric data for the person and that represents a similarity score for the respective reference image and an image of the person; storing, for each person on the watch list and for each of the plurality of references images, the index value with an identifier for the person at an appropriate location in the table; determining, for each person on the watch list, whether blob data for the accessed biometric data of the person meets a threshold storage size; and based on determining whether the blob data for the accessed biometric data of the person meets the threshold storage size, performing one of; for each person on the watch list for which the blob data for the accessed biometric data of the person does not meet the threshold storage size, storing the blob data in the table with an identifier for the person, or for each person on the watch list for which the blob data for the accessed biometric data of the person meets the threshold storage size, storing the blob data in non-relational storage and storing a link to the blob data in the table with the identifier.
-
-
41. The computer-readable storage medium of claim 21, wherein the operations further comprise:
for each of the plurality of reference images; comparing, for each of a plurality of images of persons on the watch list, the reference image with the image; and determining, for each of the plurality of images of the persons on the watch list, the similarity score that represents a similarity between the reference image and the image based on comparing the reference image with the image.
-
42. The computer-readable storage medium of claim 21, wherein the operations further comprise:
evaluating distribution of similarity scores in the watch list, wherein selecting, as the reference image, the single reference image from among the plurality of reference images based on the at least one criterion comprises selecting, as the reference image, the single reference image from among the plurality of reference images based on the at least one criterion and evaluating the distribution of similarity scores in the watch list.
-
43. The computer-readable storage medium of claim 21, wherein identifying the subset of the persons on the watch list each having a similarity score within a threshold of the computed similarity score for the selected reference image comprises:
-
determining a quality measure for the image of the potential suspect and the images of the persons on the watch list; setting a score threshold based on the determined quality measure for the image of the potential suspect and the images of the persons on the watch list; and identifying a subset of the persons on the watch list each having a similarity score within the set score threshold of the computed similarity score for the selected reference image.
-
-
44. The computer-readable storage medium of claim 21, wherein identifying the subset of the persons on the watch list each having a similarity score within a threshold of the computed similarity score for the selected reference image comprises:
-
determining a number of matches within a set of matches representative of the subset of the persons on the watch list; determining whether the number of matches within the set of matches is within a match threshold; and based on determining whether the number of matches within the set of matches is within the match threshold, performing one of; in response to determining that the number of matches within the set of matches is within the match threshold, using the set of matches as the subset of the persons on the watch list for which to perform additional processing, or in response to determining that the number of matches within the set of matches is not within the match threshold; selecting a new reference image that is different than the selected reference image; identifying a new set of matches within the score threshold for the selected new reference image; and using at least a portion of the new set of matches as the subset of the persons on the watch list.
-
-
45. The computer-readable storage medium of claim 44, wherein using at least the portion of the new set of matches as the subset of the persons on the watch list comprises:
-
determining a set of common matches that includes matches which are in both a) the set of matches and b) the new set of matches; determining a number of matches within the set of common matches; determining whether the number of matches within the set of common matches is within a match threshold; and based on determining whether the number of matches within the set of common matches is within the match threshold, performing one of; based on determining that the number of matches within the set of common matches is within the match threshold, using the matches in the set of common matches as the subset of the persons on the watch list for which to perform additional processing, or based on determining that the number of matches within the set of common matches is not within the match threshold, continuing to narrow potential matches using an additional reference image.
-
-
46. The computer-readable storage medium of claim 21, wherein:
-
accessing the image of the potential suspect comprises accessing two or more images of the potential suspect; and the operations further comprise; controlling parallel pre-processing of the two or more images of the potential suspect to enhance a quality of each of the two or more images; and based on the parallel pre-processing, determining an image of the potential suspect to use in computing the similarity score that represents similarity between the image of the potential suspect and the selected reference image, wherein computing the similarity score that represents similarity between the image of the potential suspect and the selected reference image comprises computing the similarity score that represents similarity between the determined image of the potential suspect and the selected reference image.
-
-
47. The computer-readable storage medium of claim 46, wherein:
-
determining at least one criterion relevant to the image of the potential suspect based on at least one of sensor or camera data comprises determining at least one criterion relevant to the two or more images of the potential suspect based on at least one of sensor or camera data; and controlling parallel pre-processing of the two or more images of the potential suspect to enhance a quality of each of the two or more images comprises; selecting a number of images of the potential suspect to use in the parallel pre-processing based on the at least one criterion; and controlling the parallel pre-processing of the selected number of images of the potential suspect.
-
-
48. The computer-readable storage medium of claim 46, wherein:
-
determining at least one criterion relevant to the image of the potential suspect based on at least one of sensor or camera data comprises determining at least one criterion relevant to the two or more images of the potential suspect based on at least one of sensor or camera data; and controlling parallel pre-processing of the two or more images of the potential suspect to enhance a quality of each of the two or more images comprises; selecting types of operations to perform in the parallel pre-processing based on the at least one criterion; and controlling the parallel pre-processing of the two or more images of the potential suspect using the selected types of operations to perform in the parallel pre-processing.
-
-
49. The computer-readable storage medium of claim 46, wherein:
-
determining at least one criterion relevant to the image of the potential suspect based on at least one of sensor or camera data comprises determining at least one criterion relevant to the two or more images of the potential suspect based on at least one of sensor or camera data; and controlling parallel pre-processing of the two or more images of the potential suspect to enhance a quality of each of the two or more images comprises; selecting a number images of the potential suspect to use in the parallel pre-processing based on the at least one criterion; selecting types of operations to perform in the parallel pre-processing based on the at least one criterion; and controlling the parallel pre-processing of the selected number of images of the potential suspect using the selected types of operations to perform in the parallel pre-processing.
-
-
50. The computer-readable storage medium of claim 21, wherein the operations further comprise:
-
determining a context of a situation associated with the image of the potential suspect; setting a batch size based on the determined context of the situation; selecting a batch of images from the subset of the persons on the watch list based on the batch size; controlling parallel analysis of the image of the potential suspect against the batch of images; and controlling parallel analysis of the image of the potential suspect against additional batches of images until images of all the persons in the subset of the persons on the watch list have been analyzed, wherein determining whether the potential suspect matches a person in the subset of the persons on the watch list comprises determining whether the potential suspect matches a person in the subset of the persons on the watch list using a result of the controlled parallel analysis of the image of the potential suspect against the batches of images from the subset of the persons on the watch list.
-
-
51. The computer-readable storage medium of claim 21, wherein the operations further comprise:
-
determining a criticality of a situation associated with the image of the potential suspect; setting a batch size based on the determined criticality of the situation; selecting a batch of images from the subset of the persons on the watch list based on the batch size; controlling parallel analysis of the image of the potential suspect against the batch of images; and controlling the parallel analysis of the image of the potential suspect against additional batches of images until images of all persons in the subset of the persons on the watch list have been analyzed, wherein determining whether the potential suspect matches a person in the subset of the persons on the watch list comprises determining whether the potential suspect matches a person in the subset of the persons on the watch list using a result of the controlled parallel analysis of the image of the potential suspect against the batches of images from the subset of the persons on the watch list.
-
-
52. The computer-readable storage medium of claim 21, wherein the operations further comprise:
-
determining a context of a situation associated with the image of the potential suspect; determining a criticality of a situation associated with the image of the potential suspect; setting a batch size based on the determined context of the situation and the determined criticality of the situation; selecting a batch of images from the subset of the persons on the watch list based on the batch size; controlling parallel analysis of the image of the potential suspect against the batch of images; and controlling parallel analysis of the image of the potential suspect against additional batches of images until images of all persons in the subset of the persons on the watch list have been analyzed, wherein determining whether the potential suspect matches a person in the subset of the persons on the watch list comprises determining whether the potential suspect matches a person in the subset of the persons on the watch list using a result of the controlled parallel analysis of the image of the potential suspect against the batches of images from the subset of the persons on the watch list.
-
-
53. The computer-readable storage medium of claim 21, wherein determining whether the potential suspect matches a person in the subset of the persons on the watch list comprises:
-
determining a number of unprocessed persons in the subset of the persons on the watch list for which the image of the potential suspect has not been compared to an image of the person; determining whether the number of unprocessed persons in the subset of the persons on the watch list is greater than a batch size; and in response to determining that the number of unprocessed persons in the subset is less than or equal to the batch size and for at least some potential suspects, performing a comparison of the image of the potential suspect against all remaining unprocessed persons in the subset of the persons on the watch list, wherein determining whether the potential suspect matches a person in the subset of the persons on the watch list comprises determining whether the potential suspect matches a person in the subset of the persons on the watch list using a result the performance of the comparison of the image of the potential suspect against all remaining unprocessed persons in the subset of the persons on the watch list.
-
-
54. The computer-readable storage medium of claim 53, wherein the operations further comprise:
-
for at least some potential suspects, selecting a batch of persons from the subset of the persons on the watch list in response to determining that the number of unprocessed persons in the subset is greater than the batch size; performing a comparison of the image of the potential suspect against all persons in the selected batch of persons; determining whether a match is found within the selected batch using a result of the comparison of the image of the potential suspect against all persons in the selected batch; and based on determining whether the match is found within the selected batch using the result of the comparison of the image of the potential suspect against all persons in the selected batch, performing one of; in response to determining that a match is found within the selected batch, ending processing and outputting the match, or in response to determining that a match is not found within the selected batch, processing one or more additional batches of images in parallel until all of the subset of the persons on the watch list have been processed or a match is found.
-
-
55. The computer-readable storage medium of claim 21, wherein the operations further comprise:
-
identifying a person of interest from the watch list; determining a profile for the identified person of interest from the watch list; accessing one or more images of a crowd that includes multiple potential suspects; comparing the profile for the identified person of interest from the watch list to profiles of the multiple potential suspects included in the one or more images of the crowd; and selecting, from among the multiple potential suspects included in the one or more images of the crowd, the potential suspect for further processing based on determining, in response to comparing the profile for the identified person of interest from the watch list to profiles of the multiple potential suspects included in the one or more images of the crowd, that the profile for the identified person of interest from the watch list matches a profile of the potential suspect, wherein accessing the image of the potential suspect, identifying the subset of the persons from the watch list, determining whether the potential suspect matches a person in the subset of the persons on the watch list, and outputting the result based on determining whether the potential suspect matches a person in the subset of the persons on the watch list are conditioned on the selection of the potential suspect for further processing.
-
-
39. The computer-readable storage medium of claim 21, wherein managing, for each of the plurality of reference images, a) the data for the persons on the watch list using the similarity scores for the respective reference image and b) associations to biometric data for the persons on the watch list comprises maintaining, for each of the plurality of reference images, numeric index values for the persons on the watch list using a similarity score for an image of the person and the respective reference image and maintaining blobs of images of the persons on the watch list stored on different partition servers.
-
Specification
- Resources
-
Current AssigneeAccenture Global Services Limited (Accenture PLC)
-
Original AssigneeAccenture Global Services Limited (Accenture PLC)
-
InventorsTiwari, Abhinav, Paul, Sanjoy
-
Granted Patent
-
Time in Patent OfficeDays
-
Field of Search
-
US Class Current1/1
-
CPC Class CodesG06F 16/532 Query formulation, e.g. gra...G06F 16/5838 using colourG06F 16/5854 using shape and object rela...G06F 18/22 Matching criteria, e.g. pro...G06F 18/23 Clustering techniquesG06V 10/28 Quantising the image, e.g. ...G06V 20/52 Surveillance or monitoring ...G06V 30/242 Division of the character s...G06V 30/244 using graphical properties,...G06V 40/10 Human or animal bodies, e.g...G06V 40/161 Detection; Localisation; No...G06V 40/172 Classification, e.g. identi...G06V 40/70 Multimodal biometrics, e.g....