BIM RECONSTRUCTION: AUTOMATED PROCEDURAL MODELING FROM POINT CLOUD DATA

: The reconstruction of Building Information Modeling objects for as-built modeling is currently the subject of ongoing research. A popular method is to extract structure information from point cloud data to create a set of parametric objects. This requires the interpretation of the point cloud data which currently is a manual and labor intensive procedure. Automated processes have to cope with excessive occlusions and clutter in the data sets. To create an as-built BIM, it is vital to reconstruct the building’s structure i.e. wall geometry prior to the reconstruction of other objects. In this work, a novel method is presented to automatically reconstruct as-built BIM for generic buildings. We presented an unsupervised method that procedurally models the geometry of the walls based on point cloud data. A bottom-up process is deﬁned where consecutively higher level information is extracted from the point cloud data using pre-trained machine learning models. Prior to the reconstruction, the data is segmented, classiﬁed and clustered to retrieve all the available observations of the walls. The resulting geometry is processed by the reconstruction algorithm. First, the necessary information is extracted from the observations for the creation of parametric solid objects. Subsequently, the ﬁnal walls are created by updating their topology. The method is tested on a variety of scenes and shows promising results to reliably and accurately create as-built models. The accuracy of the generated geometry is similar to the precision of expert modelers. A key advantage is that that the algorithm creates Revit and Rhino native objects which makes the geometry directly applicable to a wide range of applications.


INTRODUCTION
The production of as-built BIM models has become widespread in the AEC industry.These models are vital in project preparations for renovations and are becoming increasingly mandatory in project deliveries (Kavanaugh, 2013).Additionally, it can be used for managing heritage assets and numerous analyses for existing buildings (Volk et al., 2014, Patraucean et al., 2015).In the case of new constructions, the geometry of an as-built model can be obtained from updating an as-design model.More commonly, it is conceived from metric measurements such as point cloud data of the site.Currently, this Scan-to-BIM process is a manual procedure performed by expert modelers that interpret the point cloud and manually design all the relevant objects in the scene.This is a significant time investment and thus the uptake of automating this procedure is enormous.However, automated procedures are halted by the lack of consistent data, the computational effort of the procedures involved and the complexity of built structures.Furthermore, point cloud data acquired by remote sensing techniques are inherently occluded and are littered with clutter.It is within the scope of this research to fully automatically reconstruct BIM wall geometry up to as-built conditions under these realistic conditions.Automated Scan-to-BIM processes can be considered either bottomup or top-down procedures (Hichri et al., 2013).The former considers a range of measurements from the site as input and extracts increasingly higher level information from the observations until the intended geometry can be reliably constructed.This is a general approach which relies on building logic to interpret the data.* Corresponding author It is often used in projects that do not have access to other reliable sources of information such is the case with insufficiently documented buildings and heritage structures.In contrast, the latter relies on this prior information for the point cloud interpretation and reconstructs a well defined number of objects in a selective manner.This is considered a supervised pattern recognition approach which is commonly used in Scan-vs-BIM (Bosché et al., 2013, Bosché et al., 2014).In this research, we propose a bottom-up method since the majority of built structures do not have reliable plan information (Gimenez et al., 2015).Furthermore, we solely rely on the point cloud and building logic for the point cloud interpretation since the incorporation of e.g.sensor information would make the procedure sensor-dependent.
The emphasis of this work is on the reconstruction of wall geometry as it forms the basis of other objects in the Building Information Model.Also, their observed geometry has a quite distinct signature which can be reliably detected by heuristics and machine learning techniques.The presented process consists of a series of consecutive procedures including segmentation, classification, clustering and finally the reconstruction of the objects.This research solely discuses the final step as the first three steps are performed in prior work (Bassier et al., 2018, Bassier andVergauwen, 2019b).The procedure is specifically designed to deal with the significant amount of clutter in the scene and to reason about the occlusions in the input point cloud.The goal is to compute a set of abstract but accurate LOD200 (BIMForum, 2016) walls based on clustered wall segments.Also, our approach creates both Revit and Rhino native geometry which ensures data compatibility with a wide range of industry applications.ground and related work is presented in Section 2. In Section 3. the methodology is presented.The test design and experimental results are proposed in Section 4. Finally, the conclusions are presented in Section 5.

