IP Library › Granted Patent US 10,504,293
Granted Patent B2
US 10,504,293 · App. 16/181,227 · Granted Dec 10, 2019

Augmenting multi-view image data with synthetic objects using IMU and image data

Inventors: Stefan Johannes Josef Holzer (San Mateo, CA); Stephen David Miller (San Francisco, CA); Alexander Jay Bruen Trevor (San Francisco, CA); Martin Saelzle (San Francisco, CA); Radu Bogdan Rusu (San Francisco, CA)
Assignee: Fyusion, Inc.
G06T19/006G06T13/20G06T2219/028
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,504,293
App. No.
16/181,227
Granted
Dec 10, 2019
Kind
B2
Abstract

Provided are mechanisms and processes for augmenting multi-view image data with synthetic objects using inertial measurement unit (IMU) and image data. In one example, a process includes receiving a selection of an anchor location in a reference image for a synthetic object to be placed within a multi-view image. Movements between the reference image and a target image are computed using visual tracking information associated with the multi-view image, device orientation corresponding to the multi-view image, and an estimate of the camera's intrinsic parameters. A first synthetic image is then generated by placing the synthetic object at the anchor location using visual tracking information in the multi-view image, orienting the synthetic object using the inverse of the movements computed between the reference image and the target image, and projecting the synthetic object along a ray into a target view associated with the target image. The first synthetic image is overlaid on the target image to generate an augmented image from the target view.

Claims (34)

1. A method comprising:

receiving a selection of an anchor location for a synthetic object to be placed within a multi-view image;

computing movements between a reference image and a target image using visual tracking information associated with the multi-view image;

generating a first synthetic image corresponding to a target view associated with the target image, wherein the first synthetic image is generated by placing the synthetic object at the anchor location using visual tracking information associated with the anchor location in the multi-view image and orienting the synthetic object using the inverse of the movements computed between the reference image and the target image, wherein the anchor location includes three-dimensional coordinates corresponding to 2D coordinates specified in the reference image along with a depth perpendicular to the plane of the reference image, the depth being triangulated, wherein generating the first synthetic image includes scaling the triangulated depth based on scale changes in the multi-view image; and

overlaying the first synthetic image on the target image to generate an augmented image from target view of the target image.

2. The method of claim 1 , wherein the synthetic object is located at a fixed position relative to the anchor location.

3. The method of claim 1 , wherein the synthetic object moves relative to the anchor location.

4. The method of claim 1 , wherein the synthetic object is animated.

5. The method of claim 4 , wherein animation of the synthetic object is based on an amount of time that passes during viewing of the multi-view image, and wherein the animation is independent of navigation through the multi-view image.

6. The method of claim 4 , wherein animation of the synthetic object is dependent on navigation of the multi-view image, wherein the animation is dependent on spatial movement of the camera.

7. The method of claim 4 , wherein the synthetic object is represented by a video.

8. The method of claim 1 , wherein the synthetic object is transparent or semi-transparent in at least one view associated with the multi-view image.

9. The method of claim 1 , wherein the multi-view image includes dynamic content.

10. The method of claim 1 , wherein the multi-view image includes dynamic context.

11. A non-transitory computer readable medium comprising:

receiving a selection of an anchor location for a synthetic object to be placed within a multi-view image;

computing movements between a reference image and a target image using visual tracking information associated with the multi-view image;

generating a first synthetic image corresponding to a target view associated with the target image, wherein the first synthetic image is generated by placing the synthetic object at the anchor location using visual tracking information associated with the anchor location in the multi-view image and orienting the synthetic object using the inverse of the movements computed between the reference image and the target image, wherein the anchor location includes three-dimensional coordinates corresponding to 2D coordinates specified in the reference image along with a depth perpendicular to the plane of the reference image, the depth being triangulated, wherein generating the first synthetic image includes scaling the triangulated depth based on scale changes in the multi-view image; and

overlaying the first synthetic image on the target image to generate an augmented image from target view of the target image.

12. The non-transitory computer readable medium of claim 11 , wherein the synthetic object is located at a fixed position relative to the anchor location.

13. The non-transitory computer readable medium of claim 11 , wherein the synthetic object moves relative to the anchor location.

14. The non-transitory computer readable medium of claim 11 , wherein the synthetic object is animated.

15. The non-transitory computer readable medium of claim 14 , wherein animation of the synthetic object is based on an amount of time that passes during viewing of the multi-view image, and wherein the animation is independent of navigation through the multi-view image.

16. The non-transitory computer readable medium of claim 14 , wherein animation of the synthetic object is dependent on navigation of the multi-view image, wherein the animation is dependent on spatial movement of the camera.

17. The non-transitory computer readable medium of claim 14 , wherein the synthetic object is represented by a video.

18. The non-transitory computer readable medium of claim 11 , wherein the synthetic object is transparent or semi-transparent in at least one view associated with the multi-view image.

19. The non-transitory computer readable medium of claim 11 , wherein the multi-view image includes dynamic content.

20. A system comprising:

a processor; and

memory, wherein the memory stores instructions for:

receiving a selection of an anchor location for a synthetic object to be placed within a multi-view image;

computing movements between a reference image and a target image using visual tracking information associated with the multi-view image;

generating a first synthetic image corresponding to a target view associated with the target image, wherein the first synthetic image is generated by placing the synthetic object at the anchor location using visual tracking information associated with the anchor location in the multi-view image and orienting the synthetic object using the inverse of the movements computed between the reference image and the target image, wherein the anchor location includes three-dimensional coordinates corresponding to 2D coordinates specified in the reference image along with a depth perpendicular to the plane of the reference image, the depth being triangulated, wherein generating the first synthetic image includes scaling the triangulated depth based on scale changes in the multi-view image; and

overlaying the first synthetic image on the target image to generate an augmented image from target view of the target image.

Continuity (3)
Continuation 15009807 · Jan 28, 2016
Provisional Application 62242932 · Oct 16, 2015
Related Publication 20190073834A1 · Mar 7, 2019