IP Library Granted Patent US 10,762,620
Granted Patent B2
US 10,762,620 · App. 16/200,192 · Granted Sep 1, 2020

Deep-learning method for separating reflection and transmission images visible at a semi-reflective surface in a computer image of a real-world scene

Inventors: Orazio Gallo (Santa Cruz, CA); Jinwei Gu (San Jose, CA); Jan Kautz (Lexington, MA); Patrick Wieschollek (Kusterdingen, DE)
Assignee: NVIDIA Corporation
G06T7/001G06K9/621G06N20/00G06T1/20G06T5/001G06T11/40G06T15/00G06T2207/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 10,762,620
App. No.
16/200,192
Granted
Sep 1, 2020
Kind
B2
Abstract

When a computer image is generated from a real-world scene having a semi-reflective surface (e.g. window), the computer image will create, at the semi-reflective surface from the viewpoint of the camera, both a reflection of a scene in front of the semi-reflective surface and a transmission of a scene located behind the semi-reflective surface. Similar to a person viewing the real-world scene from different locations, angles, etc., the reflection and transmission may change, and also move relative to each other, as the viewpoint of the camera changes. Unfortunately, the dynamic nature of the reflection and transmission negatively impacts the performance of many computer applications, but performance can generally be improved if the reflection and transmission are separated. The present disclosure uses deep learning to separate reflection and transmission at a semi-reflective surface of a computer image generated from a real-world scene.

Claims (39)

1. A method, comprising:

synthesizing training data for a deep learning network by applying a plurality of manipulations to a training reflection image and a training transmission image for a semi-reflective surface representation, the plurality of manipulations simulating behaviors observed in real-world data;

training the deep learning network to learn a residual representation of a reflection and transmission relative to input images, using the training data;

receiving, as input to the deep learning network, polarization images of a real-world scene having a semi-reflective surface;

outputting, by the deep learning network, the residual representation of the reflection and transmission for the semi-reflective surface of the real-world scene.

2. The method of claim 1 , wherein the training reflection image and the training transmission image are included in a data point randomly selected from a training image set.

3. The method of claim 1 , wherein the plurality of manipulations are applied to the training reflection image and training transmission image through a data generation pipeline that takes the training reflection image and training transmission image as input and that outputs the training data for the deep learning network.

4. The method of claim 1 , wherein the plurality of manipulations includes:

manipulating the dynamic range (DR) of the training reflection image and the training transmission image.

5. The method of claim 4 , wherein manipulating the DR of the training reflection image and the training transmission image includes brightening the training reflection image or the training transmission image.

6. The method of claim 4 , wherein manipulating the DR of the training reflection image and the training transmission image includes providing edge-aware reflection.

7. The method of claim 6 , wherein the edge-aware reflection is provided by setting to zero regions of the training reflection image having an intensity below a defined threshold.

8. The method of claim 1 , wherein the plurality of manipulations includes:

manipulating the training reflection image and the training transmission image to simulate artifacts caused by movement.

9. The method of claim 8 , wherein the artifacts include non-rigid deformations.

10. The method of claim 8 , wherein the artifacts are simulated by defining a grid over a patch of the training reflection image, perturbing the grid's anchors by a selected x,y amount, and interpolating a position of remaining pixels in the patch.

11. The method of claim 10 , wherein polarization images are created for the patch, each of the polarization images being a separate image created for a different polarization angle.

12. The method of claim 1 , wherein the plurality of manipulations includes:

manipulating the training reflection image and the training transmission image to simulate local curvatures of the semi-reflective surface representation.

13. The method of claim 12 , wherein the local curvatures are simulated using a parabola by sampling four parameters: a camera position, a point on the semi-reflective surface representation, a segment length, and a convexity as +/−1.

14. The method of claim 1 , wherein the training data includes:

a latent reflection image,

a latent transmission image, and

training polarization images.

15. The method of claim 1 , wherein the polarization images captured for the scene include a plurality of images of the scene captured at different polarization angles.

16. The method of claim 1 , wherein the deep learning network generates an estimated reflection image and an estimated transmission image from the polarization images.

17. The method of claim 16 , wherein the deep learning network learns the residual representation of the reflection and transmission for the semi-reflective surface of the real-world scene, using the estimated reflection image and the estimated transmission image.

18. A non-transitory computer readable storing code executable by a processor to perform a method comprising:

synthesizing training data for a deep learning network by applying a plurality of manipulations to a training reflection image and a training transmission image for a semi-reflective surface representation, the plurality of manipulations simulating behaviors observed in real-world data;

training the deep learning network to learn a residual representation of a reflection and transmission relative to input images, using the training data;

receiving, as input to the deep learning network, polarization images of a real-world scene having a semi-reflective surface;

outputting, by the deep learning network, the residual representation of the reflection and transmission for the semi-reflective surface of the real-world scene.

19. A system, comprising:

a memory; and

at least one processor for:

synthesizing training data for a deep learning network by applying a plurality of manipulations to a training reflection image and a training transmission image for a semi-reflective surface representation, the plurality of manipulations simulating behaviors observed in real-world data;

training the deep learning network to learn a residual representation of a reflection and transmission relative to input images, using the training data;

receiving, as input to the deep learning network, polarization images of a real-world scene having a semi-reflective surface;

outputting, by the deep learning network, the residual representation of the reflection and transmission for the semi-reflective surface of the real-world scene.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2019
From: GALLO, ORAZIO; GU, JINWEI; KAUTZ, JAN; WIESCHOLLEK, PATRICK
To: NVIDIA CORPORATION
Reel/Frame 047928/0754 →
Continuity (2)
Provisional Application 62591087 · Nov 27, 2017
Related Publication 20190164268A1 · May 30, 2019