3D Point Cloud Semantic Modelling: Integrated Framework for Indoor Spaces and Furniture

: 3D models derived from point clouds are useful in various shapes to optimize the trade-off between precision and geometric complexity. They are deﬁned at different granularity levels according to each indoor situation. In this article, we present an integrated 3D semantic reconstruction framework that leverages segmented point cloud data and domain ontologies. Our approach follows a part-to-whole conception which models a point cloud in parametric elements usable per instance and aggregated to obtain a global 3D model. We ﬁrst extract analytic features, object relationships and contextual information to permit better object characterization. Then, we propose a multi-representation modelling mechanism augmented by automatic recognition and ﬁtting from the 3D library ModelNet10 to provide the best candidates for several 3D scans of furniture. Finally, we combine every element to obtain a consistent indoor hybrid 3D model. The method allows a wide range of applications from interior navigation to virtual stores.


Introduction
3D point cloud geometric depiction is implemented in many 3D modelling techniques to best represent underlying shapes. This need is driven by applications in numerous industries-architecture, construction, engineering and facility management; Risk assessment and emergency planning; Simulations; Marketing; Entertainment; Robotics; Transportation and mobility-for tasks such as structural deformation scenarios [1,2], quality and progress control [3], or even for asset creation in the entertainment business [4,5]. To extend this range of applications, the data mining and processing research communities have focused on adding additional information to the 3D model through semantic descriptors [6]. This in turn leads to more advanced uses of 3D virtual data, of which many have indoor scenario benefits. For instance, we employ 3D semantic models to plan/monitor emergency routes [7][8][9][10][11], for serious gaming [12,13], 3D wave propagation simulations [14][15][16][17], localization of safety-relevant features [18], virtual museums [19], and product lifecycle management [20]. More recently, the field of robotics has demonstrated a great interest in these enhanced 3D geometries for creation [21,22], scan planning [23], and for 3D autonomous indoor navigation [24][25][26] with regard to transportation and mobility problematics [27]. However, bridging the gap between point cloud data, 3D models and semantic concepts is a very complicated task which usually requires a good knowledge of the specific application domain.
Our contribution is an attempt to narrow this gap by leveraging formalized knowledge and expert systems [28] based on point clouds. We want to take advantage of computer reasoning over semantic representations of our environment. However, this demands highly challenging knowledge processing due to the heterogeneity of the application domains and the various 3D representations. library of established 3D parametric blocks, and Nan et al. [89] make use of both geometric and symmetric descriptors to best-fit candidates from a 3D database, including a deformable template fitting step. However, these methods often include a pre-segmentation step and post-registration phase, which highly condition the results and constrain the methodology to perfect shapes without outliers or missing data. Following this direction, F. Bosché [90] proposes a method using CAD model fitting for dimensional compliance control in construction. The approach is robust to noise and includes compliance checks of the CAD projects with respect to established tolerances to validate the current state of construction. While the approach permits significant automation, it requires a coarse registration step to be performed by manually defining pair points in both datasets. To automate the registration of models with candidates, the Iterative Closest Point (ICP) method [91] is often used for fine registration, with invariant features in [92], based on least squares 3D surface and curve matching [93], non-linear least squares for primitive fitting [94] or using an energy minimization in graph [95]. The recent works of Xu et al. in [96,97] present a global framework where co-segmented shapes are deformed by scaling corresponding parts in the source and target models to fit a point cloud in a constrained manner using non-rigid ICP and deformation energy minimization. These works are foundations and provide research directions for recovering a set of locally fitted primitives with their mutual relations.
We have seen that knowledge extraction for indoor scenario is mostly driven by three categories of features namely geometric, symmetric and for shape matching. Moreover, object-relationships among the basic objects of these scenes satisfy strong priors (e.g., a chair stands on the floor, a monitor rests on the table) as noted by [47], which motivates the inclusion of knowledge through KI for a better scene understanding and description.

