**6.3 Guiding 3D processing algorithms**

Actually, the created knowledge base aims to satisfy two basic purposes, which are, guiding the processing algorithm sequence creation based on the target object characteristics, and facilitate the semantic annotation of the different detected objects inside the target scene. Let's remember that one of the main ideas behind our suggestions is to direct, adapt and select the most suitable algorithms based on the object's characteristics. In fact, one algorithm could not detect and recognize different existent objects in the 3D point clouds, since they are distinguished by different shapes, size and capture condition. The role of knowledge is to provide not only the object's characteristics (shape, size, color...) but also

From Unstructured 3D Point Clouds to Structured Knowledge - A Semantics Approach 239

the annotation process, equation 5. Equation 6 demonstrates how semantic information about existing objects is used conjunctly with topological relationships in order to define the

DC: Mast � ��: ���������: ���������� � � ���������{> 6}

DC: Mast (? vert1) VerticalBB (? Vert2) hasDistanceFrom

The created WiDOP prototype takes in consideration the adjustment of the old methods and, in the meantime, profit from the advantages of the emerging cutting-edge technology. From the principal point of view, the developed system still retains the storing mechanism within the existent 3D processing algorithms; in addition, suggest a new field of detection and annotation, where we are getting a real-time support from the created knowledge. Add to that, we suggest a collaborative Java Platform based on semantic web technology (OWL, RDF, and SWRL) and knowledge engineering in order to handle the information provided

The process enriches and populates the ontology with new individuals and relationships between them. In addition, the created WiDOP platform offers the opportunity to materialize the annotation process by the generation and the visualization based on a VRML structure, (W3C, 1995) alimented from the knowledge base. It ensures an interactive visualization of the resulted annotation elements beginning from the initial state, to a set of intermediate states coming finally to an ending state, Fig 17 where the set of rules are totally executed. The resulting ontology contains enough knowledge to feed a GIS system, and to generate IFC file (Vanland, et al., 2008) for CAD software. The created system is composed

Generation of a set of geometries from a point could file based on the target object

Computation of business rules with geometry, semantic and topological constrains in

Generation of a VRML model related to the scene within the detected and annotated

As a first impression, the system responds to the target requirement since it would take a point cloud of a facility as input and produce a fully annotated as-built model of the facility

For the demonstration of the created system, a scanned point cloud section related to Deutsch Bahn scene in the city of *Nürnberg* was extracted. While the last one measure 87 kms, we have just taken a small scene of 500m. It contains a variety of the target objects. The

� ����������������� ��: ����� {> 50} (5)

(? vert1, ? vert2, 50) → DC: Mast(? vert2) (6)

class of another object.

**7. WiDOP prototype** 

of three main parts.

elements.

as output.

characteristics.

**7.1 System evaluation** 

from the knowledge base and the 3D packages results.

order to annotate the different detected geometries.

object's status (visibility, correlation) to algorithmic part, in order to adjust its parameters to adapt with a current situation. Based on these observations, we issue a link from algorithms to objects based on the similar characteristics as Fig.13 shows.

Fig. 13. Algorithms selection based on object's characteristics.

In fact, knowledge controls one or more algorithms for detecting an object. To do, a match between the object's characteristics and characteristics that a certain algorithm can be used for is achieved. For example, object O has characteristics: C1, C2, C3; and algorithm Ai can detect characteristic C1, C3, C4, while the algorithm Aj can detect characteristic C2, C5. Then, the decision algorithm will select Ai and Aj since these algorithms have the capability to detect the characteristics of an object O. The set of characteristics are determined by the object's properties such as geometrical features and appearance. Once done, selected algorithms will be executed and target characteristics will be detected. Let's recall that the whole process takes as input, the 3D point clouds scenes, and an ontology structure presenting a knowledge base to manipulate objects, geometries, topologies and relations (Object and data property) and produces as an output, an annotated scene within the same ontology structure. As intermediate steps, the different geometries within a specific 3D point cloud scene are detected and stored in the ontology structure. Once knowledge about geometries and the topologies are experienced, SWRL rules aim at qualifying and annotating the different detected geometries. The following equation 3 illustrates the DL definition of a Mast element while the simple example, equation 4, shows how a SWRL rule can specify the class of a VerticalBoundingBox, which is of type Mast regarding its altitude. The altitude is highly relevant only for this element.

$$\text{DC.Mast} \sqsubseteq \text{Geom.VerticalBBT} \\ \exists \text{ hasheight.} \{\succ 6\} \tag{3}$$

3DProcessingSWRL: VerticalElementDetection(? Vert, ? dir) altitude (? x, ? alt)

$$\text{\textquotedblleft swrlb:} \text{moreThan (?} \text{ alt}, \text{6) \quad \rightarrow \text{ DC:} \text{ Most (?} \text{ Vert}) \tag{4}$$

In other cases, geometric knowledge is not sufficient for the previous process. In such scenario, the topological relationships between detected geometries are helpful to manage the annotation process, equation 5. Equation 6 demonstrates how semantic information about existing objects is used conjunctly with topological relationships in order to define the class of another object.

> DC: Mast � ��: ���������: ���������� � � ���������{> 6} � ����������������� ��: ����� {> 50} (5) DC: Mast (? vert1) VerticalBB (? Vert2) hasDistanceFrom (? vert1, ? vert2, 50) → DC: Mast(? vert2) (6)