BACKGROUND & RELATED WORK
As stated above, bottom-up processes gradually extract higher level information from the point cloud prior to the reconstruction (Nguyen and Le, 2013).Typically, the data is not processed in its entirety but subsampled for efficiency (Tang et al., 2010).In 2D methods, the point cloud is often reduced to a set of raster images consisting of a slice of the data or other information (Landrieu et al., 2017, Anagnostopoulos et al., 2016).In 3D methods, the point cloud is typically subsampled and restructured as a voxel octree which allows efficient neighborhood searches (Vo et al., 2015) (Fig. 1left).Next, the data is interpreted and assigned to one of several predefined classes such as walls, ceilings and floors that form the building's main structure.Single point classification does have applications (Qi et al., 2016) but typically the data is oversegmented into geometric primitives such as planes or cylinders to increase the distinctiveness of the observations.In our research, we segment the data according to planar primitives due to the structural components of a building generally being planar.
From each segment, local and contextual information is extracted and processed by reasoning frameworks to assign the appropriate label (Garstka and Peters, 2016, Weinmann et al., 2017, Dittrich et al., 2017).Both heuristics and machine learning techniques are considered, both of which show promising results due to the distinct signature of archytypical building classes (Bassier et al., 2016, Wolf et al., 2015, Xiong et al., 2013, Nikoohemat et al., 2017).Once the class of the segments is established, the data is grouped into all the relevant observations of individual objects.
In previous work, we employ a pretrained Conditional Random Field to associatively group planar wall segments into wall clusters (Fig. 1mid).These groups of observations are the input of the presented reconstruction algorithm that extracts the relevant wall parameters and subsequently the topology analysis.
Wall reconstruction algorithms vary depending on the wall geometry that is reconstructed.Most approaches consider wall reconstruction within the scope of surface based applications such as in navigation, robotics, and so on (Díaz-Vilariño et al., 2015).The emphasis of this research is on the reconstruction of Building Information Modeling geometry which is most commonly based on solid parametric entities that can be extended with non-metric information for a variety of applications (Volk et al., 2014).This requires a fundamentally different approach since we do not reconstruct the partially observed surfaces of the walls but rather use the observations to extract the parametric information required to create a solid wall object.In this research we create LOD200 walls, which have an abstract physical appearance and require a base constraint, a height or a top constraint, a walltype and a path which serves as a centreline or a centreplane.Closely aligned with our work is the method of Macher et al. (Macher et al., 2017).They have similar outputs as our method but first create .objfiles within Matlab which they manually transfer to .ifcfiles using the FreeCAD Open Source software.In our work, we use the Rhinocommon API for the information extraction and use Rhino.Inside (Robert McNeel & Associates, 2019) and Revit API to fully automatically create BIM geometry directly within Revit.This allows for a wide range of outputs without the sometimes erroneous conversion through .ifcformats and exploits the capabilities of both API's.Thomson et al. (Thomson and Boehm, 2015) The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XLII-2/W17, 2019 6th International Workshop LowCost 3D -Sensors, Algorithms, Applications, 2-3 December 2019, Strasbourg, France also create BIM geometry.They propose a two-step approach where they first create partial wall geometry of each segment or paired segment.In the second step, they merge coplanar partial walls and heuristically filter outliers.In our method, the clustering of wall segments is a separate step prior to the reconstruction.This allows for a more balanced parameter extraction since all the observations are already available per wall.
The reconstruction of the topology between walls has also been researched.For instance, Budroni et al. (Budroni and Böhm, 2010) and Previtali et al. (Previtali et al., 2014) (Turner and Zakhor, 2014).They determine individual room labels by performing a min-cut on a 2D graph of the Delaunay mesh of the floor plan.They are one of the few researchers that perform a multi-storey reconstruction which also is the goal of this research.However, their emphasis is on room boundaries while this research focuses on accurate wall reconstruction.In this research, the wall intersections are computed using the semi-automated tools within Revit.This is quite efficient and often the connections between objects are project or application dependent.