Knowledge Integration (KI) for Object-Relationship Modelling
3D indoor environments demand to be enriched with semantics to be used in the applications described in Section 1. This has led to the creation of standards such as LADM [98], IndoorGML [99] or IFC (Industry Foundation Class) [100], which were motivated by utilizations in the AEC industry, navigation systems or land administration. Indeed, the different models can deal with semantically annotated 3D spaces and can operate with abstract spaces and subdivision views, and have a notion of geometry and topology while maintaining the relationship between objects. The choice of one model or another is mainly guided by usage and its integration within one community. Therefore, semantically rich 3D models provide a great way to extend the field of application and stresses new ways to extract knowledge a priori for a fully autonomous Cognitive Decision System (CDS). The CDS can, in turn, open up new solutions for industries listed in the Global Industry Classification Standard [101].
In their work, Tang et al. [38] separate this process into geometric modelling, object recognition, and object relationship modelling. Whereas a CAD model would represent a wall as a set of independent planar surfaces, a BIM model would represent the wall as a single, volumetric object with multiple surfaces, as well as adjacency relationships between the wall and other entities in the model, the identification of the object as a wall, and other relevant properties (material characteristics, cost, etc.). This includes topological relationships between components, and between components and spaces. Connectivity relationships indicate which objects are connected to one another and where they are connected. Additionally, containment relationships are used to describe the locations of components that are embedded within one another (e.g., a window embedded within a wall).
Ochmann et al. [69] present an automatic reconstruction of parametric walls and openings from indoor point clouds. Their approach reconstructs walls as entities with constraints on other entities, retaining wall relationships and deprecating the modification of one element onto the other. The authors of [23,[102][103][104] extend the processes of the parametric modelling of walls and openings to BIM modelling applications. More recently, the paper by Macher et al. [68] presented a semi-automatic approach for the 3D reconstruction of walls, slabs and openings from a point cloud of a multi-storey building, and provides a proof of concept of OBJ for IFC manual creation. While these approaches have contributed to new possibilities for the semantic modelling of walls and slabs, the object-relationship is limited to topological relationships.
The work of Fisher in [105] introduces domain knowledge of standard shapes and relationships into reverse engineering problems. They rightfully state that there are many constraints on feature relationships in manufactured objects and buildings which are investigated in this paper. Indeed, for a general workflow, one must provide a recovery process even when data is very noisy, sparse or incomplete through a general shape knowledge. Complete data acquisition (impossible in practice for some situations) through inference of occluded data permits the discovery of shape and position parameters that satisfy the knowledge-derived constraints. Formalizing knowledge would therefore be useful to apply known relationships when fitting point cloud data and get better shape parameter estimates. It can also be used to infer data about unseen features, which directs our work to consider ontologies. In this area, the work of Dietenbeck et al. [6] makes use of multi-layer ontologies for integrating domain knowledge in the process of 3D shape segmentation and annotation. While they provide only an example and a manual approach for meshes, they describe an expert knowledge system for furniture in three conceptual layers, directly compatible with the three meta-models of the Smart Point Cloud Infrastructure introduced in [31] and extended in [29]. The first layer corresponds to the basic properties of any object, such as shapes and structures, whereas the upper layers are specific to each application domain and describe the functionalities and possible configurations of the objects in this domain. By using domain knowledge, the authors perform searches among a set of possible objects, while being able to suggest segmentation and annotation corrections to the user if an impossible configuration is reached. This work will be further investigated within our workflow. Using a different approach, Son and Kim [106] present a semantic as-built 3D modelling pipeline to reconstruct structural elements of buildings based on local concavity and convexity. They provide different types of functional semantics and shapes with an interesting parameter calculation approach based on analytic features and domain knowledge. These works are fundamental and greatly illustrate the added benefit of leveraging knowledge.
KI and KR are an important part of any intelligent system. In this review, we noticed that the use of ontologies provided an interesting addition to knowledge formalization and made it possible to better define object-relationships. Coupled with a KE approach treating geometric, symmetric and shape matching features, they could provide a solid foundation for procedural modelling based on a 3D point cloud. Therefore, we develop a method (Section 3) inspired by these pertinent related works.

Materials and Methods
In this section, we present a global framework for modelling pre-segmented/classified indoor point cloud data. The approach is divided into four steps, A, B, C, D (as illustrated in Figure 1), respectively described in the four Sections 3.1-3.4. The methodology follows a part-to-whole design where each instance is treated separately before aggregation to reconstruct a semantically rich global 3D model.
In Section 3.1, we describe how semantics are integrated within point cloud data and we provide details on the design of a multi-LoD ontology and its interactions ( Figure 1A).

Knowledge-Base Structuration
Indoor 3D point clouds that host semantic information such as segments and classes are the starting point of our methodology for generating semantic models, and give insight into the morphology and geometry of building's interiors. For this purpose, we leverage the flexibility given by the Smart Point Cloud (SPC) Infrastructure [29] to consider point cloud data at different granularity levels. It permits to reason solely spatially, semantically, but also includes functionality description and descriptor characterization following the four levels of the Tower of Knowledge concept [107]. The SPC conceptual model [31] makes it possible to integrate annotated 3D point clouds, can operate with

Knowledge-Base Structuration
Indoor 3D point clouds that host semantic information such as segments and classes are the starting point of our methodology for generating semantic models, and give insight into the morphology and geometry of building's interiors. For this purpose, we leverage the flexibility given by the Smart Point Cloud (SPC) Infrastructure [29] to consider point cloud data at different granularity levels. It permits to reason solely spatially, semantically, but also includes functionality description and descriptor characterization following the four levels of the Tower of Knowledge concept [107]. The SPC conceptual model [31] makes it possible to integrate annotated 3D point clouds, can operate with abstract space definitions, and can handle multiple geometric representations. Its structure handles datasets at three levels, as illustrated in Figure 2. At the point level (lowest level), the geometry is sparse and defines the lowest possible geometric description. While this is convenient for point-based rendering [108] that can be enhanced through deep learning [109], leading to simpler and more efficient algorithms [110], geometric clustering covers applications identified in Section 1. At the patch level, subsets of points are grouped to form small spatial conglomerates. These are better handled in a Point Cloud Database Management System (PC-DBMS) using a block-scheme approach which gives additional hints on the spatial context. At the object level, patches are grouped together to answer the underlying segmentation or classification approach. These three geometric levels are managed within the PC-DBMS module ( Figure 3) and directly integrate semantics (segment, class, function, etc.) and space (abstract, geometric, etc.) information. While 3D modelling approaches solely based on spatial attributes can leverage both the

Knowledge-Base Structuration
Indoor 3D point clouds that host semantic information such as segments and classes are the starting point of our methodology for generating semantic models, and give insight into the morphology and geometry of building's interiors. For this purpose, we leverage the flexibility given by the Smart Point Cloud (SPC) Infrastructure [29] to consider point cloud data at different granularity levels. It permits to reason solely spatially, semantically, but also includes functionality description and descriptor characterization following the four levels of the Tower of Knowledge concept [107]. The SPC conceptual model [31] makes it possible to integrate annotated 3D point clouds, can operate with abstract space definitions, and can handle multiple geometric representations. Its structure handles datasets at three levels, as illustrated in Figure 2. At the point level (lowest level), the geometry is sparse and defines the lowest possible geometric description. While this is convenient for point-based rendering [108] that can be enhanced through deep learning [109], leading to simpler and more efficient algorithms [110], geometric clustering covers applications identified in Section 1. At the patch level, subsets of points are grouped to form small spatial conglomerates. These are better handled in a Point Cloud Database Management System (PC-DBMS) using a block-scheme approach which gives additional hints on the spatial context. At the object level, patches are grouped together to answer the underlying segmentation or classification approach. These three geometric levels are managed within the PC-DBMS module ( Figure 3) and directly integrate semantics (segment, class, function, etc.) and space (abstract, geometric, etc.) information. While 3D modelling approaches solely based on spatial attributes can leverage both the At the point level (lowest level), the geometry is sparse and defines the lowest possible geometric description. While this is convenient for point-based rendering [108] that can be enhanced through deep learning [109], leading to simpler and more efficient algorithms [110], geometric clustering covers applications identified in Section 1. At the patch level, subsets of points are grouped to form small spatial conglomerates. These are better handled in a Point Cloud Database Management System (PC-DBMS) using a block-scheme approach which gives additional hints on the spatial context. At the object level, patches are grouped together to answer the underlying segmentation or classification approach. These three geometric levels are managed within the PC-DBMS module ( Figure 3) and directly integrate semantics (segment, class, function, etc.) and space (abstract, geometric, etc.) information. While 3D modelling approaches solely based on spatial attributes can leverage both the SPC point and patch levels, using the additional information linked to the object level extend the range of shape representations, and thus applications.
Moreover, the SPC provides enough elasticity to centralize knowledge for decision-making scenarios. Its conception allows a mapping between domain specializations such as formalized IFC-inspired ontologies to provide additional reasoning possibilities. As a first step toward 3D point cloud modelling, and to permit knowledge-based reasoning for indoor applications, we tailored the SPC point and patch levels, using the additional information linked to the object level extend the range of shape representations, and thus applications.
Moreover, the SPC provides enough elasticity to centralize knowledge for decision-making scenarios. Its conception allows a mapping between domain specializations such as formalized IFCinspired ontologies to provide additional reasoning possibilities. As a first step toward 3D point cloud modelling, and to permit knowledge-based reasoning for indoor applications, we tailored the SPC Server-Side Infrastructure as in Figure 3 with an applicative context ontology (ACO) for efficient KE, KI and KR. In this infrastructure, we added a two-way mapping expert 3D modelling module (agent layer) to link 3D geometries to point data with semantic enrichment. The expert system consumes the SPC point cloud data with the ACO and will be further described in Sections 3.2-3.4.
To achieve semantic injection, we construct a multi-LoD IFC-inspired ontology (see Supplementary Materials). This provides knowledge about the object shapes, knowledge about the identities of objects and knowledge about the relationships between objects. Integrated into the knowledge layer (Figure 3) of the SPC, this ACO is used to best describe the morphological features of indoor elements in an interoperable manner. This new knowledge base is mainly used for refining the definition of objects within the SPC (Section 3.2), inferring modelling rules (Section 3.2) and providing clear guidelines for object-relationship modelling through the reasoner module (Section 3.4). For example, if the considered point cloud dataset benefits from additional information handled by the SPC such as the "space" definition, the reasoner will permit higher characterization (e.g., if the object is within an "office room", there is a high chance that the chair is a "desk chair" with rolls). Moreover, the local topology available through the SPC provides additional information that is crucial regarding CSG-based modelling or for our object-relationship modelling approach (e.g., if a chair is topologically marked to be touching the floor, occlusion at its base can be treated accordingly).
With the aim of pooling our ontology in the Web of Linked Data, each object concept, if it exists, is defined as an extension of the DBpedia knowledge base. Providing such a link is an important interoperable feature when it comes to an object that is referred to as a DBpedia resource (e.g., for a chair object, http://dbpedia.org/page/Chair.). The class hierarchy illustrated in Figure 4 is split into three main conceptual levels. In this infrastructure, we added a two-way mapping expert 3D modelling module (agent layer) to link 3D geometries to point data with semantic enrichment. The expert system consumes the SPC point cloud data with the ACO and will be further described in Sections 3.2-3.4.
To achieve semantic injection, we construct a multi-LoD IFC-inspired ontology (see Supplementary  Materials). This provides knowledge about the object shapes, knowledge about the identities of objects and knowledge about the relationships between objects. Integrated into the knowledge layer ( Figure 3) of the SPC, this ACO is used to best describe the morphological features of indoor elements in an interoperable manner. This new knowledge base is mainly used for refining the definition of objects within the SPC (Section 3.2), inferring modelling rules (Section 3.2) and providing clear guidelines for object-relationship modelling through the reasoner module (Section 3.4). For example, if the considered point cloud dataset benefits from additional information handled by the SPC such as the "space" definition, the reasoner will permit higher characterization (e.g., if the object is within an "office room", there is a high chance that the chair is a "desk chair" with rolls). Moreover, the local topology available through the SPC provides additional information that is crucial regarding CSG-based modelling or for our object-relationship modelling approach (e.g., if a chair is topologically marked to be touching the floor, occlusion at its base can be treated accordingly).
With the aim of pooling our ontology in the Web of Linked Data, each object concept, if it exists, is defined as an extension of the DBpedia knowledge base. Providing such a link is an important interoperable feature when it comes to an object that is referred to as a DBpedia resource (e.g., for a chair object, http://dbpedia.org/page/Chair). The class hierarchy illustrated in Figure 4 is split into three main conceptual levels.  Level 0 is the first level of classified elements and defines properties established on point cloud features (shape, orientation, etc.). These features are stored in the knowledge base as datatype properties. Datatype properties are relations pointing from entities to literals (character strings, numbers, etc.). The values describe different bounding box characteristics: (length, width, etc.). Level 1 encapsulates Sub-Elements (SE) that are part of an Aggregated-Element (AE), defined in level 2. All entities that are not described within this hierarchy are categorized as "Unclassified". Modelling rules Level 0 is the first level of classified elements and defines properties established on point cloud features (shape, orientation, etc.). These features are stored in the knowledge base as datatype properties. Datatype properties are relations pointing from entities to literals (character strings, numbers, etc.). The values describe different bounding box characteristics: (length, width, etc.). Level 1 encapsulates Sub-Elements (SE) that are part of an Aggregated-Element (AE), defined in level 2. All entities that are not described within this hierarchy are categorized as "Unclassified". Modelling rules at higher definition levels restrict the lower levels' inferences through hierarchical constraints, similarly to [6]. These are strictly based on Sub-Elements, except for the topology relations between building parts and/or furniture. This consistency check permits the construction of complex definitions, but maintains a modularity for interoperability purposes. Semantic definitions of pre-labelled objects are extracted from the ACO ontology as depicted in Figure 5. Input variables are formed by labels of the retrieved object encapsulated in a JSON object part of the language processing module ( Figure 3). Labels are then used to set SPARQL queries on a graph structure to query the ontology. Level 0 is the first level of classified elements and defines properties established on point cloud features (shape, orientation, etc.). These features are stored in the knowledge base as datatype properties. Datatype properties are relations pointing from entities to literals (character strings, numbers, etc.). The values describe different bounding box characteristics: (length, width, etc.). Level 1 encapsulates Sub-Elements (SE) that are part of an Aggregated-Element (AE), defined in level 2. All entities that are not described within this hierarchy are categorized as "Unclassified". Modelling rules at higher definition levels restrict the lower levels' inferences through hierarchical constraints, similarly to [6]. These are strictly based on Sub-Elements, except for the topology relations between building parts and/or furniture. This consistency check permits the construction of complex definitions, but maintains a modularity for interoperability purposes. Semantic definitions of prelabelled objects are extracted from the ACO ontology as depicted in Figure 5. Input variables are formed by labels of the retrieved object encapsulated in a JSON object part of the language processing module ( Figure 3). Labels are then used to set SPARQL queries on a graph structure to query the ontology. The ontology-based extraction of an object's definition is the reverse-process of classification. It is thus possible to extract mandatory elements of objects for reconstruction and to guide their modelling. As each level is independent, reconstruction can be made at different LoD considerations. Graph-mining is guided by relation types between the elements of each level. E.g., a "chair" is composed of a chair back (BackrestPart) located somewhere above (this information is extracted from gravity-based topology analysis, as described in Section 3.2) a seat (oneSeat), with some ground transition parts (GroundTransitionPart) under it. Ontologies as XML-written files are well suited for hierarchical structures. A dedicated parser finally allows the answer to be structured in a JSON-file The ontology-based extraction of an object's definition is the reverse-process of classification. It is thus possible to extract mandatory elements of objects for reconstruction and to guide their modelling. As each level is independent, reconstruction can be made at different LoD considerations. Graph-mining is guided by relation types between the elements of each level. E.g., a "chair" is composed of a chair back (BackrestPart) located somewhere above (this information is extracted from gravity-based topology analysis, as described in Section 3.2) a seat (oneSeat), with some ground transition parts (GroundTransitionPart) under it. Ontologies as XML-written files are well suited for hierarchical structures. A dedicated parser finally allows the answer to be structured in a JSON-file and communicated with the object characterization step (Section 3.2). Listing 1 shows the results of querying ACO/SPC Ontology about the "KitchenChair" label. It is structured as a hierarchical tree of characteristics, where each level is detailed by its sub-levels. In this tree, each line specifies a triple that refers to the object description (e.g., "hasNormale some PerpendicularOrientation" specifies that the normal needs to be perpendicular to the main orientation for this specific Sub-Element). The reasoning module depends on the language processing module ( Figure 3). As the OWL formalism is a Description-Logic-based language, it allows logical consequence inferences from a set of stated axioms. We describe asserted facts in both the terminological box (TBox) and assertional box (ABox). TBox is constituted of class definitions in the ACO ontology, whereas individuals populate the ABox. Because of editing rules and restrictions on class definitions, those boxes are inferred and constitute our structure for knowledge discovery on logical reasoning. Listing 2 provides a simple example of inference based on both TBox and ABox. While TBox rules define the conditions for classifying an object as a Wall, ABox specifies that three objects exist. The first object is constituted by the two others as a collection, and these two subparts are defined as WallSurfaces.

Listing 2 Simple example of inferences on TBox and ABox
TBox rules and restrictions: 1.
:Object a:Wall Our approach was for indoor point clouds; thus, the ACO retains information for the following elements: beams, ceilings, floors, chairs, columns, doors, tables, walls and windows. These were primarily chosen due to existing workflows providing robust recognition. These elements are considered correctly categorized, and it is not necessary to filter point cloud artefacts. In Section 3.2, we present the second step ( Figure 1B) of our workflow, which aims at generating modelling rules while retaining the specificity of each element.

Instance-Based Characterization, Feature Extraction and Description Refinement
While the SPC-integrated point cloud holds a minima class or segment information, these are not necessarily optimal with regard to indoor applications. The ACO makes it possible to deepen the classification of considered classes presented in Table 1 through the Web of Linked Data. For each class, every element is extracted independently from the point cloud and considered for instance characterization. Table 1. Objects to be modelled from the S3-DIS point cloud dataset [111] are highlighted in red, identified by a major primitive (Cuboid, Plane, or CSG model assembly) and a category, being Normal-Element (NE), Sub-Element (SE) or Aggregated-Element (AE).

Beam
CeilingS Chair Column Door

Instance-Based Characterization, Feature Extraction and Description Refinement
While the SPC-integrated point cloud holds a minima class or segment information, these are not necessarily optimal with regard to indoor applications. The ACO makes it possible to deepen the classification of considered classes presented in Table 1 through the Web of Linked Data. For each class, every element is extracted independently from the point cloud and considered for instance characterization. Table 1. Objects to be modelled from the S3-DIS point cloud dataset [111] are highlighted in red, identified by a major primitive (Cuboid, Plane, or CSG model assembly) and a category, being Normal-Element (NE), Sub-Element (SE) or Aggregated-Element (AE).

Beam
CeilingS Chair Column Door points from . Let ℊ be a directed graph defined by a set (ℊ) of inner nodes, a set ℯ(ℊ) of edges and a set (ℊ) of end nodes. Each edge is oriented regarding a specified topology relation between one or multiple nodes (its ends). Then, three processing cases arise from the definition of elements ( Figure 6), where: (a) ℰ is an element that is described in ℊ as an end (ℊ) (the final level of the elements decomposition, e.g., a wall, a beam, etc.). These elements are directly identified as Normal-Elements (NE) in the ACO Level 2 ( Figure 4) and refer to a DBpedia resource. Such a case does not necessitate a part segmentation, and therefore allows the expert system to directly address the modelling phase (Section 3.3). (b) When ℰ is an element described in ℊ as a combination of multiple Sub-Elements (and therefore is in the category of Aggregated-Element from the SPC), it goes through partsegmentation (Section 3.2) before modelling the entity. This segmentation is guided by inferred rules extracted from the ACO ontology. For instance, if an object is labelled as a "kitchen chair", its definition will specify that segmentation need to find an upper-part, which is a backrest, a middle-part, which is a oneSeat, and some ground transition parts-at least 3 for the example of the "kitchen chair". (c) When ℰ is a Sub-Element in the ACO and refers to an Aggregated-Element, the point cloud subset goes through an aggregation step before modelling. This step is guided by semantic definitions and symmetric operations to find (recreate) other Sub-Elements of the Aggregated-Element. For instance, when a WallSurface is considered to be ℰ , its parallel wall surface will be searched for in the SPC database to constitute the Aggregated-Element "Wall".

Instance-Based Characterization, Feature Extraction and Description Refinement
While the SPC-integrated point cloud holds a minima class or segment information, these are not necessarily optimal with regard to indoor applications. The ACO makes it possible to deepen the classification of considered classes presented in Table 1 through the Web of Linked Data. For each class, every element is extracted independently from the point cloud and considered for instance characterization. Table 1. Objects to be modelled from the S3-DIS point cloud dataset [111] are highlighted in red, identified by a major primitive (Cuboid, Plane, or CSG model assembly) and a category, being Normal-Element (NE), Sub-Element (SE) or Aggregated-Element (AE).

Beam
CeilingS Chair Column Door points from . Let ℊ be a directed graph defined by a set (ℊ) of inner nodes, a set ℯ(ℊ) of edges and a set (ℊ) of end nodes. Each edge is oriented regarding a specified topology relation between one or multiple nodes (its ends). Then, three processing cases arise from the definition of elements ( Figure 6), where: (a) ℰ is an element that is described in ℊ as an end (ℊ) (the final level of the elements decomposition, e.g., a wall, a beam, etc.). These elements are directly identified as Normal-Elements (NE) in the ACO Level 2 ( Figure 4) and refer to a DBpedia resource. Such a case does not necessitate a part segmentation, and therefore allows the expert system to directly address the modelling phase (Section 3.3). (b) When ℰ is an element described in ℊ as a combination of multiple Sub-Elements (and therefore is in the category of Aggregated-Element from the SPC), it goes through partsegmentation (Section 3.2) before modelling the entity. This segmentation is guided by inferred rules extracted from the ACO ontology. For instance, if an object is labelled as a "kitchen chair", its definition will specify that segmentation need to find an upper-part, which is a backrest, a middle-part, which is a oneSeat, and some ground transition parts-at least 3 for the example of the "kitchen chair". (c) When ℰ is a Sub-Element in the ACO and refers to an Aggregated-Element, the point cloud subset goes through an aggregation step before modelling. This step is guided by semantic definitions and symmetric operations to find (recreate) other Sub-Elements of the Aggregated-Element. For instance, when a WallSurface is considered to be ℰ , its parallel wall surface will be searched for in the SPC database to constitute the Aggregated-Element "Wall".

Instance-Based Characterization, Feature Extraction and Description Refinement
While the SPC-integrated point cloud holds a minima class or segment information, these are not necessarily optimal with regard to indoor applications. The ACO makes it possible to deepen the classification of considered classes presented in Table 1 through the Web of Linked Data. For each class, every element is extracted independently from the point cloud and considered for instance characterization. Table 1. Objects to be modelled from the S3-DIS point cloud dataset [111] are highlighted in red, identified by a major primitive (Cuboid, Plane, or CSG model assembly) and a category, being Normal-Element (NE), Sub-Element (SE) or Aggregated-Element (AE).

Beam
CeilingS Chair Column Door points from . Let ℊ be a directed graph defined by a set (ℊ) of inner nodes, a set ℯ(ℊ) of edges and a set (ℊ) of end nodes. Each edge is oriented regarding a specified topology relation between one or multiple nodes (its ends). Then, three processing cases arise from the definition of elements ( Figure 6), where: (a) ℰ is an element that is described in ℊ as an end (ℊ) (the final level of the elements decomposition, e.g., a wall, a beam, etc.). These elements are directly identified as Normal-Elements (NE) in the ACO Level 2 ( Figure 4) and refer to a DBpedia resource. Such a case does not necessitate a part segmentation, and therefore allows the expert system to directly address the modelling phase (Section 3.3). (b) When ℰ is an element described in ℊ as a combination of multiple Sub-Elements (and therefore is in the category of Aggregated-Element from the SPC), it goes through partsegmentation (Section 3.2) before modelling the entity. This segmentation is guided by inferred rules extracted from the ACO ontology. For instance, if an object is labelled as a "kitchen chair", its definition will specify that segmentation need to find an upper-part, which is a backrest, a middle-part, which is a oneSeat, and some ground transition parts-at least 3 for the example of the "kitchen chair". (c) When ℰ is a Sub-Element in the ACO and refers to an Aggregated-Element, the point cloud subset goes through an aggregation step before modelling. This step is guided by semantic definitions and symmetric operations to find (recreate) other Sub-Elements of the Aggregated-Element. For instance, when a WallSurface is considered to be ℰ , its parallel wall surface will be searched for in the SPC database to constitute the Aggregated-Element "Wall".

Instance-Based Characterization, Feature Extraction and Description Refinement
While the SPC-integrated point cloud holds a minima class or segment information, these are not necessarily optimal with regard to indoor applications. The ACO makes it possible to deepen the classification of considered classes presented in Table 1 through the Web of Linked Data. For each class, every element is extracted independently from the point cloud and considered for instance characterization. Table 1. Objects to be modelled from the S3-DIS point cloud dataset [111] are highlighted in red, identified by a major primitive (Cuboid, Plane, or CSG model assembly) and a category, being Normal-Element (NE), Sub-Element (SE) or Aggregated-Element (AE).

Beam
CeilingS Chair Column Door points from . Let ℊ be a directed graph defined by a set (ℊ) of inner nodes, a set ℯ(ℊ) of edges and a set (ℊ) of end nodes. Each edge is oriented regarding a specified topology relation between one or multiple nodes (its ends). Then, three processing cases arise from the definition of elements ( Figure 6), where: (a) ℰ is an element that is described in ℊ as an end (ℊ) (the final level of the elements decomposition, e.g., a wall, a beam, etc.). These elements are directly identified as Normal-Elements (NE) in the ACO Level 2 ( Figure 4) and refer to a DBpedia resource. Such a case does not necessitate a part segmentation, and therefore allows the expert system to directly address the modelling phase (Section 3.3). (b) When ℰ is an element described in ℊ as a combination of multiple Sub-Elements (and therefore is in the category of Aggregated-Element from the SPC), it goes through partsegmentation (Section 3.2) before modelling the entity. This segmentation is guided by inferred rules extracted from the ACO ontology. For instance, if an object is labelled as a "kitchen chair", its definition will specify that segmentation need to find an upper-part, which is a backrest, a middle-part, which is a oneSeat, and some ground transition parts-at least 3 for the example of the "kitchen chair". (c) When ℰ is a Sub-Element in the ACO and refers to an Aggregated-Element, the point cloud subset goes through an aggregation step before modelling. This step is guided by semantic definitions and symmetric operations to find (recreate) other Sub-Elements of the Aggregated-Element. For instance, when a WallSurface is considered to be ℰ , its parallel wall surface will be searched for in the SPC database to constitute the Aggregated-Element "Wall".

Instance-Based Characterization, Feature Extraction and Description Refinement
While the SPC-integrated point cloud holds a minima class or segment information, these are not necessarily optimal with regard to indoor applications. The ACO makes it possible to deepen the classification of considered classes presented in Table 1 through the Web of Linked Data. For each class, every element is extracted independently from the point cloud and considered for instance characterization. Table 1. Objects to be modelled from the S3-DIS point cloud dataset [111] are highlighted in red, identified by a major primitive (Cuboid, Plane, or CSG model assembly) and a category, being Normal-Element (NE), Sub-Element (SE) or Aggregated-Element (AE).

Beam
CeilingS Chair Column Door points from . Let ℊ be a directed graph defined by a set (ℊ) of inner nodes, a set ℯ(ℊ) of edges and a set (ℊ) of end nodes. Each edge is oriented regarding a specified topology relation between one or multiple nodes (its ends). Then, three processing cases arise from the definition of elements ( Figure 6), where: (a) ℰ is an element that is described in ℊ as an end (ℊ) (the final level of the elements decomposition, e.g., a wall, a beam, etc.). These elements are directly identified as Normal-Elements (NE) in the ACO Level 2 ( Figure 4) and refer to a DBpedia resource. Such a case does not necessitate a part segmentation, and therefore allows the expert system to directly address the modelling phase (Section 3.3). (b) When ℰ is an element described in ℊ as a combination of multiple Sub-Elements (and therefore is in the category of Aggregated-Element from the SPC), it goes through partsegmentation (Section 3.2) before modelling the entity. This segmentation is guided by inferred rules extracted from the ACO ontology. For instance, if an object is labelled as a "kitchen chair", its definition will specify that segmentation need to find an upper-part, which is a backrest, a middle-part, which is a oneSeat, and some ground transition parts-at least 3 for the example of the "kitchen chair". (c) When ℰ is a Sub-Element in the ACO and refers to an Aggregated-Element, the point cloud subset goes through an aggregation step before modelling. This step is guided by semantic definitions and symmetric operations to find (recreate) other Sub-Elements of the Aggregated-Element. For instance, when a WallSurface is considered to be ℰ , its parallel wall surface will be searched for in the SPC database to constitute the Aggregated-Element "Wall".

Instance-Based Characterization, Feature Extraction and Description Refinement
While the SPC-integrated point cloud holds a minima class or segment information, these are not necessarily optimal with regard to indoor applications. The ACO makes it possible to deepen the classification of considered classes presented in Table 1 through the Web of Linked Data. For each class, every element is extracted independently from the point cloud and considered for instance characterization. Table 1. Objects to be modelled from the S3-DIS point cloud dataset [111] are highlighted in red, identified by a major primitive (Cuboid, Plane, or CSG model assembly) and a category, being Normal-Element (NE), Sub-Element (SE) or Aggregated-Element (AE).

Beam
CeilingS Chair Column Door points from . Let ℊ be a directed graph defined by a set (ℊ) of inner nodes, a set ℯ(ℊ) of edges and a set (ℊ) of end nodes. Each edge is oriented regarding a specified topology relation between one or multiple nodes (its ends). Then, three processing cases arise from the definition of elements ( Figure 6), where: (a) ℰ is an element that is described in ℊ as an end (ℊ) (the final level of the elements decomposition, e.g., a wall, a beam, etc.). These elements are directly identified as Normal-Elements (NE) in the ACO Level 2 ( Figure 4) and refer to a DBpedia resource. Such a case does not necessitate a part segmentation, and therefore allows the expert system to directly address the modelling phase (Section 3.3). (b) When ℰ is an element described in ℊ as a combination of multiple Sub-Elements (and therefore is in the category of Aggregated-Element from the SPC), it goes through partsegmentation (Section 3.2) before modelling the entity. This segmentation is guided by inferred rules extracted from the ACO ontology. For instance, if an object is labelled as a "kitchen chair", its definition will specify that segmentation need to find an upper-part, which is a backrest, a middle-part, which is a oneSeat, and some ground transition parts-at least 3 for the example of the "kitchen chair". (c) When ℰ is a Sub-Element in the ACO and refers to an Aggregated-Element, the point cloud subset goes through an aggregation step before modelling. This step is guided by semantic definitions and symmetric operations to find (recreate) other Sub-Elements of the Aggregated-Element. For instance, when a WallSurface is considered to be ℰ , its parallel wall surface will be searched for in the SPC database to constitute the Aggregated-Element "Wall".

Instance-Based Characterization, Feature Extraction and Description Refinement
While the SPC-integrated point cloud holds a minima class or segment information, these are not necessarily optimal with regard to indoor applications. The ACO makes it possible to deepen the classification of considered classes presented in Table 1 through the Web of Linked Data. For each class, every element is extracted independently from the point cloud and considered for instance characterization. Table 1. Objects to be modelled from the S3-DIS point cloud dataset [111] are highlighted in red, identified by a major primitive (Cuboid, Plane, or CSG model assembly) and a category, being Normal-Element (NE), Sub-Element (SE) or Aggregated-Element (AE).

Beam
CeilingS Chair Column Door points from . Let ℊ be a directed graph defined by a set (ℊ) of inner nodes, a set ℯ(ℊ) of edges and a set (ℊ) of end nodes. Each edge is oriented regarding a specified topology relation between one or multiple nodes (its ends). Then, three processing cases arise from the definition of elements ( Figure 6), where: (a) ℰ is an element that is described in ℊ as an end (ℊ) (the final level of the elements decomposition, e.g., a wall, a beam, etc.). These elements are directly identified as Normal-Elements (NE) in the ACO Level 2 ( Figure 4) and refer to a DBpedia resource. Such a case does not necessitate a part segmentation, and therefore allows the expert system to directly address the modelling phase (Section 3.3). (b) When ℰ is an element described in ℊ as a combination of multiple Sub-Elements (and therefore is in the category of Aggregated-Element from the SPC), it goes through partsegmentation (Section 3.2) before modelling the entity. This segmentation is guided by inferred rules extracted from the ACO ontology. For instance, if an object is labelled as a "kitchen chair", its definition will specify that segmentation need to find an upper-part, which is a backrest, a middle-part, which is a oneSeat, and some ground transition parts-at least 3 for the example of the "kitchen chair". (c) When ℰ is a Sub-Element in the ACO and refers to an Aggregated-Element, the point cloud subset goes through an aggregation step before modelling. This step is guided by semantic definitions and symmetric operations to find (recreate) other Sub-Elements of the Aggregated-Element. For instance, when a WallSurface is considered to be ℰ , its parallel wall surface will be searched for in the SPC database to constitute the Aggregated-Element "Wall".

Instance-Based Characterization, Feature Extraction and Description Refinement
While the SPC-integrated point cloud holds a minima class or segment information, these are not necessarily optimal with regard to indoor applications. The ACO makes it possible to deepen the classification of considered classes presented in Table 1 through the Web of Linked Data. For each class, every element is extracted independently from the point cloud and considered for instance characterization. Table 1. Objects to be modelled from the S3-DIS point cloud dataset [111] are highlighted in red, identified by a major primitive (Cuboid, Plane, or CSG model assembly) and a category, being Normal-Element (NE), Sub-Element (SE) or Aggregated-Element (AE).

Beam
CeilingS Chair Column Door points from . Let ℊ be a directed graph defined by a set (ℊ) of inner nodes, a set ℯ(ℊ) of edges and a set (ℊ) of end nodes. Each edge is oriented regarding a specified topology relation between one or multiple nodes (its ends). Then, three processing cases arise from the definition of elements ( Figure 6), where: (a) ℰ is an element that is described in ℊ as an end (ℊ) (the final level of the elements decomposition, e.g., a wall, a beam, etc.). These elements are directly identified as Normal-Elements (NE) in the ACO Level 2 ( Figure 4) and refer to a DBpedia resource. Such a case does not necessitate a part segmentation, and therefore allows the expert system to directly address the modelling phase (Section 3.3). (b) When ℰ is an element described in ℊ as a combination of multiple Sub-Elements (and therefore is in the category of Aggregated-Element from the SPC), it goes through partsegmentation (Section 3.2) before modelling the entity. This segmentation is guided by inferred rules extracted from the ACO ontology. For instance, if an object is labelled as a "kitchen chair", its definition will specify that segmentation need to find an upper-part, which is a backrest, a middle-part, which is a oneSeat, and some ground transition parts-at least 3 for the example of the "kitchen chair". (c) When ℰ is a Sub-Element in the ACO and refers to an Aggregated-Element, the point cloud subset goes through an aggregation step before modelling. This step is guided by semantic definitions and symmetric operations to find (recreate) other Sub-Elements of the Aggregated-Element. For instance, when a WallSurface is considered to be ℰ , its parallel wall surface will be searched for in the SPC database to constitute the Aggregated-Element "Wall".
with n the number of points in the point cloud. Let E i be an element of P identified by a label L i , containing m points from P. Let

tance-Based Characterization, Feature Extraction and Description Refinement
hile the SPC-integrated point cloud holds a minima class or segment information, these are essarily optimal with regard to indoor applications. The ACO makes it possible to deepen the cation of considered classes presented in Table 1 through the Web of Linked Data. For each very element is extracted independently from the point cloud and considered for instance terization. ble 1. Objects to be modelled from the S3-DIS point cloud dataset [111] are highlighted in red, entified by a major primitive (Cuboid, Plane, or CSG model assembly) and a category, being ormal-Element (NE), Sub-Element (SE) or Aggregated-Element (AE). points from . Let ℊ be a directed graph defined by a set (ℊ) of inner nodes, a set f edges and a set (ℊ) of end nodes. Each edge is oriented regarding a specified topology n between one or multiple nodes (its ends). Then, three processing cases arise from the ion of elements ( Figure 6), where: is an element that is described in ℊ as an end (ℊ) (the final level of the elements composition, e.g., a wall, a beam, etc.). These elements are directly identified as Normalements (NE) in the ACO Level 2 ( Figure 4) and refer to a DBpedia resource. Such a case does t necessitate a part segmentation, and therefore allows the expert system to directly address e modelling phase (Section 3.3). hen ℰ is an element described in ℊ as a combination of multiple Sub-Elements (and erefore is in the category of Aggregated-Element from the SPC), it goes through partgmentation (Section 3.2) before modelling the entity. This segmentation is guided by inferred les extracted from the ACO ontology. For instance, if an object is labelled as a "kitchen chair", definition will specify that segmentation need to find an upper-part, which is a backrest, a iddle-part, which is a oneSeat, and some ground transition parts-at least 3 for the example of e "kitchen chair". hen ℰ is a Sub-Element in the ACO and refers to an Aggregated-Element, the point cloud bset goes through an aggregation step before modelling. This step is guided by semantic finitions and symmetric operations to find (recreate) other Sub-Elements of the Aggregatedement. For instance, when a WallSurface is considered to be ℰ , its parallel wall surface will searched for in the SPC database to constitute the Aggregated-Element "Wall".
be a directed graph defined by a set Remote Sens. 2018, 10, x FOR PEER REVIEW 12 of 35

Instance-Based Characterization, Feature Extraction and Description Refinement
While the SPC-integrated point cloud holds a minima class or segment information, these are not necessarily optimal with regard to indoor applications. The ACO makes it possible to deepen the classification of considered classes presented in Table 1 through the Web of Linked Data. For each class, every element is extracted independently from the point cloud and considered for instance characterization. Table 1. Objects to be modelled from the S3-DIS point cloud dataset [111] are highlighted in red, identified by a major primitive (Cuboid, Plane, or CSG model assembly) and a category, being Normal-Element (NE), Sub-Element (SE) or Aggregated-Element (AE).

Beam
CeilingS Chair Column Door points from . Let ℊ be a directed graph defined by a set (ℊ) of inner nodes, a set ℯ(ℊ) of edges and a set (ℊ) of end nodes. Each edge is oriented regarding a specified topology relation between one or multiple nodes (its ends). Then, three processing cases arise from the definition of elements ( Figure 6), where: (a) ℰ is an element that is described in ℊ as an end (ℊ) (the final level of the elements decomposition, e.g., a wall, a beam, etc.). These elements are directly identified as Normal-Elements (NE) in the ACO Level 2 ( Figure 4) and refer to a DBpedia resource. Such a case does not necessitate a part segmentation, and therefore allows the expert system to directly address the modelling phase (Section 3.3). (b) When ℰ is an element described in ℊ as a combination of multiple Sub-Elements (and therefore is in the category of Aggregated-Element from the SPC), it goes through partsegmentation (Section 3.2) before modelling the entity. This segmentation is guided by inferred rules extracted from the ACO ontology. For instance, if an object is labelled as a "kitchen chair", its definition will specify that segmentation need to find an upper-part, which is a backrest, a middle-part, which is a oneSeat, and some ground transition parts-at least 3 for the example of the "kitchen chair". (c) When ℰ is a Sub-Element in the ACO and refers to an Aggregated-Element, the point cloud subset goes through an aggregation step before modelling. This step is guided by semantic definitions and symmetric operations to find (recreate) other Sub-Elements of the Aggregated-Element. For instance, when a WallSurface is considered to be ℰ , its parallel wall surface will be searched for in the SPC database to constitute the Aggregated-Element "Wall".

Instance-Based Characterizati
While the SPC-integrated not necessarily optimal with re classification of considered cla class, every element is extracte characterization. relation between one or mult definition of elements ( Figure 6 (a) ℰ is an element that is decomposition, e.g., a wa Elements (NE) in the ACO not necessitate a part segm the modelling phase (Secti (b) When ℰ is an element therefore is in the catego segmentation (Section 3.2) rules extracted from the A its definition will specify middle-part, which is a on the "kitchen chair". (c) When ℰ is a Sub-Elemen subset goes through an a definitions and symmetric Element. For instance, wh be searched for in the SPC (a)

Instance-Based Characterization, Feature Extraction and Description Refinement
While the SPC-integrated point cloud holds a minima class or segment information, these are not necessarily optimal with regard to indoor applications. The ACO makes it possible to deepen the classification of considered classes presented in Table 1 through the Web of Linked Data. For each class, every element is extracted independently from the point cloud and considered for instance characterization. Table 1. Objects to be modelled from the S3-DIS point cloud dataset [111] are highlighted in red, identified by a major primitive (Cuboid, Plane, or CSG model assembly) and a category, being Normal-Element (NE), Sub-Element (SE) or Aggregated-Element (AE).

Beam
CeilingS Chair Column Door points from . Let ℊ be a directed graph defined by a set (ℊ) of inner nodes, a set ℯ(ℊ) of edges and a set (ℊ) of end nodes. Each edge is oriented regarding a specified topology relation between one or multiple nodes (its ends). Then, three processing cases arise from the definition of elements ( Figure 6), where: (a) ℰ is an element that is described in ℊ as an end (ℊ) (the final level of the elements decomposition, e.g., a wall, a beam, etc.). These elements are directly identified as Normal-Elements (NE) in the ACO Level 2 ( Figure 4) and refer to a DBpedia resource. Such a case does not necessitate a part segmentation, and therefore allows the expert system to directly address the modelling phase (Section 3.3). (b) When ℰ is an element described in ℊ as a combination of multiple Sub-Elements (and therefore is in the category of Aggregated-Element from the SPC), it goes through partsegmentation (Section 3.2) before modelling the entity. This segmentation is guided by inferred rules extracted from the ACO ontology. For instance, if an object is labelled as a "kitchen chair", its definition will specify that segmentation need to find an upper-part, which is a backrest, a middle-part, which is a oneSeat, and some ground transition parts-at least 3 for the example of the "kitchen chair". (c) When ℰ is a Sub-Element in the ACO and refers to an Aggregated-Element, the point cloud subset goes through an aggregation step before modelling. This step is guided by semantic definitions and symmetric operations to find (recreate) other Sub-Elements of the Aggregated-Element. For instance, when a WallSurface is considered to be ℰ , its parallel wall surface will be searched for in the SPC database to constitute the Aggregated-Element "Wall".
(a) (b) (c) of end nodes. Each edge is oriented regarding a specified topology relation between one or multiple nodes (its ends). Then, three processing cases arise from the definition of elements ( Figure 6), where: (a) E i is an element that is described in Remote Sens. 2018, 10, x FOR PEER REVIEW 12 of 35

Instance-Based Characterization, Feature Extraction and Description Refinement
While the SPC-integrated point cloud holds a minima class or segment information, these are not necessarily optimal with regard to indoor applications. The ACO makes it possible to deepen the classification of considered classes presented in Table 1 through the Web of Linked Data. For each class, every element is extracted independently from the point cloud and considered for instance characterization. Table 1. Objects to be modelled from the S3-DIS point cloud dataset [111] are highlighted in red, identified by a major primitive (Cuboid, Plane, or CSG model assembly) and a category, being Normal-Element (NE), Sub-Element (SE) or Aggregated-Element (AE).

Beam
CeilingS Chair Column Door points from . Let ℊ be a directed graph defined by a set (ℊ) of inner nodes, a set ℯ(ℊ) of edges and a set (ℊ) of end nodes. Each edge is oriented regarding a specified topology relation between one or multiple nodes (its ends). Then, three processing cases arise from the definition of elements (Figure 6), where: (a) ℰ is an element that is described in ℊ as an end (ℊ) (the final level of the elements decomposition, e.g., a wall, a beam, etc.). These elements are directly identified as Normal-Elements (NE) in the ACO Level 2 ( Figure 4) and refer to a DBpedia resource. Such a case does not necessitate a part segmentation, and therefore allows the expert system to directly address the modelling phase (Section 3.3). (b) When ℰ is an element described in ℊ as a combination of multiple Sub-Elements (and therefore is in the category of Aggregated-Element from the SPC), it goes through partsegmentation (Section 3.2) before modelling the entity. This segmentation is guided by inferred rules extracted from the ACO ontology. For instance, if an object is labelled as a "kitchen chair", its definition will specify that segmentation need to find an upper-part, which is a backrest, a middle-part, which is a oneSeat, and some ground transition parts-at least 3 for the example of the "kitchen chair". (c) When ℰ is a Sub-Element in the ACO and refers to an Aggregated-Element, the point cloud subset goes through an aggregation step before modelling. This step is guided by semantic definitions and symmetric operations to find (recreate) other Sub-Elements of the Aggregated-Element. For instance, when a WallSurface is considered to be ℰ , its parallel wall surface will be searched for in the SPC database to constitute the Aggregated-Element "Wall".

Instance-Based Characterization, Feature Extraction and Description Refinement
While the SPC-integrated point cloud holds a minima class or segment information, th not necessarily optimal with regard to indoor applications. The ACO makes it possible to dee classification of considered classes presented in Table 1 through the Web of Linked Data. F class, every element is extracted independently from the point cloud and considered for i characterization. Table 1. Objects to be modelled from the S3-DIS point cloud dataset [111] are highlighted in r identified by a major primitive (Cuboid, Plane, or CSG model assembly) and a category, be Normal-Element (NE), Sub-Element (SE) or Aggregated-Element (AE).

Beam
CeilingS Chair Column Door Table  WallS Wi Let be a point in ℝ , with the number of dimensions. We have a point cloud = with the number of points in the point cloud. Let ℰ be an element of identified by a l containing points from . Let ℊ be a directed graph defined by a set (ℊ) of inner nod ℯ(ℊ) of edges and a set (ℊ) of end nodes. Each edge is oriented regarding a specified to relation between one or multiple nodes (its ends). Then, three processing cases arise fr definition of elements ( Figure 6), where: is an element that is described in ℊ as an end (ℊ) (the final level of the e decomposition, e.g., a wall, a beam, etc.). These elements are directly identified as N Elements (NE) in the ACO Level 2 ( Figure 4) and refer to a DBpedia resource. Such a ca not necessitate a part segmentation, and therefore allows the expert system to directly the modelling phase (Section 3.3). (b) When ℰ is an element described in ℊ as a combination of multiple Sub-Elemen therefore is in the category of Aggregated-Element from the SPC), it goes throug segmentation (Section 3.2) before modelling the entity. This segmentation is guided by i rules extracted from the ACO ontology. For instance, if an object is labelled as a "kitchen its definition will specify that segmentation need to find an upper-part, which is a bac middle-part, which is a oneSeat, and some ground transition parts-at least 3 for the exa the "kitchen chair". (c) When ℰ is a Sub-Element in the ACO and refers to an Aggregated-Element, the poin subset goes through an aggregation step before modelling. This step is guided by s definitions and symmetric operations to find (recreate) other Sub-Elements of the Aggr Element. For instance, when a WallSurface is considered to be ℰ , its parallel wall surf be searched for in the SPC database to constitute the Aggregated-Element "Wall".
(the final level of the elements decomposition, e.g., a wall, a beam, etc.). These elements are directly identified as Normal-Elements (NE) in the ACO Level 2 ( Figure 4) and refer to a DBpedia resource. Such a case does not necessitate a part segmentation, and therefore allows the expert system to directly address the modelling phase (Section 3.3). (b) When E i is an element described in Remote Sens. 2018, 10, x FOR PEER REVIEW 12 of 35

Instance-Based Characterization, Feature Extraction and Description Refinement
While the SPC-integrated point cloud holds a minima class or segment information, these are not necessarily optimal with regard to indoor applications. The ACO makes it possible to deepen the classification of considered classes presented in Table 1 through the Web of Linked Data. For each class, every element is extracted independently from the point cloud and considered for instance characterization. Table 1. Objects to be modelled from the S3-DIS point cloud dataset [111] are highlighted in red, identified by a major primitive (Cuboid, Plane, or CSG model assembly) and a category, being Normal-Element (NE), Sub-Element (SE) or Aggregated-Element (AE).

Beam
CeilingS Chair Column Door points from . Let ℊ be a directed graph defined by a set (ℊ) of inner nodes, a set ℯ(ℊ) of edges and a set (ℊ) of end nodes. Each edge is oriented regarding a specified topology relation between one or multiple nodes (its ends). Then, three processing cases arise from the definition of elements ( Figure 6), where: (a) ℰ is an element that is described in ℊ as an end (ℊ) (the final level of the elements decomposition, e.g., a wall, a beam, etc.). These elements are directly identified as Normal-Elements (NE) in the ACO Level 2 ( Figure 4) and refer to a DBpedia resource. Such a case does not necessitate a part segmentation, and therefore allows the expert system to directly address the modelling phase (Section 3.3). (b) When ℰ is an element described in ℊ as a combination of multiple Sub-Elements (and therefore is in the category of Aggregated-Element from the SPC), it goes through partsegmentation (Section 3.2) before modelling the entity. This segmentation is guided by inferred rules extracted from the ACO ontology. For instance, if an object is labelled as a "kitchen chair", its definition will specify that segmentation need to find an upper-part, which is a backrest, a middle-part, which is a oneSeat, and some ground transition parts-at least 3 for the example of the "kitchen chair". (c) When ℰ is a Sub-Element in the ACO and refers to an Aggregated-Element, the point cloud subset goes through an aggregation step before modelling. This step is guided by semantic definitions and symmetric operations to find (recreate) other Sub-Elements of the Aggregated-Element. For instance, when a WallSurface is considered to be ℰ , its parallel wall surface will be searched for in the SPC database to constitute the Aggregated-Element "Wall".
as a combination of multiple Sub-Elements (and therefore is in the category of Aggregated-Element from the SPC), it goes through part-segmentation (Section 3.2) before modelling the entity. This segmentation is guided by inferred rules extracted from the ACO ontology. For instance, if an object is labelled as a "kitchen chair", its definition will specify that segmentation need to find an upper-part, which is a backrest, a middle-part, which is a oneSeat, and some ground transition parts-at least 3 for the example of the "kitchen chair". (c) When E i is a Sub-Element in the ACO and refers to an Aggregated-Element, the point cloud subset goes through an aggregation step before modelling. This step is guided by semantic definitions and symmetric operations to find (recreate) other Sub-Elements of the Aggregated-Element. For instance, when a WallSurface is considered to be E i , its parallel wall surface will be searched for in the SPC database to constitute the Aggregated-Element "Wall".

Instance-Based Characterization, Feature Extraction and Description Refinement
While the SPC-integrated point cloud holds a minima class or segment information, these are not necessarily optimal with regard to indoor applications. The ACO makes it possible to deepen the classification of considered classes presented in Table 1 through the Web of Linked Data. For each class, every element is extracted independently from the point cloud and considered for instance characterization. Table 1. Objects to be modelled from the S3-DIS point cloud dataset [111] are highlighted in red, identified by a major primitive (Cuboid, Plane, or CSG model assembly) and a category, being Normal-Element (NE), Sub-Element (SE) or Aggregated-Element (AE).

Beam
CeilingS Chair Column Door points from . Let ℊ be a directed graph defined by a set (ℊ) of inner nodes, a set ℯ(ℊ) of edges and a set (ℊ) of end nodes. Each edge is oriented regarding a specified topology relation between one or multiple nodes (its ends). Then, three processing cases arise from the definition of elements ( Figure 6), where: (a) ℰ is an element that is described in ℊ as an end (ℊ) (the final level of the elements decomposition, e.g., a wall, a beam, etc.). These elements are directly identified as Normal-Elements (NE) in the ACO Level 2 ( Figure 4) and refer to a DBpedia resource. Such a case does not necessitate a part segmentation, and therefore allows the expert system to directly address the modelling phase (Section 3.3). (b) When ℰ is an element described in ℊ as a combination of multiple Sub-Elements (and therefore is in the category of Aggregated-Element from the SPC), it goes through partsegmentation (Section 3.2) before modelling the entity. This segmentation is guided by inferred rules extracted from the ACO ontology. For instance, if an object is labelled as a "kitchen chair", its definition will specify that segmentation need to find an upper-part, which is a backrest, a middle-part, which is a oneSeat, and some ground transition parts-at least 3 for the example of the "kitchen chair". (c) When ℰ is a Sub-Element in the ACO and refers to an Aggregated-Element, the point cloud subset goes through an aggregation step before modelling. This step is guided by semantic definitions and symmetric operations to find (recreate) other Sub-Elements of the Aggregated-Element. For instance, when a WallSurface is considered to be ℰ , its parallel wall surface will be searched for in the SPC database to constitute the Aggregated-Element "Wall".
(a) (b) (c)  The main processes of this second step are described in Algorithm 1 as part of the global workflow.
Algorithm 1 Element characterization, featuring and generation of modelling rules ( Figure 1B) return (E i + , R) While NE and SE's characterization avoids part-segmentation, AE goes through case (b) for a higher representativity. Looking at the considered AE classes (chair, door, table), the "chair" class provides the highest variability for testing and will thus be used as the main illustration of AE specialization and shape featuring ( Figure 1B). We decompose this mechanism (Algorithm 1: line 4) into three sub-steps.
Sub-Step 1. Pose determination of 3D shapes: we use a robust variant of Principal Component Analysis (PCA) inspired by Liu and Ramani [76], to compute the principal axis of points composing E i (Algorithm 2). The eigen vector with the largest value in the covariance matrix is chosen as the first estimate of the principal direction.  ), the "chair" class lity for testing and will thus be used as the main illustration of AE uring ( Figure 1B). We decompose this mechanism (Algorithm 1: line 4) ination of 3D shapes: we use a robust variant of Principal Component iu and Ramani [76], to compute the principal axis of points composing vector with the largest value in the covariance matrix is chosen as the direction.
al Axis Determination (RPAD) ct ℰ ∈ ℝ filtered for considering only spatial attributes along , , , number of iteration (by default: 1000), tes from Statistical Outlier Identification Filter [112] applied to ℰ do and three principal axes of through PCA ing points as a matrix in ℝ , being a point ∈ ce between and its projection onto ( ) + | then a 2D RPAD over ℰ projection onto the plane defined by , l refinement layer leveraging georeferenced datasets and gravity-based ientation of Sub-Elements (Algorithm 3): constraints for Sub-Elements ℰ -Element ℰ ∈ ℝ and ℴ, , , , the output of Algorithm 2 and three principal axes of ℰ through RPAD the main axis onto the plane defined by the normal from s defined in ACO ectively ( , ) and ( , ) = × ← inliers candidates from Statistical Outlier Identification Filter [112] applied to E i 2.
while j < max_iteration do

3.
Remote Sens. 2018, 10, x FOR PEER REVIEW 13 of 35 The main processes of this second step are described in Algorithm 1 as part of the global workflow.
Algorithm 1 Element characterization, featuring and generation of modelling rules ( Figure 1B While NE and SE's characterization avoids part-segmentation, AE goes through case (b) for a higher representativity. Looking at the considered AE classes (chair, door, table), the "chair" class provides the highest variability for testing and will thus be used as the main illustration of AE specialization and shape featuring ( Figure 1B). We decompose this mechanism (Algorithm 1: line 4) into three sub-steps.
Sub-Step 1. Pose determination of 3D shapes: we use a robust variant of Principal Component Analysis (PCA) inspired by Liu and Ramani [76], to compute the principal axis of points composing ℰ (Algorithm 2). The eigen vector with the largest value in the covariance matrix is chosen as the first estimate of the principal direction.
← ℰ − , remaining points as a matrix in ℝ , being a point ∈

5.
( ) ← the distance between and its projection onto 6. if | ( )| < | ( ) + | then The main processes of this second step are described in Algorithm 1 as part of the global workflow.
Algorithm 1 Element characterization, featuring and generation of modelling rules ( Figure 1B While NE and SE's characterization avoids part-segmentation, AE goes through case (b) for a higher representativity. Looking at the considered AE classes (chair, door, table), the "chair" class provides the highest variability for testing and will thus be used as the main illustration of AE specialization and shape featuring ( Figure 1B). We decompose this mechanism (Algorithm 1: line 4) into three sub-steps.
Sub-Step 1. Pose determination of 3D shapes: we use a robust variant of Principal Component Analysis (PCA) inspired by Liu and Ramani [76], to compute the principal axis of points composing ℰ (Algorithm 2). The eigen vector with the largest value in the covariance matrix is chosen as the first estimate of the principal direction.
← ℰ − , remaining points as a matrix in ℝ , being a point ∈

5.
( ) ← the distance between and its projection onto 6. if | ( )| < | ( ) + | then SE's characterization avoids part-segmentation, AE goes through case (b) for a ity. Looking at the considered AE classes (chair, door, table), the "chair" class t variability for testing and will thus be used as the main illustration of AE hape featuring ( Figure 1B). We decompose this mechanism (Algorithm 1: line 4) se determination of 3D shapes: we use a robust variant of Principal Component ired by Liu and Ramani [76], to compute the principal axis of points composing e eigen vector with the largest value in the covariance matrix is chosen as the principal direction.
t Principal Axis Determination (RPAD) loud object ℰ ∈ ℝ filtered for considering only spatial attributes along , , , maximum number of iteration (by default: 1000), s candidates from Statistical Outlier Identification Filter [112] applied to ℰ max_ do ← origin and three principal axes of through PCA , remaining points as a matrix in ℝ , being a point ∈ he distance between and its projection onto < | ( ) + | then ) date by a 2D RPAD over ℰ projection onto the plane defined by ,   ), the "chair" class lity for testing and will thus be used as the main illustration of AE uring ( Figure 1B). We decompose this mechanism (Algorithm 1: line 4) ination of 3D shapes: we use a robust variant of Principal Component iu and Ramani [76], to compute the principal axis of points composing ector with the largest value in the covariance matrix is chosen as the direction.
al Axis Determination (RPAD) ct ℰ ∈ ℝ filtered for considering only spatial attributes along , , , number of iteration (by default: 1000), tes from Statistical Outlier Identification Filter [112] applied to ℰ do and three principal axes of through PCA ng points as a matrix in ℝ , being a point ∈ ce between and its projection onto ( ) + | then a 2D RPAD over ℰ projection onto the plane defined by , l refinement layer leveraging georeferenced datasets and gravity-based ientation of Sub-Elements (Algorithm 3): constraints for Sub-Elements ℰ Element ℰ ∈ ℝ and ℴ, , , , the output of Algorithm 2 and three principal axes of ℰ through RPAD the main axis onto the plane defined by the normal from s defined in ACO ctively ( , ) and ( , ) . The main processes of this second step are described in Algorithm 1 as part of the global workflow. While NE and SE's characterization avoids part-segmentation, AE goes through case (b) for a higher representativity. Looking at the considered AE classes (chair, door, table), the "chair" class provides the highest variability for testing and will thus be used as the main illustration of AE specialization and shape featuring ( Figure 1B). We decompose this mechanism (Algorithm 1: line 4) into three sub-steps.
Sub-Step 1. Pose determination of 3D shapes: we use a robust variant of Principal Component Analysis (PCA) inspired by Liu and Ramani [76], to compute the principal axis of points composing ℰ (Algorithm 2). The eigen vector with the largest value in the covariance matrix is chosen as the first estimate of the principal direction.
. ( ) 8. end if 9. end while 10. , ← Update by a 2D RPAD over ℰ projection onto the plane defined by , 11. end 12. return (ℴ, , , ) We provide an additional refinement layer leveraging georeferenced datasets and gravity-based scenes by constraining the orientation of Sub-Elements (Algorithm 3): We provide an additional refinement layer leveraging georeferenced datasets and gravity-based scenes by constraining the orientation of Sub-Elements (Algorithm 3): Sub-Step 1. Pose determination of 3D shapes: we use a robust variant of Principal Component Analysis (PCA) inspired by Liu and Ramani [76], to compute the principal axis of points composing ℰ (Algorithm 2). The eigen vector with the largest value in the covariance matrix is chosen as the first estimate of the principal direction.
← ℰ − , remaining points as a matrix in ℝ , being a point ∈

5.
( ) ← the distance between and its projection onto 6. if | ( )| < | ( ) + | then ) and( While NE and SE's characterization avoids part-segmentation, AE goes through case (b) for a higher representativity. Looking at the considered AE classes (chair, door, table), the "chair" class provides the highest variability for testing and will thus be used as the main illustration of AE specialization and shape featuring ( Figure 1B). We decompose this mechanism (Algorithm 1: line 4) into three sub-steps.
Sub-Step 1. Pose determination of 3D shapes: we use a robust variant of Principal Component Analysis (PCA) inspired by Liu and Ramani [76], to compute the principal axis of points composing ℰ (Algorithm 2). The eigen vector with the largest value in the covariance matrix is chosen as the first estimate of the principal direction.
← ℰ − , remaining points as a matrix in ℝ , being a point ∈

5.
( ) ← the distance between and its projection onto 6. if | ( )| < | ( ) + | then  Outputs of Algorithm 4 are used as initial shape descriptors for studying local maxima. This is done through a gradient approach with different neighborhoods to avoid over/under segmentation.

The gradient
→ ∇( f ) is computed using central difference in the interior and first differences at the boundaries: From the extrema, we descend the gradient to find the two cut candidates: downcut and upcut. This is iteratively refined by studying each extremum and their relative cuts. When two extrema have a common value for their cuts, they are studied for possible under segmentation, and therefore aggregated into the initial candidate. Cut candidates are extracted by fitting a linear least-square model to each gradient after extrema's filtering to identify the baseline (Figure 7: line 5). This makes it possible to be robust to varying sampling distances, missing point cloud data and outliers. We then extract the candidate for the Main-Element, and we further process Sub-Elements. Sub-Step 3. The ontology contains a knowledge-based symmetry indicator which provides insights on the possible symmetric properties of each class, expressed regarding the Main-Element (see Supplementary Materials). We first use these, and if the test fails, we undertake a specific symmetry search using analytic knowledge, similarly to [86]. In the context of indoor point clouds, we mostly deal with approximate symmetries due to measured data. Therefore, we use a measure of overlap by mapping the pixels as binary grid of the projection on a plane the normal of which is coplanar to the symmetry plane and vice-versa ( Figure 8: line 2). The symmetry analysis is conducted over the repartition histogram projected onto the plane ( , ). Then we run mean-shift clustering to detect candidate axis positions among all pairs of neighboring patches, similarly to [87]. Sub-Step 3. The ontology contains a knowledge-based symmetry indicator which provides insights on the possible symmetric properties of each class, expressed regarding the Main-Element (see Supplementary Materials). We first use these, and if the test fails, we undertake a specific symmetry search using analytic knowledge, similarly to [86]. In the context of indoor point clouds, we mostly deal with approximate symmetries due to measured data. Therefore, we use a measure of overlap by mapping the pixels as binary grid of the projection on a plane the normal of which is coplanar to the symmetry plane and vice-versa ( Figure 8: line 2). The symmetry analysis is conducted over the repartition histogram projected onto the plane ( → e 2 , → e 3 ). Then we run mean-shift clustering to detect candidate axis positions among all pairs of neighboring patches, similarly to [87].
At this point, we benefit from a better characterization of AE through the ACO and the described threefold mechanism. Each initial element composing the scene (NE, SE and AE) is then processed to extract object relationships. We construct a connected component graph

Instance-Based Characterization, Feature Extraction and Description Refinement
While the SPC-integrated point cloud holds a minima class or segment information, not necessarily optimal with regard to indoor applications. The ACO makes it possible to d classification of considered classes presented in Table 1 through the Web of Linked Data. class, every element is extracted independently from the point cloud and considered for characterization. Table 1. Objects to be modelled from the S3-DIS point cloud dataset [111] are highlighted in identified by a major primitive (Cuboid, Plane, or CSG model assembly) and a category, Normal-Element (NE), Sub-Element (SE) or Aggregated-Element (AE).

Beam
CeilingS Chair Column Door points from . Let ℊ be a directed graph defined by a set (ℊ) of inner no ℯ(ℊ) of edges and a set (ℊ) of end nodes. Each edge is oriented regarding a specified relation between one or multiple nodes (its ends). Then, three processing cases arise definition of elements (Figure 6), where: (a) ℰ is an element that is described in ℊ as an end (ℊ) (the final level of the decomposition, e.g., a wall, a beam, etc.). These elements are directly identified as Elements (NE) in the ACO Level 2 ( Figure 4) and refer to a DBpedia resource. Such a not necessitate a part segmentation, and therefore allows the expert system to directl the modelling phase (Section 3.3). (b) When ℰ is an element described in ℊ as a combination of multiple Sub-Eleme therefore is in the category of Aggregated-Element from the SPC), it goes throu segmentation (Section 3.2) before modelling the entity. This segmentation is guided by in a voxel-space based on the initial bounding-box parameters of P and the one of the considered element E a . We then use the , computed with regard to DE-9IM [113] in the voxel space and extended using spatial operators, to identify elements related to E i along → e 1 : Let be a point in ℝ , with the number of dimensions. We have a point cloud with the number of points in the point cloud. Let ℰ be an element of identified by a containing points from . Let ℊ be a directed graph defined by a set (ℊ) of inner no ℯ(ℊ) of edges and a set (ℊ) of end nodes. Each edge is oriented regarding a specified relation between one or multiple nodes (its ends). Then, three processing cases arise definition of elements (Figure 6), where:

Beam
(a) ℰ is an element that is described in ℊ as an end (ℊ) (the final level of the decomposition, e.g., a wall, a beam, etc.). These elements are directly identified as Elements (NE) in the ACO Level 2 ( Figure 4) and refer to a DBpedia resource. Such a not necessitate a part segmentation, and therefore allows the expert system to directl the modelling phase (Section 3.3). (b) When ℰ is an element described in ℊ as a combination of multiple Sub-Eleme therefore is in the category of Aggregated-Element from the SPC), it goes throu segmentation (Section 3.2) before modelling the entity. This segmentation is guided by rules extracted from the ACO ontology. For instance, if an object is labelled as a "kitch its definition will specify that segmentation need to find an upper-part, which is a b middle-part, which is a oneSeat, and some ground transition parts-at least 3 for the ex the "kitchen chair". (c) When ℰ is a Sub-Element in the ACO and refers to an Aggregated-Element, the po subset goes through an aggregation step before modelling. This step is guided by definitions and symmetric operations to find (recreate) other Sub-Elements of the Ag Element. For instance, when a WallSurface is considered to be ℰ , its parallel wall su be searched for in the SPC database to constitute the Aggregated-Element "Wall". At this point, we benefit from a better characterization of AE through the ACO and the described threefold mechanism. Each initial element composing the scene (NE, SE and AE) is then processed to extract object relationships. We construct a connected component graph ℊ in a voxel-space based on the initial bounding-box parameters of and the one of the considered element ℰ . We then use the available topology information ( , { } ), computed with regard to DE-9IM [113] in the voxel space and extended using spatial operators, to identify elements related to ℰ along : The basic object relationship is defined as (ℰ , ℰ ) and determined using Algorithm 5:  Table   Cuboid  Plane  CSG model Cuboid CSG model CSG model  NE  SE  AE  NE  AE  AE Let be a point in ℝ , with the number of dimensions. We have a with the number of points in the point cloud. Let ℰ be an element of containing points from . Let ℊ be a directed graph defined by a set ℯ(ℊ) of edges and a set (ℊ) of end nodes. Each edge is oriented regard relation between one or multiple nodes (its ends). Then, three processi definition of elements (Figure 6), where: (a) ℰ is an element that is described in ℊ as an end (ℊ) (the fina decomposition, e.g., a wall, a beam, etc.). These elements are directl Elements (NE) in the ACO Level 2 ( Figure 4) and refer to a DBpedia re not necessitate a part segmentation, and therefore allows the expert sy the modelling phase (Section 3.3). (b) When ℰ is an element described in ℊ as a combination of mult therefore is in the category of Aggregated-Element from the SPC) segmentation (Section 3.2) before modelling the entity. This segmentat rules extracted from the ACO ontology. For instance, if an object is labe its definition will specify that segmentation need to find an upper-pa middle-part, which is a oneSeat, and some ground transition parts-at the "kitchen chair". (c) When ℰ is a Sub-Element in the ACO and refers to an Aggregated-E subset goes through an aggregation step before modelling. This step definitions and symmetric operations to find (recreate) other Sub-Elem Element. For instance, when a WallSurface is considered to be ℰ , its p be searched for in the SPC database to constitute the Aggregated-Elem The basic object relationship is defined as T (E a , E b ) and determined using Algorithm 5:

Algorithm 5 Object-relationship definition for indoor elements
Require: A point cloud object E i ∈ R 3 filtered for considering only spatial attributes X, Y, Z along ( T end if 10. end for 11. At this point, we benefit from a better characterization of AE through the ACO and the described threefold mechanism. Each initial element composing the scene (NE, SE and AE) is then processed to extract object relationships. We construct a connected component graph ℊ in a voxel-space based on the initial bounding-box parameters of and the one of the considered element ℰ . We then use the available topology information ( , { } ), computed with regard to DE-9IM [113] in the voxel space and extended using spatial operators, to identify elements related to ℰ along : With regard to AE, Sub-Elements that create new segments are similarly refined, using the ACO (e.g., if E i is a "Kitchen Chair" and the number of E sub−i in "someDown" position is lower than 3, then the results are refined, as a "Kitchen Chair" is described having at least 3 legs). Guided by ACO, we cross-relate E i information F , W rs. As such, global matching methods based on exhaustive search (efficient if we can in the space of possible transformations), normalization (not applicable to partial with outliers) and RANSAC (need at least 3 pairs of points) are limited. We variance-based method to try and characterize the shapes using properties that are the desired transformations. We describe each database 3D model by computing a define a first set of best fit candidates , where: mpare each rank for each candidate within the database and filter by score. We candidates by comparing its symmetry pointer to ℰ and each Sub-Element (when h highly constrains the repartition. This is done regarding the symmetry descriptors tion 3.2. The new rank descriptor is given by: sults of the shape matching over different datasets (a). The rank RXX represents the score date. The closer to 0, the better the shape fits the search from (b-i). e the transformation parameters by matching the centroids of and ℳ , refined ACO-inferred ℰ for its orientation. We finally adjust scale by matching shape is done using the symmetry indicators and planes as coplanar constraints for global ith independent shape deformation along each principal axis. he next section we present the closing step in aggregating every modelled element del accompanied by object relationships ( Figure 1D, Section 3.4).

on for Scene Modelling
, every element ℰ composing is enhanced to retain contextual information and ip through Algorithm 1, becoming ℰ . It is then processed in accordance with ℛ obtain a set of models {ℳ , ℳ , ℳ , ℳ , ℳ } using Algorithm 6. The final step leverage the context with related elements for general modelling, with adjusted struction, notably following the topology and symmetric considerations. E.g., the cted by processing the ACO-such as "the feet have the same height", derived from W iling and floor models ( Figure 12). Each candidate is oriented in the same -aligned, is -aligned), which makes it possible to avoid global l refinement via ICP. Only a rigid translation and deformable step is ges include the present noise in scanned data, isotropic shapes, partial , global matching methods based on exhaustive search (efficient if we can e of possible transformations), normalization (not applicable to partial liers) and RANSAC (need at least 3 pairs of points) are limited. We ased method to try and characterize the shapes using properties that are transformations. We describe each database 3D model by computing a st set of best fit candidates , where: h rank for each candidate within the database and filter by score. We by comparing its symmetry pointer to ℰ and each Sub-Element (when nstrains the repartition. This is done regarding the symmetry descriptors e new rank descriptor is given by: hape matching over different datasets (a). The rank RXX represents the score ser to 0, the better the shape fits the search from (b-i).
ormation parameters by matching the centroids of and ℳ , refined red ℰ for its orientation. We finally adjust scale by matching shape ing the symmetry indicators and planes as coplanar constraints for global ndent shape deformation along each principal axis. tion we present the closing step in aggregating every modelled element panied by object relationships (Figure 1D, Section 3.4).
Modelling ment ℰ composing is enhanced to retain contextual information and Algorithm 1, becoming ℰ . It is then processed in accordance with ℛ t of models {ℳ , ℳ , ℳ , ℳ , ℳ } using Algorithm 6. The final step the context with related elements for general modelling, with adjusted notably following the topology and symmetric considerations. E.g., the cessing the ACO-such as "the feet have the same height", derived from With regard to AE, Sub-Elements that create new segments are similarly refined, using the ACO (e.g., if ℰ is a "Kitchen Chair" and the number of ℰ in "someDown" position is lower than 3, then the results are refined, as a "Kitchen Chair" is described having at least 3 legs). Guided by ACO, we cross-relate ℰ information ℱℓ, , ℒ , ℱ ( , ) , ℱ , ℋℯ and ℰℓ with the highest maximas, where: These are grouped as a bag of features and we infer modelling rules (e.g., Figure 9) after going through a language processing step to provide three groups of features: Contrary to [6], we do not reason based on decision trees that are extracted from an ontology. Indeed, we create a JSON object per element ℰ that holds the Bag of features, Object-relationship information and Contextual semantics. These include concepts of physics and causation such as stability, clearance, proximity and dimensions defined as Knowledge Primitives by Sutton et al. [114]. The reasoning module of the expert system can in turn provide the guiding modelling rules ℛ for the considered object as developed in Section 3.1. In the next sub-section ( Figure 1C) we explain the third step of our global workflow, which provides a modelling approach for obtaining multiple geometries for each ℰ composing .

Procedural Instance 3D Modelling
As reviewed in Section 2.1, most indoor scenes are primitive-based decompositions. As such, we provide a simple yet efficient parametric instance-modelling, described in Algorithm 6, that reconstructs each element ℰ using cuboid and bounded plane representations. With regard to AE, Sub-Elements that create new segments are similarly refined, using the A (e.g., if ℰ is a "Kitchen Chair" and the number of ℰ in "someDown" position is lower than then the results are refined, as a "Kitchen Chair" is described having at least 3 legs). Guided by AC we cross-relate ℰ information ℱℓ, , ℒ , ℱ ( , ) , ℱ , ℋℯ and ℰℓ with the highest maxim where: These are grouped as a bag of features and we infer modelling rules (e.g., Figure 9) after go through a language processing step to provide three groups of features:  In the next sub-section ( Figure 1C) we explain the third step of our global workflow, wh provides a modelling approach for obtaining multiple geometries for each ℰ composing .

Procedural Instance 3D Modelling
As reviewed in Section 2.1, most indoor scenes are primitive-based decompositions. As such, provide a simple yet efficient parametric instance-modelling, described in Algorithm 6, t reconstructs each element ℰ using cuboid and bounded plane representations. W from the ModelNet10 [35] library, specifically the chair, desk and table furniture due to the nonavailability of wall, beam, ceiling and floor models ( Figure 12). Each candidate is oriented in the same way (Main-Element's is -aligned, is -aligned), which makes it possible to avoid global alignment search and local refinement via ICP. Only a rigid translation and deformable step is executed. The main challenges include the present noise in scanned data, isotropic shapes, partial views and outliers. As such, global matching methods based on exhaustive search (efficient if we can strongly constrain the space of possible transformations), normalization (not applicable to partial views, or scenes with outliers) and RANSAC (need at least 3 pairs of points) are limited. We investigate an invariance-based method to try and characterize the shapes using properties that are invariant under the desired transformations. We describe each database 3D model by computing a rank to define a first set of best fit candidates , where: We then compare each rank for each candidate within the database and filter by score. We narrow the set of candidates by comparing its symmetry pointer to ℰ and each Sub-Element (when applicable), which highly constrains the repartition. This is done regarding the symmetry descriptors as defined in Section 3.2. The new rank descriptor is given by: Figure 12. Results of the shape matching over different datasets (a). The rank RXX represents the score of each candidate. The closer to 0, the better the shape fits the search from (b-i).
We compute the transformation parameters by matching the centroids of and ℳ , refined using ℳ and ACO-inferred ℰ for its orientation. We finally adjust scale by matching shape parameters. This is done using the symmetry indicators and planes as coplanar constraints for global transformation with independent shape deformation along each principal axis.
Finally, in the next section we present the closing step in aggregating every modelled element to create a 3D model accompanied by object relationships (Figure 1D, Section 3.4).

3D Aggregation for Scene Modelling
At this stage, every element ℰ composing is enhanced to retain contextual information and object-relationship through Algorithm 1, becoming ℰ . It is then processed in accordance with ℛ from the ACO to obtain a set of models {ℳ , ℳ , ℳ , ℳ , ℳ } using Algorithm 6. The final step ( Figure 1D) is to leverage the context with related elements for general modelling, with adjusted parametric reconstruction, notably following the topology and symmetric considerations. E.g., the constraints extracted by processing the ACO-such as "the feet have the same height", derived from , E = W availability of wall, beam, ceiling and floor models ( Figure 12). Each candidate is oriented in the same way (Main-Element's is -aligned, is -aligned), which makes it possible to avoid global alignment search and local refinement via ICP. Only a rigid translation and deformable step is executed. The main challenges include the present noise in scanned data, isotropic shapes, partial views and outliers. As such, global matching methods based on exhaustive search (efficient if we can strongly constrain the space of possible transformations), normalization (not applicable to partial views, or scenes with outliers) and RANSAC (need at least 3 pairs of points) are limited. We investigate an invariance-based method to try and characterize the shapes using properties that are invariant under the desired transformations. We describe each database 3D model by computing a rank to define a first set of best fit candidates , where: We then compare each rank for each candidate within the database and filter by score. We narrow the set of candidates by comparing its symmetry pointer to ℰ and each Sub-Element (when applicable), which highly constrains the repartition. This is done regarding the symmetry descriptors as defined in Section 3.2. The new rank descriptor is given by: Figure 12. Results of the shape matching over different datasets (a). The rank RXX represents the score of each candidate. The closer to 0, the better the shape fits the search from (b-i).
We compute the transformation parameters by matching the centroids of and ℳ , refined using ℳ and ACO-inferred ℰ for its orientation. We finally adjust scale by matching shape parameters. This is done using the symmetry indicators and planes as coplanar constraints for global transformation with independent shape deformation along each principal axis.
Finally, in the next section we present the closing step in aggregating every modelled element to create a 3D model accompanied by object relationships ( Figure 1D, Section 3.4).

3D Aggregation for Scene Modelling
At this stage, every element ℰ composing is enhanced to retain contextual information and object-relationship through Algorithm 1, becoming ℰ . It is then processed in accordance with ℛ from the ACO to obtain a set of models {ℳ , ℳ , ℳ , ℳ , ℳ } using Algorithm 6. The final step ( Figure 1D) is to leverage the context with related elements for general modelling, with adjusted parametric reconstruction, notably following the topology and symmetric considerations. E.g., the constraints extracted by processing the ACO-such as "the feet have the same height", derived from Le (8) These are grouped as a bag of features and we infer modelling rules (e.g., Figure 9) after going through a language processing step to provide three groups of features: odelNet10 [35] library, specifically the chair, desk and table furniture due to the nonof wall, beam, ceiling and floor models ( Figure 12). Each candidate is oriented in the same -Element's is -aligned, is -aligned), which makes it possible to avoid global search and local refinement via ICP. Only a rigid translation and deformable step is he main challenges include the present noise in scanned data, isotropic shapes, partial outliers. As such, global matching methods based on exhaustive search (efficient if we can nstrain the space of possible transformations), normalization (not applicable to partial scenes with outliers) and RANSAC (need at least 3 pairs of points) are limited. We an invariance-based method to try and characterize the shapes using properties that are nder the desired transformations. We describe each database 3D model by computing a to define a first set of best fit candidates , where: en compare each rank for each candidate within the database and filter by score. We set of candidates by comparing its symmetry pointer to ℰ and each Sub-Element (when , which highly constrains the repartition. This is done regarding the symmetry descriptors in Section 3.2. The new rank descriptor is given by: Results of the shape matching over different datasets (a). The rank RXX represents the score candidate. The closer to 0, the better the shape fits the search from (b-i). mpute the transformation parameters by matching the centroids of and ℳ , refined and ACO-inferred ℰ for its orientation. We finally adjust scale by matching shape . This is done using the symmetry indicators and planes as coplanar constraints for global tion with independent shape deformation along each principal axis.
, in the next section we present the closing step in aggregating every modelled element 3D model accompanied by object relationships (Figure 1D, Section 3.4).
regation for Scene Modelling stage, every element ℰ composing is enhanced to retain contextual information and ionship through Algorithm 1, becoming ℰ . It is then processed in accordance with ℛ CO to obtain a set of models {ℳ , ℳ , ℳ , ℳ , ℳ } using Algorithm 6. The final step ) is to leverage the context with related elements for general modelling, with adjusted reconstruction, notably following the topology and symmetric considerations. E.g., the extracted by processing the ACO-such as "the feet have the same height", derived from With regard to AE, Sub-Elements that create new segments are similarly refined, using the ACO (e.g., if ℰ is a "Kitchen Chair" and the number of ℰ in "someDown" position is lower than 3, then the results are refined, as a "Kitchen Chair" is described having at least 3 legs). Guided by ACO, we cross-relate ℰ information ℱℓ, , ℒ , ℱ ( , ) , ℱ , ℋℯ and ℰℓ with the highest maximas, where: ∀ < , ∃ ℒ ∈ ℝ | ℒ = , ∀ > , ∃ ℒ ∈ ℝ | ℒ = = min( , ) , = , ℱℓ= , ℰℓ= ℒ These are grouped as a bag of features and we infer modelling rules (e.g., Figure 9) after going through a language processing step to provide three groups of features: Contrary to [6], we do not reason based on decision trees that are extracted from an ontology. Indeed, we create a JSON object per element ℰ that holds the Bag of features, Object-relationship information and Contextual semantics. These include concepts of physics and causation such as stability, clearance, proximity and dimensions defined as Knowledge Primitives by Sutton et al. [114]. The reasoning module of the expert system can in turn provide the guiding modelling rules ℛ for the considered object as developed in Section 3.1. In the next sub-section ( Figure 1C) we explain the third step of our global workflow, which provides a modelling approach for obtaining multiple geometries for each ℰ composing .

Procedural Instance 3D Modelling
As reviewed in Section 2.1, most indoor scenes are primitive-based decompositions. As such, we provide a simple yet efficient parametric instance-modelling, described in Algorithm 6, that reconstructs each element ℰ using cuboid and bounded plane representations.

Algorithm 6
Multi-LoD object instance modelling ( Figure 1C Contrary to [6], we do not reason based on decision trees that are extracted from an ontology. Indeed, we create a JSON object per element E i that holds the Bag of features, Object-relationship information and Contextual semantics. These include concepts of physics and causation such as stability, clearance, proximity and dimensions defined as Knowledge Primitives by Sutton et al. [114]. The reasoning module of the expert system can in turn provide the guiding modelling rules R for the considered object as developed in Section 3.1. With regard to AE, Sub-Elements that create new segments are similarly refined, using the ACO (e.g., if ℰ is a "Kitchen Chair" and the number of ℰ in "someDown" position is lower than 3, then the results are refined, as a "Kitchen Chair" is described having at least 3 legs). Guided by ACO, we cross-relate ℰ information ℱℓ, , ℒ , ℱ ( , ) , ℱ , ℋℯ and ℰℓ with the highest maximas, where: = min( , ) , = , ℱℓ= , ℰℓ= ℒ These are grouped as a bag of features and we infer modelling rules (e.g., Figure 9) after going through a language processing step to provide three groups of features: Contrary to [6], we do not reason based on decision trees that are extracted from an ontology. Indeed, we create a JSON object per element ℰ that holds the Bag of features, Object-relationship information and Contextual semantics. These include concepts of physics and causation such as stability, clearance, proximity and dimensions defined as Knowledge Primitives by Sutton et al. [114]. The reasoning module of the expert system can in turn provide the guiding modelling rules ℛ for the considered object as developed in Section 3.1. In the next sub-section ( Figure 1C) we explain the third step of our global workflow, which provides a modelling approach for obtaining multiple geometries for each ℰ composing .

Procedural Instance 3D Modelling
As reviewed in Section 2.1, most indoor scenes are primitive-based decompositions. As such, we provide a simple yet efficient parametric instance-modelling, described in Algorithm 6, that reconstructs each element ℰ using cuboid and bounded plane representations. In the next sub-section ( Figure 1C) we explain the third step of our global workflow, which provides a modelling approach for obtaining multiple geometries for each E i composing P.

Procedural Instance 3D Modelling
As reviewed in Section 2.1, most indoor scenes are primitive-based decompositions. As such, we provide a simple yet efficient parametric instance-modelling, described in Algorithm 6, that reconstructs each element E i using cuboid and bounded plane representations.

1.
For each E i + do
E i + goes through part-modelling and part-assemblage 4. end if 5.
E i + parameters refinement through context adaptation following R specifications Similar to Step 2 ( Figure 1B, Section 3.2) of the global workflow, the characterization of the AE element as E i + is accounted for by going through a specific part-modelling and part-assemblage processing (necessitate AE's characterization and part-segmentation, as detailed in Section 3.2). This is done by considering each Sub-Element of the initial element E i an independent element. Then, using intra-E i topology (relations between Sub-Elements from part-segmentation) defined within the ACO, geometric parameters are adjusted ( Figure 10). Step 2 ( Figure 1B, Section 3.2) of the global workflow, the characterization of the AE element as ℰ is accounted for by going through a specific part-modelling and part-assemblage processing (necessitate AE's characterization and part-segmentation, as detailed in Section 3.2). This is done by considering each Sub-Element of the initial element ℰ an independent element. Then, using intra-ℰ topology (relations between Sub-Elements from part-segmentation) defined within the ACO, geometric parameters are adjusted ( Figure 10). The parametrization of generated models gives users the ability to alter the entire logic of the object construction by adjusting individual parts.
We parametrize a cuboid with three orthogonal directions , , where: The cuboid parameters also include the center coordinates , , , as well as the length, width and height, respectively, along , , . Its finite point set representation is obtained by tessellation and generated as an obj file. A bounded plane is represented by a set of parameters = { , , , } that defines a plane, and a set of edge points that lies in the plane and describes the vertices of the plane's boundary.
Depending on ℰ 's characterization, we obtain a geometric model composed of a bounded plane, a cuboid, a cuboid assembly or a cuboid and bounded plane aggregation. These geometries are then refined to provide multiple LoD. ℰ are found represented as Bounding-box (ℳ ), Trivial knowledge-based parametric shape (ℳ ), Parametric assemblage (ℳ ) and hybrid voxel-based refined model (ℳ ), as illustrated in Figure 11 and executed in Algorithm 6: line 6.  The parametrization of generated models gives users the ability to alter the entire logic of the object construction by adjusting individual parts.
We parametrize a cuboid with three orthogonal directions The cuboid parameters also include the center coordinates X c , Y c , Z c , as well as the length, width and height, respectively, along → c 1 , → c 2 , → c 3 . Its finite point set representation is obtained by tessellation and generated as an obj file. A bounded plane is represented by a set of parameters p = {p 1 , p 2 , p 3 , p 4 } that defines a plane, and a set of edge points e that lies in the plane and describes the vertices of the plane's boundary.
Depending on E i 's characterization, we obtain a geometric model composed of a bounded plane, a cuboid, a cuboid assembly or a cuboid and bounded plane aggregation. These geometries are then refined to provide multiple LoD. E i are found represented as Bounding-box (M L0 ), Trivial knowledge-based parametric shape (M L1 ), Parametric assemblage (M L2 ) and hybrid voxel-based refined model (M L3 ), as illustrated in Figure 11 and executed in Algorithm 6: line 6.
Depending on ℰ 's characterization, we obtain a geometric model composed of a bounded plane, a cuboid, a cuboid assembly or a cuboid and bounded plane aggregation. These geometries are then refined to provide multiple LoD. ℰ are found represented as Bounding-box (ℳ ), Trivial knowledge-based parametric shape (ℳ ), Parametric assemblage (ℳ ) and hybrid voxel-based refined model (ℳ ), as illustrated in Figure 11 and executed in Algorithm 6: line 6. As an alternative to the 3D models extracted from the procedural engine, we study a 3D database shape matching approach for higher geometric flexibility, but also to provide a way to extract additional information from external database sources through mining. We consider database objects As an alternative to the 3D models extracted from the procedural engine, we study a 3D database shape matching approach for higher geometric flexibility, but also to provide a way to extract additional information from external database sources through mining. We consider database objects from the ModelNet10 [35] library, specifically the chair, desk and table furniture due to the non-availability of wall, beam, ceiling and floor models ( Figure 12). Each candidate is oriented in the same way (Main-Element's → e 3 is → z -aligned, → e 2 is → y -aligned), which makes it possible to avoid global alignment search and local refinement via ICP. Only a rigid translation and deformable step is executed. The main challenges include the present noise in scanned data, isotropic shapes, partial views and outliers. As such, global matching methods based on exhaustive search (efficient if we can strongly constrain the space of possible transformations), normalization (not applicable to partial views, or scenes with outliers) and RANSAC (need at least 3 pairs of points) are limited. We investigate an invariance-based method to try and characterize the shapes using properties that are invariant under the desired transformations. We describe each database 3D model by computing a rank R Level−1 to define a first set of best fit candidates C i , where: from the ModelNet10 [35] library, specifically the chair, desk and table furniture due to the nonavailability of wall, beam, ceiling and floor models ( Figure 12). Each candidate is oriented in the same way (Main-Element's is -aligned, is -aligned), which makes it possible to avoid global alignment search and local refinement via ICP. Only a rigid translation and deformable step is executed. The main challenges include the present noise in scanned data, isotropic shapes, partial views and outliers. As such, global matching methods based on exhaustive search (efficient if we can strongly constrain the space of possible transformations), normalization (not applicable to partial views, or scenes with outliers) and RANSAC (need at least 3 pairs of points) are limited. We investigate an invariance-based method to try and characterize the shapes using properties that are invariant under the desired transformations. We describe each database 3D model by computing a rank to define a first set of best fit candidates , where: We then compare each rank for each candidate within the database and filter by score. We narrow the set of candidates by comparing its symmetry pointer to ℰ and each Sub-Element (when applicable), which highly constrains the repartition. This is done regarding the symmetry descriptors as defined in Section 3.2. The new rank descriptor is given by: Figure 12. Results of the shape matching over different datasets (a). The rank RXX represents the score of each candidate. The closer to 0, the better the shape fits the search from (b-i).
We compute the transformation parameters by matching the centroids of and ℳ , refined using ℳ and ACO-inferred ℰ for its orientation. We finally adjust scale by matching shape parameters. This is done using the symmetry indicators and planes as coplanar constraints for global transformation with independent shape deformation along each principal axis.
Finally, in the next section we present the closing step in aggregating every modelled element from the ModelNet10 [35] library, specifically the chair, desk and table furniture due to the nonavailability of wall, beam, ceiling and floor models ( Figure 12). Each candidate is oriented in the same way (Main-Element's is -aligned, is -aligned), which makes it possible to avoid global alignment search and local refinement via ICP. Only a rigid translation and deformable step is executed. The main challenges include the present noise in scanned data, isotropic shapes, partial views and outliers. As such, global matching methods based on exhaustive search (efficient if we can strongly constrain the space of possible transformations), normalization (not applicable to partial views, or scenes with outliers) and RANSAC (need at least 3 pairs of points) are limited. We investigate an invariance-based method to try and characterize the shapes using properties that are invariant under the desired transformations. We describe each database 3D model by computing a rank to define a first set of best fit candidates , where: We then compare each rank for each candidate within the database and filter by score. We narrow the set of candidates by comparing its symmetry pointer to ℰ and each Sub-Element (when applicable), which highly constrains the repartition. This is done regarding the symmetry descriptors as defined in Section 3.2. The new rank descriptor is given by: Figure 12. Results of the shape matching over different datasets (a). The rank RXX represents the score of each candidate. The closer to 0, the better the shape fits the search from (b-i).
We compute the transformation parameters by matching the centroids of and ℳ , refined using ℳ and ACO-inferred ℰ for its orientation. We finally adjust scale by matching shape parameters. This is done using the symmetry indicators and planes as coplanar constraints for global transformation with independent shape deformation along each principal axis.
Finally, in the next section we present the closing step in aggregating every modelled element from the ModelNet10 [35] library, specifically the chair, desk and table furniture due to the nonavailability of wall, beam, ceiling and floor models ( Figure 12). Each candidate is oriented in the same way (Main-Element's is -aligned, is -aligned), which makes it possible to avoid global alignment search and local refinement via ICP. Only a rigid translation and deformable step is executed. The main challenges include the present noise in scanned data, isotropic shapes, partial views and outliers. As such, global matching methods based on exhaustive search (efficient if we can strongly constrain the space of possible transformations), normalization (not applicable to partial views, or scenes with outliers) and RANSAC (need at least 3 pairs of points) are limited. We investigate an invariance-based method to try and characterize the shapes using properties that are invariant under the desired transformations. We describe each database 3D model by computing a rank to define a first set of best fit candidates , where: We then compare each rank for each candidate within the database and filter by score. We narrow the set of candidates by comparing its symmetry pointer to ℰ and each Sub-Element (when applicable), which highly constrains the repartition. This is done regarding the symmetry descriptors as defined in Section 3.2. The new rank descriptor is given by: Figure 12. Results of the shape matching over different datasets (a). The rank RXX represents the score of each candidate. The closer to 0, the better the shape fits the search from (b-i).
We compute the transformation parameters by matching the centroids of and ℳ , refined using ℳ and ACO-inferred ℰ for its orientation. We finally adjust scale by matching shape parameters. This is done using the symmetry indicators and planes as coplanar constraints for global transformation with independent shape deformation along each principal axis.
Finally, in the next section we present the closing step in aggregating every modelled element to create a 3D model accompanied by object relationships (Figure 1D, Section 3.4).

3D Aggregation for Scene Modelling
At this stage, every element ℰ composing is enhanced to retain contextual information and object-relationship through Algorithm 1, becoming ℰ . It is then processed in accordance with ℛ Figure 12. Results of the shape matching over different datasets (a). The rank RXX represents the score of each candidate. The closer to 0, the better the shape fits the search from (b-i).
We then compare each rank for each candidate within the database and filter by score. We narrow the set of candidates by comparing its symmetry pointer to E i + and each Sub-Element (when applicable), which highly constrains the repartition. This is done regarding the symmetry descriptors as defined in Section 3.2. The new rank descriptor R Level−2 is given by: We compute the transformation parameters by matching the centroids of C i and M L1 , refined using M L2 and ACO-inferred E i + for its orientation. We finally adjust scale by matching shape parameters. This is done using the symmetry indicators and planes as coplanar constraints for global transformation with independent shape deformation along each principal axis. Finally, in the next section we present the closing step in aggregating every modelled element to create a 3D model accompanied by object relationships (Figure 1D, Section 3.4).

3D Aggregation for Scene Modelling
At this stage, every element E i composing P is enhanced to retain contextual information and object-relationship through Algorithm 1, becoming E i + . It is then processed in accordance with R from the ACO to obtain a set of models {M L0 , M L1 , M L2 , M L3 , M 3DM } using Algorithm 6. The final step ( Figure 1D) is to leverage the context with related elements for general modelling, with adjusted parametric reconstruction, notably following the topology and symmetric considerations. E.g., the constraints extracted by processing the ACO-such as "the feet have the same height", derived from topological reasoning with the ground-permit contextual inference. Every element is then aggregated as described in Algorithm 7, and object-relationships R G3D are retained to be usable concurrently with the global 3D indoor model M G3D . This step follows a part-to-whole design which starts with the floors, ceilings, walls, beams/columns and then goes to doors, windows then furniture. To be topologically consistent in the sense of 3D modelling, we treat overlapping similarly to Fayolle and Pasko [51]. We represent a constructive model using a binary (CSG) construction tree structure with primitive solids at the leaves and operations at the internal nodes of the tree. For any given point in space, an evaluation procedure traverses the tree and evaluates membership predicates at this point. After evaluation, we obtain a consistent 3D model of the entire scene retaining object-relationships. We use the Union (U) and Intersection (∩) operators and their set complements to refine the CSG-tree for modelling the point cloud ( Figure 13).
Fayolle and Pasko [51]. We represent a constructive model using a binary (CSG) construction tree structure with primitive solids at the leaves and operations at the internal nodes of the tree. For any given point in space, an evaluation procedure traverses the tree and evaluates membership predicates at this point. After evaluation, we obtain a consistent 3D model of the entire scene retaining objectrelationships. We use the Union (U) and Intersection (∩) operators and their set complements to refine the CSG-tree for modelling the point cloud ( Figure 13). The ability to use several representations from the set of instance models {ℳ , ℳ , ℳ , ℳ , ℳ } makes it possible to obtain hybrid models following the same mechanism as illustrated in Figure 14.  To be topologically consistent in the sense of 3D modelling, we treat overlapping similarly to Fayolle and Pasko [51]. We represent a constructive model using a binary (CSG) construction tree structure with primitive solids at the leaves and operations at the internal nodes of the tree. For any given point in space, an evaluation procedure traverses the tree and evaluates membership predicates at this point. After evaluation, we obtain a consistent 3D model of the entire scene retaining objectrelationships. We use the Union (U) and Intersection (∩) operators and their set complements to refine the CSG-tree for modelling the point cloud ( Figure 13). The ability to use several representations from the set of instance models {ℳ , ℳ , ℳ , ℳ , ℳ } makes it possible to obtain hybrid models following the same mechanism as illustrated in Figure 14.  With the aim of aggregating semantics outside the SPC Infrastructure and for interoperability with existing standards, we obtain a parsing-ready JSON object for IFC file construction. M L0 , M L1 , M L2 , M L3 and M 3DM geometries follow the obj physical file format to be mapped in the IFC scheme using the EXPRESS data definition language. For beams, floors, and walls, IFC entity types, such as IfcBeam, IfcWall, IfcWallStandardCase, IfcBulidingElementProxy, IfcRelDecomposes and IfcRelConnects, are defined with their geometric and connectivity properties following the IFC scheme. In this way, an as-built 3D model of the structural elements compliant with industry standards can be inferred.

Results
In this section, we detail the results of our methodology through several comparisons. We start by describing the underlying datasets, we then present the results of our evaluations to finally provide the details of our implementation and computation time. Then we provide identified limitations and research directions.

Datasets
The methodology was tested over three different datasets. The first dataset (SIM) is simulated data using the ModelNet10 library as scanning environment. The second (DAT) contains real data from actual sites using both the Leica P30 and Trimble TX5 terrestrial laser scanner. The last dataset is the S3-DIS created using the Matterport. The main idea behind using these various datasets is to use the simulated one to test the theoretical basis of the proposed approach, while the real datasets cover the difficulties and the efficiency of the method. The two real-world scenes (DAT and S3-DIS) represent indoor built environments. For the simulated cases (SIM), the point cloud was generated by 3D mesh tessellation and then by adding 2 mm of noise, which is representative of many current laser scanners. Subsampling is not employed at any stage, here, both for point clouds and 3D models. The simulated dataset is solely comprised of furniture (chair, desk, table), with around 1 million points per element. The DAT dataset is comprised of 800 million points, whereas the S3-DIS dataset contains over 335 million points, with an average of 55 million points per area (6 areas). The DAT presents many large planar surfaces and has a high device accuracy, resulting in low noise and a homogeneous point repartition. In contrast, the S3-DIS dataset is very noisy and presents many occluded areas. As these are typical scenes from the built environment, it is worth noting that they all present some significant levels of symmetry and/or self-similarity. Moreover, the DAT and 3D-DIS rely on a scan acquisition methodology that does not cover the full environment, presenting many occluded areas.

Comparisons
We tested our approach on both simulated and real-world point clouds of indoor buildings. We first provide in Table 2 the results of the part-segmentation for AE characterization (Section 3.2). Firstly, we notice an overall precision and recall score above 90% for every Sub-Element of the SIM dataset. While the backRest gives the higher F1-score (99.27%), the oneSeat and the legs achieve lower scores of 97.14% and 94.66%, respectively. Indeed, these Sub-Elements are more subject to missing data which induce False Negatives. Specifically, the SIM chair_0007 represents a problematic case in which the point distribution's features impact the segmentation through a high number of True Negatives. This can be solved if we include a connectivity step to merge similar Connected Components by looking at their Bag of features and their voxel topology. As for the recall indices, the problematic zones are often localized at the joints between each Sub-Element, which could be further refined if an additional (time-consuming) nearest neighbor search was implemented. Logically, the non-simulated datasets DAT and S3-DIS achieve lower scores for the backRest and oneSeat robustness detection. Recall drops by 7.43%, on average, and precision by 8.90%. This is specifically due to the non-uniform sampling of real-world datasets which present many occluded areas for these Sub-Elements, inducing many False Positives. Interestingly, we note that both DAT and S3-DIS datasets present an increase of around 4% for the F1-score. Indeed, the low precision and scan angle play in favor of joint identification between the oneSeat and the legs, which in turn increase the segmentation accuracy. We could highlight that the quality and robustness of our AE's characterization approach depends on the plane detection quality, which is influenced by scanner noise, point density, registration accuracy, and clutter inside of the building. Secondly, we assess the different LoD models obtained following Section 3.3. As the modelling approach does not aim at a perfect fitting of the underlying point cloud, we used an RMSE indicator for comparison between the model and the different reconstructions ( Figure 15). We also compared the different sizes of generated geometries to obtain ratios of precision over complexity. We notice that the higher the LoD, the better the accuracy, but also the higher the data volume. Generalized to the elements processed, we extrapolate that RMSE is expected to be 5 cm for ℳ (very sensitive to point repartition), whereas ℳ is expected to give a representation with an RMSE of 2 cm, and ℳ is expected to model with an RMSE of 1 cm. The latter can, of course, be reduced if the octree level of the voxelization is lower, causing a higher model size, which can become impractical for very large scenes. Additionally, ℳ could be refined using the parametric model in zones with a high overlap (e.g., OneSeat area), resulting in a reduced number of vertices. If we look at the well-known triangulation modelling methodologies illustrated in Figure 16, while they can provide a higher accuracy, their representation is often incomplete and cannot successfully model occluded areas. On top, their size is on average 6 times bigger than ℳ , and the trade-off of precision over complexity shows overly complex structures for the precision gains.  We notice that the higher the LoD, the better the accuracy, but also the higher the data volume. Generalized to the elements processed, we extrapolate that RMSE is expected to be 5 cm for M L1 (very sensitive to point repartition), whereas M L2 is expected to give a representation with an RMSE of 2 cm, and M L3 is expected to model with an RMSE of 1 cm. The latter can, of course, be reduced if the octree level of the voxelization is lower, causing a higher model size, which can become impractical for very large scenes. Additionally, M L3 could be refined using the parametric model in zones with a high overlap (e.g., OneSeat area), resulting in a reduced number of vertices. If we look at the well-known triangulation modelling methodologies illustrated in Figure 16, while they can provide a higher accuracy, their representation is often incomplete and cannot successfully model occluded areas. On top, their size is on average 6 times bigger than M L3 , and the trade-off of precision over complexity shows overly complex structures for the precision gains.
impractical for very large scenes. Additionally, ℳ could be refined using the parametric model in zones with a high overlap (e.g., OneSeat area), resulting in a reduced number of vertices. If we look at the well-known triangulation modelling methodologies illustrated in Figure 16, while they can provide a higher accuracy, their representation is often incomplete and cannot successfully model occluded areas. On top, their size is on average 6 times bigger than ℳ , and the trade-off of precision over complexity shows overly complex structures for the precision gains.  Figure 16. 3D modelling by triangulation. (a) Poisson reconstruction [115]; (b) Ball-pivoting approach [116]; (c) Marching-Cubes approach [117].
As for ℳ , our 3D data mining approach provides interesting results concerning the SIM dataset, but the extension to the real-world case presents many challenges. Primarily, the fact that the model does not exist in the database makes it necessary to search for a close candidate and to accommodate intra-ℰ variability. Secondly, the heterogeneity in shapes and forms within the database presents some cases that our algorithm cannot handle, typically when two shapes have a ℳ match, the distinction can provide a False Positive. The mining results, while assessing the fit's precision, are illustrated in Figure 17.  [115]; (b) Ball-pivoting approach [116]; (c) Marching-Cubes approach [117].
As for M 3DM , our 3D data mining approach provides interesting results concerning the SIM dataset, but the extension to the real-world case presents many challenges. Primarily, the fact that the model does not exist in the database makes it necessary to search for a close candidate and to accommodate intra-E i variability. Secondly, the heterogeneity in shapes and forms within the database presents some cases that our algorithm cannot handle, typically when two shapes have a M L0 match, the distinction can provide a False Positive. The mining results, while assessing the fit's precision, are illustrated in Figure 17. We notice that using the different LoDs for the models within the shape matching approach makes it possible to extract candidates whose function best fits the indoor scenario. However, the obtained deviations to the S3-DIS point cloud range between 4 and 6 cm, which can limit the scenarios of use. Yet, it is important to note that those numbers are heavily influenced by the very high noise of the S3-DIS dataset, as well as the large occluded areas. Indeed, one advantage of this 3D mining mechanism is that it provides exhaustive representations from existing models, benefiting assetmanagement applications. Finally, the proposed methodology makes it possible to reconstruct a global 3D model ( Figure 1C  We notice that using the different LoDs for the models within the shape matching approach makes it possible to extract candidates whose function best fits the indoor scenario. However, the obtained deviations to the S3-DIS point cloud range between 4 and 6 cm, which can limit the scenarios of use. Yet, it is important to note that those numbers are heavily influenced by the very high noise of the S3-DIS dataset, as well as the large occluded areas. Indeed, one advantage of this 3D mining mechanism is that it provides exhaustive representations from existing models, benefiting asset-management applications. Finally, the proposed methodology makes it possible to reconstruct a global 3D model ( Figure 1C, Section 3.4), as analyzed and illustrated in Figure 18. obtained deviations to the S3-DIS point cloud range between 4 and 6 cm, which can limit the scenarios of use. Yet, it is important to note that those numbers are heavily influenced by the very high noise of the S3-DIS dataset, as well as the large occluded areas. Indeed, one advantage of this 3D mining mechanism is that it provides exhaustive representations from existing models, benefiting assetmanagement applications. Finally, the proposed methodology makes it possible to reconstruct a global 3D model ( Figure 1C, Section 3.4), as analyzed and illustrated in Figure 18.  We notice that RMSE deviations for (M L0 , M L1 ) range from 2 cm to 5 cm, which correlates with the scanning method accuracy. On top, the modelling approach which leverages primitives produces an "as-built" reconstruction and therefore does not model small deviations relative to the global assemblage. If we look closely at the reconstruction of a hybrid (M L1 , M 3DM ) global model, as illustrated in Figure 19, we first notice a very good trade-off between precision reconstruction and size, which is given by its hybrid nature. Moreover, we obtain a coherent watertight CSG assembly usable for simulations, as well as 3D printing. On top, the different relations between components allow a selectivity for this printing task. We notice that RMSE deviations for (ℳ , ℳ ) range from 2 cm to 5 cm, which correlates with the scanning method accuracy. On top, the modelling approach which leverages primitives produces an "as-built" reconstruction and therefore does not model small deviations relative to the global assemblage. If we look closely at the reconstruction of a hybrid (ℳ , ℳ ) global model, as illustrated in Figure 19, we first notice a very good trade-off between precision reconstruction and size, which is given by its hybrid nature. Moreover, we obtain a coherent watertight CSG assembly usable for simulations, as well as 3D printing. On top, the different relations between components allow a selectivity for this printing task.  If we compare this to the existing Poisson's modelling approach (Figure 20), we see that the reconstruction's achieved precisions are often better. Moreover, the size on disk is much larger for the Poisson's reconstruction. An interesting approach would be to combine a triangulation mechanism such as Poisson to account for small deviations which would extend to "as is" scenarios vs. "as-built".  If we compare this to the existing Poisson's modelling approach (Figure 20), we see that the reconstruction's achieved precisions are often better. Moreover, the size on disk is much larger for the Poisson's reconstruction. An interesting approach would be to combine a triangulation mechanism such as Poisson to account for small deviations which would extend to "as is" scenarios vs. "as-built".
If we compare this to the existing Poisson's modelling approach (Figure 20), we see that the reconstruction's achieved precisions are often better. Moreover, the size on disk is much larger for the Poisson's reconstruction. An interesting approach would be to combine a triangulation mechanism such as Poisson to account for small deviations which would extend to "as is" scenarios vs. "as-built". By looking at (b) from Figure 20, we also note the high sensitivity to noise and occlusion in the analyzed dataset. This is particularly striking for the S3-DIS dataset and strengthen the robustness of our approach to these common artifacts (Figure 21). By looking at (b) from Figure 20, we also note the high sensitivity to noise and occlusion in the analyzed dataset. This is particularly striking for the S3-DIS dataset and strengthen the robustness of our approach to these common artifacts ( Figure 21). model (a) and studied by repartition in (c), and the main indicators are presented in (d).
If we compare this to the existing Poisson's modelling approach (Figure 20), we see that the reconstruction's achieved precisions are often better. Moreover, the size on disk is much larger for the Poisson's reconstruction. An interesting approach would be to combine a triangulation mechanism such as Poisson to account for small deviations which would extend to "as is" scenarios vs. "as-built". By looking at (b) from Figure 20, we also note the high sensitivity to noise and occlusion in the analyzed dataset. This is particularly striking for the S3-DIS dataset and strengthen the robustness of our approach to these common artifacts (Figure 21). In the next sub-section, we will investigate the performance and implementation aspects of our approach.

Computation Time
We made a prototype implementation of the algorithms described in this paper in different programming languages. All the developments regarding the ACO were made in Java. The different application layers were built on top of RDF and ARQ API of Jena Apache (Java). Jena is an OWL-centric framework that is particularly well suited for our ontology, more so than OWLAPI, which is RDF-centric. The software Protégé was used as an interface to construct the ACO ontology. The part-segmentation, multi-LoD modelling and database matching were implemented in python using a minimal number of libraries: numpy (for numeric calculations), scikitLearn (for least squares, PCA analysis and signal analysis), matplotlib (for visualization), laspy (for point cloud loading), networkx (for graph and connectivity inference), psycopg2 (for a link to the SPC in-base data, stored in PostgreSQL) and rdfLib (for a connection to RDF triplestore). Visualization and rendering were conducted using Three.js or CCLib. All the experiments were conducted on a computer with an Intel Core i7 at 3.30 GHz and 32 GB of RAM. The exchange of information was made through a language processing module which can link SQL statements to JSON, RDF and OWL data, and be manually extended for natural language processing.
The running times ( Figure 22) for the examples presented in this paper, as well as some additional experimental datasets, range from some seconds for the simpler shapes to several minutes for the more complex shapes. On average, the approach takes 85 s for the SIM dataset, 32 s for the DAT dataset, and 16 s for the S3-DIS dataset. Only one thread was used for the computation. The total time depends essentially on the size of the point cloud, and therefore the voxelization level retained. We note that there are some threshold and parameters that were determined empirically from our observation, and often their definition has an impact on the runtime. Relatively, the ontology information extraction and inference is quick, followed by the calculation and features in the point cloud (for part-segmentation). The voxelization is the part that consumes the most memory, but this can be further optimized by parallelizing its calculation. The structure is already ready for parallel processing. The data mining step can take up to 30 s for looking up 900 models in the off file format and provide the ranking as well as the necessary transformation parameters. Such a search can also be optimized if the models have previously been indexed. The CSG integration is quite fast, and is usually done in under 5 s. The full workflow from SPC data extraction to multi-LoD modelling and shape matching takes around 5 min for a full scene. The IFC file creation is made based on attributes in the JSON file format using the FreeCAD python wrapper.

Limitations
In an attempt to provide a clear list of research directions, we identified ten main points that could be further investigated: 1. In our approach, we consider planar shapes only or manufactured shapes. It would be interesting to extend the method to more complex parametric representations as reviewed in Section 2.1. 2. We consider the initial segmentation perfect. While the proposed algorithms are robust to false positives on planar shapes, handling failure cases that can arise when detecting furniture elements would make it possible to extend the depth of the framework. 3. In our comparison and results analysis, we noticed deviations with elements which present a non-planar morphology. Adding a layer of shape deformation processing to best fit shapes is an opening to provide a compact hybrid model. 4. The ACO was defined using expert knowledge, shape grammars and standards in use in Europe, and thus presents limitations linked to knowledge standardization. Extending the "standards" and features through machine learning could help to better generalize. 5. Our voxel-based clustering approach is dependent on the underlying point data and density, and therefore it can have a high memory footprint, and thus, time execution. We are investigating the parallelization of computation to alleviate the processing and extend it to multi-LoD octree-based analysis. 6. The binning and model fitting steps (Section 3) depend on the initial axis orientation's determination. Extending its sturdiness to highly noisy and non-uniform point sampling would extend the flexibility of the workflow. 7. The considerations in this paper and tests were conducted in indoor built environments only.
Research to extend it to other scenes and outdoor scenarios is compelling. 8. Non-standard shapes are difficult to describe through a knowledge-based approach. This limitation comes from the nature of ontologies to be integrated in standardization and

Limitations
In an attempt to provide a clear list of research directions, we identified ten main points that could be further investigated: 1.
In our approach, we consider planar shapes only or manufactured shapes. It would be interesting to extend the method to more complex parametric representations as reviewed in Section 2.1.

2.
We consider the initial segmentation perfect. While the proposed algorithms are robust to false positives on planar shapes, handling failure cases that can arise when detecting furniture elements would make it possible to extend the depth of the framework. 3.
In our comparison and results analysis, we noticed deviations with elements which present a non-planar morphology. Adding a layer of shape deformation processing to best fit shapes is an opening to provide a compact hybrid model. 4.
The ACO was defined using expert knowledge, shape grammars and standards in use in Europe, and thus presents limitations linked to knowledge standardization. Extending the "standards" and features through machine learning could help to better generalize. 5.
Our voxel-based clustering approach is dependent on the underlying point data and density, and therefore it can have a high memory footprint, and thus, time execution. We are investigating the parallelization of computation to alleviate the processing and extend it to multi-LoD octree-based analysis. 6.
The binning and model fitting steps (Section 3) depend on the initial axis orientation's determination. Extending its sturdiness to highly noisy and non-uniform point sampling would extend the flexibility of the workflow.

7.
The considerations in this paper and tests were conducted in indoor built environments only.
Research to extend it to other scenes and outdoor scenarios is compelling. 8.
Non-standard shapes are difficult to describe through a knowledge-based approach. This limitation comes from the nature of ontologies to be integrated in standardization and interoperability workflows. One solution would be to compute robust features through a learning network on the existing set of 3D shapes. 9.
In our experiments, we mainly considered gravity-based scenes with an initial constraint regarding the object orientation. A global registration method would give additional flexibility about the prerequisites for the input dataset. 10. We used the ACO for guiding the modelling process only. Due to its conception, it could be used as an ontology of classification to classify a point cloud in elements described within the OWL.

Perspectives
Admittedly, the present work merely takes one step forward in solving the general problem of 3D point cloud modelling. It raises several research directions described in Section 4.4, which arise from several identified limitations. It is important to note that our approach is based on a contextual analysis of our environment, looking at how elements interact with each other. As such, extending the methodology needs a generalization effort with regard to knowledge processing. Indeed, as it is based on an ACO knowledge representation of a specific application, the establishment of the ontology as it stands can in turn limit the interoperability with other domains. However, the approach shows how the context and all its implications regarding object relationships can be used for efficiently modelling point clouds. Going into detail, the initial characterization of input shapes needs to be sufficiently meaningful, especially the part-segmentation for AE. Furthermore, stitching parts together as models, especially for man-made shapes, is quite a difficult problem. It often requires the resolution of topological inconsistencies between parts, and the global problem is still an active research area. Our current solution to part assemblage is undeniably simplistic; thus, tackling the general problem presents interesting directions for future research. We are seeing a rapid accumulation of 3D models, yet most of these are not semantically described, and solely represent geometric shapes. We believe that the analogy to a set of shapes as presented in Section 3.4 is a great way to achieve shape retrieval and semantic completion. It can also be used for producing new variations of existing objects, as observed by Xu et al. [96]. As shown in this paper, context-based categorization can be an effective means to this end. Also, the Description Logic's (DL) complexity of the ACO ontology is SHOIQ(D), a naming convention in Description Logic describing the complexity of reasoning in a knowledge base (Each character in the naming convention means that a logic constructor is used). OWL2 and its defined relations are the highest level of definition currently defined by OGC specifications. Therefore, in terms of calculation complexity, the proposed ontology features high-level semantic definition, which necessitates a heavy calculation process. To reduce this complexity, functional (F), inverse (I), reflexive and disjoint (R) relations will be rethought as much as possible in future work. It is worth mentioning that, while we use the KR for guiding the modelling engine in this work, it can also be used as a classification ontology. Pellet [118] or HermiT [119] reasoners are required because of their support of OWL2 and SWRL built-in functions.
Our part-based segmentation mechanism cannot efficiently handle non-standardized conception, which presents problems with regard to precise identification. On top, complex configurations such as folding chairs are currently not processed by our modelling engine. This could be solved by extending our ACO or through 3D database mining (if models exist in database). Our 3D shape matching procedure is also very interesting for two reasons. Firstly, by using topology, feature similarity and contextual information, we can recognize similar shapes within a given space, which provides a new way of modelling incomplete scenes or conducting variability analysis. Secondly, by looking up a 3D database, we can in turn extract the attached semantics to the fitted candidates and enrich the semantics of the 3D models as well as the underlying point cloud. Finally, it can be used as a means not only to reconstruct and model an object as a B-Rep or primitive-based representation, but to create an open link on the database model and its affiliate information. Indeed, this makes it possible to extract the added information (dimensions, price, availability, etc.) that a hosting database stores for asset management. This provides a great opening to interconnected networks of information that transit and avoid unnecessary multi-existence.
The scalability to bigger building complexes was proven using the real-world datasets; however, as indicated, the efficiency could be improved by using a better implementation. We focused on a geometry from terrestrial sensors with varying quality, but we intentionally left out color and texture due to their high variability in representativity. However, it could be useful in future considerations in order to better describe shapes, or as a means to extract better feature discrimination. Finally, in our approach, we tried to keep in mind the final use of the extracted 3D models, similarly to [47]. Whether the goal is the production of indoor CAD models for visualization, more schematic representations that may be suitable for navigation or BIM applications, or simply for scene understanding and object localization, in all these scenarios, the representation of the final objects differs, but the workflow of our modelling engine is particularly well adapted to generating several shape representations coupled with object relationships.
To our eyes, one of the most important perspectives concerns the interoperability of the approach within the SPC Infrastructure, acting as a module. Indeed, both are concerned with domain generalization, and the ability to extend workflows to all possible applications. Shape representation at different granularities is a step toward such a flexible use of semantically rich point cloud data. The 3D representation variability given by our multi-LoD approach provides high flexibility when we look at attaching geometries to a subset of points (specifically class instances). This in turn provides queries and filtering capabilities which offer better insight for a new range of scenarios. It also shows how the SPC Infrastructure can be used to provide deliverables for applications such as BIM modelling, virtual inventories or 3D mapping.

Conclusions
We presented an automatic method for the global 3D reconstruction of indoor models from segmented point cloud data. Our part-to-whole approach extracts multiple 3D shape representations of the underlying point cloud elements composing the scene before aggregating them with semantics. This provides a full workflow from pre-processing to 3D modelling, integrated in a knowledge-based point cloud infrastructure. This makes it possible to leverage domain knowledge through a constructed applicative context ontology for a tailored object characterization at different conceptual considerations. Comprising a 3D modelling step including shape fitting from ModelNet10 for furniture, our approach acts as an expert system which outputs different obj files as well as a semantic tree. The framework contributes an IFC-inspired as-built reconstruction of the global scene usable by reasoners for automatic decision-making.

Supplementary Materials:
The ontology is available online at Available online: http://www.geo.ulg.ac.be/ nyspoux/ACO. Author Contributions: F.P. conceived and designed the experiments, validated the algorithms and documented their formulas, acquired and processed the images and DAT laserscan data, performed various analyses of the data and wrote the paper. G.-A.N. designed the specific ontologies and participated in their integration within the workflows. R.B. participated in ontological reasoning and interpretation of the results. R.N. and all the authors participated in proof-reading and reviewing of the paper.
Funding: This research received no external funding.