Content uploaded by Stéphane Guinard
Author content
All content in this area was uploaded by Stéphane Guinard on Aug 26, 2022
Content may be subject to copyright.
3D point clouds simplification based on geometric
primitives and graph-structured optimization
Stephane A. Guinard
D´
epartement des Sciences G´
eomatiques
Universit´
e Laval
Qu´
ebec City, QC G1V 0A6, Canada
Email: stephane.guinard.1@ulaval.ca
Sylvie Daniel
D´
epartement des Sciences G´
eomatiques
Universit´
e Laval
Qu´
ebec City, QC G1V 0A6, Canada
Email: sylvie.daniel@scg.ulaval.ca
Thierry Badard
D´
epartement des Sciences G´
eomatiques
Universit´
e Laval
Qu´
ebec City, QC G1V 0A6, Canada
Email: thierry.badard@scg.ulaval.ca
Abstract—We present a new method for the simplification of
3D point clouds for digital twin city models. Such data usually
contains a large amount of redundant information, noise and
outliers. This implies that most of subsequent processing tasks
are costly both in terms of processing times and hardware
infrastructure. The core idea of this paper is that most of
the objects present in such scenes can be approximated as a
combination of simple geometric primitives. This approximation
can, in turn, be simplified by keeping only points and edges
that effectively describe the shape of the input scene. Our main
contribution is a formulation of the approximation of 3D point
clouds with simple geometric primitives as a global optimization
problem. We then introduce a new algorithm to efficiently solve
this problem with a graph-cut-based approach. We measure the
performances of our approach against state-of-the-art methods
by comparing the geometric quality of the approximations with
the amount of information needed to represent the simplified
models. The evaluation of our approach is done on Mobile Laser
Scanning (MLS) acquisitions in urban areas. Test areas include
single objects and street portions to show the adaptability of our
method to various geometries. We show improvements both in
terms of geometrical error and final model size.
I. INTRODUCTION
Digital twins are virtual representations of real scenes. They
are increasingly used in various domains, ranging from urban
planning to video game or cultural heritage [1]–[3]. In partic-
ular, more and more cities across the world are considering
building a digital city twin. Some known examples include
Singapore’s city twin [4] or the Venice time machine [5].
This emerging trend has highlighted various problems, such
as large-scale data acquisition and processing [6], [7]. One of
the main issues when creating a digital city twin is dealing
with the large volumetry of the data. It mainly comes from
two sources: photogrammetry and LiDAR. It is then usually
provided as point clouds that can be used for generating
various added value products at different scales, such as digital
terrain models or 3D reconstructions [8]. However, due to the
acquisition process, these point clouds typically display a large
redundancy. When working with a large scene, such as an
entire city, the amount of data to process becomes intractable.
Hence, there is a real need for simplifying the acquired data
[9], [10]. In this paper we focus on the simplification of 3D
point clouds from Mobile Laser Scanning (MLS) data.
The simplification of 3D LiDAR point clouds captured in
urban scenes is composed of three distinct objectives:
•decrease the quantity of data
•preserve the geometric precision: with digital twins, it is
crucial to build a model as close as possible to the reality,
•run in a reasonable processing time: many simplification
algorithms cannot handle a large amount of data in a
limited time.
To tackle these three objectives, we propose to compute
lightweight approximations of various objects in urban scenes,
including cars, buildings and trees. The task of approximating
3D point clouds has been well studied [11]–[13]. However,
many methods focus only on one type of object. For instance,
[14], [15] focus on building simplification. [16] proposes a
method for preserving the topology of the simplified building
by classifying each vertex as ”boundary”, ”hole” or ”ordi-
nary” vertex. Other methods, such as RAPter [17] or Polyfit
[18], propose to use plane arrangements to reconstruct single
objects. Some other works focus only on tree analysis [19],
[20]. Although achieving promising results, these methods fail
to adapt to other geometries. This is mainly due to the large
variability in the geometry of objects commonly found in
urban scenes. For a more complete review on urban scenes
simplification and reconstruction, we refer the reader to the
work of [21].
It can be considered that urban scenes are mainly composed
of anthropic objects, and that such objects can be explained
as a combination of simple shapes [22], [23]. This is the mo-
tivation for regarding the problem of 3D object approximation
as a geometric primitive fitting problem. However, it is not
a trivial task to decompose these objects entirely as a set
of geometric primitives. In the literature, many approaches
focus on plane fitting [24]–[26]. However, such primitive is
not sufficient to approximate trees or geometrically complex
objects. Several recent works are built on RANSAC-based
approaches [27]. They usually add more complex primitives,
or guiding the algorithm to improve the quality of extracted
primitives [28]–[31]. In this study, we focus on combinations
of planes and portions of spheres and cylinders. The rationale
is that planes represent flat areas, spheres encode scattered
or ball-shaped areas such as bushes or foliage and cylinders
(a) Initial scene (b) Meshed scene (c) Segmentation (d) Simplification
0
10
20
30
40
50
(e) Geometric error (cm)
Fig. 1: Illustration of the simplification approach proposed in this paper. The input scene (1a) is meshed (1b) to add an adjacency
relationship to the data. Then data is iteratively segmented, by optimally fitting geometric primitives (1c). This result is used
as input for creating a simplified mesh preserving the initial geometry of the scene (1d). The distance (in cm) between the
input scene and the simplified model is shown in Figure (1e). The first two figures are colorized point clouds using the LiDAR
intensity (unused in this paper). The segmentation’s colors correspond to the different segments. This scene was acquired with
a MLS in Montreal (Canada). It contains 56k points and represents the front of a house with a porch.
describe poles, trunks and branches. Recently, deep learning
approaches proposed to train neural networks to recognize
complex shapes [32], [33]. In order to train and test such
networks, [34] proposed a dataset composed of annotated 3D
CAD models comprising a large variety of objects. However
they did not include noisy and holed data that could match
LiDAR acquisition’s. Also, due to the large variability of the
urban landscape from one country to another, we argue that an
approach aiming to address such geometric variability should
be unsupervised. This way, the method does not learn or show
any bias regarding the organization of urban scenes.
In the literature, primitive fitting methods often focus on
reducing the size of the solution space by proposing a limited
number of shapes and orientations [35]–[37]. Other works
propose to use geometric primitives to help a segmentation
algorithm [38]. However, they often lack robustness to noise
and outliers [39]. Also, objects commonly found in urban
scenes have various geometric complexity, and an efficient
approximation method should preserve the small geometrical
details. As stated by [40], segmentation approaches have the
advantage of finding globally optimal results, but can be
sensible to occlusions or density variations and do not always
perform well on geometrically complex scenes. Hence, we
propose to use an iterative segmentation, where geometrically
simple areas can be segmented out in a few iterations, while
the algorithm refines the partition on complex areas in more
iterations. To ensure that the limits between object parts
are preserved, one may use a segmentation that performs
optimal cuts, such as ℓ0-cut pursuit [41]. It has been efficiently
used with for the semantic classification task [42]. Moreover,
[43] showed that ℓ0-cut pursuit could be adapted to perform
piecewise-planar segmentations.
Once the geometric approximation is done, creating a sim-
plified model describing the shape of the input data becomes
easier. This simplification task has been well studied [11],
[44]–[46]. However, if the data is already approximated with
simple geometric primitives, the simplification task can be
reformulated as a shape-preservation task: points and edges
that do not contribute to explaining the local shape of the data
can be removed without decreasing the geometric quality of
the simplified model using an edge collapse strategy [47], [48].
To summarize our contributions, we propose to formu-
late the segmentation of point clouds based on geometric
primitives as a global optimization problem. We introduce
a new algorithm for iteratively solving this problem with
promising computing performances. Then, we show that the
resulting segmentation can be used to simplify the original
scene and build simplified models. Last, we evaluate our
approach by comparing the simplified models against state-of-
the-art methods. Figure 1 shows the key steps of our approach.
The problem formulation is presented in Section II. In
Section III a new algorithm is described to solve this problem.
Experiments are presented and discussed in Section IV. Sec-
tion V concludes this paper and present perspectives for this
work.
II. PRO BL EM F OR MU LATI ON
Each object commonly found in urban scenes (e.g. build-
ings, cars, trees, . . .) can be approximated with a limited set
of simple primitives, as illustrated on Figure 2. RANSAC-
based approaches are well-designed to fit geometric primitives
on LiDAR data. However, these approaches suffer from the
amount of noise that appears in LiDAR acquisitions, and are
often unable to retrieve small geometric details. To overcome
these drawbacks, while preserving rapid processing times, the
primitive fitting task can be viewed as a global optimization
problem [49], [50]. We argue that using an iterative solving
approach with such method can decrease these drawbacks;
it is a well-studied task to extract the main primitives in a
large point cloud, and the primitive selection can be refined
iteratively in smaller point clouds. These smaller point clouds
can be segmented out of the main point cloud at the end of
each iteration and be used as seeds for primitive refinement for
the next iteration. A similar idea has been exploited in [43],
showing promising results. Hence, we design a segmentation
approach able to efficiently cut a 3D point cloud, encoded as
a graph, along a limited number of simple primitives.
(a) A tree can be approximated with cylin-
ders for the trunk and main branches, and
spheres or cones for the foliage.
(b) A building can be represented with a
set of planes.
(c) A traffic sign can be represented with
a cylinder for the pole and a plane for the
sign.
Fig. 2: Examples of common objects decomposed as a set of simple primitives.
Let G= (V, E , w)be the graph encoding a 3D object with
Vthe set of 3D points, E⊂V×Vthe adjacency between
vertices and w∈RE
+the weight of each edge. Let Pbe the
set of planes in R3and dP(p, π)the distance between a given
point p∈R3and a plane π∈ P. In [43], the authors aim to
construct an energy E:PV→Rwhose minimization gives a
precise and simple piecewise-planar approximation of V. For
Π∈ PV, they propose the following energy:
E(Π) = X
v∈V
dP(v, Πv)2+µX
(u,v)∈E
wu,v [ Πu= Πv],(1)
where [π=π′] : P2→(0if π =π′
1else
In Equation 1, the data fitting term is based on the distance
between each point and its associated plane d(p, π). We argue
that it can be extended to process other geometric primitives,
such as spheres or cylinders. To do this, we modify the data
fitting term in order to consider the distance between each
point and its associated primitive. Let Sand Cbe the set of
spheres and cylinders in R3, and dS(p, ς)and dC(p, ϑ)the
distances between a given point p∈R3and a sphere ς∈ S
(resp. cylinder ϑ∈ C). We define O=P ∪ S ∪ C as the set of
planes, spheres and cylinders in R3, and ω∈ O be the single
primitive associated to a point p. We propose the following
new definition for the distance computation:
d(p, ω) =
dP(p, ω),if ω∈ P
dS(p, ω),if ω∈ S
dC(p, ω),if ω∈ C
(2)
We propose to adapt the energy of Equation 1 as follows:
the data fitting term sums the squared distances between each
point and its associated primitive, while the regularizer sums
edges weight at the interface between two adjacent regions,
independently from primitive type. For Ω∈ OV, the energy
is expressed as:
E(Ω) = X
v∈V
d(v, Ωv)2+µX
(u,v)∈E
wu,v [ Ωu= Ωv].(3)
The first part of Equation 3 ensures that each point is well
approximated by its associated primitive. The second part of
this energy encourages adjacent points to be associated to the
same primitives. In other words, this ensures that regions have
simple shapes. We call µthe regularization parameter as it acts
as a tradeoff between the precise fitting of geometric primitives
and the simplicity of the segmentation.
One of the strengths of the proposed formulation is that it
can be easily extended to process other geometric primitives
such as cylinders and cones. This adaptability can be seen in
the formulation of the distance function in Equation 2, where
adding of a new type of primitive in the algorithm will result
in adding a new dedicated distance measure in Equation 2.
We define the set of approximating primitives as the result
of the following optimization problem:
Ω⋆= arg min
Ω∈OV
E(Ω) .(4)
The energy is non-convex, non-continuous and non-
differentiable, and hence is hard to minimize. However, [51]
argue that the ℓ0-cut pursuit algorithm is able to find an
approximate solution with only a few graph-cuts. Moreover,
[43] proved that the ℓ0-cut pursuit algorithm could be adapted
to solve a piecewise-planar approximation problem. In the
following section, we adapt their approach to efficiently create
a partition of 3D data based on sets of planes and spheres.
III. ITERATIVE GRAPH-CUT BASED OPTIMIZATION
The algorithm proposed in this work takes as input a 3D
point cloud with an adjacency relationship (not necessarily a
mesh) and provides an approximation of the scene based on
simple geometric primitives. This approximation can be used
as input to create a simplified model of the input scene. To
summarize our algorithm, we propose a quick initialization
step with a simple RANSAC in Section III-B. Then, we refine
the segmentation by trying to split every region in two new
regions, each of them being associated to its own primitive. At
the end of each iteration, the algorithm tries to merge adjacent
regions and assign them a unique primitive. These two steps
are described respectively in Sections III-C and III-D. The al-
gorithm iterates until convergence. In practice, convergence is
reached when no components can be further split or merged, or
when 10 iterations have been done. The simplification process
applied on segmentation results is detailed in Section III-E.
This section concludes with a noise filtering module that can
be added in order to improve performances while removing in
the input data noise and points not belonging to the object.
A. Data structure
3D point clouds have no inherent structure. This means that
such data cannot be directly represented as a graph. In this
work, we use a Delaunay tetrahedrisation to structure the data,
as it helps decreasing the influence of the sampling density.
We also add a weight to each edge, based on its length,
in order to favor cuts between points far from one another.
Weights between adjacent points are determined as follows:
w(u,v)∈E=1
α+d(u,v)
d0
,(5)
where d0is the mean length of edges in the adjacency graph,
and αa non-negative constant taken here as 2.
We draw the reader’s attention on the fact that we do not
compute any local or global features, nor do we use point’s
normals. This allows for decreasing processing times and
memory footprint.
B. Initialisation
The addressed problem consists in minimizing a non-convex
energy. The algorithm may get stuck in a local minima. This
can happen especially with bad initializations. To overcome
this drawback, we propose to compute a fixed number of
primitives at first. This helps the algorithm in identifying the
main structures of the input scene. This initialization is done
with the RANSAC algorithm [27].
In this paper, the number of primitives extracted during the
initialization is fixed to 5. This threshold is chosen empirically
as a trade-off between the guidance given by the initialization
step and processing times.
C. Splitting
Let A=∪i∈[0,n](Ai)be the partition at a given iteration
of the algorithm. For each region Ai, the best combination
of primitives to cut it in two sub-regions is sought for. This
amounts to finding the binary partition (Bi, Ai\Bi)of Ai,
along with their corresponding primitives (ω, ω′)∈ O2. This
task is expressed as follow:
arg min
Bi⊂Ai,(ω,ω′)∈O2X
v∈Bi
d(v, ω)+ X
v∈Ai\Bi
d(v, ω′)+µX
(i,j)∈EBi
wi,j ,
(6)
with EBi=E∩(Bi×Ai\Bi∪Ai\Bi×Bi)the set of edges
linking Biand Ai\Bi.
As shown by [41, Section E.1.1], this step can be approxi-
mately solved by an alternated minimization scheme adapted
from the original ℓ0-cut pursuit algorithm. The initialization
step replaces a 2-means in [41] with RANSAC extracting 2
primitives. The optimization with respect to Bican be per-
formed efficiently through a graph-cut formulation, a Maxflow
here [52]. Then, the optimization with respect to ωand ω′is
achieved through least square minimization. We acknowledge
that this optimization scheme may need many iterations to
converge. We observe that 3iterations of this scheme are
sufficient. For both Sections III-B and III-C, no assumption
is made about the type of each primitive.
D. Merging
When iteratively splitting the input data, one may notice the
appearance of numerous small regions, that may be supported
by similar primitives. We argue that the final segmentation can
benefit from merging adjacent regions. Hence, we propose to
adapt the merging step described in [41]. As a result, a pair
of adjacent regions (Ai, Aj)∈A2is merged if and only if:
arg min
ω∈O X
v∈∪(Ai,Aj)
d(v, ω)2
<X
v∈Ai
d(v, ωi)2+X
v∈Aj
d(v, ωj)2+µX
(u,v)∈EAi,j
wu,v ,(7)
with ωiand ωjthe primitives assigned respectively to Aiand
Aj. In Equation 7, wis found via least-square minimization.
E. Simplification
The direct output of the proposed algorithm is a set of
3D points and their associated primitive. However, it dis-
plays a large redundancy in geometrically simple areas, such
as building facades. To simplify this output, each point is
projected on its corresponding primitive. Then, the data can
be simplified by removing points and edges inside the span
of planar regions and by decreasing the density in spherical
and cylindrical regions. This is done with an Edge Collapse
[47]. Its formulation allows edges inside the span of planar
regions to have a null score, while edges in dense spherical
or cylindrical regions have a low score. Hence, the redundant
data can be easily removed.
F. Noise filtering
LiDAR acquisitions usually carry a lot of noise. This noise
appears as points not corresponding to any real object in the
input scene. However, the energy formulated in Equation 3
can favor the creation of very small segments in geometrically
complex areas. These regions usually contain only a few
points, with a limited span in the scene that may not carry
meaningful information in regards to the rest of the data.
Early experiments showed that most of such regions were
indeed noise artifacts that were separated from the rest of the
scene due to their local specific geometric complexity. Since a
majority of segments corresponds to such meaningless regions,
they significantly increase the processing times. We propose
to remove these regions from the partition at the end of each
iteration. In practice, each region containing less than 7points,
is considered as lacking meaningful information in regards to
the overall scene and will not be further processed.
IV. EXP ER IM EN TS
A. Dataset
To evaluate the proposed approach, we used data from a
MLS acquisition in Montreal (Canada) using Jakarto’s mobile
mapping vehicle [53]. This vehicle is equipped, among others,
of two LiDAR sensors, one for each side of the vehicle. Both
scans can be combined for more dense acquisitions while
limiting the size of occlusions. From the input data, various
distinct objects were selected, ranging from cars to trees. We
also tested our approach on larger areas of ∼1million points,
comprising entire street portions, downsampled to 5cm.
B. Metric
It is hard to determine a suitable metric for investigating
the ability of an algorithm to simplify a 3D point cloud [15],
[54], [55]. Independently of processing times, simplification
algorithms aim at minimizing both the amount of information
necessary to represent the data, and the geometric error
between the final model and the input data. The geometric
error can be measured with a sum of distances between points
and the simplified mesh. However, estimating the amount of
information necessary to represent 3D data is not straightfor-
ward. For instance information could relate to the size of the
output, but this would be heavily format-dependent.
We propose to use the minimal description length proposed
by [56] to measure the size of 3D data. For a triangulated
mesh, assuming that each point coordinate can be stored using
float numbers, the description length can be computed as:
MDLmesh = 3 ·sizeof( float ) · |V|+ 3 ·log2(|V|)· |T|,(8)
where sizeof( float ) represents the number of bytes allocated
to a float number. All the code of this paper was written in
C++, where the size of a float number is 4 bytes.
The coupling of both geometric error measure and minimal
description length allows simple visual comparison between
simplification algorithms’ results. It also increases objectivity
in the comparison, since model sizes can be taken into account.
C. Results
We ran the proposed method on various test scenes and
simplified the results and ℓ0-plane pursuit results with the Edge
Collapse implementation of the CGAL library: [57]. All the
code was executed on a laptop with an Intel Core I7-7700HQ
@2.80GHz CPU, 4 cores and 16Gb RAM DDR4.
1) Competing methods: We compared the proposed algo-
rithm against the following methods:
•VSA [44]: this method is a region growing-based segmen-
tation approach. For this experiment, the implementation
of CGAL library [58] was used.
•Polyfit [18]: this method relies on plane arrangements to
simplify a 3D scene. For this experiment, the implemen-
tation of CGAL library [59] was used.
•ℓ0-plane pursuit: we re-implemented the piecewise-planar
segmentation method of [43]. The simplified model is
computed by applying the module described in Sec-
tion III-E as a post-processing step.
2) Results: Quantitative results involving the proposed
evaluation metric are shown on Figure 3. Illustrations of our
method’s results are displayed on Figure 4. Processing times
for the proposed approach are displayed in Table I.
We observe that Polyfit is able to produce heavily simplified
models, but all the experiments showed a high geometric error.
In fact this algorithm usually retrieves a limited number of
primitives (less than 12) for creating the plane arrangement.
Method Car 0 (26k) House 0 (56k) House 1 (62k) Tree 0 (206k)
VSA [44] 2.17 s 4.04 s 5.62 s 4.49 s
Polyfit [18] 1.22 s 0.73 s 0.83 s 25.01 s
ℓ0-plane pursuit [43] 1.53 s 3.27 s 3.61 s 62.99 s
Ours 2.17 s 7.75 s 6.66 s 107.3 s
TABLE I: Average processing times for different scenes.
100101102
102
103
104
MDL (kbytes)
error (m2)
(a) Evaluation of simplification
approaches on Car 0 scene
101102
103
104
105
MDL (kbytes)
error (m2)
(b) Evaluation of simplification
approaches on House 0 scene
101102
102
103
104
105
MDL (kbytes)
error (m2)
(c) Evaluation of simplification
approaches on House 1 scene
101102103
103
104
105
MDL (kbytes)
error (m2)
(d) Evaluation of simplification
approaches on Tree 0 scene
Fig. 3: Evaluation of the quality of simplified problems pro-
duced by the proposed method,ℓ0-plane pursuit,VSA and
Polyfit. Each graph represents a distinct scene. Each method
aims at decreasing the two displayed metrics, hence best
results are close to the bottom-left corner of each graph.
This prevents Polyfit from taking into account all the geomet-
rical details of the scene, thus creating inaccurate models.
VSA is as a compact representation as ours but with a higher
geometric error. This is due to its bottom-up approach, that
depends on the initial seeds. Even with thousands of random
seeds, it fails to capture all the geometric details of the scene.
Our method performs better than ℓ0-plane pursuit, except
for the House 1 scene, where it gives slightly worse results.
This shows the interest of adding several geometric primitives
for simplifying various objects, even for objects that appear
as piecewise-planar. This difference in terms of model quality
can be seen for the processed buildings.
It should be noted that for complex scenes, such as the
Tree 0 one, none of the tested methods was able to perform a
visually accurate simplification. In fact, VSA, ℓ0-plane pursuit
and the proposed approach tend to overfit the scene and
associate to each small set of leaves or twigs its own primitive.
The main difference between the three methods is that the
proposed approach has a lower geometric error.
Last, we tested the adaptability and scaling of our approach
on larger urban scenes, comprising approximately 1 million
points. Visual results are found on Figure 5. One can see
(a) Car model (b) Car error
(c) House model (d) House error
(e) Tree model
0
10
20
30
40
50
(f) Tree error
Fig. 4: Illustration of the proposed method’s results. Produced
models are on the left, next to the geometric error, which
ranges from blue (no error) to red (distance higher than 50cm).
that pavement sections are separated from the road. Also, the
designed approach was able to adapt to complex objects such
as poles and bushes (represented as cylinders) or trees.
D. Discussion
The combination of planes, spheres and cylinders allows for
geometrically accurate approximations of various objects.
One of the key aspects when working with digital twins
is processing times. The proposed method computing per-
formances are promising for small scenes (i.e. scenes with
less than 100k points). However, for large scenes, the varying
geometric complexity leads to higher computing times. This
increase in computation times is correlated to the tendency
of the approach to oversegment complex scenes, which leads
to more iterations needed to converge. The parameter µof
Equation 3 can be used to indirectly control the number of
regions in the segmentation. However, decreasing the number
of regions leads to a higher geometric error. For the applica-
tions under study, oversegmentation is tolerable to a certain
extent, since the approach uses an edge collapse to simplify
the segmentation output.
Compared to ℓ0-plane pursuit, which is the closest approach
in the literature, the proposed method decreases the error by
up to 50% for complex scenes. Also, while it can be seen in
Figure 3 that the method benefits from increasing the minimal
description length to decrease the geometric error, ℓ0-plane
pursuit seems limited to a global minimum. This shows the
versatility of the designed approach and proves its ability to
address the simplification task for various 3D point clouds.
(a) Segmented portion of street.
(b) Zoom on poles and wires. (c) Zoom on a house behind bushes.
Fig. 5: Segmentation on a street portion with close-ups, ran in
14m. Points are projected on their associated primitive.
V. CONCLUSIONS
This paper addresses the problem of simplifying 3D point
clouds displaying complex geometries and noise in a twin
cities context. The simplification task is formulated as a
global optimization problem. This problem is solved with an
iterative graph-cut-based segmentation algorithm which fits
geometric primitives to the input data. Redundant data in the
segmentation’s output is discarded by using an edge collapse.
Comparison of the quality of approximated models against
state-of-the-art works showed improvements both in terms of
geometric precision and simplicity. The proposed approach
gave promising results for simplifying various objects.
Future works will focus on adding other geometric prim-
itives, such as cones and hyperboles for better describing
vegetation [31]. Also, an extension of this work could be used
for performing a hierarchical classification of urban scenes. In
fact, knowing the class of the input object, primitives can be
used as a local descriptor of the scene [60]. For instance, if the
input scene is a building, points associated to planes with a
horizontal normal correspond to walls, while points associated
to oblique or vertical planes correspond to roofs. Last, this
work could benefit rendering applications by decreasing the
quantity of information to display [55].
REFERENCES
[1] T. D. West and M. Blackburn, “Is digital thread/digital twin affordable?
a systemic assessment of the cost of dod’s latest manhattan project,”
Procedia computer science, vol. 114, pp. 47–56, 2017.
[2] Q. Qi, F. Tao, T. Hu, N. Anwer, A. Liu, Y. Wei, L. Wang, and
A. Nee, “Enabling technologies and tools for digital twin,” Journal of
Manufacturing Systems, 2019.
[3] L. De Luca, “Towards the semantic-aware 3d digitisation of architectural
heritage: The” notre-dame de paris” digital twin project,” in Proceedings
of the 2nd Workshop on Structuring and Understanding of Multimedia
heritAge Contents, 2020, pp. 3–4.
[4] M. Batty, “Digital twins,” 2018.
[5] F. Kaplan and I. di Lenardo, “Building a mirror world for venice,”
SilvanaEditoriale, Tech. Rep., 2020.
[6] R. Kitchin, “The real-time city? big data and smart urbanism,” GeoJour-
nal, vol. 79, no. 1, pp. 1–14, 2014.
[7] G. Schrotter and C. H ¨
urzeler, “The digital twin of the city of zurich
for urban planning,” PFG–Journal of Photogrammetry, Remote Sensing
and Geoinformation Science, vol. 88, no. 1, pp. 99–112, 2020.
[8] S. H. Khajavi, N. H. Motlagh, A. Jaribion, L. C. Werner, and J. Holm-
str¨
om, “Digital twin: vision, benefits, boundaries, and creation for
buildings,” IEEE access, vol. 7, pp. 147 406–147 419, 2019.
[9] G.-A. Nys, R. Billen, and F. Poux, “Automatic 3d buildings compact
reconstruction from lidar point clouds,” International Archives of the
Photogrammetry, Remote Sensing and Spatial Information Sciences, no.
XLIII-B2-2020, pp. 473–478, 2020.
[10] F. Xue, W. Lu, Z. Chen, and C. J. Webster, “From lidar point cloud
towards digital twin city: Clustering city objects based on gestalt
principles,” ISPRS Journal of Photogrammetry and Remote Sensing, vol.
167, pp. 418–431, 2020.
[11] H. Hoppe, “Progressive meshes,” in Proceedings of the 23rd annual
conference on Computer graphics and interactive techniques, 1996, pp.
99–108.
[12] J. Digne, D. Cohen-Steiner, P. Alliez, F. De Goes, and M. Des-
brun, “Feature-preserving surface reconstruction and simplification from
defect-laden point sets,” Journal of mathematical imaging and vision,
vol. 48, no. 2, pp. 369–382, 2014.
[13] J.-P. Bauchet and F. Lafarge, “City reconstruction from airborne lidar: a
computational geometry approach,” in 3D GeoInfo 2019-14thConference
3D GeoInfo, 2019.
[14] C. Yi, Y. Zhang, Q. Wu, Y. Xu, O. Remil, M. Wei, and J. Wang,
“Urban building reconstruction from raw lidar point data,” Computer-
Aided Design, vol. 93, pp. 1–14, 2017.
[15] M. Li and L. Nan, “Feature-preserving 3d mesh simplification for urban
buildings,” ISPRS Journal of Photogrammetry and Remote Sensing, vol.
173, pp. 135–150, 2021.
[16] B. Wang, G. Wu, Q. Zhao, Y. Li, Y. Gao, and J. She, “A topology-
preserving simplification method for 3d building models,” ISPRS Inter-
national Journal of Geo-Information, vol. 10, no. 6, p. 422, 2021.
[17] A. Monszpart, N. Mellado, G. Brostow, and N. Mitra, “Rapter: Re-
building man-made scenes with regular arrangements of planes,” ACM
Transactions on Graphics, vol. 34, p. 12, 2015.
[18] L. Nan and P. Wonka, “Polyfit: Polygonal surface reconstruction from
point clouds,” in Proceedings of the IEEE International Conference on
Computer Vision, 2017, pp. 2353–2361.
[19] L. Liu, N. C. Coops, N. W. Aven, and Y. Pang, “Mapping urban tree
species using integrated airborne hyperspectral and lidar remote sensing
data,” Remote Sensing of Environment, vol. 200, pp. 170–182, 2017.
[20] M. Herrero-Huerta, R. Lindenbergh, and P. Rodr´
ıguez-Gonz´
alvez, “Au-
tomatic tree parameter extraction by a mobile lidar system in an urban
context,” PLoS One, vol. 13, no. 4, p. e0196004, 2018.
[21] R. Wang, J. Peethambaran, and D. Chen, “Lidar point clouds to 3-d
urban models :a review,” IEEE Journal of Selected Topics in Applied
Earth Observations and Remote Sensing, vol. 11, no. 2, pp. 606–627,
2018.
[22] D. Marr and H. K. Nishihara, “Representation and recognition of the
spatial organization of three-dimensional shapes,” Proceedings of the
Royal Society of London. Series B. Biological Sciences, vol. 200, no.
1140, pp. 269–294, 1978.
[23] E.-T. Lˆ
e, M. Sung, D. Ceylan, R. Mech, T. Boubekeur, and N. J. Mitra,
“Cpfn: Cascaded primitive fitting networks for high-resolution point
clouds,” arXiv preprint arXiv:2109.00113, 2021.
[24] S. Oesau, F. Lafarge, and P. Alliez, “Planar shape detection and
regularization in tandem,” in Computer Graphics Forum, vol. 35, no. 1.
Wiley Online Library, 2016, pp. 203–215.
[25] R. Huang, B. Yang, F. Liang, W. Dai, J. Li, M. Tian, and W. Xu, “A top-
down strategy for buildings extraction from complex urban scenes using
airborne lidar point clouds,” Infrared Physics & Technology, vol. 92, pp.
203–218, 2018.
[26] S. Xu, R. Wang, H. Wang, and R. Yang, “Plane segmentation based
on the optimal-vector-field in lidar point clouds,” IEEE Transactions on
Pattern Analysis and Machine Intelligence, 2020.
[27] R. Schnabel, R. Wahl, and R. Klein, “Efficient ransac for point-cloud
shape detection,” in Computer graphics forum, vol. 26, no. 2. Wiley
Online Library, 2007, pp. 214–226.
[28] M. Arikan, M. Schw¨
arzler, S. Fl¨
ory, M. Wimmer, and S. Maierhofer,
“O-snap: Optimization-based snapping for modeling architecture,” ACM
Transactions on Graphics (TOG), vol. 32, no. 1, pp. 1–15, 2013.
[29] A. Abdullah, R. Bajwa, S. R. Gilani, Z. Agha, S. B. Boor, M. Taj, and
S. A. Khan, “3d architectural modeling: Efficient ransac for n-gonal
primitive fitting.” in Eurographics (Short Papers), 2015, pp. 5–8.
[30] L. Li, F. Yang, H. Zhu, D. Li, Y. Li, and L. Tang, “An improved ransac
for 3d point cloud plane segmentation based on normal distribution
transformation cells,” Remote Sensing, vol. 9, no. 5, p. 433, 2017.
[31] L. Li, M. Sung, A. Dubrovina, L. Yi, and L. J. Guibas, “Supervised
fitting of geometric primitives to 3d point clouds,” in Proceedings of
the IEEE/CVF Conference on Computer Vision and Pattern Recognition,
2019, pp. 2652–2660.
[32] Y. Zhao, T. Birdal, H. Deng, and F. Tombari, “3d point capsule
networks,” in Proceedings of the IEEE/CVF Conference on Computer
Vision and Pattern Recognition, 2019, pp. 1009–1018.
[33] R. Loiseau, T. Monnier, L. Landrieu, and M. Aubry, “Representing
shape collections with alignment-aware linear models,” arXiv preprint
arXiv:2109.01605, 2021.
[34] A. X. Chang, T. Funkhouser, L. Guibas, P. Hanrahan, Q. Huang, Z. Li,
S. Savarese, M. Savva, S. Song, H. Su et al., “Shapenet: An information-
rich 3d model repository,” arXiv preprint arXiv:1512.03012, 2015.
[35] Y. Li, X. Wu, Y. Chrysathou, A. Sharf, D. Cohen-Or, and N. J. Mitra,
“Globfit: Consistently fitting primitives by discovering global relations,”
in ACM SIGGRAPH 2011 papers, 2011, pp. 1–12.
[36] H. Lin, J. Gao, Y. Zhou, G. Lu, M. Ye, C. Zhang, L. Liu, and R. Yang,
“Semantic decomposition and reconstruction of residential scenes from
lidar data,” ACM Transactions on Graphics (TOG), vol. 32, no. 4, pp.
1–10, 2013.
[37] T. Le and Y. Duan, “A primitive-based 3d segmentation algorithm for
mechanical cad models,” Computer Aided Geometric Design, vol. 52,
pp. 231–246, 2017.
[38] M. Friedrich, S. Illium, P.-A. Fayolle, and C. Linnhoff-Popien, “A hybrid
approach for segmenting and fitting solid primitives to 3d point clouds.”
in VISIGRAPP (1: GRAPP), 2020, pp. 38–48.
[39] V. Markovic, Z. Jakovljevic, and I. Budak, “Automatic recognition
of cylinders and planes from unstructured point clouds,” The Visual
Computer, pp. 1–24, 2021.
[40] S. Xia, D. Chen, R. Wang, J. Li, and X. Zhang, “Geometric primitives
in lidar point clouds: A review,” IEEE Journal of Selected Topics in
Applied Earth Observations and Remote Sensing, vol. 13, pp. 685–707,
2020.
[41] L. Landrieu and G. Obozinski, “Cut pursuit: Fast algorithms to learn
piecewise constant functions on general weighted graphs,” SIAM Journal
on Imaging Sciences, vol. 10, no. 4, pp. 1724–1766, 2017.
[42] L. Landrieu and M. Simonovsky, “Large-scale point cloud semantic
segmentation with superpoint graphs,” in Proceedings of the IEEE
conference on computer vision and pattern recognition, 2018, pp. 4558–
4567.
[43] S. Guinard, L. Landrieu, L. Caraffa, and B. Vallet, “Piecewise-planar
approximation of large 3d data as graph-structured optimization.” ISPRS
Annals of Photogrammetry, Remote Sensing & Spatial Information
Sciences, vol. 4, 2019.
[44] D. Cohen-Steiner, P. Alliez, and M. Desbrun, “Variational shape approx-
imation,” in ACM SIGGRAPH 2004 Papers, 2004, pp. 905–914.
[45] T. Boubekeur and M. Alexa, “Mesh simplification by stochastic sam-
pling and topological clustering,” Computers & Graphics, vol. 33, no. 3,
pp. 241–249, 2009.
[46] R. Yi, Y.-J. Liu, and Y. He, “Delaunay mesh simplification with
differential evolution,” ACM Transactions on Graphics (TOG), vol. 37,
no. 6, pp. 1–12, 2018.
[47] P. Lindstrom and G. Turk, “Fast and memory efficient polygonal
simplification,” in Proceedings Visualization’98 (Cat. No. 98CB36276).
IEEE, 1998, pp. 279–286.
[48] R. Hanocka, A. Hertz, N. Fish, R. Giryes, S. Fleishman, and D. Cohen-
Or, “Meshcnn: a network with an edge,” ACM Transactions on Graphics
(TOG), vol. 38, no. 4, pp. 1–12, 2019.
[49] J. Yu, T.-J. Chin, and D. Suter, “A global optimization approach to robust
multi-model fitting,” in CVPR 2011. IEEE, 2011, pp. 2041–2048.
[50] H. Isack and Y. Boykov, “Energy-based geometric multi-model fitting,”
International journal of computer vision, vol. 97, no. 2, pp. 123–147,
2012.
[51] L. Landrieu, H. Raguet, B. Vallet, C. Mallet, and M. Weinmann, “A
structured regularization framework for spatially smoothing semantic
labelings of 3d point clouds,” ISPRS Journal of Photogrammetry and
Remote Sensing, vol. 132, pp. 102–118, 2017.
[52] Y. Boykov, O. Veksler, and R. Zabih, “Fast approximate energy min-
imization via graph cuts,” IEEE Transactions on pattern analysis and
machine intelligence, vol. 23, no. 11, pp. 1222–1239, 2001.
[53] Jakarto. (2021) Jakarto’s geospatial acquisition.
Https://www.jakarto.com/en/technologies/geospatial-data-acquisition.
[54] G. Zhou, S. Yuan, and S. Luo, “Mesh simplification algorithm based on
the quadratic error metric and triangle collapse,” IEEE Access, vol. 8,
pp. 196 341–196 350, 2020.
[55] K. Bahirat, C. Lai, R. P. Mcmahan, and B. Prabhakaran, “Designing
and evaluating a mesh simplification algorithm for virtual reality,”
ACM Transactions on Multimedia Computing, Communications, and
Applications (TOMM), vol. 14, no. 3s, pp. 1–26, 2018.
[56] J. Rissanen, “Modeling by shortest data description,” Automatica,
vol. 14, no. 5, pp. 465–471, 1978.
[57] F. Cacciola, M. Rouxel-Labb´
e, and B. S¸enbas¸lar, “Trian-
gulated surface mesh simplification,” in CGAL User and
Reference Manual, 5.3 ed. CGAL Editorial Board, 2021,
https://doc.cgal.org/5.3/Manual/packages.html #PkgSurfaceMesh-
Simplification.
[58] P. Alliez, D. Cohen-Steiner, and L. Zhu, “Triangulated surface mesh
approximation,” in CGAL User and Reference Manual, 5.3 ed. CGAL
Editorial Board, 2021, https://doc.cgal.org/5.3/Manual/packages.html
#PkgTSMA.
[59] L. Nan, “Polygonal surface reconstruction,” in CGAL User and
Reference Manual, 5.3 ed. CGAL Editorial Board, 2021,
https://doc.cgal.org/5.3/Manual/packages.html #PkgPolygonalSur-
faceReconstruction.
[60] F. Poux, C. Mattes, and L. Kobbelt, “Unsupervised segmentation of
indoor 3d point cloud: application to object-based classification,” Inter-
national Archives of the Photogrammetry, Remote Sensing and Spatial
Information Sciences, vol. 44, no. W1-2020, pp. 111–118, 2020.