1. Introduction
The development of information technologies brings significant progress in the digitization of the building industry. It enables semi-automation (often full automation) of the processes throughout the building’s lifecycle, from the design through facility management, often also till demolition. The biggest contribution in this field in recent years has been Building Information Modeling (BIM). A BIM process uses a continuously updated model of the building [
1]. BIM and its use with a suitable Common Data Environment (C.D.E.) enables an easier and more effective way to access up-to-date information, leading to investment reductions [
2,
3,
4,
5,
6,
7]. Well-coordinated information models may increase the overall quality of the constructed building. A BIM model is a virtual model that is object-oriented and is defined as a combination of graphic and non-graphic data. The graphic data, in most cases in the form of a 3D model, allow the definition of location and dimensions of elements, visual orientation, and defines the relationship between the elements in the model. The information and parameters of the elements and documentation relating to the building design create the non-graphic data of the model. Increased attention, focused on the creation of models and process management, is devoted to BIM worldwide [
8,
9,
10,
11,
12].
The use of BIM itself does not guarantee that the building will be constructed with high quality and in accordance with the design, even though it significantly increases the possibilities of effective management and is therefore a prerequisite for high-quality realization. In construction management processes, directly on the construction site, timely and accurate information about the changes in the project and the deviations between the as-planned and as-built structures are often needed. The measurement and verification of as-built geometry using traditional methods without any automation are very costly and time-consuming. Therefore, increased attention is paid to developing approaches for automated verification of building structures [
13,
14,
15,
16]. For this purpose, detailed spatial data representing the geometry of the executed structure and the graphic data from a BIM model can be used. In recent years, the requirement for effective spatial data acquisition in the building industry has been fulfilled by techniques of terrestrial laser scanning and close-range photogrammetry. Due to affordability and the effort of manufacturers to raise the level of automation, both techniques are available in the surveying and civil engineering community [
17,
18,
19,
20,
21]. In addition, there are a large number of different variations of measuring systems available. Depending on their location, terrestrial or airborne (aerial) systems can be distinguished. A terrestrial measurement is performed when the instrument is placed close to the Earth’s surface on a tripod or a moving vehicle (so-called mobile mapping system) or is handheld. On the other hand, if it is placed on an airplane, helicopter, or Remotely Piloted Aircraft System (RPAS) it is an airborne system [
22]. The scan ratio of the state-of-the-art terrestrial laser scanners (TLS) is up to 2 million points per second, while the accuracy of the collected three-dimensional coordinates of points on the surface of the scanned object is several millimeters. It enables contactless measurement of very detailed data that defines the geometry of the scanned surface with high efficiency.
The process of converting a point cloud into a BIM model is the so-called scan-to-BIM [
16,
23]. It involves three basic steps. The first is the collection of data in the field. The second is creating the BIM model derived from the point cloud. The final step is the use of the created model. The main advantages of the process are the significant reduction of personal errors (mistakes when choosing characteristic points for the traditional as-built measurement) and the large amount of data collected in a shorter time compared to traditional surveying. An analogy to scan-to-BIM is the integration of the BIM and point clouds for construction quality check, the so-called scan-vs-BIM [
24].
The pipeline of the scan-vs-BIM process can be divided into certain steps. The first is the scanning of the verified structure. Point cloud adjustment is the second step, which includes point cloud registration and data filtering. The registration is necessary to get the point cloud and the BIM model into a common coordinate system to be able to compare the two data sets. It can be performed by direct georeferencing, target-based registration (artificial targets must be measured), feature-based registration (by comparison of the parameters of modelled geometric features), and surface-based registration (using overlapping areas) [
25]. For the transformation of TLS data into BIM, the first three can be considered. In addition, automated registration methods were proposed, e.g., [
26]. Data filtering, often completely missing from scan-vs-BIM approaches, means the removal of errors and unnecessary data, removal of points unnecessary for processing (people, traffic, dust, rain, and all points that do not lie directly on the surface of the measured object). The third step of the scan-vs-BIM process is the estimation of deviations (distances) between the as-planned model and the point cloud, which can be performed in various ways. The first approach is manual modelling of the chosen part of the measured object from the point cloud, analyzing the results against the BIM model and comparing them. Huimin et al. in [
15] proposed an approach to quality control using 3D laser scanning and BIM for a modular construction project. They scanned removable floodwall segments, modelled the anchor plates’ positions, and compared their distance with the dimensions extracted from the BIM model. A construction control using TLS is described in [
27]. The threaded rods of balcony anchors of a 34-floor building were modelled by regression cylinders. The deviations between the as-built and the as-planned models were consequently calculated. The most frequently used way of deviation determination is the calculation of minimum distances between the point cloud and the closest surface in the BIM model. Instead of minimum distance, the deviations can also be calculated in a user-defined direction, e.g., coordinate axis or building axis. A point-to-point comparison and deviation calculation were used in [
28]. From the original BIM model, a mesh and consequently a point cloud, representing the as-planned model, were generated. The as-built point cloud collected by TLS was downsampled to get two clouds with the same density. The distances between the closest points of the two data sets were calculated, and the parts with high deviations were highlighted to identify structures where further investigation is needed. A point-to-plane distance estimation is used in [
14]. From the as-planned model, faces (planar elements) are extracted. According to the described approach, each wall consists of six faces and each face is represented by two triangles that form a mesh. The distances of the points (of a downsampled as-built point cloud) are calculated along the normal vectors of the triangles. Bosché et al. in [
24] proposed an approach for verifying cylindrical MEP components. They align TLS scans with the BIM model and then calculate the as-planned point cloud from the model. The next step is the extraction of as-built and as-planned circular cross-sections from point clouds using the Hough transform. Matching the cross sections and analyzing the deviations is the final step. The division of the point cloud into subsets belonging to given structural elements (segmented from the close surrounding of the element) and the comparison of the resulting subsets with the corresponding surface from the BIM model is used in some approaches. Visualization of the results is the final step in the scan-vs-BIM process. Estimated deviations are expressed by contour lines or by deviation maps (color maps) in the vast majority of cases. The clarity of the results can be increased by suitably chosen parameters of the color maps. In general, color maps can be categorized as signed or unsigned. If a color map is signed, the positive and negative values of deviations are expressed equivalently, e.g., from green to red for positive values and from green to blue for negative values. On the other hand, for some applications, when only the amplitude of the deviations matters, the deviations could be expressed by absolute values and then can be visualized by unsigned color maps. Additionally, for advanced processing and an improved understanding of the deviation patterns, a histogram can be created to find the magnitude of the deviations [
29,
30,
31].
The existing approaches determine the difference between the as-planned model (BIM model) and the as-built point cloud without detailed point cloud segmentation or filtering. The consequence is that the subset of a point cloud related to a given structural element often contains objects that are not parts of the surface of the inspected element (e.g., sockets, objects hanging on the wall, skirting board, etc.). The filtration (erasing) of the points not lying directly on the scanned surface is important when inspection of the relative geometry (geometric parameters) is performed (e.g., the flatness of a wall, regularity, or roundness of a cylindrical column). Therefore, existing approaches only verify the existence of a structural element or verify the deviation from the BIM model. They are not dealing with the mentioned relative as-built geometry.
As a contribution, the paper proposes a new approach to verifying the position of the parts of the rough structure of a building (walls, rectangular or cylindrical columns, including structural openings). The approach also enables verification of flatness, regularity, or roundness of the chosen structural elements. To suppress the dependency on native file formats, the as-planned geometry is extracted from the IFC (Industry Foundation Classes) exchange file format. The as-built structural geometry is modelled from TLS data. For this, effective filtration and segmentation methods are proposed based on modified RANSAC (Random Sample Consensus) and Hough transform. The deviations from the design and the relative geometry of the elements are visualized using signed deviation maps. The workflow is described in the
Section 2 (Materials and Methods). The demonstration of the feasibility of the proposed approach is involved in the
Section 3 (Results). The discussion and conclusions are added consequently.
2. Materials and Methods
The inspection of the quality of construction works and verification of the as-built geometry of structural elements is an integral part of the construction processes. BIM is widely used in the design and planning stage of the project but less for construction control directly on the construction site. Therefore, the inspection procedures used so far are mostly based on the measurement of subjectively chosen characteristic points. Additionally, the measurement of only a small number of points does not give a complex picture of the verified structure. The position and orientation of the elements are often determined by geodetic measurements and compared with the design. For example, the measured points for a wall can be situated 100 mm from both the horizontal and vertical edges of the wall (
Figure 1) [
32]. The bottom points (above the floor) are compared with the position of the wall in the floor plan, while the top points (below the ceiling) are compared with the planned position of the wall in the adjoining above-ground floor.
The verticality of the structural elements is determined as the deviation of the characteristic points located above each other from the vertical line. In most cases, the measurements of flatness of a wall, regularity, or roundness of a cylindric column are measured manually. For example, the flatness of a surface is determined by its deviation from a straight edge using a measuring wedge (the deviations of the differences between the edge and the inspected surface express the flatness). The verified parts are chosen randomly; therefore, some irregularities may not be detected at all. In the following sections, we describe a new approach to enable the verification of columns, walls, and structural openings using the integration of point clouds and BIM models.
The graphic data of the BIM model contains information about the building elements’ geometry, location, and orientation. To ensure interoperability and independence on specific software, the data have to be shared in an exchange file format. The most widely used are CIS/2, city GML, BACnet, and IFC. IFC (Industry Foundation Classes), as a neutral exchange format for BIM models with an open specification, was created and is continuously developed by the non-profit international organization buildingSMART (formerly the International Alliance for Interoperability). In the vast majority of cases, it is a STEP Physical File (can be read as ASCII text) defined by the standard ISO 16739-1:2018 Industry Foundation Classes (IFC) for data sharing in the construction and facility management Classes (IFC) for data sharing in the construction and facility management industries—Part 1: Data schema.
The approach presented in this paper uses the comparison of the as-planned geometry extracted from the IFC file with the as-build geometry expressed by TLS data. The proposed workflow can be divided into six main stages shown in
Figure 2.
The first stage is data acquisition resulting in a point cloud, which documents the measured structural elements. If possible, the measurement must ensure the cover of the entire inspected surface by the data. The positions of the instrument from which the scanning is performed must be adapted to this requirement. In some cases, the point cloud can be acquired by photogrammetry, especially by RPAS photogrammetry in the case of outdoor elements, e.g., facades. The second stage is the as-planned geometry extraction from the IFC file. In this stage, location, orientation, coordinates of corners and heights of walls, rectangular columns, and structural openings are extracted from the ASCII text file. For cylindrical columns, the radius is extracted in addition. Consequently, the point cloud is aligned with the BIM model using target-based registration in the third stage. For this purpose, clearly definable characteristic points should be used as identical reference points, which are in most cases wall corners. Another option is the use of artificial targets (e.g., B&W targets), but it requires the determination of their coordinates in the coordinate system of the BIM model by additional measurements. The recommended maximum value of the registration error is 15 mm. It is necessary to note that the registration error (alignment of the point cloud with the BIM model) does not affect the quality of relative geometry inspection. In the fourth stage, the parameters of the planes, representing the surfaces of rectangular objects, are estimated from the coordinates of the corner points, as well as the parameters of the cylindrical elements are calculated from the data extracted from IFC. Seed points are calculated based on the center points of the inspected surfaces. In this way, the point cloud segmentation procedure is made more efficient. The results of the segmentation procedure are subsets of points representing the inspected surface without any other object on them (e.g., sockets, furniture, skirting board, etc., are deleted). From the segmented subsets, the parameters of the regression models are estimated (reg. planes, reg. cylinders). A regression model is a best-fit model of the selected structural element. It represents the mathematical estimation of the model’s parameters. For example, orthogonal regression minimizes the perpendicular distances from the points of the point cloud to the fitted model. This step of the fourth stage is important for the relative geometry (flatness, roundness, etc.) inspection. In the fifth stage of the workflow, the segmented subsets of the point cloud are compared with the corresponding as-built regression models and with the as-planned model to quantify the differences. In the last stage, deviation maps, expressing the differences between the as-planned model and the point cloud, and the as-built regression model and the point cloud (representing the relative geometry quality), are created in the form of signed color maps.
2.1. As-Planned Geometry Extraction from IFC
As shown in the flowchart in
Figure 2, the as-planned geometry is extracted from the IFC exchange file. The advantage of the use of IFC is that it is an open format, which is, in most cases, formatted as STEP Physical Format in practice. The fact that it has an ASCII structure simplifies the information extraction because no advanced conversion of the data is needed; therefore, it can be easily read. The current official version of IFC is 4.0.2.1 (IFC4 ADD2 TC1).
A wall structure is defined by the
IfcWall or
IfcWallStandardCase entities. The information needed for the geometry extraction is the coordinates of the origin (reference point) and orientation of the axes of a local coordinate system for the given wall within the World Coordinate System (WCS), the coordinates of the corners (2D polygon), and the wall height. The position of the origin of the local coordinate system is defined by
IfcLocalPlacement by the attributes
RelativePlacement and
PlacementRelTo. The last one defines the placement of an object relative to another object. If it is not used, then the position of the wall is defined in WCS [
33]. The origin of the local coordinate system for the wall is defined in
IfcAxis2Placement3D (reached through
IfcLocalPlacement) by
IfcCartesianPoint. The directions of the X and Z axes are defined by
IfcDirection, while the Y axis completes a right-handed Cartesian system. The next step is the identification of information about the shape of the wall defined by
IfcProductDefinitionShape. E.g., in the case of a swept solid, the corners of a 2D polygon defining the shape of the wall are defined by
IfcArbitraryClosedProfileDef. The entity can be reached sequentially from
IfcProductDefinitionShape,
IfcShapeRepresentation, and finally,
IfcExtrudedAreaSolid. The direction in which the body is swept and the distance of sweeping (wall height) is defined also by
IfcExtrudedAreaSolid. From the data extracted from the IFC file, the coordinates of the eight corners of a wall are calculated. To verify the geometry of the wall, the mathematical definition of the wall must be determined from these coordinates. Therefore, the parameters of the general equation of individual planes (surfaces of the wall) are estimated. These include the components of the normal vectors, representing the orientation of the surfaces. Consequently, the centers of gravity of the planes are calculated as an average of their four corners. The center of gravity is used to select a seed point from seed point candidates in the as-built point cloud segmentation process (described in the
Point cloud segmentation and as-built model creation Section 2.2).
The columns are defined by the entity IfcColumn. The position of a column is defined in the same way as the position of a wall. The difference is in the representation of the object’s shape defined by IfcRectangleProfileDef for rectangular columns and by IfcCircleProfileDef for cylindrical columns. Both can be reached similarly to the wall’s geometry sequentially through IfcProductDefinitionShape, IfcShapeRepresentation, and IfcExtrudedAreaSolid. The entity IfcCircleProfileDef defines the radius and the position of a cylindrical column by IfcAxis2Placement2D, where an IfcCartesianPoint entity can be found. The height of the column and the direction of sweeping is defined by IfcExtrudedAreaSolid. The described extraction can also be applied to rectangular columns. The difference is that the IfcRectangleProfileDef entity defines the column’s dimensions in the direction of the x-axis and y-axis, respectively. The surface of a rectangular column can be expressed by planes as for the walls. Thus, the surface can be mathematically defined by the general equation of a plane. Then the center of gravity (calculated from four corner points) is used to define a seed point for the point cloud segmentation in the next stage of the proposed workflow. The surface of a cylindrical surface is a cylinder. The cylinder is defined by the direction of its axis, by the coordinates of the bottom and top base centers (circle center), and by the radius of the circle defining the cylinder. The seed point for cylinder segmentation is selected from seed point candidates using the average point of the two (top and bottom) base centers.
A structural opening is inserted into a building element so it can be located relatively within a wall through IfcLocalPlacement by the attributes PlacementRelTo and RelativePlacement. The geometry of the opening itself can be extracted from IfcOpeningElement and is given by IfcProductDefinitionShape. E.g., in the case of an opening for a door, the rectangle defining the opening is defined by IfcRectangleProfileDef. It can be reached sequentially from IfcProductDefinitionShape, IfcShapeRepresentation, and finally, IfcExtrudedAreaSolid. In order to identify the deviations from the as-planned position and the dimensions of the structural openings, these are plotted into the deviation maps created in the last stage of the proposed workflow. Then the deviations can be visually inspected.
2.2. Point Cloud Segmentation and As-Built Model Creation
The processing of TLS data, for modeling the as-built geometry of buildings, starts with point cloud segmentation. According to some specific criteria, the segmentation divides the point cloud into subsets of points. These criteria can be different, but the most common groups are the points that lie on the surface of the same geometric shape (planes, cylinders, spheres, etc.) or an irregularly smooth surface. In this instance, segmentation is equivalent to the detection of geometric primitives in TLS data and the estimation of their position, orientation, and size [
34]. In general, methods for point cloud segmentation can be categorized into data-driven and model-driven. In model-driven methods, segmentation is performed by assuming specific models of the underlying geometry in the point clouds. They can be further categorized as region-based methods, edge-based methods, and model-based methods. The data-driven methods use artificial intelligence algorithms for segmentation and can be categorized as: attribute-based methods, graph-based methods, or deep learning methods.
In the case of the geometry check of the inspected elements of a building structure, segmentation is one of the fundamental steps since it is necessary to create a subset of points that belong to only the given inspected surface.
In the presented workflow, two separate algorithms are used. The first one serves for the segmentation of planar surfaces and the second for the segmentation of cylinder-shaped objects. Plane segmentation is used in the case of walls, openings, and columns (square or rectangular shaped), and cylinder segmentation is primarily used in the case of cylinder-shaped columns.
Segmentation begins with some preprocessing steps, including the estimation of normal vectors at each point using small local planes. The mentioned small local planes are estimated by orthogonal regression from the 3D coordinates of the given point and its k-nearest neighbors. This step is performed only if the input point cloud does not contain the normal vectors already (some software for point cloud processing estimates the normal vector in the import/export process). Next, after the normal vector estimation, based on local normal variation (LNV), a seed point selection process is performed. The LNV value is calculated by averaging the scalar products of the normal vectors from the k-nearest neighbors. These LNV values are used to select seed point candidates (SPC). The seed points used for segmentation are the nearest SPC to the centers of gravity extracted from IFC. Subsequently, the segmentation procedure itself is performed, as described in the subsections that follow.
2.2.1. Plane Segmentation
The algorithm for the segmentation of planar surfaces combines the modified RANSAC with the region-growing method, which is described in detail in [
35]. The plane segmentation begins with a seed point selection, which is determined as the nearest point (from the plane SPC) to the center of gravity of the as-planned model (from IFC). Afterward, the seed point is used as a starting point for segmenting the plane. A best-fit regression plane is calculated from the
k-nearest points by minimizing their orthogonal distances from the resulting plane using orthogonal regression. The number of
k-nearest points is determined automatically based on the local point density around the selected point.
Further, testing the estimated best-fit regression plane against the nearest neighbors is performed while the inliers for the given plane are identified. The inlier selection is executed based on two criteria. The first criterion is based on the distances, i.e., the inliers are the points located nearer to the plane than a selected threshold. The second criterion is based on the normal vector orientation. In this case, the inliers are only those points where the angle between the local normal vector (at the point) and the normal vector of the resulting best-fit plane is less than a selected threshold.
Inlier identification and plane parameter re-estimation are performed iteratively by testing neighboring points while their number gradually increases (
Figure 3). The whole re-estimation process is repeated until all the points belonging to the given plane are selected.
The results of the above-described plane segmentation are the subsets of point clouds related to the identified planes and the parameters of the regression models (parameters of normal vectors, number of inliers, standard deviation of the plane estimation).
2.2.2. Cylinder Segmentation
The approach proposed for cylinder segmentation can be categorized into model-based segmentation methods, and it is partially inspired by the Hough transform [
36]. The segmentation process itself is described in more detail in [
35]. The processing steps are similar to the plane segmentation algorithm. It starts with selecting a seed point, which is determined as the closest point (from the cylinder SPC) to the center of gravity of the cylindrical column extracted from the IFC.
The first cylinder parameters (
Figure 4) are estimated from the
k-nearest neighbors to the selected seed point. The value of
k is calculated in the same way as in the case of planes.
The estimation of the cylinder parameters consists of four major steps: in the first step, the orientation of the cylinder axis () is calculated as the vector perpendicular to the normal vectors of the selected points (a subset of point clouds). Next, these points are projected onto a plane that is perpendicular to the calculated cylinder axis, where they are distributed as a circle if they lie on the surface of the cylinder. In the third step, the parameters of the projected circle are estimated (the radius and the coordinates of the circle’s center—point ) with algebraic regression. The last step is the calculation of the top () and bottom () base center points (endcaps). The height of the regression (as-built) cylinder is calculated from these endcaps.
Iterative estimation is carried out using the steps described above, similar to plane estimation. The first criterion for inliers selection is a distance-based criterion (distance threshold value). The second criterion is a normal vector-based criterion. This filters the points where the angle between the local normal vector (at the point) and the vector perpendicular to the cylinder axis at the given point is less than a selected threshold value.
The results of the above-described segmentation are the subsets of the point cloud and the parameters of the regression models (the orientation of the cylinder axis, the radius of the cylinder shell, a point on the cylinder axis (), and the height of the cylinder shell).
2.3. As-Built and As-Planned Geometry Comparison
The above-mentioned point cloud segmentation results are the subsets of points representing the as-built geometry of the inspected structures and the parameters of the regression models. The last two stages of the proposed workflow are the comparison of the as-built point cloud with the regression models and with the as-planned BIM model and the visualization of the deviations by deviation maps.
Figure 5 demonstrates the segmentation results with the initial point cloud for a selected wall with a door, where the segmented subset, representing the wall surface, is shown in yellow.
In the case of inspecting the element’s position and orientation, for each point of the segmented subset (as-built model), the orthogonal distance from the as-planned surface extracted from the BIM model is calculated. Further, if a surface’s flatness (planes) or smoothness (cylinders) is inspected, the orthogonal distances are calculated from the best-fit regression models. The deviations between as-built and as-planned can be expressed as tables or deviation maps, which can be presented as signed color maps. For practical use, it is recommended to downsample the deviation maps regarding the dimensions of the inspected elements. When inspecting cylindrical objects, the points lying on the surface of the cylinder must be first transformed onto a plane (to “open” the cylinder shell) to be able to visualize the results in 2D.
Figure 6 and
Figure 7 show the deviation maps for the point cloud of a wall with a door (structural opening) from
Figure 5. To create the maps, in this case, the point cloud was reduced to 20 mm × 20 mm.
Figure 6 shows the deviation map for the comparison of the segmented as-built point cloud with the as-planned plane from the BIM model. Points are colored according to their signed distances from the as-planned plane. Points with positive values lie on the same side of the plane as the as-planned plane’s normal vector is oriented, and vice versa, the points with negative values are on the opposite side of the plane. The position and dimensions of the openings can be visually inspected. For visual inspection, it is also recommended to plot a grid. The as-planned opening is plotted into the deviation maps by a black line.
Figure 7 shows the deviation map for wall flatness quantification, where orthogonal distances are calculated from the regression plane.
In addition to the deviation maps, the parameters of the as-planned elements can be compared to the estimated parameters of the regression (as-built) models. There are several parameters to be compared, including the orientation of the normal vector, the radius or the height of the elements, the axis direction (orientation), etc. From the comparison, the rotation and the deviation between the models can also be calculated.
The advantage of the above-described approach is that the point cloud is segmented and filtrated in detail, where the objects that do not form the surface of the inspected element are also identified and removed (e.g., sockets, objects hung on the wall, furniture, skirting board, etc.). By this step, the accuracy of the results can be significantly increased since the deviation maps can contain incorrect information otherwise.
3. Results
To demonstrate the feasibility of the proposed workflow, part of a polyfunctional building was scanned (
Figure 8). The scanned room forms a common space of building no. 9, which is part of the residential complex NUPPU in Bratislava. The BIM model (in the form of an IFC file) of the selected parts of the building was provided by the investor. At the time of model creation, LOD (Level of Development) was used instead of LOIN (Level of Information Need, an evolution of LOD) to express the details of the model. The level of development of the provided model can be characterized as LOD 300, meaning that the building element is graphically represented within the model as a specific system, in which the object has specific quantities, dimensions, shapes, positions, and orientation [
37].
In the first stage of the workflow, the surface of the objects within the chosen space was scanned using terrestrial laser scanning, while the Trimble TX5 instrument was used. The scanning parameters were set as follows: horizontal field of view 360°, vertical field of view 305° (from +90° to −62.5°), resolution 1/16, which means 24.5 mm × 24.5 mm at 10 m, 3× repetition of the measured distances. The a priori distance measurement error determined by the producer is ±2 mm at 10 m. The chosen part of the building was scanned from nine scanner positions. The TLS data were aligned with the BIM model using surface-based registration (to join the individual scans) and target-based registration (to transform the scans into the building’s coordinate system). The registration error was 8 mm.
For the demonstration, an inspection of five walls numbered red in
Figure 8, and three columns numbered by yellow color was performed. According to the proposed workflow, in the fourth stage, the as-planned model surfaces (in our case planes) were created from the data extracted from the IFC file. Subsequently, the point cloud was segmented using the approach described in
Section 2.2. The threshold values for the segmentation process were 20 mm for the distance-based criterion (distance from the regression plane) and 1° for the normal vector-based criterion (difference between the direction of the local normal vector at the given point and the direction of the regression plane’s normal vector).
Figure 9 and
Figure 10 show the original point cloud of wall number 3 and column number 2 colored in RGB. The color was captured by the internal camera of the instrument used for scanning; therefore, the final colors are a combination of the plaster color (surface) and the ambient light. The point cloud was transformed into the building’s coordinate system, while the axes’ orientations correspond to the building’s axis system. The
x-axis is parallel to the longitudinal axis (from right to left in
Figure 8), the
y-axis is parallel to the transverse axis (from top to bottom in
Figure 8), and the
z-axis completes the rectangular Cartesian coordinate system. Therefore, the planes forming the surface of the column are marked according to their orientation (
Figure 10). The letter
a indicates the surface oriented in the direction of
+x, letter
b indicates
+y, letter
c indicates
-x and letter
d indicates the surface oriented in the direction of the −
y-axis, respectively.
The results of the point cloud segmentation are the parameters of the regression models and the corresponding subsets of the point cloud. First, the as-built regression models were compared with the as-planned models from IFC. The results of the comparison are deviations expressed by differences in the normal vectors direction α, and the distances between the surfaces calculated along the normal vectors of the regression surfaces in the center of gravity of the as-planned surface d. Second, the orthogonal distances of the segmented subsets of points from the corresponding as-planned surface are calculated. Minimal and maximal distances, average distances, and absolute maximum distances are also calculated. Tables are provided to list the mentioned deviations. The deviation of the segmented point cloud (representing the as-built geometry) from the as-planned surface is presented as deviation maps (signed color maps).
Table 1 and
Table 2 show the deviations between the as-built and as-planned planes for the selected walls and columns, respectively.
Figure 11 shows the deviation map that expresses the differences between the as-built surface of wall no. 3 and the corresponding subset of points.
Figure 12 shows the deviations between the subset of the point cloud and the surfaces of column no. 2. The deviation maps were downsampled to 30 mm × 30 mm.
The absolute maximal distance between the as-planned (BIM) surface and the segmented point cloud varies from 13 mm (wall no. 2) to 24 mm (wall no.4). The distance between the as-planned and as-built plane is a minimum −7 mm (wall no. 2) and maximum +20 mm (wall no. 4). The positive values mean that the regression plane is in front of the as-planned plane in the direction of normal vectors (towards the inside of the room). The negative value means that the regression plane is behind the as-planned plane. The maximal difference between the orientation α of normal vectors is 0.0839° in the case of wall no. 2, representing a 3 mm deviation at 2 m. From the uncertainty of the position of measured points and the registration error, the standard deviation of the results was calculated using the uncertainty propagation law. Its value is 9 mm. Deviations (BIM vs. point cloud) under this value can be considered as not significant. The values in
Table 1 and
Table 2 include the measurement uncertainty and the construction deviation (setting-out deviation and assembly deviation). The structural openings are plotted by black line into the deviation map (
Figure 11). The deviations in the position of the openings within wall no.3 are 300 mm in the left-right direction and 200 mm in the top-bottom direction. The difference is approx. 100 mm on the top of the wall (under the ceiling) is due to the fact that the as-built surface was scanned. Although the detail of the model is LOD300, the insulation under the ceiling was not modeled. Just a small part of the concrete slab was scanned in the top right corner, where the insulation lamella was not assembled.
In the case of the selected columns, the absolute maximal distance between the BIM model and the point cloud varies from 4 mm (column no. 1) to 19 mm (column no. 3). The distances between the as-planned and as-built surfaces are within the range −9 mm (column no. 2) and +14 mm (column no. 3). The positive values mean that the regression plane is in front of the as-planned plane in the direction from the center of the column outwards, the negative values mean opposite direction. The maximal difference between the orientation α of normal vectors is 0.4728° in the case of the d surface of column no. 3. This angular difference represents a 17 mm deviation at 2 m of the element.
The last comparison was carried out in order to quantify the flatness of the surface of the selected inspected elements. The distances of the segmented points were calculated from the corresponding regression planes.
Table 3 shows the results for the walls and
Table 4 for the columns.
The deviations from the ideal plane surface for the walls vary from −16 mm to +16 mm (wall no. 3). In the case of the columns reach values from—3 mm to +3 mm, thanks to the fact that the concrete of the structural element creates the surface of the columns without plaster. The standard deviation (std) is calculated from the orthogonal distances of points from the best-fit plane. It expresses the dispersion of the point cloud (noise around the regression plane), which is mainly affected by the TLS measurement (coordinate determination). This implies that, in practice, the values less than the std are not significant, e.g., regarding wall number 3 significant are the values over 4 mm.
Figure 13 shows the deviation map expressing the flatness of wall no. 3.
Figure 14 shows the deviation map that expresses the flatness of the surfaces of column no. 2.
The proposed workflow for the inspection of cylindrical columns is demonstrated in the foyer of the DPOH theater in Bratislava (
Figure 15). The LOD of the provided BIM model (in the form of an IFC file) can be characterized as LOD 300. The foyer was scanned using the Trimble TX5 instrument. The scanning parameters were set as follows: field of view 360° Hz × 305° V, resolution 1/10, which means 15.3 mm × 15.3 mm at 10 m, 3× repetition of the measured distances. The chosen part of the foyer was scanned from three scanner positions. The point cloud registration was performed similarly to the previous case using surface-based registration and target-based registration. The resulting registration error was 9 mm.
Inspection of 4 cylindrical columns was carried out. The wood-plastic cladding of the supporting columns of the building represents the columns’ surfaces. The as-planned models of the columns (cylinders) were created from the data extracted from the BIM model. Subsequently, the point cloud was segmented, while the threshold values for the segmentation process were 5% of the radius of the columns (which means 18 mm for the planned radius of 350 mm) for the distance-based criterion and 5° for the normal vector-based criterion.
As a result of point cloud segmentation, the parameters of regression models were determined, and corresponding subsets of the point cloud were created. A comparison was first conducted between the as-built regression models and as-planned models from IFC. The differences between the cylinders’ axis directions α and the difference between the radii Δ
r (as-planned vs as-built) were determined consequently. Afterwards, the orthogonal distances of the segmented points from the corresponding cylindrical surface were calculated. Minimal and maximal distances, average distances, and absolute maximum distances were also calculated.
Table 5 shows the differences between the as-built and as-planned surfaces for the selected columns.
The maximal difference between the direction of the cylinders’ axis α is 0.2000° in the case of column no. 3, which represents a deviation of 13 mm at 3.9 m (height of the column). The absolute maximal distance between the as-planned cylindrical surface and the segmented point cloud varies from 17 mm (column no. 4) to 24 mm (column no. 1). The difference between the radii of as-planned and as-built cylinders is maximum +11 mm (column no. 4). The positive value means, that the as-built cylinder’s radius is larger than the as-planned radius. The standard deviation of the results (calculated as in the case of the walls) can be characterized by the value of 9 mm. Deviations under this value should be considered not significant.
Figure 16a shows the deviations between the subset of the point cloud and the surface of column no. 2. The point cloud was transformed onto a plane to visualize the result in a 2D deviation map, while the origin of the bottom axis corresponds with the direction of the building’s local coordinate system’s
x-axis (pointing from right to left in
Figure 15). The deviation map is downsampled to 10 mm × 10 mm. The empty parts within the black frame, representing the shell of the IFC cylinder, are caused by the fact that it was not possible to scan the entire surface of the columns (which are close to windows). The difference of approx. 70 mm on the bottom of the column is since the skirting board was deleted during the segmentation.
In order to quantify the smoothness of the surface of the selected inspected columns, the point cloud, and the regression cylinders were compared.
Table 6 shows the results of the column’s surface smoothness inspection.
The deviations from the ideal cylindrical surface vary from −10 mm to +10 mm (column no.1). The values less than the standard deviation (calculated based on the orthogonal distances of the points from the surface) are not significant, e.g., regarding column number 2 significant are the values over 4 mm.
Figure 16b shows the deviation map expressing the smoothness of the column no. 2.
4. Discussion
The paper aims to present the methodology for verifying building structures using point clouds and building information models. In contrast to the current process of evaluating the position and flatness (smoothness) of construction elements defined by national standards, the proposed methodology prescribes the workflow allowing the evaluation of the geometry of chosen elements based on a combination of TLS or photogrammetry and BIM. The geometry of the verified structures is being evaluated using the as-planned models extracted from IFC, and the point cloud captured on-site (as-built). Three types of construction elements with regular geometry were chosen to demonstrate the feasibility of the proposed methodology, walls with structural openings, rectangular columns, and cylindrical columns. The advantage of the proposed approach is the detailed point cloud segmentation prior to the comparison of the as-planned and as-built data. The main invention is the methodology and the script based on open standards developed by authors. The proposed procedure is developed in MATLAB® software and is intended as a standalone application in the future.
According to the data evaluation, we can conclude that the accuracy of the results is affected by various factors. From the registration accuracy (alignment of the point cloud with the BIM model) and the a priori characteristics of the instrument, a registration error can be calculated using error propagation law. We can decide on the statistical significance of deviations from the as-planned model based on the obtained value. For example, in the case of the NUPPU complex, the registration error was 8 mm. That means that only a deviation over 8 mm can be considered significant. On the other hand, the alignment of the point cloud with the as-planned model does not affect the accuracy of the relative geometry (flatness, smoothness, etc.) inspection. In that case, a standard deviation can be calculated based on the distances of the points from the regression surface. The standard deviation is then mainly influenced by the point cloud’s noise. For example, the standard deviation for the regression cylinder estimation was less than 4 mm for all the modeled cylindrical columns in the case of DPOH theatre. It means that the differences between the point cloud and the resulting regression model below 4 mm are not significant. The possibility of this kind of significance analysis is also one of the advantages of the proposed workflow because most of the scan-vs-BIM approaches skip this step entirely.
The deviation maps, created according to the proposed approach, can be further used for on-site inspection or definition of the method of rehabilitation in case the deviation is out of the range defined by the applicable standards. In the future, the workflow for exchanging the deviation maps into a BIM model can be defined. The proposed workflow can contribute to a more precise and faster evaluation of the geometry of as-built building elements. Defining the methodology based on an open format allows wider adoption and increases the chances of possible utilization on-site.
The weak part of the methodology today is the workload of data processing which can be eliminated in the future by increased (full) automation.
5. Conclusions
Building information modeling significantly contributes to the digitization of processes in the building industry. The BIM model can be used in every phase of the building’s life cycle. However, it is most often used in the design and creation of documentation for construction or during operation for facility management purposes. Less is used for direct control of processes during the construction in-situ on the construction site. In this area enormous potential of using information modeling is hidden. By combining information from BIM models with today’s available construction techniques, some procedures can be performed more efficiently. One of the possible uses is also in the field of verification of the as-built geometry of the building elements. If this activity is carried out using conventional procedures and methods, the whole procedure is costly and takes a lot of time. Using data from the state-of-the-art spatial data collecting techniques, in combination with information from the BIM model, allows an increase in the effectiveness of inspection procedures, eventually increasing the amount of information about the as-built state of the building. Compared to conventional methods, it provides a complex picture of the geometry of the inspected elements. In most cases, it does not depend on the subjective selection of the characteristic points of the given structural elements.
The advantage of the proposed approach is the detailed segmentation of the point cloud. The results are therefore significantly more accurate because all the objects not creating the surface of the inspected element (e.g., sockets, objects hung on the wall, furniture, skirting board, etc.) are removed. Subsequently, the as-built and the as-planned models are compared. The results are listed in tables and can be visualized as deviation maps (signed color maps). Case studies demonstrating the feasibility of the workflow are also described. The presented workflow can be used for fast verification of the shape of selected building elements. After future development and testing, full automation of the process can be reached, allowing the inspection of complex objects on-site.