# US 10,311,288 B1 · Determining identity of a person in a digital image

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

- Number: US 10,311,288 B1
- Document ID: US10311288B1
- Status: Granted
- Kind: B1
- Application number: 15/468,757
- Filed: 2017-03-24
- Granted: 2019-06-04
- Earliest claimed: 2017-03-24
- Assignees: Stripe, Inc.
- Applicants: Stripe, Inc.
- Inventors: Pranav Dandekar; Ashish Goel; Peter Lofgren; Matthew Fisher
- Web page: https://patentgrep.com/patent/US10311288B1

## CPC

- G06F 16/583: using metadata automatically derived from the content
- G06V 10/77: Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06F 18/24323: {Tree-organised classifiers}
- G06V 10/7625: {Hierarchical techniques, i.e. dividing or merging patterns to obtain a tree-like representation; Dendograms}
- G06V 10/764: using classification, e.g. of video objects
- G06V 10/7715: {Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods}
- G06V 20/30: in albums, collections or shared content, e.g. social network photos or video
- G06V 40/165: {using facial parts and geometric relationships}
- G06V 40/172: {Classification, e.g. identification}
- G06F 16/51: Indexing; Data structures therefor; Storage structures
- G06F 18/214: Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

Aspects of the current disclosure include systems and methods for identifying a person in a query image by comparing the query image with digital images in a face database. In embodiments, a query feature vector may be extracted from the query image and a set of candidate feature vectors may be extracted from a set of images in the face database. In embodiments, the distances between the query feature vector and the candidate feature vectors are calculated. A feature vector, which includes a set of shortest distances among the calculated distances and a distribution of the set of shortest distances, may be generated. In embodiments, the feature vector is input to a trained decision tree to determine whether the person in the query image is the same person associated with one of the set of shortest distances.

## Claims

### Claim 1

A method for detecting whether a person associated with a query image is a same person associated with another image in a set of images, the method comprising:
generating a query feature vector for a query image, the query feature vector including features extracted from the query image;
determining a distance between the query feature vector and each of a set of candidate feature vectors that correspond to the set of images;
selecting a set of shortest distances among the determined distances;
generating a feature vector comprising the set of shortest distances and a distribution of the set of shortest distances;
inputting the feature vector to a trained model to obtain a match probability value; and
responsive to the match probability value exceeding a threshold value, determining the person associated with the query image is the same person associated with an image corresponding to the candidate feature vector that has the shortest distance among the set of shortest distances.

### Claim 2 (depends on 1)

The method of claim 1, wherein the step of generating a query feature vector comprises:
generating an original feature vector that includes one or more features extracted from the query image; and
converting the original feature vector into the query feature vector by reducing a dimension of the original feature vector.

### Claim 3 (depends on 2)

The method of claim 2, wherein the step of converting the original feature vector comprises inputting the original feature vector to a principal component analysis (PCA) map to obtain the query feature vector.

### Claim 4 (depends on 1)

The method of claim 1, further comprising, prior to the step of determining a distance:
reducing a search space comprising a plurality of feature vectors to get the set of candidate feature vectors.

### Claim 5 (depends on 4)

The method of claim 4, wherein the step of reducing a search space comprises:
using an index parameter associated with the query image, selecting the set of candidate feature vectors among the plurality of feature vectors.

### Claim 6 (depends on 1)

The method of claim 1, wherein the set of images are included in a social networking service (SNS).

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
training the model using a set of feature vectors that correspond to a set of images associated with persons having known identities.

### Claim 8

A system for detecting whether a person associated with a query image is a same person associated with another image in a set of images, the system comprising:
one or more processors;
a database for storing the set of images and coupled to the one or more processors;
a face identifier communicatively coupled to the one or more processors and configured to:
generate a query feature vector for a query image, the query feature vector including features extracted from the query image;
determine a distance between the query feature vector and each of a set of candidate feature vectors that correspond to the set of images;
select a set of shortest distances among the determined distances;
generate a feature vector comprising the set of shortest distances and a distribution of the set of shortest distances;
input the feature vector to a trained model to obtain a match probability value; and
responsive to the match probability value exceeding a threshold value, determine the person associated with the query image is the same person associated with an image corresponding to the candidate feature vector that has the shortest distance among the set of shortest distances.

### Claim 9 (depends on 8)

The system of claim 8, wherein the face identifier is further configured to generate an original feature vector that includes one or more features extracted from the query image and convert the original feature vector into the query feature vector by reducing a dimension of the original feature vector.

### Claim 10 (depends on 9)

The system of claim 9, wherein the face identifier uses a principal component analysis (PCA) map to convert the original feature vector into the query feature vector.

### Claim 11 (depends on 8)

The system of claim 8, wherein the face identifier comprises a filter that reduces a search space comprising a plurality of feature vectors to get the set of candidate feature vectors.

### Claim 12 (depends on 11)

The system of claim 11, wherein the filter comprises a prefilter that uses an index parameter associated with the query image to select the set of candidate feature vectors among the plurality of feature vectors.

### Claim 13 (depends on 11)

The system of claim 11, wherein the filter uses one or more k-d trees to select the set of candidate feature vectors among the plurality of feature vectors.

### Claim 14 (depends on 8)

The system of claim 8, wherein a distribution of the set of shortest distances comprises one or more ratios between the set of shortest distances.

### Claim 15

A non-transitory computer-readable medium or media comprising a set of instructions for detecting whether a person associated with a query image in a first user profile on a first face database is a same person associated with a second image in a second user profile on a second face database, wherein execution of the set of instructions by one or more processors causes the one or more processors to perform the steps of:
generating a query feature vector for a query image in a first user profile on a first image database, the query feature vector including features extracted from the query image;
determining a distance between the query feature vector and each of a set of candidate feature vectors that correspond to a set of images on the second image database;
selecting a set of shortest distances among the determined distances;
generating a feature vector comprising the set of shortest distances and a distribution of the set of shortest distances;
inputting the feature vector to a trained model to obtain a match probability value; and
responsive to the match probability value exceeding a threshold value, determining the person associated with the query image is the same person associated with an image corresponding to the candidate feature vector that has the shortest distance among the set of shortest distances.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium or media of claim 15, wherein the step of generating a query feature vector comprises:
generating an original feature vector that includes one or more features extracted from the query image; and
converting the original feature vector into the query feature vector by reducing a dimension of the original feature vector.

### Claim 17 (depends on 16)

The non-transitory computer-readable medium or media of claim 16, wherein the step of converting the original feature vector comprises inputting the original feature vector to a principal component analysis (PCA) map to obtain the query feature vector.

### Claim 18 (depends on 15)

The non-transitory computer-readable medium or media of claim 15, wherein the execution of the set of instructions by one or more processors causes the one or more processors to perform the additional step of:
reducing a search space comprising a plurality of feature vectors to get the set of candidate feature vectors.

### Claim 19 (depends on 18)

The non-transitory computer-readable medium or media of claim 18, wherein the step of reducing a search space comprises:
using an index parameter associated with the query image, selecting the set of candidate feature vectors among the plurality of feature vectors.

### Claim 20 (depends on 18)

The non-transitory computer-readable medium or media of claim 18, wherein the step of reducing a search space comprises:
using one or more k-d trees, selecting the set of candidate images among the plurality of feature vectors.
