IP Library Granted Patent US 11,907,281
Granted Patent B2
US 11,907,281 · App. 17/166,023 · Granted Feb 20, 2024

Methods and systems for displaying relevant data based on analyzing electronic images of faces

Inventors: Andrew Hwang (Arlington, VA); Joseph Bergman (Arlington, VA); Alexander Tsai (Chantilly, VA)
Assignee: MICROSTRATEGY INCORPORATED
G06F16/532G06F18/22G06F18/40G06T3/40G06V10/945G06V10/993G06V40/161G06V40/172G06F3/0482
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 11,907,281
App. No.
17/166,023
Granted
Feb 20, 2024
Kind
B2
Abstract

Disclosed are methods, systems, and non-transitory computer-readable media for displaying relevant data based on facial recognition. The method may include displaying a graphic user interface (GUI) on a display of a user device for a face recognition search process, and determining whether a facial recognition user input has been received. In response to determining the facial recognition user input has been received, a request message may be generated, the request message include an image, and the request message may be transmitted to a facial recognition service. A response may be received from the facial recognition service, and the GUI may be updated to display one or more information cards based on the received response, the one or more information cards being associated with the image.

Claims (162)

1. A method for displaying relevant data based on analyzing electronic images for facial recognition, comprising:

displaying a graphic user interface (GUI) on a display of a user device for a face recognition search process;

determining whether a facial recognition user input has been received;

in response to determining the facial recognition user input has been received, generating a request message, the request message including an image;

formatting the image with a set ID, the set ID corresponding to an organization;

transmitting the request message to a facial recognition service;

receiving a response from the facial recognition service, the response being generated by the facial recognition service using a model selected based on the set ID extracted from the formatted image; and

updating the GUI to display one or more information cards based on the received response, the one or more information cards being associated with the image, the one or more information cards being dynamically adjusted based on user device actions associated with the user device.

2. The method of claim 1 , wherein the facial recognition user input is a user input on a launch element of the GUI launching a search process for the image, the image having been obtained from a camera application or a picture library of the user device as a search image associated with the launch element.

3. The method of claim 1 , wherein the facial recognition user input is a user input on a launch element of the GUI launching a search process for the image, the image having been obtained from a camera application or a picture library of the user device as a search image associated with the launch element,

wherein the generating the request message includes:

processing the search image.

4. The method of claim 1 , wherein the facial recognition user input is a user input on a launch element of the GUI launching a search process for the image, the image having been obtained from a camera application or a picture library of the user device as a search image associated with the launch element,

wherein the generating the request message includes:

processing the search image,

wherein the processing the search image includes determining whether the search image has a sufficient image quality, acceptable aspect ratio, and/or an acceptable data size.

5. The method of claim 1 , wherein the facial recognition user input is a user input on a launch element of the GUI launching a search process for the image, the image having been obtained from a camera application or a picture library of the user device as a search image associated with the launch element,

wherein the generating the request message includes:

processing the search image,

wherein the processing the search image includes determining whether the search image has a sufficient image quality, acceptable aspect ratio, and/or an acceptable data size,

wherein the processing the search image further comprises:

in response to determining that the search image does not having the sufficient image quality, rejecting the search image from the process and displaying an error on the GUI;

in response to determining that the search image does not having the acceptable aspect ratio, processing the search image into the acceptable aspect ratio by cropping the search image to the acceptable aspect ratio; and

in response to determining that the search image does not having the acceptable data size, processing the search image through a lossless or lossy compression algorithm to reduce a data size of the search image.

6. The method of claim 1 , wherein the facial recognition user input is a user input on a launch element of the GUI launching a search process for the image, the image having been obtained from a camera application or a picture library of the user device as a search image associated with the launch element,

wherein the generating the request message includes:

processing the search image,

wherein the processing the search image includes determining whether the search image has a sufficient image quality, acceptable aspect ratio, and/or an acceptable data size,

wherein the processing the search image further comprises:

in response to determining that the search image does not having the sufficient image quality, rejecting the search image from the process and displaying an error on the GUI;

in response to determining that the search image does not having the acceptable aspect ratio, processing the search image into the acceptable aspect ratio by cropping the search image to the acceptable aspect ratio; and

in response to determining that the search image does not having the acceptable data size, processing the search image through a lossless or lossy compression algorithm to reduce a data size of the search image,

wherein the response includes a face identification (ID) data structure,

the face ID data structure includes detected face(s) information and/or matching face(s) information,

the detected face(s) information indicates zero, one, or more detected face(s) in the search image and/or includes location and size information for each of the detected faces in the search image, and

