Scalable Volumetric 3D Reconstruction via Hierarchical Octrees

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems for computing volumetric 3D reconstructions of environments and objects are limited by memory and processing capacity, restricting the size of the real-world volume that can be reconstructed in real-time.

Innovation Solution

A scalable volumetric reconstruction method using a hierarchical data structure with a root level node, interior level nodes, and leaf nodes, each with an associated voxel grid, allowing for finer resolution at leaf nodes, and employing parallel processing to integrate captured data and render images, along with metadata for space skipping and pruning.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If a uniform high-resolution voxel grid is used to represent the entire environment, then the detail level and manufacturing precision are improved, but the memory usage and device complexity increase exponentially

Engineering Contradiction:
Improvedetail levelVSAvoidmemory usage
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

Solution Approach 1:

The environment is divided into multiple octrees, where each octree represents a local region with its own root voxel. This segmentation allows high resolution to be applied only to specific regions of interest rather than uniformly across the entire environment, reducing overall memory usage while maintaining high detail levels where needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different regions of the environment are assigned different resolution levels based on their importance. Leaf voxels in regions requiring high detail are refined to maximum resolution, while other regions use coarser resolution. This local quality approach ensures manufacturing precision is improved only where necessary, optimizing the balance between detail level and memory usage.

Inventive Principle:
Principle #3Local quality

2Reliability

If the entire volumetric model is processed simultaneously, then the completeness of the reconstruction is improved, but the processing time and productivity deteriorate due to memory bandwidth constraints

Engineering Contradiction:
Improvecompleteness of reconstructionVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The volumetric model is segmented into multiple octrees that can be processed independently and in parallel. Each GPU can handle one or more octrees simultaneously, dividing the large-scale processing task into smaller manageable units. This segmentation maintains completeness of reconstruction while enabling parallel processing to improve productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Processing is distributed across multiple GPUs working in parallel, adding a temporal dimension to the processing pipeline. Instead of processing the entire model sequentially in a single GPU, multiple GPUs process different octrees simultaneously, significantly improving processing speed while maintaining reconstruction completeness.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Measurement precision

If fine-grained voxel grids are used throughout the environment, then the measurement precision is improved, but the data volume and device complexity increase significantly

Engineering Contradiction:
Improvespatial resolutionVSAvoiddata structure complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The voxel grid resolution is made dynamic and adaptive rather than static and uniform. Each octree automatically adjusts its leaf voxel size based on the scale and importance of the objects within its region. This dynamic adaptation allows measurement precision to be improved in critical areas while reducing data structure complexity in less important regions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The resolution parameter (voxel size) is changed dynamically across different regions of the environment. Instead of using a fixed fine-grained grid throughout, the system varies the voxel size parameter based on local requirements, improving measurement precision where needed while reducing overall data structure complexity and memory requirements.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If parallel processing across multiple GPUs is implemented, then the processing speed and productivity are improved, but the device complexity and coordination overhead increase

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem coordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The environment is segmented into discrete octrees that can be independently assigned to different GPUs. This natural segmentation simplifies parallel processing coordination compared to arbitrary data partitioning, as each GPU receives a self-contained octree with all necessary spatial relationships. This reduces system coordination complexity while maintaining high processing speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each GPU receives a copy of the necessary data structures and processing algorithms locally, eliminating the need for complex inter-GPU data sharing and synchronization. This copying approach reduces device complexity by allowing independent processing on each GPU, with results later merged to form the complete reconstruction.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11107272B2Scalable volumetric 3D reconstruction
Publication Date: 2021.08.31 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11107272B2 patent drawing
  • US11107272B2 patent drawing
  • US11107272B2 patent drawing

AI summary

Scalable volumetric reconstruction is described whereby data from a mobile environment capture device is used to form a 3D model of a real-world environment. In various examples, a hierarchical structure is used to store the 3D model where the structure comprises a root level node, a plurality of interior level nodes and a plurality of leaf nodes, each of the nodes having an associated voxel grid representing a portion of the real world environment, the voxel grids being of finer resolution at the leaf nodes than at the root node. In various examples, parallel processing is used to enable captured data to be integrated into the 3D model and/or to enable images to be rendered from the 3D model. In an example, metadata is computed and stored in the hierarchical structure and used to enable space skipping and/or pruning of the hierarchical structure.