# US 12,182,895 B2 · Neural network based identification document processing system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,182,895 B2
- Document ID: US12182895B2
- Status: Granted
- Kind: B2
- Application number: 17/948,068
- Filed: 2022-09-19
- Published: 2023-01-12
- Granted: 2024-12-31
- Earliest claimed: 2019-03-27
- Assignees: Uber Technologies, Inc.
- Applicants: Uber Technologies, Inc.
- Inventors: Tao Luo; Chuang Wu; Jinxue Zhang; Xiaoxiang Ren; Chandan Sheth; Zihe Liu
- Web page: https://patentgrep.com/patent/US12182895B2

## CPC

- G06Q 50/265: {Personal security, identity or safety}
- G06F 18/2178: {based on feedback of a supervisor}
- G06F 18/22: Matching criteria, e.g. proximity measures
- G06N 3/04: Architecture, e.g. interconnection topology
- G06N 3/045: Combinations of networks
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/08: Learning methods
- G06N 3/084: Backpropagation, e.g. using gradient descent
- G06N 3/09: Supervised learning
- G06T 3/02: Affine transformations (for image registration G06T3/147; for image mosaicing G06T3/4038)
- G06V 10/82: using neural networks
- G06V 30/19173: {Classification techniques}
- G06V 30/413: Classification of content, e.g. text, photographs or tables
- G06V 40/172: {Classification, e.g. identification}
- H04L 67/306: User profiles
- G06N 5/022: Knowledge engineering; Knowledge acquisition
- G06N 20/00: Machine learning
- G06V 10/247: {by affine transforms, e.g. correction due to perspective effects; Quadrilaterals, e.g. trapezoids}
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system processes images of documents, for example, identification documents. The system transforms an image of a document to generate an image that represent the document in a canonical form. For example, if the input image has a document that is tilted at an angle with respect to the sides of the image, the system modifies the orientation of the document to show the document having sides aligned with the sides of the image. The system stores user accounts that include user information including images. The system generates a graph of nodes that represent user accounts with edges determined based on similarity scores between user accounts. The system determines connected components of user accounts, such that each connected component represents user accounts that have a high likelihood of being duplicates.

## Claims

### Claim 1

A computer-implemented method for identifying duplicate user accounts comprising:
receiving a plurality of user accounts, each user account associated with both text data and image data;
for each of a plurality of pairs of user accounts, the pair of user accounts comprising a first user account and a second user account, determining a similarity score indicative of similarity between the first user account and the second user account, wherein the similarity score is determined based on processing text data and image data associated with the first user account and the second user account;
determining an initial threshold similarity score, wherein the initial threshold similarity score is indicative of a particular degree of similarity between user accounts;
determining a graph comprising nodes and edges, wherein each node represents a user account, and a pair of nodes has an edge if the similarity score of the pair of nodes indicates a greater degree of similarity than that indicated by the initial threshold similarity score;
repeating for a plurality of iterations, wherein each iteration has a threshold similarity score different from a threshold similarity score in a previous iteration, each of the plurality of iterations comprising following steps:
modifying the threshold similarity score for a current iteration to a value indicative of a higher degree of similarity between user accounts compared to the threshold similarity score for a previous iteration; and
modifying edges of the graph by pruning edges from a previous iteration of the graph that connect pairs of nodes with similarity scores below the modified threshold similarity score;
responsive to repeating the steps for the plurality of iterations, identifying one or more subgraphs within the graph, each including connected nodes, each identified subgraph representing a set of user accounts associated with a particular user; and
transmitting information describing the set of user accounts associated with the particular user.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein each iteration further comprises:
responsive to modifying the threshold similarity score, removing one or more edges with a similarity score indicative of a degree of similarity less than the modified threshold similarity score.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein each user account is associated with an image, and wherein determining similarity scores between a pair of user accounts comprises performing facial recognition on the images and comparing results of facial recognition for the pair of user accounts.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein each user account is associated with text, and wherein determining similarity scores between a pair of user accounts comprises comparing text associated with each of the user accounts of the pair.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the iterations are repeated until a current iteration determines a set of one or more connected components that are identical to the one or more connected components determined by a previous iteration.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, further comprising:
disabling one or more accounts associated with nodes of at least one of the one or more identified subgraphs.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, further comprising:
sending a message to at least one of the user accounts associated with nodes of at least one of the one or more identified subgraphs.

### Claim 8