METHODOLOGY
In this paper, a wall reconstruction algorithm is proposed that creates BIM geometry directly within Revit.The procedure takes as input a set of clustered labeled wall observations and outputs generic LOD200 Basic walls (BIMForum, 2016) which are compatible with the IFCWallStandardcase class (BuildingSMART International Ltd, 2013).Two steps are defined in the process.First, parametric information is extracted from the clustered labeled segments to assign the appropriate walltype and constraints.
Next, the best fit centreline is computed and the partial geometry is created.The method creates Revit native geometry through the Rhino.Inside Plug-in and combines the Revit and Rhinocommon API.This allows for a flexible method that can serve a wide range of applications and also gives access to multiple file formats.The consecutive steps are discussed in detail in the following paragraphs.

Data preprocessing
Prior to the reconstruction, the data is segmented, classified and clustered.First, the unstructured point cloud is represented as a voxel octree after which planar patches are extracted from the data as presented in our previous research (Bassier et al., 2017).
Next, the planar patches are subjected to a reasoning framework that computes class labels for each patch.A pre-trained Random Forests model is used for the classification (Bassier et al., 2018).The result is a set of labeled segments that replaces the point cloud representation of the building.These are then clustered into groups that represent the individual walls.A Conditional Random Field exploiting local and contextual information is employed to compute the most likely assignment of the wall segments (Bassier and Vergauwen, 2019c).The result is a set of clustered wall mesh segments that represent all the available observations of each wall.This is a highly reliable and accurate representation of the observed structure but it is heavily occluded and can only serve as a static model.

Level Creation
At the start of a Revit project, several levels are defined.These are horizontal planes that serve as a reference for the different 2D plans, views and objects.For instance, wall objects are typically placed in relation to the nearby levels, even if their geometry does not extend to this level.Most commonly, each storey of a building has its own level along with a top level for the roof and levels for the foundations and the ground level.However, the number The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XLII-2/W17, 2019 6th International Workshop LowCost 3D -Sensors, Algorithms, Applications, 2-3 December 2019, Strasbourg, France of levels is case-specific and can vary based on the type of project and building.For instance, a building with intermediate storeys can be designed with additional levels or the objects are modeled with a height offset depending on the application.In this research, we generate the levels semi-automatically.Given the classified floor mesh segments, the user can select any number of meshes and the levels are automatically created in the Revit environment through the Rhino.Inside API.The height for these levels are taken equal to the height of the centroid of the selected mesh component.

Walltype
The estimation of the walltype is performed using the Rhinocommon API as it has numerous functions for meshes.The goal of this step is to compute the most accurate LOD200 representation with respect to the observations.Therefore, the parameter extraction is weighted based on the surface area of the individual segments to ensure the best fit positioning of each partial wall.
Height Revit walls can either have a specific height or be placed with respect to the nearby levels.In this research we prefer the latter since the walls are then created dynamically and will move with the levels if the user adjusts them.The top and base constraint are selected based on the absolute vertical distance of the highest mesh point and the project levels (Eq.1).
base constraintw = l ∈ L, for which min|lz − wz,min| where l ∈ L are the levels defined in the project, lz the height of a level, w ∈ W the walls in the project that each contain a set of segments {s1, s2, . . ., si} and wz,min and wz,max are respectively the lowest and highest Z-coordinate of the wall cluster.The base and top constraint do not have to be consecutive levels.
Width The width of an abstract LOD200 wall is defined as the uniform orthogonal distance between the two wall faces.In order to reduce the reconstruction error, the euclidean distance between the final wall faces and the observed mesh segments should be minimized.However, BIM models shouldn't unnecessarily be flooded with numerous walltypes.Also, the noise introduced by the sensors, registration and subsequent processing should be taken into consideration.We therefore propose a semi-automated wall width approach.First, the actual wall width is computed given the observations.In parallel, the user can create several walltypes within the Revit project according to their needs.Using the Rhinocommon API, the computed width is compared with the user defined width of each walltype and the best fit walltype is applied.This also allows the use of the Scan-to-BIM method to extend existing models.To compute the highest accurate distance from the observations, the computations are performed in 3D.This avoids any abstractions made in 2D methods and takes into account non-parallel wall segments, skewed walls and other shortcomings.The segments in both wall faces are sampled with a fixed number of points equal to their surface area.For every point on a segment, the dot product of that segment's normal and the vector of this point and its closest point on a nearby wall face, is computed.As this set is not normally distributed, we compute the mode of the set.As this is unusable for continuous distributions, we discretize the data by assigning frequency values to intervals of equal distance (Eq.2).

