IP Library › Granted Patent US 10,853,630
Granted Patent B2
US 10,853,630 · App. 16/404,386 · Granted Dec 1, 2020

Methods and apparatus for biometric verification

Inventors: James Trani (Albuquerque, NM); David Douglas Dunlap (Leawood, KS)
Assignee: Stone Lock Global, Inc.
G06K9/00288
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,853,630
App. No.
16/404,386
Granted
Dec 1, 2020
Kind
B2
Abstract

Aspects of the present disclosure include methods for generating a sampled profile including a plurality of sampling points having a plurality of characteristic values associated with the detected non-visible light, identifying one or more macroblocks each includes a subset of the plurality of sampling points, calculating a number of occurrences of the local pattern value within each subset of the plurality of the sampling points for each of the one or more macroblocks, generating a first array including a plurality of weighted values by calculating the plurality of weighted values based on the numbers of occurrences of the local pattern value and corresponding sizes of the one or more macroblocks, assigning a unique index to each of the plurality of weighted values, generating a second array of the unique index by ranking the plurality of weighted values, and generating a third array including a plurality of ranking distances.

Claims (64)

1. A method of biometric identification, comprising:

receiving a biometric template of a user from an edge capture device (ECD), the ECD obtains the biometric template by:

generating a plurality of sampled profiles of a user each including a plurality of sampling points, wherein each sampling point includes a characteristic value;

identifying one or more macroblocks, wherein each macroblock includes a coordinate and a subset of the plurality of sampling points;

selecting a plurality of local pattern values;

for each of the plurality of local pattern values:

calculate a number of occurrences of the local pattern value within each subset of the plurality of the sampling points for each of the one or more macroblocks,

generate a first array including a plurality of weighted values, wherein each of the plurality of weighted values is calculated by dividing the corresponding number of occurrences of the local pattern value by a size of a corresponding macroblock of the one or more macroblocks,

assign a unique index to each of the plurality of weighted values,

generating a second array of the unique indices by ranking the unique indices based on an associated weighted value, and

generate a third array including a plurality of ranking distances between a highest weighted value of the plurality of weighted values and each weighted value of the plurality of weighted values;

constructing a biometric template of the user based on the third array and the coordinates of each of the plurality of local pattern values; and

generating a binary tree associated with the user by sorting the plurality of local pattern values into a plurality of nodes of the binary tree, wherein a first local pattern value of the plurality of local pattern values having a lowest number of occurrences is sorted to a root node of the binary tree and a second local pattern value of the plurality of local pattern values having a second number of occurrences higher than the lowest number of occurrences is sorted to a leaf node of the binary tree.

2. The method of claim 1 , wherein each of the plurality of local pattern values includes an associated composite value.

3. The method of claim 2 , wherein the composite value is derived from an average local pattern coherence across the plurality of sampled profiles, a standard deviation of the average local pattern coherence and the plurality of local pattern values.

4. The method of claim 1 , further comprises comparing the binary tree associated with the user with a plurality of binary trees to detect a collision after an enrollment process of the user.

5. The method of claim 4 , further comprises, in response to detecting the collision, notifying an administrator about the collision.

6. The method of claim 4 , wherein detecting the collision further comprises detecting an overlap of features between the biometric template of the user and another biometric template of another user.

7. The method of claim 1 , further comprises comparing the binary tree of the user with a plurality of binary trees to detect a positive match.

8. The method of claim 7 , wherein detecting the positive match further comprises:

calculating differences between each node of the binary tree of the user and a corresponding node of a stored binary tree of the plurality of binary trees;

aggregating the differences into an aggregate value; and

determining the positive match when the aggregate value is at least one of lowest aggregate values associated with the binary tree of the user and the plurality of binary trees.

9. A gateway, comprising:

a memory that stores a plurality of binary trees;

a communication interface a processor operatively coupled with the memory and the communication interface, the processor is configured to:

receive, via the communication interface, a biometric template of a user from an edge capture device (ECD), the ECD obtains the biometric template by:

generating a plurality of sampled profiles of a user each including a plurality of sampling points, wherein each sampling point includes a characteristic value;

identifying one or more macroblocks, wherein each macroblock includes a coordinate and a subset of the plurality of sampling points;

selecting a plurality of local pattern values;

for each of the plurality of local pattern values:

calculate a number of occurrences of the local pattern value within each subset of the plurality of the sampling points for each of the one or more macroblocks,

generate a first array including a plurality of weighted values, wherein each of the plurality of weighted values is calculated by dividing the corresponding number of occurrences of the local pattern value by a size of a corresponding macroblock of the one or more macroblocks,

assign a unique index to each of the plurality of weighted values,

generating a second array of the unique indices by ranking the unique indices based on an associated weighted value, and

generate a third array including a plurality of ranking distances between a highest weighted value of the plurality of weighted values and each weighted value of the plurality of weighted values;