the matching face(s) information includes, for each detected face of the one or more detected face(s), zero, one, or more matching faces and, for each of the one or more matching faces, a face ID and/or a confidence score.

7. The method of claim 1 , wherein the facial recognition user input is a user input on a launch element of the GUI launching a search process for the image, the image having been obtained from a camera application or a picture library of the user device as a search image associated with the launch element,

wherein the generating the request message includes:

processing the search image,

wherein the processing the search image includes determining whether the search image has a sufficient image quality, acceptable aspect ratio, and/or an acceptable data size,

wherein the processing the search image further comprises:

in response to determining that the search image does not having the sufficient image quality, rejecting the search image from the process and displaying an error on the GUI;

in response to determining that the search image does not having the acceptable aspect ratio, processing the search image into the acceptable aspect ratio by cropping the search image to the acceptable aspect ratio; and

in response to determining that the search image does not having the acceptable data size, processing the search image through a lossless or lossy compression algorithm to reduce a data size of the search image,

wherein the response includes a face identification (ID) data structure, the face ID data structure includes detected face(s) information and/or matching face(s) information,

the detected face(s) information indicates zero, one, or more detected face(s) in the search image and/or includes location and size information for each of the detected faces in the search image, and

the matching face(s) information includes, for each detected face of the one or more detected face(s), zero, one, or more matching faces and, for each of the one or more matching faces, a face ID and/or a confidence score,

wherein the updating the GUI to display one or more information cards based on the received response includes:

extracting the matching face(s) information from the face ID data structure;

for each detected face, extracting a face ID and/or confidence score for zero, one, or more matching faces from the matching face(s) information;

for each matching face, searching a locally-stored cache of face IDs for a cached match to the face ID;

in response to determining a cached matching face ID, retrieving an associated locally-stored entity ID to the cached matching face ID;

retrieving associated information card(s) based on the retrieved entity ID; and

displaying the retrieved information card(s) as the one or more information cards when the search image includes a matching face.

8. A system for displaying relevant data based on analyzing electronic images for facial recognition, the system comprising:

at least one memory storing instructions; and

at least one processor executing the instructions to perform operations, the operations including:

displaying a graphic user interface (GUI) on a display of a user device for a face recognition search process;

determining whether a facial recognition user input has been received;

in response to determining the facial recognition user input has been received, generating a request message, the request message including an image;

formatting the image with a set ID, the set ID corresponding to an organization;

transmitting the request message to a facial recognition service;

receiving a response from the facial recognition service, the response being generated by the facial recognition service using a model selected based on the set ID extracted from the formatted image; and

updating the GUI to display one or more information cards based on the received response, the one or more information cards being associated with the image, the one or more information cards being dynamically adjusted based on user device actions associated with the user device.

9. The system of claim 8 , wherein the facial recognition user input is a user input on a launch element of the GUI launching a search process for the image, the image having been obtained from a camera application or a picture library of the user device as a search image associated with the launch element.

10. The system of claim 8 , wherein the facial recognition user input is a user input on a launch element of the GUI launching a search process for the image, the image having been obtained from a camera application or a picture library of the user device as a search image associated with the launch element,

wherein the generating the request message includes:

processing the search image.

11. The system of claim 8 , wherein the facial recognition user input is a user input on a launch element of the GUI launching a search process for the image, the image having been obtained from a camera application or a picture library of the user device as a search image associated with the launch element,

wherein the generating the request message includes:

processing the search image,

wherein the processing the search image includes determining whether the search image has a sufficient image quality, acceptable aspect ratio, and/or an acceptable data size.

12. The system of claim 8 , wherein the facial recognition user input is a user input on a launch element of the GUI launching a search process for the image, the image having been obtained from a camera application or a picture library of the user device as a search image associated with the launch element,

wherein the generating the request message includes:

processing the search image, and

wherein the processing the search image includes determining whether the search image has a sufficient image quality, acceptable aspect ratio, and/or an acceptable data size,

wherein the processing the search image further comprises:

in response to determining that the search image does not having the sufficient image quality, rejecting the search image from the process and displaying an error on the GUI;

in response to determining that the search image does not having the acceptable aspect ratio, processing the search image into the acceptable aspect ratio by cropping the search image to the acceptable aspect ratio; and

in response to determining that the search image does not having the acceptable data size, processing the search image through a lossless or lossy compression algorithm to reduce a data size of the search image.

13. The system of claim 8 , wherein the facial recognition user input is a user input on a launch element of the GUI launching a search process for the image, the image having been obtained from a camera application or a picture library of the user device as a search image associated with the launch element,

