IP Library › Granted Patent US 11,756,166
Granted Patent B2
US 11,756,166 · App. 18/155,420 · Granted Sep 12, 2023

Image enhancement via iterative refinement based on machine learning models

Inventors: Chitwan Saharia (Toronto, CA); Jonathan Ho (Berkeley, CA); William Chan (Toronto, CA); Tim Salimans (Utrecht, NL); David Fleet (Toronto, CA); Mohammad Norouzi (Toronto, CA)
Assignee: Google LLC
G06T5/002G06N3/045G06N3/08G06T3/4007G06T5/50G06T2207/20016G06T2207/20081G06T2207/20084
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,756,166
App. No.
18/155,420
Filed
Jan 17, 2023
Granted
Sep 12, 2023
Kind
B2
Art Unit
2661
USPC
382/100
Abstract

A method includes receiving, by a computing device, training data comprising a plurality of pairs of images, wherein each pair comprises an image and at least one corresponding target version of the image. The method also includes training a neural network based on the training data to predict an enhanced version of an input image, wherein the training of the neural network comprises applying a forward Gaussian diffusion process that adds Gaussian noise to the at least one corresponding target version of each of the plurality of pairs of images to enable iterative denoising of the input image, wherein the iterative denoising is based on a reverse Markov chain associated with the forward Gaussian diffusion process. The method additionally includes outputting the trained neural network.

Claims (41)

1. A computer-implemented method, comprising:

receiving training data from an image database;

training, based on the training data, a neural network to predict a high-resolution version of a low-resolution input image, wherein the training comprises downsampling the low-resolution input image using bicubic interpolation, and wherein the neural network is trained based on a diffusion process comprising:

an image corruption process that iteratively adds noise to a high-resolution image until a noise content is above a predefined threshold, and

an image denoising process that learns to reverse the image corruption process by starting from an initial image with an initial noise content above the predefined threshold, and iteratively removing noise from the initial image to achieve a target distribution; and outputting the trained neural network.

2. The computer-implemented method of claim 1 , further comprising:

receiving training data comprising a plurality of pairs of images, wherein each pair comprises an image and at least one corresponding target version of the image, and

wherein the image corruption process comprises applying a forward Gaussian diffusion process that adds Gaussian noise to the at least one corresponding target version of each of the plurality of pairs of images, and wherein the image denoising process is based on a reverse Markov chain associated with the forward Gaussian diffusion process.

3. The computer-implemented method of claim 2 , wherein the forward Gaussian diffusion process comprises determining, for an iterative step, a scalar hyperparameter indicative of a variance of the Gaussian noise at the iterative step.

4. The computer-implemented method of claim 1 , wherein the training further comprises:

direct conditioning on the low-resolution input image.

5. The computer-implemented method of claim 1 , wherein the downsampling is by a factor of 4.

6. The computer-implemented method of claim 1 , wherein the image dataset is an IMAGENET dataset.

7. The computer-implemented method of claim 6 , further comprising:

filtering the training data to not include one or more images that comprise a shorter side with a length less than a target resolution.

8. The computer-implemented method of claim 1 , wherein the encoder comprises a hierarchy of denoising encoders.

9. The computer-implemented method of claim 1 , wherein the downsampling of the low-resolution input image using bicubic interpolation is performed with anti-aliasing enabled.

10. The computer-implemented method of claim 1 , wherein a training objective for the training is based on a variational lower bound.

11. The computer-implemented method of claim 1 , wherein a training objective for the training is based on denoising score-matching.

12. The computer-implemented method of claim 1 , wherein the iterative denoising of the low-resolution input image comprises predicting a noise vector based on a variance of a Gaussian noise added during a forward Gaussian process.

13. The computer-implemented method of claim 1 , wherein the neural network is a convolutional neural network comprising a U-net architecture based on a denoising diffusion probabilistic (DDPM) model.

14. The computer-implemented method of claim 1 , wherein the iterative denoising of the low-resolution input image further comprises:

upsampling the input image to the high-resolution version by applying bicubic interpolation.

15. The computer-implemented method of claim 1 , wherein the neural network comprises a plurality of cascading models.

16. The computer-implemented method of claim 15 , wherein the plurality of cascading models are chained together.

17. The computer-implemented method of claim 15 , wherein the training of the neural network comprises training the plurality of cascading models in parallel.

18. The computer-implemented method of claim 1 , wherein the iterative denoising of the low-resolution input image further comprises:

a plurality of iterative refinement steps corresponding to different levels of image quality, and wherein each step is trained with a regression loss.

19. A computer-implemented method, comprising:

receiving, by a computing device, a low-resolution input image;

applying a neural network to predict a high-resolution version of the low-resolution input image, wherein the applying comprises downsampling the low-resolution input image using bicubic interpolation, and the neural network having been trained based on a diffusion process comprising:

an image corruption process that iteratively adds noise to a high-resolution image until a noise content is above a predefined threshold, and

an image denoising process that learns to reverse the image corruption process by starting from an initial image with an initial noise content above the predefined threshold, and iteratively removing noise from the initial image to achieve a target distribution; outputting the high-resolution version of the low-resolution input image.

20. The computer-implemented method of claim 19 , wherein the predicting comprises a fixed number of inference generation steps, and wherein the fixed number is independent of the low-resolution input image.

21. A computing device, comprising:

one or more processors; and

data storage, wherein the data storage has stored thereon computer-executable instructions that, when executed by the one or more processors, cause the computing device to carry out operations comprising:

receiving training data from an image database;

training, based on the training data, a neural network to predict a high-resolution version of a low-resolution input image, wherein the training comprises downsampling the low-resolution input image using bicubic interpolation, and wherein the neural network is trained based on a diffusion process comprising:

an image corruption process that iteratively adds noise to a high-resolution image until a noise content is above a predefined threshold, and

an image denoising process that learns to reverse the image corruption process by starting from an initial image with an initial noise content above the predefined threshold, and iteratively removing noise from the initial image to achieve a target distribution; and outputting the trained neural network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2023
From: SAHARIA, CHITWAN; HO, JONATHAN; CHAN, WILLIAM; SALIMANS, TIM; FLEET, DAVID; NOROUZI, MOHAMMAD
To: GOOGLE LLC
Reel/Frame 062414/0687 →
Continuity (2)
Continuation 17391150 · Aug 2, 2021
Related Publication 20230153959A1 · May 18, 2023
Cited By (1)
US 12,272,032