Generating scene reconstructions from images
First Claim
Patent Images
1. A system for reconstructing metric 3D scene geometry, the system comprising:
- an image source that provides a set of images of a scene;
a distributed computing platform that is programmed to generate a metric 3D scene geometry from the set of images, the distributed computing platform comprising;
a central computing module that is programmed to coordinate generation of the metric 3D scene geometry on the distributed computing platform, the central computing module comprising;
memory;
one or more interfaces to communicate with other computing modules that are part of the distributed computing platform;
a data storage device storing a first set of instructions;
one or more processors that is programmed to execute the first set of instruction using the memory and the one or more interfaces, causing the one or more processors to perform operations comprising;
identifying a plurality of image features from the set of images;
determining matches between the plurality of image features across the set of images;
generating an image graph based on the set of images and the determined matches, wherein image graph comprises (i) vertices that represent images from the set of images and (ii) edges that connect the vertices and that have weights that are determined based on the matches between the plurality of image features;
decomposing the image graph into a plurality of components that each include a portion of the image graph, wherein each of the plurality of components is generated to have at least a threshold level of quality and overlap with others components;
transmitting at least a portion of the plurality of components to the other computing modules in the distributed computing platform;
receiving a plurality of metric 3D scene geometries from the other computing modules in the distribute computing platform, the plurality of metric 3D scene geometries having been determined in parallel across the other computing modules; and
merging the plurality of metric 3D scene geometries to generate a solution providing the metric 3D scene geometry for the entirety of the image set; and
a plurality of distributed computing modules that are each programmed to process one or more of the plurality of components in parallel, each of the plurality of distributed computing modules comprising;
memory;
one or more interfaces to communicate with, at least, the central computing module;
a data storage device storing a second set of instructions;
one or more processors that is programmed to execute the second set of instruction using the memory and the one or more interfaces, causing the one or more processor to perform operations comprising;
receiving one or more of the plurality of components;
determining one or more metric 3D scene geometries for the one or more plurality of components, each of the one or more metric 3D scene geometries being determined individually; and
transmitting the one or more metric 3D scene geometries to the central computing module.
1 Assignment
0 Petitions
Accused Products
Abstract
Computer techniques and systems for decomposing a scene into small scene partitions that can be independently solved and merged into a single cohesive scene without loss in reconstruction quality.
-
Citations
20 Claims
-
1. A system for reconstructing metric 3D scene geometry, the system comprising:
-
an image source that provides a set of images of a scene; a distributed computing platform that is programmed to generate a metric 3D scene geometry from the set of images, the distributed computing platform comprising; a central computing module that is programmed to coordinate generation of the metric 3D scene geometry on the distributed computing platform, the central computing module comprising; memory; one or more interfaces to communicate with other computing modules that are part of the distributed computing platform; a data storage device storing a first set of instructions; one or more processors that is programmed to execute the first set of instruction using the memory and the one or more interfaces, causing the one or more processors to perform operations comprising; identifying a plurality of image features from the set of images; determining matches between the plurality of image features across the set of images; generating an image graph based on the set of images and the determined matches, wherein image graph comprises (i) vertices that represent images from the set of images and (ii) edges that connect the vertices and that have weights that are determined based on the matches between the plurality of image features; decomposing the image graph into a plurality of components that each include a portion of the image graph, wherein each of the plurality of components is generated to have at least a threshold level of quality and overlap with others components; transmitting at least a portion of the plurality of components to the other computing modules in the distributed computing platform; receiving a plurality of metric 3D scene geometries from the other computing modules in the distribute computing platform, the plurality of metric 3D scene geometries having been determined in parallel across the other computing modules; and merging the plurality of metric 3D scene geometries to generate a solution providing the metric 3D scene geometry for the entirety of the image set; and a plurality of distributed computing modules that are each programmed to process one or more of the plurality of components in parallel, each of the plurality of distributed computing modules comprising; memory; one or more interfaces to communicate with, at least, the central computing module; a data storage device storing a second set of instructions; one or more processors that is programmed to execute the second set of instruction using the memory and the one or more interfaces, causing the one or more processor to perform operations comprising; receiving one or more of the plurality of components; determining one or more metric 3D scene geometries for the one or more plurality of components, each of the one or more metric 3D scene geometries being determined individually; and transmitting the one or more metric 3D scene geometries to the central computing module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for reconstructing metric 3D scene geometry, the method comprising:
-
identifying, by a computer system, a plurality of image features from a set of images; determining, by the computer system, matches between the plurality of image features across the set of images; generating, by the computer system, an image graph based on the set of images and the determined matches, wherein image graph comprises (i) vertices that represent images from the set of images and (ii) edges that connect the vertices and that have weights that are determined based on the matches between the plurality of image features; decomposing, by the computer system, the image graph into a plurality of components that each include a portion of the image graph, wherein each of the plurality of components is generated to have at least a threshold level of quality and overlap with others components; determining, by the computer system, a plurality of metric 3D scene geometries based on individual processing of the plurality of components; merging, by the computer system, the plurality of metric 3D scene geometries to generate an approximate solution providing metric 3D scene geometry for the entirety of the internet-scale image set; and modifying, by the computer system, the approximate solution to be a final solution achieving a comprehensive metric 3D scene geometry for the entirety of the internet-scale image set. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A computer-implemented method for reconstructing metric 3D scene geometry, the method comprising:
-
identifying, by a computer system, a plurality of geographic regions that are covered by a set of images; determining, by the computer system, overlapping areas between the plurality of geographic regions; generating, by the computer system, an image graph based on the set of images and the determined overlapping areas, wherein image graph comprises (i) vertices that represent images from the set of images and (ii) edges that connect the vertices and that have weights that are determined based on the overlapping areas; decomposing, by the computer system, the image graph into a plurality of components that each include a portion of the image graph, wherein each of the plurality of components is generated to have at least a threshold level of quality and overlap with others components; determining, by the computer system, a plurality of metric 3D scene geometries based on individual processing of the plurality of components; merging, by the computer system, the plurality of metric 3D scene geometries to generate an approximate solution providing metric 3D scene geometry for the entirety of the internet-scale image set; and modifying, by the computer system, the approximate solution to be a final solution achieving a comprehensive metric 3D scene geometry for the entirety of the internet-scale image set.
-
Specification