wherein the generating the request message includes:

processing the search image,

wherein the processing the search image includes determining whether the search image has a sufficient image quality, acceptable aspect ratio, and/or an acceptable data size,

wherein the processing the search image further comprises:

in response to determining that the search image does not having the sufficient image quality, rejecting the search image from the process and displaying an error on the GUI;

in response to determining that the search image does not having the acceptable aspect ratio, processing the search image into the acceptable aspect ratio by cropping the search image to the acceptable aspect ratio; and

in response to determining that the search image does not having the acceptable data size, processing the search image through a lossless or lossy compression algorithm to reduce a data size of the search image, and

wherein the response includes a face identification (ID) data structure,

the face ID data structure includes detected face(s) information and/or matching face(s) information,

the detected face(s) information indicates zero, one, or more detected face(s) in the search image and/or includes location and size information for each of the detected faces in the search image, and

the matching face(s) information includes, for each detected face of the one or more detected face(s), zero, one, or more matching faces and, for each of the one or more matching faces, a face ID and/or a confidence score.

14. The system of claim 8 , wherein the facial recognition user input is a user input on a launch element of the GUI launching a search process for the image, the image having been obtained from a camera application or a picture library of the user device as a search image associated with the launch element,

wherein the generating the request message includes:

processing the search image,

wherein the processing the search image includes determining whether the search image has a sufficient image quality, acceptable aspect ratio, and/or an acceptable data size,

wherein the processing the search image further comprises:

in response to determining that the search image does not having the sufficient image quality, rejecting the search image from the process and displaying an error on the GUI;

in response to determining that the search image does not having the acceptable aspect ratio, processing the search image into the acceptable aspect ratio by cropping the search image to the acceptable aspect ratio; and

in response to determining that the search image does not having the acceptable data size, processing the search image through a lossless or lossy compression algorithm to reduce a data size of the search image,

wherein the response includes a face identification (ID) data structure,

the face ID data structure includes detected face(s) information and/or matching face(s) information,

the detected face(s) information indicates zero, one, or more detected face(s) in the search image and/or includes location and size information for each of the detected faces in the search image, and

the matching face(s) information includes, for each detected face of the one or more detected face(s), zero, one, or more matching faces and, for each of the one or more matching faces, a face ID and/or a confidence score,

wherein the updating the GUI to display one or more information cards based on the received response includes:

extracting the matching face(s) information from the face ID data structure;

for each detected face, extracting a face ID and/or confidence score for zero, one, or more matching faces from the matching face(s) information;

for each matching face, searching a locally-stored cache of face IDs for a cached match to the face ID;

in response to determining a cached matching face ID, retrieving an associated locally-stored entity ID to the cached matching face ID;

retrieving associated information card(s) based on the retrieved entity ID; and

displaying the retrieved information card(s) as the one or more information cards when the search image includes a matching face.

15. A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform operations for displaying relevant data based on analyzing electronic images for facial recognition, the operations comprising:

displaying a graphic user interface (GUI) on a display of a user device for a face recognition search process;

determining whether a facial recognition user input has been received;

in response to determining the facial recognition user input has been received, generating a request message, the request message including an image;

formatting the image with a set ID, the set ID corresponding to an organization;

transmitting the request message to a facial recognition service;

receiving a response from the facial recognition service, the response being generated by the facial recognition service using a model selected based on the set ID extracted from the formatted image; and

updating the GUI to display one or more information cards based on the received response, the one or more information cards being associated with the image, the one or more information cards being dynamically adjusted based on user device actions associated with the user device.

16. The non-transitory computer-readable medium of claim 15 , wherein the facial recognition user input is a user input on a launch element of the GUI launching a search process for the image, the image having been obtained from a camera application or a picture library of the user device as a search image associated with the launch element.

17. The non-transitory computer-readable medium of claim 15 , wherein the facial recognition user input is a user input on a launch element of the GUI launching a search process for the image, the image having been obtained from a camera application or a picture library of the user device as a search image associated with the launch element,

wherein the generating the request message includes:

processing the search image.

18. The non-transitory computer-readable medium of claim 15 , wherein the facial recognition user input is a user input on a launch element of the GUI launching a search process for the image, the image having been obtained from a camera application or a picture library of the user device as a search image associated with the launch element,

wherein the generating the request message includes:

processing the search image, and

wherein the processing the search image includes:

determining whether the search image has a sufficient image quality, acceptable aspect ratio, and/or an acceptable data size;

in response to determining that the search image does not having the sufficient image quality, rejecting the search image from the process and displaying an error on the GUI;