− →
where ∀p ∈ s are the sampled points on each segment s ∈ w, − −−− → ns i (pi) the normal of mesh segment si at the location of p.By sampling the surfaces with respect to their surface area, the actual width dw is more accurate since the method favors large wall surfaces which have a significant impact on the reconstruction accuracy.The walltype is then decided by the minimal difference between the Revit walltype width dr and dw (Eq.3).

Wall centre surface
Revit Basic Walls can be either slanted or vertical structures.The vertical variant is created from a polyline in a horizontal plane.It is the most commonly used geometry in as-built models despite its inherent abstraction.The alternative is a slanted basic wall which is placed based on a complex surface which in Revit is referred to as the wall face.The polyline and the wall face are of course linked since the polyline is the projection of the wall face in the case of a vertical wall.In this research, we consider this face or polyline to be the centre of the wall and will be referred to the centre surface and the centreline to avoid confusion with the wall faces on either side of the wall.Also, the emphasis is on the creation of vertical walls since slanted walls are typically unwieldy for the majority of applications.The centreline is constructed as follows.First, a set of 2D points is created based on the sampled points P of the mesh segments, their normals and dw computed in the previous paragraph (Eq.4).
The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XLII-2/W17, 2019 6th International Workshop LowCost 3D -Sensors, Algorithms, Applications, 2-3 December 2019, Strasbourg, France after which ∀c ∈ C are fed to a least squares and conditional RANSAC fitting algorithm that establishes the centreline.Three types of centrelines are identified: straight lines, arcs and polylines.For each of the cases, RANSAC computes k number of fits where the number of selected points N is condition per type based on the dimensions of w in X and Y. ω is ratio of inliers and is considered fairly high since C is sampled solely based on wall observations (Eq.6). The In the case of walls that are only observed from one side, we compute the wall face instead of the centreline.Similar to the two-faced walls, we compute the tracé based on sampled points C but generate them with the normal pointing away from the nearest floor.A default thickness of 100mm is given to these walls.
To increase the efficiency, not every model is tested to compute the best fit model.Based on the expected inliers, the first function to meet the inlier threshold is kept.If the maximum number of control points is met first, the model with the highest score is kept.
Once all the relevant parameters have been extracted, the geometry of the partial walls is created.Using the Rhino.insideAPI, a Revit Basic wall entity is created for every w, with the appropriate walltype, base and top constraint and centreline.

Wall topology
In order to create a logic building model, the topology of the partial walls should be adjusted.As Revit native basic walls are created, the semi-automated toolkit of the Revit API can be used for this operation.Using the intuitive trim, extend and join functions, a user can efficiently finalize the model while performing a quality control.In future work, we will integrate an automated topology creation method but currently this method is preferred since wall connections can be established in several ways and are often project and modeler specific.

EXPERIMENTS
The proposed algorithm is successfully implemented in Revit using Matlab and the Rhinocommon and Revit API. Figure 5 shows The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XLII-2/W17, 2019 6th International Workshop LowCost 3D -Sensors, Algorithms, Applications, 2-3 December 2019, Strasbourg, France an example of the interface between both software and the components linking to the Matlab functions.Both the level creation, walltype identification and centreline estimation were all performed fully automatically.To test the algorithm's performance, the centreline computation is tested on 3 distinct wall cases i.e. a straight wall, a curved wall and a wall with a discontinue wall axis.Each case is simulated with a number of mesh observations which is the output from our previous work (Bassier and Vergauwen, 2019a).The observed segments represent realistic conditions with non-parallel meshes, occlusions, non-vertical segments, nonuniform thickness and clutter.Overall, the segments are littered with frequently occurring shortcomings given a mostly successful clustering of the wall segments.For the sake of the experiment, the scale of the walls was increased to augment the visibility and the magnitude of the errors.The automatically reconstructed geometry is compared to manually designed walls.The same walltype was used and the sampled points P on the observed mesh segments is used as a reference.
The results of the comparison are shown in Table 1.The manual geometry was established with an accuracy of respectively 0.13m, 0.19m and 0.12m for the line, arc and polyline.The automated procedure achieved a similar accuracy (0.12m, 0.11m and 0.18m).Moreover, the type of model selected by the automated procedure closely aligns with the actual shape of the wall.
As discussed in the methodology, the first model to meet the inlier threshold is kept.Table 1 shows clear spikes in inliers when the appropriate model is fit and thus this is considered a reliable indicator.Default values are provided for the fully automated procedure but users can influence the expected inliers, distance threshold and the number of control points.Overall, the method shows promising results for the reconstruction of wall geometry even in complex environments.

