IP Library Granted Patent US 11,074,454
Granted Patent B1
US 11,074,454 · App. 16/410,863 · Granted Jul 27, 2021

Classifying videos using neural networks

Inventors: Sudheendra Vijayanarasimhan (Los Angeles, CA); George Dan Toderici (Mountain View, CA); Yue Hei Ng (College Park, MD); Matthew John Hausknecht (Austin, TX); Oriol Vinyals (London, GB); Rajat Monga (Sunnyvale, CA)
Assignee: Google LLC
G06K9/00718G06K9/00744G06K9/628G06K9/6245G06K9/6257
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,074,454
App. No.
16/410,863
Granted
Jul 27, 2021
Kind
B1
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for classifying videos using neural networks. One of the methods includes obtaining a temporal sequence of video frames, wherein the temporal sequence comprises a respective video frame from a particular video at each of a plurality time steps; for each time step of the plurality of time steps: processing the video frame at the time step using a convolutional neural network to generate features of the video frame; and processing the features of the video frame using an LSTM neural network to generate a set of label scores for the time step and classifying the video as relating to one or more of the topics represented by labels in the set of labels from the label scores for each of the plurality of time steps.

Claims (80)

1. A method comprising:

obtaining a plurality of video frames from a particular video;

processing each of the plurality of video frames using a convolutional neural network to generate respective convolutional features for each of the plurality of video frames, wherein each of the respective convolutional features has a respective value in each of a plurality of dimensions;

generating max-pooled features for the particular video using a max-pooling neural network layer, comprising:

for each particular dimension of the plurality of dimensions:

identifying a maximum value of respective values in the particular dimension of the respective convolutional features for at least two of the plurality of video frames; and

setting a value of the max-pooled features in the particular dimension to the identified maximum value;

generating a set of label scores for the particular video from the max-pooled features by processing the max-pooled features using one or more neural network layers, the set of label scores comprising a respective label score for each label in a predetermined set of labels, each label in the predetermined set of labels representing a respective topic; and

classifying the particular video as relating to one or more of the topics represented by labels in the predetermined set of labels from the set of label scores.

2. The method of claim 1 , wherein classifying the particular video as relating to one or more of the topics comprises:

selecting topics represented by one or more highest-scoring labels.

3. The method of claim 1 , wherein generating a set of label scores for the particular video from the max-pooled features comprises:

processing the max-pooled features using an output neural network layer to generate the set of label scores for the particular video, wherein the output neural network layer is configured to receive the max-pooled features and process the max-pooled features in accordance with a set of output layer parameters to generate the set of label scores.

4. The method of claim 1 , wherein generating a set of label scores for the particular video from the max-pooled features comprises:

processing the max-pooled features using one or more fully-connected neural network layers to generate an alternative representation of the max-pooled features; and

processing the alternative representation using an output neural network layer to generate the set of label scores for the particular video, wherein the output neural network layer is configured to receive the alternative representation and process the alternative representation in accordance with a set of output layer parameters to generate the set of label scores.

5. The method of claim 1 , wherein generating the max-pooled features comprises:

processing the respective convolutional features for all of the plurality of video frames using the max-pooling neural network layer to generate the max-pooled features.

6. The method of claim 1 , wherein generating the max-pooled features comprises:

for each of the plurality of video frames, processing the respective convolutional features for the each of the plurality of video frames using one or more fully-connected neural network layers to generate an alternative representation of the respective convolutional features for the each of the plurality of video frames; and

processing the alternative representations for the plurality of video frames using the max-pooling neural network layer to generate the max-pooled features.

7. The method of claim 1 , wherein generating the max-pooled features comprises:

processing the respective convolutional features for the plurality of video frames using a time-domain convolutional neural network layer to generate a convolved representation of the respective convolutional features for the plurality of video frames; and

processing the convolved representation using the max-pooling neural network layer to generate the max-pooled features.

8. The method of claim 1 , wherein generating the max-pooled features comprises:

dividing the plurality of video frames into a plurality of subsets;

for each subset:

processing the respective convolutional features for the plurality of video frames in the subset using an initial max-pooling neural network layer to generate initial max-pooled features for the subset, and

processing the initial max-pooled features for the subset using one or more fully-connected neural network layers to generate an alternative representation for the subset; and

processing the alternative representations for the plurality of subsets using a final max-pooling neural network layer to generate the max-pooled features.

9. The method of claim 1 , wherein the max-pooled features comprise a respective set of max-pooled features for each of a plurality of subsets of the plurality of video frames, and wherein generating the max-pooled features comprises:

dividing the plurality of video frames into the plurality of subsets; and

for each subset:

processing the respective convolutional features for the plurality of video frames in the subset using an initial max-pooling neural network layer to generate max-pooled features for the subset.

10. The method of claim 9 , wherein generating the set of label scores for the particular video from the max-pooled features comprises:

for each subset, processing the max-pooled features for the subset using one or more fully-connected neural network layers to generate an alternative representation for the subset; and

processing the alternative representations for the plurality of subsets using an output neural network layer to generate the set of label scores, wherein the output neural network layer is configured to receive the alternative representations and process the alternative representations in accordance with a set of output layer parameters to generate the set of label scores.

