IP Library Granted Patent US 10,839,560
Granted Patent B1
US 10,839,560 · App. 16/286,388 · Granted Nov 17, 2020

Mirror reconstruction

Inventors: Michael Goesele (Darmstadt, DE); Julian Straub (Seattle, WA); Thomas John Whelan (Macroom, IE); Richard Andrew Newcombe (Seattle, WA); Steven John Lovegrove (Woodinville, WA)
Assignee: Facebook Technologies, LLC
G06T7/97G06T7/73G06T15/06G06T15/50G06T17/10
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,839,560
App. No.
16/286,388
Granted
Nov 17, 2020
Kind
B1
Abstract

In one embodiment, a method includes accessing a digital image captured by a camera that is connected to a machine-detectable object, detecting a reflection of the machine-detectable object in the digital image, computing, in response to the detection, a plane that is coincident with a reflective surface associated with the reflection, determining a boundary of the reflective surface in the plane based on at least one of a plurality of cues, and storing information associated with the reflective surface, where the information includes a pose of the reflective surface and the boundary of the reflective surface in a 3D model of a physical environment, and where the information associated with the reflective surface and the 3D model are configured to be used to render a reconstruction of the physical environment.

Claims (42)

1. A method comprising:

accessing, by a computing device, a digital image captured by a camera that is connected to a machine-detectable object;

detecting, by the computing device, a reflection of the machine-detectable object in the digital image;

computing, by the computing device and in response to the detection, a plane that is coincident with a reflective surface associated with the reflection, wherein the plane is computed based on at least the reflection of the machine-detectable object in the digital image and a relative orientation between the camera and the machine-detectable object;

determining, by the computing device, a boundary of the reflective surface in the plane based on at least one of a plurality of cues; and

storing, by the computing device, information associated with the reflective surface, wherein the information comprises a pose of the reflective surface and the boundary of the reflective surface in a 3D model of a physical environment, wherein the information associated with the reflective surface and the 3D model are configured to be used to render a reconstruction of the physical environment.

2. The method of claim 1 , wherein the camera is associated with a scanning device that captures a series of images of a 3-dimensional area with one or more cameras.

3. The method of claim 2 , wherein the one or more cameras comprise an infrared camera or an RGB camera.

4. The method of claim 1 , wherein the machine-detectable object comprises a tag with encoded unique patterns.

5. The method of claim 1 , wherein detecting the reflection of the machine-detectable object comprises:

identifying candidate locations for the reflection of the machine-detectable object in the digital image by performing an image processing on the received digital image;

determining, for each candidate location, whether a reflection of the machine-detectable object exists in the location, wherein the computing device detects only reflected images of the machine-detectable object; and

determining one or more locations of the reflection of the machine-detectable object within the image, wherein the one or more locations determine a location and an orientation of the reflection of the machine-detectable object.

6. The method of claim 5 , wherein detecting the reflection of the machine-detectable object further comprises determining additional information associated with a quality of the detection.

7. The method of claim 5 , wherein each of the one or more locations of the reflection is represented by one or more identifiable points of the reflection of the machine-detectable object.

8. The method of claim 7 , wherein the one or more identifiable points comprise four corners and a center of the reflection of the machine-detectable object.

9. The method of claim 1 , wherein computing the plane that is coincident with the reflective surface associated with the reflection comprises:

determining a relative position of the machine-detectable object from the camera, wherein the position of the machine-detectable object comprises ordered-positions of four corners and a position of center of the machine-detectable object; and

computing a plane that bisects each identifiable point of the real machine-detectable object and a corresponding detected point of the reflected machine-detectable object.

10. The method of claim 9 , wherein the identifiable point comprises any of four corners or a center.

11. The method of claim 1 , wherein the plurality of cues comprises discontinuities, occlusion, geometry, free-space, intensity variance, mean intensity gradient, detection, and average zero-mean normalized cross-correlation (ZNCC).

12. The method of claim 1 , wherein the reflective surface is a fully-reflective surface.

13. The method of claim 1 , wherein the reflective surface is a semi-reflective surface.

14. The method of claim 13 , wherein the computing device determines a reflective surface is a semi-reflective surface if an intensity of the detected reflection is darker than a threshold intensity.

15. The method of claim 13 , wherein the computing device determines a reflective surface is a semi-reflective surface if two reflections are detected on the reflective surface, wherein one of the two reflections is reflected at a front of the surface, and wherein the other of the two reflections is reflected at a back of the surface.

16. The method of claim 15 , wherein a thickness of the semi-reflective surface is estimated based on a distance of the two reflections.

17. The method of claim 1 , wherein a rendering device renders a virtual replica of the physical environment on the reflective surface based on the 3D model using ray tracing techniques.

18. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

access a digital image captured by a camera that is connected to a machine-detectable object;

detect a reflection of the machine-detectable object in the digital image;

compute, in response to the detection, a plane that is coincident with a reflective surface associated with the reflection, wherein the plane is computed based on at least the reflection of the machine-detectable object in the digital image and a relative orientation between the camera and the machine-detectable object;

determine a boundary of the reflective surface in the plane based on at least one of a plurality of cues; and

store information associated with the reflective surface, wherein the information comprises a pose of the reflective surface and the boundary of the reflective surface in a 3D model of a physical environment, wherein the information associated with the reflective surface and the 3D model are configured to be used to render a reconstruction of the physical environment.

19. The media of claim 18 , wherein the camera is associated with a scanning device that captures a series of images of a 3-dimensional area with one or more cameras.

20. A system comprising:

one or more processors; and

one or more computer-readable non-transitory storage media coupled to one or more of the processors and comprising instructions operable when executed by one or more of the processors to cause the system to:

access a digital image captured by a camera that is connected to a machine-detectable object;

detect a reflection of the machine-detectable object in the digital image;

compute, in response to the detection, a plane that is coincident with a reflective surface associated with the reflection, wherein the plane is computed based on at least the reflection of the machine-detectable object in the digital image and a relative orientation between the camera and the machine-detectable object;

determine a boundary of the reflective surface in the plane based on at least one of a plurality of cues; and

store information associated with the reflective surface, wherein the information comprises a pose of the reflective surface and the boundary of the reflective surface in a 3D model of a physical environment, wherein the information associated with the reflective surface and the 3D model are configured to be used to render a reconstruction of the physical environment.

Assignments (3)
CHANGE OF NAME Recorded Jul 6, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060591/0848 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2019
From: NEWCOMBE, RICHARD ANDREW
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 050564/0986 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2019
From: GOESELE, MICHAEL; STRAUB, JULIAN; WHELAN, THOMAS JOHN; LOVEGROVE, STEVEN JOHN
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 048831/0912 →