IP Library Granted Patent US 11,126,895
Granted Patent B2
US 11,126,895 · App. 16/840,358 · Granted Sep 21, 2021

Mimicking of corruption in images

Inventors: Rushil Anirudh (Dublin, CA); Peer-Timo Bremer (Livermore, CA); Jayaraman Jayaraman Thiagarajan (Milpitas, CA); Bhavya Kailkhura (Dublin, CA)
Assignee: Lawrence Livermore National Security, LLC
G06K9/6267G06K9/6202G06K9/6256G06N3/08
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,126,895
App. No.
16/840,358
Granted
Sep 21, 2021
Kind
B2
Abstract

Methods and systems are provided to generate an uncorrupted version of an image given an observed image that is a corrupted version of the image. In some embodiments, a corruption mimicking (“CM”) system iteratively trains a corruption mimicking network (“CMN”) to generate corrupted images given modeled images, updates latent vectors based on differences between the corrupted images and observed images, and applies a generator to the latent vectors to generate modeled images. The training, updating, and applying are performed until modeled images that are input to the CMN result in corrupted images that approximate the observed images. Because the CMN is trained to mimic the corruption of the observed images, the final modeled images represented the uncorrupted version of the observed images.

Claims (84)

1. A method performed by one or more computing systems for training a corruption mimicking model to model corruption of observed images, the method comprising:

updating parameters of the corruption mimicking model by iteratively:

generating modeled images by applying a generative model to latent vectors, the latent vectors representing points in an image space;

generating corrupted images by applying the corruption mimicking model based on the parameters to the modeled images; and

adjusting the parameters of the corruption mimicking model based on differences between the corrupted images and the observed images; and

updating the latent vectors by iteratively:

generating modeled images by applying the generative model to the latent vectors;

generating corrupted images by applying the corruption mimicking model based on the parameters to the modeled images; and

adjusting the latent vectors based on differences between the corrupted images and observed images.

2. The method of claim 1 wherein the updating of the parameters followed by the updating of the latent vectors is performed iteratively until an overall termination criterion is satisfied indicating that training of the corruption mimicking model is complete.

3. The method of claim 1 wherein the adjusting of parameters is based on differences between the corrupted images and the observed images is further based on a gradient of a loss function that is based on the differences.

4. The method of claim 1 wherein the adjusting of latent vectors is based on differences between the corrupted images and the observed images is further based on a gradient of a loss function that is based on the differences.

5. The method of claim 4 wherein the loss function is further based on output of a discriminator of a generative adversarial network applied to a modeled image generated by applying the generative model to the latent vectors.

6. The method of claim 1 wherein the generative model is a generator of a generative adversarial network that is trained using training images.

7. The method of claim 1 wherein the generative model is the encoder of an autoencoder that is trained using training images.

8. The method of claim 1 wherein when the training of corruption mimicking model is complete, the modeled images that were last generated represent uncorrupted images corresponding to the observed images.

9. The method of claim 8 further comprising applying a characteristic identifier to an uncorrupted image to identify a characteristic of the uncorrupted image.

10. The method of claim 1 further comprising when the training of the corruption mimicking model is complete, generating an uncorrupted target image corresponding to an observed target image by repeating until a termination criterion is satisfied:

generating a modeled target image by applying the generative model to a target latent vector representing the uncorrupted target image;

generating a corrupted target image by applying the corruption mimicking model based on the parameters to the modeled target image; and

adjusting the target latent vector based on differences between the corrupted target image and the observed target image,

wherein when the termination criterion is satisfied, the last modeled target image that was generated represents the uncorrupted target image.

11. The method of claim 10 further comprising applying a characteristic identifier to the uncorrupted target image to identify a characteristic of the observed target image.

12. A method performed by one or more computing systems for generating an uncorrupted target image corresponding to an observed target image, the method comprising iteratively performing until a termination criterion is satisfied:

generating a modeled target image by applying a generative model to a target latent vector representing the uncorrupted target image, the generative model trained using training images;

generating a corrupted target image by applying a corruption mimicking model based on parameters to the modeled target image; and

adjusting the target latent vector based on differences between the corrupted target image and the observed target image,

wherein the last modeled target image generated represents the uncorrupted target image.