in response to determining that the search image does not having the acceptable aspect ratio, processing the search image into the acceptable aspect ratio by cropping the search image to the acceptable aspect ratio; and

in response to determining that the search image does not having the acceptable data size, processing the search image through a lossless or lossy compression algorithm to reduce a data size of the search image.

19. The non-transitory computer-readable medium of claim 15 , wherein the facial recognition user input is a user input on a launch element of the GUI launching a search process for the image, the image having been obtained from a camera application or a picture library of the user device as a search image associated with the launch element,

wherein the generating the request message includes:

processing the search image,

wherein the processing the search image includes:

determining whether the search image has a sufficient image quality, acceptable aspect ratio, and/or an acceptable data size;

in response to determining that the search image does not having the sufficient image quality, rejecting the search image from the process and displaying an error on the GUI;

in response to determining that the search image does not having the acceptable aspect ratio, processing the search image into the acceptable aspect ratio by cropping the search image to the acceptable aspect ratio; and

in response to determining that the search image does not having the acceptable data size, processing the search image through a lossless or lossy compression algorithm to reduce a data size of the search image,

wherein the response includes a face identification (ID) data structure,

the face ID data structure includes detected face(s) information and/or matching face(s) information,

the detected face(s) information indicates zero, one, or more detected face(s) in the search image and/or includes location and size information for each of the detected faces in the search image, and

the matching face(s) information includes, for each detected face of the one or more detected face(s), zero, one, or more matching faces and, for each of the one or more matching faces, a face ID and/or a confidence score.

20. The non-transitory computer-readable medium of claim 15 , wherein the facial recognition user input is a user input on a launch element of the GUI launching a search process for the image, the image having been obtained from a camera application or a picture library of the user device as a search image associated with the launch element,

wherein the generating the request message includes:

processing the search image,

wherein the processing the search image includes:

determining whether the search image has a sufficient image quality, acceptable aspect ratio, and/or an acceptable data size;

in response to determining that the search image does not having the sufficient image quality, rejecting the search image from the process and displaying an error on the GUI;

in response to determining that the search image does not having the acceptable aspect ratio, processing the search image into the acceptable aspect ratio by cropping the search image to the acceptable aspect ratio; and

in response to determining that the search image does not having the acceptable data size, processing the search image through a lossless or lossy compression algorithm to reduce a data size of the search image,

wherein the response includes a face identification (ID) data structure,

the face ID data structure includes detected face(s) information and/or matching face(s) information,

the detected face(s) information indicates zero, one, or more detected face(s) in the search image and/or includes location and size information for each of the detected faces in the search image, and

the matching face(s) information includes, for each detected face of the one or more detected face(s), zero, one, or more matching faces and, for each of the one or more matching faces, a face ID and/or a confidence score,

wherein the updating the GUI to display one or more information cards based on the received response includes:

extracting the matching face(s) information from the face ID data structure;

for each detected face, extracting a face ID and/or confidence score for zero, one, or more matching faces from the matching face(s) information;

for each matching face, searching a locally-stored cache of face IDs for a cached match to the face ID;

in response to determining a cached matching face ID, retrieving an associated locally-stored entity ID to the cached matching face ID;

retrieving associated information card(s) based on the retrieved entity ID; and

displaying the retrieved information card(s) as the one or more information cards when the search image includes a matching face.

Assignments (4)
CHANGE OF NAME Recorded Aug 19, 2025
From: MICROSTRATEGY INCOPORATED
To: STRATEGY INC
Reel/Frame 072513/0437 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT REEL/FRAME: 056647/0687, REEL/FRAME: 057435/0023, REEL/FRAME: 059256/0247, REEL/FRAME: 062794/0255 AND REEL/FRAME: 066663/0713 Recorded Sep 26, 2024
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS SUCCESSOR IN INTEREST TO U.S. BANK NATIONAL ASSOCIATION, IN ITS CAPACITY AS COLLATERAL AGENT FOR THE SECURED PARTIES
To: MICROSTRATEGY INCORPORATED; MICROSTRATEGY SERVICES CORPORATION
Reel/Frame 069065/0539 →
SECURITY INTEREST Recorded Jun 22, 2021
From: MICROSTRATEGY INCORPORATED
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 056647/0687 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2021
From: HWANG, ANDREW; BERGMAN, JOSEPH; TSAI, ALEXANDER
To: MICROSTRATEGY INCORPORATED
Reel/Frame 055125/0938 →
Continuity (2)
Provisional Application 62969437 · Feb 3, 2020
Related Publication 20210240759A1 · Aug 5, 2021
Cited By (1)
US 12,493,362