neighborhood when choosing a resolution.
2 RELATED RESEARCH
There exist several techniques for organizing point
cloud data and converting it to a solid geometry.
Point clouds are essentially a list of coordinates, with
each line containing positional information as well
as color, intensity, number of returns and other at-
tributes. Although the list can be sorted using the
coordinate values, normally a spatial partitioning al-
gorithm is applied to facilitate searching and sort-
ing the data. Commonly used approaches are the
octree (Meagher, 1982) and the KD-Tree (Bentley,
1975).
Octrees are based in three dimensional space and
so they naturally lend themselves to 3D visualization.
There are examples where the octree itself is used for
visualizing 3D data, such as the Octomap (Hornung
et al., 2013). Octrees are normally composed of point-
ers to locations in memory which makes it difficult to
save the structure as a binary. One notable exception
is the DMGoctree (Girardeau-Montaut, 2006) which
uses a binary encoding for the position of the point in
the octree. Three bits are used as a unique identifier
for each level of the octree. The DMGoctree uses a
32 or 64 bit encoding for each point to indicate the
location in the tree to a depth of 10 or 20 respectively.
Another recent development is Octnet (Riegler
et al., 2016). Their work uses a hybrid grid octree to
enable sparsification of voxel data. A binary format
is used for representing a set of shallow octrees that,
while not as memory efficient as a standard octree still
allows for significant compression. Furthermore they
developed a highly efficient convolution operator that
reduced the number of multiplications and allowed
for faster network operations when carrying out 3D
inference.
Another technique for solidifying and simplifying
a point cloud is to generate a surface that encloses
the points. A commonly used approach that locally
fits triangles to a set of points is Delaunay triangula-
tion (Boissonnat, 1984). It maximizes the minimum
angle for all angles in the triangulation. Triangular
Irregular Networks (TIN) (Peucker et al., 1978) are
extensively used in Geographical Information Sys-
tems(GIS) and are based on Delaunay triangulation.
One issue is that the approach noise and overlapping
points can cause the algorithm to make spurious sur-
faces.
A more modern and accurate meshing algorithm is
Poisson surface reconstruction (Kazhdan et al., 2006).
The space is hierarchically partitioned and informa-
Table 1: A comparison between VOLA and octrees.
VOLA octree
Implementation Bit Sequence Pointer Based
Traversal Arithmetic Modular Pointer
Variable Depth Yes Yes
Dense Search Complexity O(1) O(h)
Sparse search complexity O(h) O(h)
Embedded System Support Yes No
Look Up Table (LUT) Support Yes No
Easily Save to File Yes No
File Structure Implicit Explicit
Cacheable Yes No
Hierarchical Memory Structure No Yes
tion on the orientation of the points is used to generate
a 3D model. It has been shown to generate accurate
models and it is able to handle noise due to the combi-
nation of global and local point information. Poisson
reconstruction will always output a watertight mesh
but this can be problematic when there are gaps in
the data. In an attempt to fill areas with little informa-
tion, assumptions are made about the shape which can
lead to significant distortions. There are also prob-
lems with small, pointed surface features which tend
to be rounded off or removed by the meshing algo-
rithm.
Finally there are volumetric techniques encoding
point clouds. Traditionally used for rasterizing 3D
data for rendering (Hughes et al., 2014), the data is
fitted to a 3D grid and occupancy of a point is repre-
sented using a volumetric element, or “voxel”. Voxels
allow the data to be quickly searched and traversed
due to being fitted to a grid. While it simplifies the
data and may merge many points into a single voxel,
each point will have a representative voxel. Unlike
meshing algorithms, voxels will not leave out features
but conversely may be more sensitive to noise. The
primary issue with voxel representations is that they
encode for everything, including open space. This
means that as the resolution is increased or the area
covered is doubled then the memory requirements in-
crease by a factor of 8. An investigation into us-
ing sparse voxel approaches to accomplish efficient
rendering of large volumetric objects was carried out
by (Laine and Karras, 2011). The work used sparse
voxel octrees and mipmaps in conjunctions with frus-
trum culling to render volumetric scenes in real time.
This work was further developed under the name Gi-
gavoxel (Crassin et al., 2009).
VOLA combines the hierarchical structure of oc-
trees with traditional volumetric approaches, enabling
it to only encode for occupied voxels. Although there
is much similarity with traditional octrees this ap-
proach has several noticeable differences outlined in
Table 1. The approach is described in detail below.
GISTAM 2018 - 4th International Conference on Geographical Information Systems Theory, Applications and Management
130