11. A system comprising one or more computers and one or more storage devices storing instructions that when executed by the one or more computers cause the one or more computers to perform operations comprising:

obtaining a plurality of video frames from a particular video;

processing each of the plurality of video frames using a convolutional neural network to generate respective convolutional features for each of the plurality of video frames, wherein each of the respective convolutional features has a respective value in each of a plurality of dimensions;

generating max-pooled features for the particular video using a max-pooling neural network layer, comprising:

for each particular dimension of the plurality of dimensions:

identifying a maximum value of respective values in the particular dimension of the respective convolutional features for at least two of the plurality of video frames; and

setting a value of the max-pooled features in the particular dimension to the identified maximum value;

generating a set of label scores for the particular video from the max-pooled features by processing the max-pooled features using one or more neural network layers, the set of label scores comprising a respective label score for each label in a predetermined set of labels, each label in the predetermined set of labels representing a respective topic; and

classifying the particular video as relating to one or more of the topics represented by labels in the predetermined set of labels from the set of label scores.

12. The system of claim 11 , wherein classifying the particular video as relating to one or more of the topics comprises:

selecting topics represented by one or more highest-scoring labels.

13. The system of claim 11 , wherein generating a set of label scores for the particular video from the max-pooled features comprises:

processing the max-pooled features using an output neural network layer to generate the set of label scores for the particular video, wherein the output neural network layer is configured to receive the max-pooled features and process the max-pooled features in accordance with a set of output layer parameters to generate the set of label scores.

14. The system of claim 11 , wherein generating a set of label scores for the particular video from the max-pooled features comprises:

processing the max-pooled features using one or more fully-connected neural network layers to generate an alternative representation of the max-pooled features; and

processing the alternative representation using an output neural network layer to generate the set of label scores for the particular video, wherein the output neural network layer is configured to receive the alternative representation and process the alternative representation in accordance with a set of output layer parameters to generate the set of label scores.

15. The system of claim 11 , wherein generating the max-pooled features comprises:

processing the respective convolutional features for the plurality of video frames using the max-pooling neural network layer to generate the max-pooled features.

16. The system of claim 11 , wherein generating the max-pooled features comprises:

for each of the plurality of video frames, processing the respective convolutional features for the each of the plurality of video frames using one or more fully-connected neural network layers to generate an alternative representation of the respective convolutional features for the each of the plurality of video frames; and

processing the alternative representations for the plurality of video frames using the max-pooling neural network layer to generate the max-pooled features.

17. The system of claim 11 , wherein generating the max-pooled features comprises:

processing the respective convolutional features for the plurality of video frames using a time-domain convolutional neural network layer to generate a convolved representation of the respective convolutional features for the plurality of video frames; and

processing the convolved representation using the max-pooling neural network layer to generate the max-pooled features.

18. The system of claim 11 , wherein generating the max-pooled features comprises:

dividing the plurality of video frames into a plurality of subsets;

for each subset:

processing the respective convolutional features for the plurality of video frames in the subset using an initial max-pooling neural network layer to generate initial max-pooled features for the subset, and

processing the initial max-pooled features for the subset using one or more fully-connected neural network layers to generate an alternative representation for the subset; and

processing the alternative representations for the plurality of subsets using a final max-pooling neural network layer neural network to generate the max-pooled features.

19. The system of claim 11 , wherein the max-pooled features comprise a respective set of max-pooled features for each of a plurality of subsets of the plurality of video frames, and wherein generating the max-pooled features comprises:

dividing the plurality of video frames into the plurality of subsets; and

for each subset:

processing the respective convolutional features for the plurality of video frames in the subset using an initial max-pooling neural network layer to generate max-pooled features for the subset.

20. One or more non-transitory computer-readable storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:

obtaining a plurality of video frames from a particular video;

processing each of the plurality of video frames using a convolutional neural network to generate respective convolutional features for each of the plurality of video frames, wherein each of the respective convolutional features has a respective value in each of a plurality of dimensions;

generating max-pooled features for the particular video using a max-pooling neural network layer, comprising:

for each particular dimension of the plurality of dimensions:

identifying a maximum value of respective values in the particular dimension of the respective convolutional features for at least two of the plurality of video frames; and

setting a value of the max-pooled features in the particular dimension to the identified maximum value;

generating a set of label scores for the particular video from the max-pooled features by processing the max-pooled features using one or more neural network layers, the set of label scores comprising a respective label score for each label in a predetermined set of labels, each label in the predetermined set of labels representing a respective topic; and

classifying the particular video as relating to one or more of the topics represented by labels in the predetermined set of labels from the set of label scores.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2019
From: VIJAYANARASIMHAN, SUDHEENDRA; TODERICI, GEORGE DAN; NG, YUE HEI; HAUSKNECHT, MATTHEW JOHN; VINYALS, ORIOL; MONGA, RAJAT
To: GOOGLE INC.
Reel/Frame 050026/0824 →
CHANGE OF NAME Recorded Aug 12, 2019
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 050028/0680 →
Continuity (2)
Continuation 15143218 · Apr 29, 2016
Provisional Application 62154433 · Apr 29, 2015
Cited By (2)
US 12,511,899 US 12,614,077