Real-time Point Cloud Visualization via Out-of-Core Octree Eviction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods struggle to visualize massive point clouds in real-time during ongoing scanning processes, especially when the data exceeds the capacity of volatile memory, such as RAM or GPU memory, leading to inefficient processing and visualization challenges.

Innovation Solution

A computer-implemented method utilizing an out-of-core algorithm that constructs an LOD structure, such as an octree, with a node cache in volatile memory and evicts data to non-volatile storage, allowing continuous acquisition and visualization of point-cloud data by distributing and redistributing point-cloud data across local and master trees using parallel threads and eviction pipelines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If point-cloud data is stored entirely in volatile memory (RAM/GPU memory) for real-time visualization, then visualization speed and processing efficiency are improved, but the system cannot handle datasets larger than available memory capacity

Engineering Contradiction:
Improvevisualization speedVSAvoiddata capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The point-cloud data is divided into multiple partitions or chunks that can be independently loaded and processed. This segmentation allows the system to work with smaller data portions at a time, fitting within volatile memory constraints while handling large overall datasets through iterative processing of segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A data management intermediary layer is introduced between the storage system and visualization pipeline. This intermediary handles data loading, caching, and swapping between volatile and non-volatile memory, enabling seamless real-time visualization without requiring the entire dataset to reside in memory simultaneously.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If all point-cloud data is loaded into volatile memory for processing, then data access speed is improved, but memory capacity limits are exceeded for large datasets

Engineering Contradiction:
Improvedata access speedVSAvoidmemory management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

Data is pre-processed and organized into an optimized structure before being loaded into volatile memory. This preliminary organization includes spatial indexing and hierarchical decomposition, allowing efficient access patterns during visualization without requiring complex runtime memory management operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts data loading parameters such as batch size, memory allocation, and processing granularity based on available resources and performance requirements. This adaptive parameter tuning optimizes the balance between data access speed and memory utilization without requiring complex manual memory management.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If point-cloud data is processed and visualized after complete scanning, then data completeness is improved, but real-time visualization capability is lost

Engineering Contradiction:
Improvedata completenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The visualization process runs continuously throughout the scanning operation rather than waiting for completion. Data is streamed from the scanner directly into the visualization pipeline, enabling real-time feedback while the scanning process continues uninterrupted, maintaining both data completeness and temporal efficiency.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

Data structures and processing pipelines are prepared in advance before scanning begins. This preliminary setup includes allocating memory buffers, initializing visualization components, and pre-configuring data flow paths, allowing immediate processing of incoming data points without setup delays during the scanning process.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11983858B2Real-time data acquisition and visualization for point-cloud recording
Publication Date: 2024.05.14 HEXAGON INNOVATION HUB GMBH
  • US11983858B2 patent drawing
  • US11983858B2 patent drawing
  • US11983858B2 patent drawing

AI summary

A method for real-time acquisition of point-cloud data of an ongoing scanning process, comprising a recording phase iteratively performed using an external-memory algorithm comprising an acquisition pipeline performed with parallel threads and an eviction pipeline, wherein a master thread comprises processing a master tree and a node cache, wherein the acquisition pipeline comprises continuously receiving the point-cloud data in input buffers, computing a local tree for each of a plurality of local threads, redistributing the point-cloud data onto local nodes, determining, for each local node whether the master tree comprises a corresponding node or not, either adding the point cloud data or creating the corresponding node in the master tree, wherein the eviction pipeline comprises evicting, during the ongoing scanning process, point cloud data from the node cache and writing it to one or more hard drives.