CONCLUSION
This paper presents an unsupervised method to reconstruct wall geometry from unstructured point clouds of buildings.The method takes as input clustered wall segments originating from previous works and outputs Native Revit and Rhino LOD200 BIM objects.Given sampled point on the observed segments, the method computes the best fit centreline that serves as the basis for the reconstructed entities.Additionally, each wall is associated with the appropriate Revit walltype in order to create consistent wall geometry.The result is a set of partial walls that closely align with the observed faces of the wall.Once the partial geometry is established, the wall topology can be semi-automatically adjusted in the Revit software to create a truthful as-built BIM.
The experiments indicate that the used method is a promising reconstruction framework.The achieved accuracy and model selection rival that of manual modeling by experts for a variety of scenes.The procedure is robust to noise and clutter and deals with frequently occurring problems such as non-parallel walls.
In future work, the wall topology will also be automated to even further reduce the user effort to create as-built BIM geometry.

Figure 1 :
Figure 1: Overview of the intermediate results of the presented Scan-to-BIM procedure: unstructured point cloud (left), extracted classified clustered planar wall segments (mid) and the reconstructed LOD200 walls (right).
For instance, Xiong et al. (Xiong et al., 2013) and Adan et al. (Adan and Huber, 2011) reconstruct planar wall boundaries and openings based on machine learning.Michailidis et al.(Michailidis and Pajarola, 2016) reconstruct severely occluded wall surfaces using a Bayesian graph-cut optimization on a cell complex decomposition.Even Neural Networks are employed to compute a realistic representation of wall surfaces(Barazzetti, 2018).In this light, it can also be considered as a room reconstruction paradigm.Oesau et al. (Oesau et al., 2014) consider the creation of watertight rooms as a 2D graph-cut optimization problem.Ochmann et al.(Ochmann et al., 2016) andMura et al. (Mura et al., 2016, Mura et al., 2014) both focus on finding the optimal room layout.Ochmann et al. do fit wall objects on the rooms edges but do this for the purpose of room separation.

Figure 2 :
Figure 2: Overview implementation of the reconstruction algorithm.(1) the parameter extraction is performed in Rhino and Grasshopper with developed components based on the Rhinocommon API and (2) the partial wall geometry and final wall geometry are constructed directly inside Revit through the Rhino.Inside and Revit API.

Figure 3 :
Figure 3: Width computation given s ∈ w (grey), with the sampled points ∀p ∈ s (green), the normals −−−→ ns i (p) per p (green arrows) and the vectors − → psj connecting p to the nearest point on sj (green lines).

Figure 5 :
Figure 5: Overview of the three wall cases.The interface of Revit and Rhino showcase the observed and reconstructed wall geometry which are linked through the Rhino.Inside Plug-in.
received funding from the European Research Council (ERC) under the European Union's Horizon 2020 research and innovation programme (grant agreement 779962), the FWO research foundation (under FWO PhD SB fellowship 1S87120N) and the Geomatics research group of the Department of Civil Engineering, TC Construction at the KU Leuven in Belgium.
The remainder of this work is structured as follows.The back-The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XLII-2/W17, 2019 6th International Workshop LowCost 3D -Sensors, Algorithms, Applications, 2-3 December 2019, Strasbourg, France