IP Library › Granted Patent US 12,008,811
Granted Patent B2
US 12,008,811 · App. 17/550,852 · Granted Jun 11, 2024

Machine learning-based selection of a representative video frame within a messaging application

Inventors: Kavya Venkata Kota Kopparapu (Herndon, VA); Benjamin Dodson (Dover, NH); Francesc Xavier Drudis Rius (Bellevue, WA); Angus Kong (Seattle, WA); Richard Leider (San Francisco, CA); Jian Ren (Marina Del Ray, CA); Sergey Tulyakov (Marina del Rey, CA); Jiayao Yu (Venice, CA)
Assignee: SNAP INC.
G06V20/46G06F16/785G06N20/00G06T5/70G06V10/70G06V20/70
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 12,008,811
App. No.
17/550,852
Granted
Jun 11, 2024
Kind
B2
Abstract

Aspects of the present disclosure involve a system comprising a medium storing a program and method for machine-learning based selection of a representative video frame. The program and method provide for receiving a set of video frames; determining a first subset of frames by removing frames outside of an image quality threshold; determining a second subset by removing frames outside of an image stillness threshold; computing feature data for each frame in the second subset; providing, for each frame in the second subset, the feature data to a machine learning model (MLM), the MLM being configured to output a score for each frame in the second subset of frames based on the feature data, the MLM having been trained with a first set of images labeled based on aesthetics, and with a second set of images labeled based on image quality; and selecting a frame based on output scores.

Claims (69)

1. A method, comprising:

receiving a set of video frames corresponding to a video;

determining a first subset of video frames by removing, from the set of video frames, those video frames which are outside of an image quality threshold;

determining a second subset of video frames by removing, from the first subset of video frames, those video frames which are outside of an image stillness threshold;

computing feature data for each video frame in the second subset of video frames;

providing, for each video frame in the second subset of video frames, the feature data of the video frame as input to a machine learning model,

wherein the machine learning model is configured to output a score for each video frame in the second subset of video frames based on the feature data of the video frame, the machine learning model having been trained with a first set of images labeled based on image aesthetics, and further having been trained with second set of images labeled based on image quality, the first and second set of images being associated with different domains; and

selecting, from among the second subset of video frames, a video frame to represent the set of video frames based on the scores output by the machine learning model.

2. The method of claim 1 , wherein determining the first subset of video frames comprises:

applying, for each video frame in the set of video frames, respective image quantifiers that relate to luminance, sharpness, uniformity and blurriness of the video frame; and

removing, from the set of video frames, those video frames which are above or below a preset threshold with respect to each of the respective image quantifiers.

3. The method of claim 1 , wherein determining the second subset of video frames comprises:

calculating a respective stillness value, corresponding to pixel-wise frame difference, between consecutive video frames in the first subset of video frames; and

removing, from the first subset of video frames, a preset amount of video frames based on the respective stillness values.

4. The method of claim 1 , wherein the domain associated with the first set of images corresponds to an aesthetic visual analysis (AVA) database,

wherein the video is stored in association with a messaging application, and

wherein the domain associated with the second set of images corresponds to the messaging application, the second set of images corresponding to additional videos stored in association with the messaging application.

5. The method of claim 4 , wherein the second set of images corresponds to randomly-selected video frames in the additional videos stored in association with the messaging application.

6. The method of claim 4 , wherein training of the machine learning model comprises:

performing a first stage of training the machine learning model based on the first set of images;

providing the second set of images as input to the machine learning model as trained in the first stage of training, in order to label the second set of images;

generating a third set of images by decreasing image quality for the second set of images; and

performing a second stage of training the machine learning model based on the labeled second set of images and the third set of images.

7. The method of claim 6 , wherein decreasing image quality for the second set of images is based on at least one of down-sampling, adjusting exposure or Gaussian blurring of the second set of images.

8. The method of claim 6 , wherein training of the machine learning model further comprises:

performing a third stage of training the machine learning model based on a labeled subset of images included within other videos stored in association with the messaging application;

providing an unlabeled subset of images included within the other videos to the machine learning model having been trained by the third stage of training, in order to pseudo-label the unlabeled subset of video frames; and

performing a fourth stage of training the machine learning model based on the labeled subset of images and the pseudo-labeled subset of images.

9. The method of claim 8 , the labeled subset of images having been labeled based on a preference for at least one of a subject of the image being centered, the subject being larger, the subject being foregrounded, or the subject having a predefined expression or characteristic.

10. The method of claim 1 , wherein the selected video frame corresponds to a thumbnail image which represents the set of video frames.

