IP Library Granted Patent US 10,650,289
Granted Patent B2
US 10,650,289 · App. 15/868,587 · Granted May 12, 2020

Processing images using deep neural networks

Inventors: Christian Szegedy (Mountain View, CA); Vincent O. Vanhoucke (San Francisco, CA)
Assignee: Google LLC
G06K9/66G06N3/0454G06N3/063G06N3/084
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 10,650,289
App. No.
15/868,587
Granted
May 12, 2020
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for image processing using deep neural networks. One of the methods includes receiving data characterizing an input image; processing the data characterizing the input image using a deep neural network to generate an alternative representation of the input image, wherein the deep neural network comprises a plurality of subnetworks, wherein the subnetworks are arranged in a sequence from lowest to highest, and wherein processing the data characterizing the input image using the deep neural network comprises processing the data through each of the subnetworks in the sequence; and processing the alternative representation of the input image through an output layer to generate an output from the input image.

Claims (38)

1. A system comprising:

a deep neural network configured to process data characterizing an input image to generate an alternative representation of the input image, the deep neural network comprising:

a plurality of subnetworks arranged in a sequence from lowest to highest, the plurality of subnetworks configured to process the data according to the sequence, the plurality of subnetworks comprising a plurality of module subnetworks, each of the module subnetworks comprising:

a pass-through convolutional layer configured to process a preceding output representation generated by a preceding subnetwork in the sequence and generate a pass-through output,

one or more groups of neural network layers configured to process the preceding output representation receive to generate a respective group output for each of the one or more groups, and

a concatenation layer configured to concatenate the pass-through output and the group outputs to generate an output representation for the module subnetwork; and

an output layer configured to process the alternative representation of the input image to generate an output from the input image.

2. The system of claim 1 , wherein the pass-through convolutional layer is a 1×1 convolutional layer.

3. The system of claim 1 , wherein a first group of the one or more groups of neural network layers includes a first convolutional layer followed by a second convolutional layer.

4. The system of claim 3 , wherein the first convolutional layer is a 1×1 convolutional layer.

5. The system of claim 3 , wherein the second convolutional layer is a 3×3 convolutional layer.

6. The system of claim 3 , wherein a second group of the one or more groups of neural network layers includes a third convolutional layer followed by a fourth convolutional layer.

7. The system of claim 6 , wherein the third convolutional layer is a 1×1 convolutional layer.

8. The system of claim 6 , wherein the fourth convolutional layer is a 5×5 convolutional layer.

9. The system of claim 1 , wherein a third group of the one or more groups of neural network layers includes a first max-pooling layer followed by a fifth convolutional layer.

10. The system of claim 9 , wherein the first max-pooling layer is a 3×3 max pooling layer.

11. The system of claim 9 , wherein the fifth convolutional layer is a 1×1 convolutional layer.

12. The system of claim 1 , wherein the plurality of subnetworks comprises one or more additional max-pooling layers.

13. The system of claim 1 , wherein the plurality of subnetworks comprises one or more initial convolutional layers.

14. A system comprising:

a deep neural network configured to process data characterizing an input image to generate an alternative representation of the input image, the deep neural network comprising:

a plurality of subnetworks arranged in a sequence from lowest to highest, the plurality of subnetworks configured to process the data according to the sequence, the plurality of subnetworks comprising a plurality of module subnetworks, each of the module subnetworks comprising:

a pass-through convolutional layer configured to process a preceding output representation generated by a preceding subnetwork in the sequence and generate a pass-through output,

one or more groups of neural network layers configured to process the preceding output representation receive to generate a respective group output for each of the one or more groups, wherein at least one group of the one or more groups of neural network layers includes a 1×1 convolutional layer followed by a 3×3 convolutional layer, and

a concatenation layer configured to concatenate the pass-through output and the group outputs to generate an output representation for the module subnetwork; and

an output layer configured to process the alternative representation of the input image to generate an output from the input image.

15. The system of claim 14 , wherein the pass-through convolutional layer is a 1×1 convolutional layer.

16. The system of claim 14 , wherein the plurality of subnetworks comprises one or more additional max-pooling layers.

17. The system of claim 14 , wherein the plurality of subnetworks comprises one or more initial convolutional layers.

18. A system comprising:

a deep neural network configured to process data characterizing an input image to generate an alternative representation of the input image, the deep neural network comprising:

a plurality of subnetworks arranged in a sequence from lowest to highest, the plurality of subnetworks configured to process the data according to the sequence, the plurality of subnetworks comprising a plurality of module subnetworks, each of the module subnetworks comprising:

a pass-through convolutional layer configured to process a preceding output representation generated by a preceding subnetwork in the sequence and generate a pass-through output,

a plurality of groups of neural network layers configured to process the preceding output representation receive to generate a respective group output for each of the one or more groups, wherein a first group of the plurality of groups of neural network layers includes a 1×1 convolutional layer followed by a 3×3 convolutional layer, a second group of the plurality of groups of neural network layers includes a 1×1 convolutional layer followed by a 5×5 convolutional layer, and a third group of the plurality of groups of neural network layers includes a 3×3 max pooling layer followed by a 1×1 convolutional layer,

a concatenation layer configured to concatenate the pass-through output and the group outputs to generate an output representation for the module subnetwork; and

an output layer configured to process the alternative representation of the input image to generate an output from the input image.

19. The system of claim 18 , wherein the plurality of subnetworks comprises one or more additional max-pooling layers.

20. The system of claim 18 , wherein the plurality of subnetworks comprises one or more initial convolutional layers.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2018
From: SZEGEDY, CHRISTIAN; VANHOUCKE, VINCENT O.
To: GOOGLE INC.
Reel/Frame 044612/0271 →
CHANGE OF NAME Recorded Jan 12, 2018
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 045066/0752 →
Continuity (4)
Continuation 15649947 · Jul 14, 2017
Continuation 14839452 · Aug 28, 2015
Provisional Application 62043865 · Aug 29, 2014
Related Publication 20180137396A1 · May 17, 2018