13. The method of claim 12 wherein the corruption mimicking model is trained to mimic corruption based on iteratively updating parameters of the corruption mimicking model based on differences between observed images and corresponding corrupted images generated by applying corruption mimicking model to modeled images that are generated from latent vectors updated based on differences between the observed images and corrupted images.

14. The method of claim 13 wherein the corruption mimicking model is retrained during collection of observed images based on recently collected observed images.

15. The method of claim 13 wherein the parameters are adjusted during the generating of the uncorrupted target image based on differences the corrupted target image and the observed target image.

16. One or more computing systems for training a corruption mimicking model to model corruption of observed images, the one or more computing systems comprising:

one or more computer-readable storage mediums for storing computer-executable instructions for controlling the one or more computing systems to:

update parameters of the corruption mimicking model based on differences between corrupted images and the observed images, the corrupted images generated by applying the corruption mimicking model with the parameters prior to updating to modeled images, the modeled images generated by applying a generative model to latent vectors generated based on the differences between the corrupted images and the observed images; and

update latent vectors based on differences between the corrupted images and the observed images, the corrupted images generated by applying the corruption mimicking model with the parameters to modeled images, the modeled images generated by applying the generative model to the latent vectors prior to the update; and

one or more processors for executing the computer-executable instructions stored in the one or more computer-readable storage mediums.

17. The one or more computing systems of claim 16 wherein the update of the parameters followed by the update of the latent vectors is performed iteratively until an overall termination criterion is satisfied indicating that training of the corruption mimicking model is complete.

18. The one or more computing systems of claim 16 wherein the adjusting of parameters is based on differences between the corrupted images and the observed images is further based on a gradient of a loss function that is based on the differences.

19. The one or more computing systems of claim 18 wherein the loss function is further based on output of a discriminator applied to a modeled image, the generative model and the discriminator are trained using training images based on a generative adversarial network.

20. The one or more computing systems of claim 16 wherein the adjusting of latent vectors is based on differences between the corrupted images and the observed images is further based on a gradient of a loss function that is based on the differences.

21. The one or more computing systems of claim 20 wherein the loss function is further based on output of a discriminator applied to a modeled image, the generative model and the discriminator are trained using training images based on a generative adversarial network.

22. The one or more computing systems of claim 16 wherein the generative model is a generator of a generative adversarial network that is trained using training images.

23. The one or more computing systems of claim 16 wherein the generative model is the encoder of an autoencoder that is trained using training images.

24. The one or more computing systems of claim 16 wherein when the training of corruption mimicking model is complete, the modeled images that were last generated represent uncorrupted images corresponding to the observed images.

25. The one or more computing systems of claim 24 wherein the instructions further apply a characteristic identifier to an uncorrupted image corresponding to an observed image to identify a characteristic of the observed image.

26. The one or more computing systems of claim 16 wherein the instructions further when the training of the corruption mimicking model is complete, generate an uncorrupted target image corresponding to an observed target image by repeating until a termination criterion is satisfied:

generate a modeled target image by applying the generative model to a target latent vector representing the uncorrupted target image;

generate a corrupted target image by applying the corruption mimicking model based on the parameters to the modeled target image; and

adjust the target latent vector based on differences between the corrupted target image and the observed target image,

wherein when the termination criterion is satisfied, the last modeled target image that was generated represents the uncorrupted target image.

27. The one or more computing systems of claim 26 wherein the instructions further apply a characteristic identifier to the uncorrupted target image to identify a characteristic of the observed target image.

28. A method performed by one or more computing systems for generating an uncorrupted image corresponding to an observed image that is corrupted, the method comprising:

iteratively performing based on one or more parameters:

generating a modeled image based on a representation of an uncorrupted image;

generating a corrupted image from the modeled image;

adjusting one or more parameters based on differences between the corrupted image and the observed image; and

generating a new representation of the uncorrupted image.

29. The method of claim 28 wherein the generated modeled image converges on a representation of the uncorrupted image corresponding to the observed image.

30. The method of claim 28 wherein the generating of a modeled image generates a plurality of modeled images that are each generated based on a representation of an uncorrupted image.

31. The method of claim 28 wherein the generating of a corrupted image generates a plurality of corrupted images that are each generated based on a modeled image.

32. The method of claim 28 wherein the representation of the uncorrupted image is a latent vector.

33. The method of claim 28 further comprising during an iteration, training a corruption mimicking component that inputs modeled images and outputs corrupted images by adjusting parameters of the corruption mimicking component based on differences between the corrupted images and observed images.

