Table of Contents
Fetching ...

Efficient Neighbourhood Search in 3D Point Clouds Through Space-Filling Curves and Linear Octrees

Pablo D. Viñambres, Miguel Yermo, Silvia R. Alcaraz, Oscar G. Lorenzo, Francisco F. Rivera, José C. Cabaleiro

TL;DR

This work presents an efficient approach for neighbourhood searching in 3D point clouds by combining spatial reordering leveraging Space-Filling Curves, specifically Morton and Hilbert curves, with a linear Octree implementation, and introduces the novel concept of kNN locality histogram.

Abstract

This work presents an efficient approach for neighbourhood searching in 3D point clouds by combining spatial reordering leveraging Space-Filling Curves (SFC), specifically Morton and Hilbert curves, with a linear Octree implementation. We also propose specialised search algorithms for fixed-radius and kNN queries, based on our linear Octree structures. Additionally, we introduce the novel concept of kNN locality histogram, which can be easily computed to characterise locality in data accesses, and we found to be directly related to cache misses and search performance. Our experiments reveal that SFC reordering significantly improves access to spatial data, reducing the number of cache misses from 25% to 75% and runtime by up to 50%. Moreover, we compare our proposal with several widely used Octree and KDTree implementations. Our method achieves a significant reduction in search time, up to 10$\times$ faster than existing solutions.Additionally, we analysed the performance of our neighbourhood searches (parallelised using OpenMP), demonstrating high scalability with the number of cores and the problem size. Notably, we observed a speedup of up to $36\times$ when executing fixed-radius searches in a system with 40 cores. The results obtained indicate that our methods provide a robust and efficient solution for applications that require fast access to large-scale 3D point neighbour sets.

Efficient Neighbourhood Search in 3D Point Clouds Through Space-Filling Curves and Linear Octrees

TL;DR

This work presents an efficient approach for neighbourhood searching in 3D point clouds by combining spatial reordering leveraging Space-Filling Curves, specifically Morton and Hilbert curves, with a linear Octree implementation, and introduces the novel concept of kNN locality histogram.

Abstract

This work presents an efficient approach for neighbourhood searching in 3D point clouds by combining spatial reordering leveraging Space-Filling Curves (SFC), specifically Morton and Hilbert curves, with a linear Octree implementation. We also propose specialised search algorithms for fixed-radius and kNN queries, based on our linear Octree structures. Additionally, we introduce the novel concept of kNN locality histogram, which can be easily computed to characterise locality in data accesses, and we found to be directly related to cache misses and search performance. Our experiments reveal that SFC reordering significantly improves access to spatial data, reducing the number of cache misses from 25% to 75% and runtime by up to 50%. Moreover, we compare our proposal with several widely used Octree and KDTree implementations. Our method achieves a significant reduction in search time, up to 10 faster than existing solutions.Additionally, we analysed the performance of our neighbourhood searches (parallelised using OpenMP), demonstrating high scalability with the number of cores and the problem size. Notably, we observed a speedup of up to when executing fixed-radius searches in a system with 40 cores. The results obtained indicate that our methods provide a robust and efficient solution for applications that require fast access to large-scale 3D point neighbour sets.
Paper Structure (20 sections, 6 equations, 13 figures, 7 tables)

This paper contains 20 sections, 6 equations, 13 figures, 7 tables.

Figures (13)

  • Figure 1: Edges of the octants of an Octree over point cloud bildstein_station1, up to depth 5. Distances are measured in meters.
  • Figure 2: Two-dimensional SFC visualisations.
  • Figure 3: Point cloud reorderings on Lille_0 (10M points). The colour scale indicates the order in which the points are stored in memory. Distances are measured in meters.
  • Figure 4: Random search runtimes for different kernels and radii on cloud ParLux_6.
  • Figure 5: Full search runtimes for different kernels and radii on cloud sg27.
  • ...and 8 more figures

Theorems & Definitions (3)

  • Definition 1
  • Definition 2
  • Definition 3