Efficient determination of optical flow between images

US10165258B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10165258-B2
Application numberUS-201615096167-A
CountryUS
Kind codeB2
Filing dateApr 11, 2016
Priority dateApr 6, 2016
Publication dateDec 25, 2018
Grant dateDec 25, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 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.

Assignees

Inventors

Classifications

  • H04N23/90Primary

    Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums · CPC title

  • Colour aspects · CPC title

  • involving image mosaicing · CPC title

  • Adjusting depth or disparity · CPC title

  • Stereo images · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10165258B2 cover?
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…
Who is the assignee on this patent?
Facebook Inc
What technology area does this patent fall under?
Primary CPC classification H04N23/90. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 25 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).