A non-transitory computer-readable storage medium comprising instructions executable by a processor, the instructions comprising:
instructions for receiving a plurality of user accounts, each user account associated with both text data and image data;
for each of a plurality of pairs of user accounts, the pair of user accounts comprising a first user account and a second user account, instructions for determining a similarity score indicative of similarity between the first user account and the second user account, wherein the similarity score is determined based on processing text data and image data associated with the first user account and the second user account;
instructions for determining an initial threshold similarity score, wherein the initial threshold similarity score is indicative of a particular degree of similarity between user accounts;
instructions for determining a graph comprising nodes and edges, wherein each node represents a user account, and a pair of nodes has an edge if the similarity score of the pair of nodes indicates a greater degree of similarity than that indicated by the initial threshold similarity score;
instructions for repeating for a plurality of iterations, wherein each iteration has a threshold similarity score different from a threshold similarity score in a previous iteration, each of the plurality of iterations comprising following steps:
instructions for modifying the threshold similarity score for a current iteration to a value indicative of a higher degree of similarity between user accounts compared to the threshold similarity score for a previous iteration; and
instructions for modifying edges of the graph by pruning edges from a previous iteration of the graph that connect pairs of nodes with similarity scores below the modified threshold similarity score;
responsive to repeating the steps for the plurality of iterations, instructions for identifying one or more subgraphs within the graph, each including connected nodes, each identified subgraph representing a set of user accounts associated with a particular user; and
instructions for transmitting information describing the set of user accounts associated with the particular user.

### Claim 9 (depends on 8)

The non-transitory computer-readable storage medium of claim 8, wherein the instructions for each iteration further comprise:
responsive to modifying the threshold similarity score, instructions for removing one or more edges with a similarity score indicative of a degree of similarity less than the modified threshold similarity score.

### Claim 10 (depends on 8)

The non-transitory computer-readable storage medium of claim 8, wherein each user account is associated with an image, and wherein determining similarity scores between a pair of user accounts comprises performing facial recognition on the images and comparing results of facial recognition for the pair of user accounts.

### Claim 11 (depends on 8)

The non-transitory computer-readable storage medium of claim 8, wherein each user account is associated with text, and wherein the instructions for determining similarity scores between a pair of user accounts comprise instructions for comparing text associated with each of the user accounts of the pair.

### Claim 12 (depends on 8)

The non-transitory computer-readable storage medium of claim 8, wherein the iterations are repeated until a current iteration determines a set of one or more connected components that are identical to the one or more connected components determined by a previous iteration.

### Claim 13 (depends on 8)

The non-transitory computer-readable storage medium of claim 8, the instructions further comprising:
instructions for disabling one or more accounts associated with nodes of at least one of the one or more identified subgraphs.

### Claim 14 (depends on 8)

The non-transitory computer-readable storage medium of claim 8, the instructions further comprising:
instructions for sending a message to at least one of the user accounts associated with nodes of at least one of the one or more identified subgraphs.

### Claim 15

A computer system comprising:
a computer processor; and
a non-transitory computer-readable storage medium storing instructions that when executed by the computer processor perform actions comprising:
receiving a plurality of user accounts, each user account associated with both text data and image data;
for each of a plurality of pairs of user accounts, the pair of user accounts comprising a first user account and a second user account, determining a similarity score indicative of similarity between the first user account and the second user account, wherein the similarity score is determined based on processing text data and image data associated with the first user account and the second user account;
determining an initial threshold similarity score, wherein the initial threshold similarity score is indicative of a particular degree of similarity between user accounts;
determining a graph comprising nodes and edges, wherein each node represents a user account, and a pair of nodes has an edge if the similarity score of the pair of nodes indicates a greater degree of similarity than that indicated by the initial threshold similarity score;
repeating for a plurality of iterations, wherein each iteration has a threshold similarity score different from a threshold similarity score in a previous iteration each of the plurality of iterations comprising following steps:
modifying the threshold similarity score for a current iteration to a value indicative of a higher degree of similarity between user accounts compared to the threshold similarity score for a previous iteration; and
modifying edges of the graph by pruning edges from a previous iteration of the graph that connect pairs of nodes with similarity scores below the modified threshold similarity score;
responsive to repeating the steps for the plurality of iterations, identifying one or more subgraphs within the graph, each including connected nodes, each identified subgraph representing a set of user accounts associated with a particular user; and
transmitting information describing the set of user accounts associated with the particular user.

### Claim 16 (depends on 15)

The computer system of claim 15, wherein the actions for each iteration further comprise:
responsive to modifying the threshold similarity score, removing one or more edges with a similarity score indicative of a degree of similarity less than the modified current threshold similarity score.

### Claim 17 (depends on 15)

The computer system of claim 15, wherein each user account is associated with an image, and wherein determining similarity scores between a pair of user accounts comprises performing facial recognition on the images and comparing results of facial recognition for the pair of user accounts.

### Claim 18 (depends on 15)

The computer system of claim 15, wherein each user account is associated with text, and wherein determining similarity scores between a pair of user accounts comprises comparing text associated with each of the user accounts of the pair.

### Claim 19 (depends on 15)

The computer system of claim 15, wherein the iterations are repeated until a current iteration determines a set of one or more connected components that are identical to the one or more connected components determined by a previous iteration.

### Claim 20 (depends on 15)

The computer system of claim 15, the actions further comprising:
disabling one or more accounts associated with nodes of at least one of the one or more identified subgraphs.