constructing the biometric template of the user based on the third array and the coordinates of each of the plurality of local pattern values; and

generate a binary tree associated with the user by sorting the plurality of local pattern values into a plurality of nodes of the binary tree, wherein a first local pattern value of the plurality of local pattern values having a lowest number of occurrences is sorted to a root node of the binary tree and a second local pattern value of the plurality of local pattern values having a second number of occurrences higher than the lowest number of occurrences is sorted to a leaf node of the binary tree.

10. The gateway of claim 9 , wherein each of the plurality of local pattern values includes an associated composite value.

11. The gateway of claim 10 , wherein the composite value is derived from an average local pattern coherence across the plurality of sampled profiles, a standard deviation of the average local pattern coherence and the plurality of local pattern values.

12. The gateway of claim 9 , wherein the processor is further configured to compare the binary tree associated with the user with a plurality of binary trees to detect a collision after an enrollment process of the user.

13. The gateway of claim 12 , wherein the processor is further configured to, in response to detecting the collision, notify an administrator about the collision.

14. The gateway of claim 12 , wherein detecting the collision further comprises detecting an overlap of features between the biometric template of the user and another biometric template of another user.

15. The gateway of claim 9 , wherein the processor is further configured to compare the binary tree of the user with a plurality of binary trees to detect a positive match.

16. The method of claim 7 , wherein detecting the positive match further comprises:

calculating differences between each node of the binary tree of the user and a corresponding node of a stored binary tree of the plurality of binary trees;

aggregating the differences into an aggregate value; and

determining the positive match when the aggregate value is at least one of lowest aggregate values associated with the binary tree of the user and the plurality of binary trees.

17. A non-transitory computer readable medium having instructions stored therein that, when executed by one or more processors of a gateway, cause the one or more processors to:

receive a biometric template of a user from an edge capture device (ECD), the ECD obtains the biometric template by:

generating a plurality of sampled profiles of a user each including a plurality of sampling points, wherein each sampling point includes a characteristic value;

identifying one or more macroblocks, wherein each macroblock includes a coordinate and a subset of the plurality of sampling points;

selecting a plurality of local pattern values;

for each of the plurality of local pattern values:

calculate a number of occurrences of the local pattern value within each subset of the plurality of the sampling points for each of the one or more macroblocks,

generate a first array including a plurality of weighted values, wherein each of the plurality of weighted values is calculated by dividing the corresponding number of occurrences of the local pattern value by a size of a corresponding macroblock of the one or more macroblocks,

assign a unique index to each of the plurality of weighted values,

generating a second array of the unique indices by ranking the unique indices based on an associated weighted value, and

generate a third array including a plurality of ranking distances between a highest weighted value of the plurality of weighted values and each weighted value of the plurality of weighted values;

constructing the biometric template of the user based on the third array and the coordinates of each of the plurality of local pattern values; and

generate a binary tree associated with the user by sorting the plurality of local pattern values into a plurality of nodes of the binary tree, wherein a first local pattern value of the plurality of local pattern values having a lowest number of occurrences is sorted to a root node of the binary tree and a second local pattern value of the plurality of local pattern values having a second number of occurrences higher than the lowest number of occurrences is sorted to a leaf node of the binary tree.

18. The non-transitory computer readable medium of claim 17 , wherein each of the plurality of local pattern values includes an associated composite value derived from an average local pattern coherence across the plurality of sampled profiles, a standard deviation of the average local pattern coherence and the plurality of local pattern values.

19. The non-transitory computer readable medium of claim 17 , further comprises instructions that, when executed by the one or more processors of a gateway, cause the one or more processors to compare the binary tree associated with the user with a plurality of binary trees to detect, after an enrollment process of the user, an overlap of features between the biometric template of the user and another biometric template of another user.

20. The non-transitory computer readable medium of claim 17 , further comprises instructions that, when executed by the one or more processors of a gateway, cause the one or more processors to compare the binary tree of the user with a plurality of binary trees to detect a positive match.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2025
From: STONE LOCK GLOBAL, INC.
To: IDENTITYCARE, INC.
Reel/Frame 072021/0760 →
CHANGE OF ADDRESS Recorded Sep 24, 2020
From: STONE LOCK GLOBAL, INC.
To: STONE LOCK GLOBAL, INC.
Reel/Frame 053877/0028 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2020
From: TRANI, JAMES; DUNLAP, DAVID DOUGLAS
To: STONE LOCK GLOBAL, INC.
Reel/Frame 053777/0532 →
Continuity (7)
Continuation In Part 16297351 · Mar 8, 2019
Continuation In Part 16104826 · Aug 17, 2018
Continuation In Part 15649144 · Jul 13, 2017
Continuation 14022080 · Sep 9, 2013
Provisional Application 61792922 · Mar 15, 2013
Provisional Application 61698347 · Sep 7, 2012
Related Publication 20200257893A1 · Aug 13, 2020