34. The method of claim 28 further comprising during an iteration, training a latent vector component that inputs corrupted images and outputs latent vectors by generating modeled images from the latent vectors, generating corrupted images from the modeled images, and adjusting parameters of the latent vector component based on differences between the corrupted images and the observed images.

35. The method of claim 28 wherein the generating of the corrupted image includes applying corruption mimicking component to the modeled image wherein the corruption mimicking component is trained during each iteration.

36. One or more computing systems for generating uncorrupted images corresponding to observed images that are corrupted, the one or more computing systems comprising:

one or more computer-readable storage mediums for storing computer- executable instructions for controlling the one or more computing systems to:

apply a generator to representations of uncorrupted images to generate modeled images;

apply a corruption mimicking component to the modeled images to generate corrupted images from the modeled images; and

learn new representations of the uncorrupted images based on differences between the corrupted images and the observed images; and

one or more processors for executing the computer-executable instructions stored in the one or more computer-readable storage mediums.

37. The one or more computing systems of claim 36 wherein a representation of an uncorrupted image is a latent vector.

38. The one or more computing systems of claim 36 wherein the instructions further train the corruption mimicking component by iteratively inputting the modeled images, outputting corrupted images, and adjusting parameters of the corruption mimicking component based on differences between the output corrupted images and the observed images.

39. The one or more computing systems of claim 38 wherein the instructions that learn new representations further train a representation component by iteratively inputting first corrupted images, outputting representations of the uncorrupted images corresponding to the first corrupted images, generating modeled images from the representations, applying the corruption mimicking component to generate second corrupted images from the modeled images, and adjusting parameters of the representation component based on differences between the second corrupted images and observed images.

40. The one or more computing systems of claim 36 wherein the instructions that learn new representations further train a representation component by iteratively inputting first corrupted images, outputting representations of the uncorrupted images corresponding to the first corrupted images, generating modeled images from the representations, applying the corruption mimicking component to generate second corrupted images from the modeled images, and adjusting parameters of the representation component based on differences between the second corrupted images and observed images.

41. The one or more computing systems of claim 36 wherein the applying of the generator, the applying of corruption mimicking component, and the learning of the new representations are performed iteratively until the corrupted images converge on the observed images.

42. The one or more computing systems of claim 41 wherein the corruption mimicking network is trained during each iteration.

43. One or more computing systems for generating uncorrupted images corresponding to observed images that are corrupted, the one or more computing systems comprising:

one or more computer-readable storage mediums for storing computer- executable instructions for controlling the one or more computing systems to:

apply a generator to representations of uncorrupted images to generate modeled images;

train a corruption mimicking component that inputs the modeled images and outputs corrupted images by adjusting parameters of the corruption mimicking component based on differences between the corrupted images and the observed images the modeled images; and

generate new representations of the uncorrupted images based on differences between the corrupted images output by the corruption mimicking component and the observed images; and

one or more processors for executing the computer-executable instructions stored in the one or more computer-readable storage mediums.

44. The one or more computing systems of claim 43 further comprising instructions that learn new representations of the uncorrupted images based on differences between the corrupted images and the observed images.

45. The one or more computing systems of claim 44 wherein the instructions that learn new representations further train a representation component by iteratively inputting first corrupted images, outputting representations of the uncorrupted images based on the first corrupted images, generating modeled images from the representations, applying the corruption mimicking component to generate second corrupted images from the modeled images, and adjusting parameters of the representation component based on differences between the second corrupted images and observed images.

Assignments (2)
CONFIRMATORY LICENSE (SEE DOCUMENT FOR DETAILS) Recorded Aug 3, 2020
From: LAWRENCE LIVERMORE NATIONAL SECURITY, LLC
To: U.S. DEPARTMENT OF ENERGY
Reel/Frame 053383/0043 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2020
From: ANIRUDH, RUSHIL; JAYARAMAN THIAGARAJAN, JAYARAMAN; BREMER, PEER-TIMO; KAILKHURA, BHAVYA
To: LAWRENCE LIVERMORE NATIONAL SECURITY, LLC
Reel/Frame 052314/0394 →
Continuity (2)
Provisional Application 62851511 · May 22, 2019
Related Publication 20200372308A1 · Nov 26, 2020