IP Library › Granted Patent US 11,836,185
Granted Patent B2
US 11,836,185 · App. 17/381,735 · Granted Dec 5, 2023

Media overlay selection system

Inventors: Kirk Ouimet (Orem, UT); Yunchao Gong (Playa Vista, CA)
Assignee: Snap Inc.
G06F16/58G06T7/55G06T11/60G06V20/20G06V2201/10H04L51/08
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,836,185
App. No.
17/381,735
Granted
Dec 5, 2023
Kind
B2
Abstract

A computing system receives, from a client device, image data describing an image captured by an optical sensor of the client device. The computing system compares the image to a set of reference images that include associated metadata describing a real-world feature depicted by the respective reference image. The computing system determines, based on the comparison, a subset of reference images that are similar to the image, and then determines, based on associated metadata of the subset of reference images, that the image captured by the optical sensor of the client device depicts a first real-world feature. The computing system selects a subset of media overlays related to the first real-world feature based on metadata associated with each media overlay that describes the respective media overlay. The computing system transmits the subset of media overlays to the client device.

Claims (72)

1. A method comprising:

receiving, from a device, image data defining an image accessed by the device;

determining that the image depicts a first real-world feature;

determining, based on metadata associated with a plurality of media overlays that describes a respective media overlay, a collection of media overlays that depict real-world features that are associated with a contextual category of the image,

selecting a media overlay from the collection of media overlays based on popularity, the popularity indicating how often each of the media overlays in the collection is used to annotate a respective image; and

generating instructions to display the selected media overlay on the device.

2. The method of claim 1 , further comprising:

receiving, from the device, motion data representing movement of the device; and

automatically selecting the media overlay from the collection media overlays related to the first real-world feature based on the motion data representing movement of the device.

3. The method of claim 1 , wherein the media overlay is a graphic that augments the image.

4. The method of claim 1 , further comprising:

comparing, based on the image data, the image accessed by the device to a set of reference images, yielding a comparison, each reference image from the set of reference images including associated metadata describing a real-world feature depicted by the respective reference image;

determining, based on the comparison, a subset of reference images that within a defined degree of similarity to the image accessed by the device;

selecting, from a set of media overlays, a subset of media overlays related to the first real-world feature; and

transmitting the subset of media overlays to the device.

5. The method of claim 1 , further comprising:

generating, based on the image data, a target vector representing the image accessed by the device, the target vector including numeric values describing features of the image; and

determining, using a distance function, a distance between the target vector and a set of reference vectors, yielding a distance determination, each reference vector from the set of reference vectors representing a respective reference image from a set of reference images and including numeric values describing features of the respective reference image, wherein the collection of media overlays is determined based on the distance between the target vector and the set of reference vectors.

6. The method of claim 1 , further comprising:

determining, based on a distance determination, a subset of reference vectors that are closest to a target vector, the subset of reference vectors representing a subset of reference images that are similar to the image.

7. The method of claim 1 , further comprising:

determining, based on associated metadata of a subset of reference images, a percentage of the subset of reference images associated with metadata indicating that the respective reference image depicts an image of the first real-world feature;

comparing the percentage to a threshold percentage; and

in response to determining the percentage meets or exceeds the threshold percentage, determining that the image depicts the first real-world feature.

8. The method of claim 1 , further comprising:

determining, based on associated metadata of a subset of reference images, a number that represents how many of the subset of reference images is associated with metadata indicating that the respective reference image depicts an image of the first real-world feature;

comparing the number to a threshold; and

in response to determining the number transgresses the threshold, determining that the image depicts the first real-world feature.

9. The method of claim 1 , further comprising:

determining a size of the first real-world feature as depicted in the first image; and

adjusting a size of the media overlay based on the size of the first real-world feature as depicted in the first image.

10. The method of claim 1 , further comprising:

determining, based on the first real-world feature and contextual data received from the device, the contextual category of the image.

11. A system comprising:

one or more computer processors; and

one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the system to perform operations comprising:

receiving, from a device, image data defining an image accessed by the device;

determining that the image depicts a first real-world feature;

determining, based on metadata associated with a plurality of media overlays that describes a respective media overlay, a collection of media overlays that depict real-world features that are associated with a contextual category of the image;

selecting a media overlay from the collection of media overlays based on popularity, the popularity indicating how often each of the media overlays in the collection is used to annotate a respective image; and

generating instructions to display the selected media overlay on the device.

12. The system of claim 11 , wherein the operations further comprise:

receiving, from the device, motion data representing movement of the device; and

automatically selecting the media overlay from the collection media overlays related to the first real-world feature based on the motion data representing movement of the device.

13. The system of claim 11 , wherein the media overlay is a graphic that augments the image.

14. The system of claim 11 , wherein the operations further comprise:

comparing, based on the image data, the image accessed by the device to a set of reference images, yielding a comparison, each reference image from the set of reference images including associated metadata describing a real-world feature depicted by the respective reference image;

determining, based on the comparison, a subset of reference images that within a defined degree of similarity to the image accessed by the device,

selecting, from a set of media overlays, a subset of media overlays related to the first real-world feature; and

transmitting the subset of media overlays to the device.

15. The system of claim 11 , wherein the operations further comprise:

generating, based on the image data, a target vector representing the image accessed by the device, the target vector including numeric values describing features of the image; and

determining, using a distance function, a distance between the target vector and a set of reference vectors, yielding a distance determination, each reference vector from the set of reference vectors representing a respective reference image from a set of reference images and including numeric values describing features of the respective reference image, wherein the collection of media overlays is determined based on the distance between the target vector and the set of reference vectors.

16. The system of claim 11 , wherein the operations further comprise:

determining, based on a distance determination, a subset of reference vectors that are closest to a target vector, the subset of reference vectors representing a subset of reference images that are similar to the image.

17. The system of claim 11 , wherein the operations further comprise:

determining, based on associated metadata of a subset of reference images, a percentage of the subset of reference images associated with metadata indicating that the respective reference image depicts an image of the first real-world feature;

comparing the percentage to a threshold percentage; and

in response to determining the percentage meets or exceeds the threshold percentage, determining that the image depicts the first real-world feature.

18. The system of claim 11 , wherein the operations further comprise:

determining, based on associated metadata of a subset of reference images, a number that represents how many of the subset of reference images is associated with metadata indicating that the respective reference image depicts an image of the first real-world feature;

comparing the number to a threshold; and

in response to determining the number transgresses the threshold, determining that the image depicts the first real-world feature.

19. The system of claim 11 , wherein the operations further comprise:

determining a size of the first real-world feature as depicted in the first image; and

adjusting a size of the media overlay based on the size of the first real-world feature as depicted in the first image.

20. A non-transitory computer-readable medium storing instructions that, when executed by one or more computer processors of a computing device, cause the computing device to perform operations comprising:

receiving, from a device, image data defining an image accessed by the device;

determining that the image depicts a first real-world feature;

determining, based on metadata associated with a plurality of media overlays that describes a respective media overlay, a collection of media overlays that depict real-world features that are associated with a contextual category of the image;

selecting a media overlay from the collection of media overlays based on popularity, the popularity indicating how often each of the media overlays in the collection is used to annotate a respective image; and

generating instructions to display the selected media overlay on the device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2023
From: OUIMET, KIRK; GONG, YUNCHAO
To: SNAP INC.
Reel/Frame 065135/0950 →
Continuity (4)
Continuation 16653561 · Oct 15, 2019
Continuation 15801853 · Nov 2, 2017
Provisional Application 62447693 · Jan 18, 2017
Related Publication 20210350131A1 · Nov 11, 2021