11. The method of claim 1 , wherein the selected video frame is used for at least one of visual tagging of the video, labeling a highlighted part of the video, ranking the video relative to other videos for a video compilation, content curation of videos within a map interface, or generating an animated thumbnail based on other video frames selected to present the set of video frames.

12. A system comprising:

a processor; and

a memory storing instructions that, when executed by the processor, configure the processor to perform operations comprising:

receiving a set of video frames corresponding to a video;

determining a first subset of video frames by removing, from the set of video frames, those video frames which are outside of an image quality threshold;

determining a second subset of video frames by removing, from the first subset of video frames, those video frames which are outside of an image stillness threshold;

computing feature data for each video frame in the second subset of video frames;

providing, for each video frame in the second subset of video frames, the feature data of the video frame as input to a machine learning model,

wherein the machine learning model is configured to output a score for each video frame in the second subset of video frames based on the feature data of the video frame, the machine learning model having been trained with a first set of images labeled based on image aesthetics, and further having been trained with second set of images labeled based on image quality, the first and second set of images being associated with different domains; and

selecting, from among the second subset of video frames, a video frame to represent the set of video frames based on the scores output by the machine learning model.

13. The system of claim 12 , wherein determining the first subset of video frames comprises:

applying, for each video frame in the set of video frames, respective image quantifiers that relate to luminance, sharpness, uniformity and blurriness of the video frame; and

removing, from the set of video frames, those video frames which are above or below a preset threshold with respect to each of the respective image quantifiers.

14. The system of claim 12 , wherein determining the second subset of video frames comprises:

calculating a respective stillness value, corresponding to pixel-wise frame difference, between consecutive video frames in the first subset of video frames; and

removing, from the first subset of video frames, a preset amount of video frames based on the respective stillness values.

15. The system of claim 12 , wherein the domain associated with the first set of images corresponds to an aesthetic visual analysis (AVA) database,

wherein the video is stored in association with a messaging application, and

wherein the domain associated with the second set of images corresponds to the messaging application, the second set of images corresponding to additional videos stored in association with the messaging application.

16. The system of claim 15 , wherein the second set of images corresponds to randomly-selected video frames in the additional videos stored in association with the messaging application.

17. The system of claim 15 , wherein training of the machine learning model comprises:

performing a first stage of training the machine learning model based on the first set of images;

providing the second set of images as input to the machine learning model as trained in the first stage of training, in order to label the second set of images;

generating a third set of images by decreasing image quality for the second set of images; and

performing a second stage of training the machine learning model based on the labeled second set of images and the third set of images.

18. The system of claim 17 , wherein decreasing image quality for the second set of images is based on at least one of down-sampling, adjusting exposure or Gaussian blurring of the second set of images.

19. The system of claim 17 , wherein training of the machine learning model further comprises:

performing a third stage of training the machine learning model based on a labeled subset of images included within other videos stored in association with the messaging application;

providing an unlabeled subset of images included within the other videos to the machine learning model having been trained by the third stage of training, in order to pseudo-label the unlabeled subset of video frames; and

performing a fourth stage of training the machine learning model based on the labeled subset of images and the pseudo-labeled subset of images.

20. A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to perform operations comprising:

receiving a set of video frames corresponding to a video;

determining a first subset of video frames by removing, from the set of video frames, those video frames which are outside of an image quality threshold;

determining a second subset of video frames by removing, from the first subset of video frames, those video frames which are outside of an image stillness threshold;

computing feature data for each video frame in the second subset of video frames;

providing, for each video frame in the second subset of video frames, the feature data of the video frame as input to a machine learning model,

wherein the machine learning model is configured to output a score for each video frame in the second subset of video frames based on the feature data of the video frame, the machine learning model having been trained with a first set of images labeled based on image aesthetics, and further having been trained with second set of images labeled based on image quality, the first and second set of images being associated with different domains; and

selecting, from among the second subset of video frames, a video frame to represent the set of video frames based on the scores output by the machine learning model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2024
From: KOTA KOPPARAPU, KAVYA VENKATA; DODSON, BENJAMIN; DRUDIS RIUS, FRANCESC XAVIER; KONG, ANGUS; LEIDER, RICHARD; REN, JIAN; TULYAKOV, SERGEY; YU, JIAYAO
To: SNAP INC.
Reel/Frame 067164/0003 →
Continuity (2)
Provisional Application 63131839 · Dec 30, 2020
Related Publication 20220207875A1 · Jun 30, 2022
Cited By (1)
US 12,354,355