Efficient determination of optical flow between images
First Claim
1. A method for generating an optical flow, the method comprising:
- receiving a first camera view and a second camera view each comprised of a set of pixels, each camera view representing an image captured by a camera and wherein each camera view is associated with a location from which that camera view was captured;
initializing an optical flow that maps pixels of the first camera view with corresponding pixels of the second camera view; and
optimizing the optical flow for each pixel of the first camera view according to an ordered sequence of the pixels of the first camera view, wherein optimizing the optical flow for each pixel comprises;
generating a set of optical flow proposals for the pixel, each optical flow proposal mapping the pixel to a pixel of the second camera view, the set of optical flow proposals comprising an optical flow proposal associated with one or more previous pixels in the ordered sequence;
analyzing each optical flow proposal of the set of optical flow proposals; and
updating the optical flow for the pixel based on a selected optical flow proposal of the set of optical flow proposals.
2 Assignments
0 Petitions
Accused Products
Abstract
A canvas generation system generates a canvas view of a scene based on a set of original camera views depicting the scene, for example to recreate a scene in virtual reality. Canvas views can be generated based on a set of synthetic views generated from a set of original camera views. Synthetic views can be generated, for example, by shifting and blending relevant original camera views based on an optical flow across multiple original camera views. An optical flow can be generated using an iterative method which individually optimizes the optical flow vector for each pixel of a camera view and propagates changes in the optical flow to neighboring optical flow vectors.
57 Citations
20 Claims
-
1. A method for generating an optical flow, the method comprising:
-
receiving a first camera view and a second camera view each comprised of a set of pixels, each camera view representing an image captured by a camera and wherein each camera view is associated with a location from which that camera view was captured; initializing an optical flow that maps pixels of the first camera view with corresponding pixels of the second camera view; and optimizing the optical flow for each pixel of the first camera view according to an ordered sequence of the pixels of the first camera view, wherein optimizing the optical flow for each pixel comprises; generating a set of optical flow proposals for the pixel, each optical flow proposal mapping the pixel to a pixel of the second camera view, the set of optical flow proposals comprising an optical flow proposal associated with one or more previous pixels in the ordered sequence; analyzing each optical flow proposal of the set of optical flow proposals; and updating the optical flow for the pixel based on a selected optical flow proposal of the set of optical flow proposals.
-
-
2. The method of claim 1, wherein an optical flow is a vector field associating each pixel of a camera view with an optical flow vector giving a displacement between the pixel and a corresponding pixel of another camera view.
-
3. The method of claim 2, wherein a set of optical flow proposals for a pixel comprises the optical flow vector associated with an upper neighbor of the pixel, the optical flow vector associated with the left neighbor of the pixel, and a random perturbation of the current optical flow vector.
-
4. The method of claim 1, further comprising establishing a variational optimization problem including data and regularization terms.
-
5. The method of claim 4, wherein updating the optical flow for a pixel comprises selecting the optical flow proposal that moves the variational optimization problem closest to a solution.
-
6. The method of claim 1, further comprising applying a median filter to the optical flow.
-
7. The method of claim 1, wherein receiving a first camera view and a second camera view includes receiving a set of camera views including the first and second camera views and further comprising initializing and optimizing an optical flow for each other camera view of the set of camera views.
-
8. The method of claim 1, wherein the optical flow for the pixels of the first camera view are optimized in an ordered sequence starting from the top left pixel and proceeding to the lower right pixel of the first camera view.
-
9. The method of claim 1, further comprising optimizing the optical flow for each pixel of the first camera view until a measurement of the optical flow quality reaches a threshold score.
-
10. The method of claim 1, wherein initializing the optical flow comprises:
-
scaling up a lower resolution optical flow; and proportionally increasing the magnitude of optical flow vectors within the lower resolution optical flow.
-
-
11. A system comprising:
-
an input module, the input module configured to receive a first camera view and a second camera view each comprised of a set of pixels, each camera view representing an image captured by a camera and wherein each camera view is associated with a location from which that camera view was captured; an optical flow calculation module, the optical flow calculation module configured to; initialize an optical flow that maps pixels of the first camera view with corresponding pixels of the second camera view; and optimize the optical flow for each pixel of the first camera view according to an ordered sequence of the pixels of the first camera view, wherein optimizing the optical flow for each pixel comprises; generating a set of optical flow proposals for the pixel, each optical flow proposal mapping the pixel to a pixel of the second camera view, the set of optical flow proposals comprising an optical flow proposal associated with one or more previous pixels in the ordered sequence; analyzing each optical flow proposal of the set of optical flow proposals; and updating the optical flow for the pixel based on a selected optical flow proposal of the set of optical flow proposals.
-
-
12. The system of claim 11, wherein an optical flow is a vector field associating each pixel of a camera view with an optical flow vector giving a displacement between the pixel and a corresponding pixel of another camera view.
-
13. The system of claim 12, wherein a set of optical flow proposals for a pixel comprises the optical flow vector associated with an upper neighbor of the pixel, the optical flow vector associated with the left neighbor of the pixel, and a random perturbation of the current optical flow vector.
-
14. The system of claim 11, wherein the optical flow calculation module is further configured to establish a variational optimization problem including data and regularization terms.
-
15. The system of claim 14, wherein updating the optical flow for a pixel comprises determining the optical flow proposal that moves the variational optimization problem closest to a solution.
-
16. The system of claim 11, further comprising applying a median filter to the optical flow.
-
17. The system of claim 11, wherein receiving a first camera view and a second camera view includes receiving a set of camera views including the first can second camera views and wherein the optical flow calculation module is further configured to initialize and optimize an optical flow for each other camera view of the set of camera views.
-
18. The system of claim 11, wherein the optical flow for the pixels of the first camera view are optimized in an ordered sequence starting from the top left pixel and proceeding to the lower right pixel of the first camera view.
-
19. The system of claim 11, wherein the optical flow calculation module is further configured to optimize the optical flow for each pixel of the first camera view until a measurement of the optical flow quality reaches a threshold score.
-
20. The system of claim 11, wherein initializing the optical flow comprises:
-
scaling up a lower resolution optical flow; and proportionally increasing the magnitude of optical flow vectors within the lower resolution optical flow.
-
Specification