IP Library Granted Patent US 12,033,084
Granted Patent B2
US 12,033,084 · App. 17/751,429 · Granted Jul 9, 2024

Computing photorealistic versions of synthetic images

Inventors: Stephan Joachim Garbin (London, GB); Marek Adam Kowalski (Cambridge, GB); Matthew Alastair Johnson (Cambridge, GB); Tadas Baltrusaitis (Cambridge, GB); Martin De La Gorce (Cambridge, GB); Virginia Estellers Casas (Cambridge, GB); Sebastian Karol Dziadzio (Cambridge, GB); Jamie Daniel Joseph Shotton (Cambridge, GB)
Assignee: Microsoft Technology Licensing, LLC
G06N3/088G06F18/2135G06F18/22G06T15/005G06V10/82G06V40/171
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,033,084
App. No.
17/751,429
Granted
Jul 9, 2024
Kind
B2
Abstract

There is a region of interest of a synthetic image depicting an object from a class of objects. A trained neural image generator, having been trained to map embeddings from a latent space to photorealistic images of objects in the class, is accessed. A first embedding is computed from the latent space, the first embedding corresponding to an image which is similar to the region of interest while maintaining photorealistic appearance. A second embedding is computed from the latent space, the second embedding corresponding to an image which matches the synthetic image. Blending of the first embedding and the second embedding is done to form a blended embedding. At least one output image is generated from the blended embedding, the output image being more photorealistic than the synthetic image.

Claims (58)

1. An image processing apparatus comprising:

a memory storing a region of interest of a synthetic image depicting an object from a class of objects;

a trained neural image generator having been trained to map embeddings from a multi-dimensional latent space to photorealistic images of objects in the class; and

a processor arranged to:

compute a first embedding from the latent space, the first embedding being computed by selecting an initial point embedding in the latent space which generates an image similar to the region of interest and by iteratively combining the initial point embedding with other samples from the latent space to produce the first embedding;

compute a second embedding from the latent space, the second embedding corresponding to the synthetic image; and

blend the first embedding and the second embedding to form a blended embedding,

wherein the trained neural image generator further generates an output image from the blended embedding.

2. The image processing apparatus of claim 1 , wherein the processor is arranged to compute the first embedding by sampling an approximate nearest neighbor from the latent space and then refining the sampled approximate nearest neighbor.

3. The image processing apparatus of claim 2 , wherein the processor is arranged to refine the approximate nearest neighbor based on:

traversing the latent space while being constrained to adhere to a set of possible points in the latent space which correspond to photorealistic images when reconstructed by the trained neural image generator.

4. The image processing apparatus of claim 3 , wherein the processor is arranged to traverse the latent space by:

iteratively combining the approximate nearest neighbor with samples drawn from the latent space, the combination being weighted according to optimized weights constrained to be a combination of samples from the latent space of the trained neural image generator.

5. The image processing apparatus of claim 2 , wherein the processor further computes the sampling by:

selecting one of a plurality of specified centroids in the latent space.

6. The image processing apparatus of claim 5 , wherein the processor further:

adds noise to the selected centroid, and

combines the centroid with a control vector to vary attributes of an object depicted in an image corresponding to the centroid.

7. The image processing apparatus of claim 6 , wherein the processor further:

repeats selecting the centroid and combining the centroid with one or more control vectors to obtain a plurality of samples, and

selects one of the samples by using a loss function which relates to similarity of the image region of interest and a corresponding region of interest generated from the sample using the neural image generator.

8. The image processing apparatus of claim 1 , wherein the processor is arranged to optimize the combination using a loss function to produce the first embedding.

9. The image processing apparatus of claim 1 , wherein the processor further computes the second embedding by:

evaluating a sampling of points in the latent space using a loss function.

10. The image processing apparatus of claim 1 , wherein the processor further computes the second embedding by:

using a brute force search to obtain a latent code that matches the synthetic image.

11. A computer-implemented method comprising:

storing, at a memory, a region of interest of a synthetic image depicting an object from a class of objects;

accessing a trained neural image generator having been trained to map embeddings from a multi-dimensional latent space to photorealistic images of objects in the class;

computing a first embedding from the latent space, the first embedding being computed by selecting an initial point embedding in the latent space which generates an image similar to the region of interest and by iteratively combining the initial point embedding with other samples from the latent space to produce the first embedding;

computing a second embedding from the latent space, the second embedding corresponding to the synthetic image;

blending the first embedding and the second embedding to form a blended embedding; and

generating an output image from the blended embedding.

12. The computer-implemented method of claim 11 , wherein computing the first embedding further comprises:

sampling an approximate nearest neighbor from the latent space and then refining the sampled approximate nearest neighbor.

13. The computer-implemented method of claim 12 , wherein refining the approximate nearest neighbor further comprises:

traversing the latent space while being constrained to adhere to a set of possible points in the latent space which correspond to photorealistic images when reconstructed by the trained neural image generator.

14. The computer-implemented method of claim 13 , wherein traversing the latent space further comprises:

iteratively combining the approximate nearest neighbor with samples drawn from the latent space, the combination being weighted according to optimized weights constrained to be a combination of samples from the latent space of the trained neural image generator.

15. The computer-implemented method of claim 12 , wherein computing the sampling further comprises:

selecting one of a plurality of specified centroids in the latent space.

16. The computer-implemented method of claim 15 , further comprising:

adding noise to the selected centroid, and

combining the centroid with a control vector to vary attributes of an object depicted in an image corresponding to the centroid.

17. The computer-implemented method of claim 16 , further comprising:

repeating selecting the centroid and combining the centroid with one or more control vectors to obtain a plurality of samples, and

selecting one of the samples by using a loss function which relates to similarity of the image region of interest and a corresponding region of interest generated from the sample using the neural image generator.

18. The computer-implemented method of claim 11 , wherein computing the second embedding further comprises:

evaluating a sampling of points in the latent space using a loss function.

19. The computer-implemented method of claim 11 , wherein computing the second embedding further comprises:

using a brute force search to obtain a latent code that matches the synthetic image.

20. One or more device-readable media with device-executable instructions that, when executed by a computing system, direct the computing system to perform operations comprising:

storing, at a memory, a region of interest of a synthetic image depicting an object from a class of objects;

accessing a trained neural image generator having been trained to map embeddings from a multi-dimensional latent space to photorealistic images of objects in the class;

computing a first embedding from the latent space, the first embedding being computed by selecting an initial point embedding in the latent space which generates an image similar to the region of interest and by iteratively combining the initial point embedding with other samples from the latent space to produce the first embedding;

computing a second embedding from the latent space, the second embedding corresponding to the synthetic image;

blending the first embedding and the second embedding to form a blended embedding; and

generating at least one output image from the blended embedding.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2022
From: GARBIN, STEPHAN JOACHIM; KOWALSKI, MAREK ADAM; JOHNSON, MATTHEW ALASTAIR; BALTRUSAITIS, TADAS; DE LA GORCE, MARTIN; ESTELLERS CASAS, VIRGINIA; DZIADZIO, SEBASTIAN KAROL; SHOTTON, JAMIE DANIEL JOSEPH
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 059992/0049 →
Continuity (3)
Continuation 16916009 · Jun 29, 2020
Provisional Application 63019872 · May 4, 2020
Related Publication 20220284655A1 · Sep 8, 2022