Plane-Based Robust Registration of a Building Scan with Its BIM

The registration of as-built and as-planned building models is a pre-requisite in automated construction progress monitoring. Due to the numerous challenges associated with the registration process, it is still performed manually. This research study proposes an automated registration method that aligns the as-built point cloud of a building to its as-planned model using its planar features. The proposed method extracts and processes all the plane segments from both the as-built and the as-planned models, then—for both models—groups parallel plane segments into clusters and subsequently determines the directions of these clusters to eventually determine a range of possible rotation matrices. These rotation matrices are then evaluated through a computational framework based on a postulation concerning the matching of plane segments from both models. This framework measures the correspondence between the plane segments through a matching cost algorithm, thus identifying matching plane segments, which ultimately leads to the determination of the transformation parameters to correctly register the as-built point cloud to its as-planned model. The proposed method was validated by applying it to a range of different datasets. The results proved the robustness of the method both in terms of accuracy and efficiency. In addition, the method also proved its correct support for the registration of buildings under construction, which are inherently incomplete, bringing research a step closer to practical and effective construction progress monitoring.


Introduction
Numerous studies indicate the precise monitoring of the as-built status of constructions as a critical component of the building process [1][2][3]. Good monitoring practices not only assure adequate project management, but also allow for the early detection of deviations from, or nonconformity with, the design, thus providing the opportunity to remediate in an early stage to save both time and money [4][5][6]. Notwithstanding the significance of effective monitoring, the current methods of monitoring progress involve manual data collection and processing, which are time consuming and labor intensive with a dominant human presence, thus entailing several flaws, such as missing or inaccurate information [7][8][9]. Although the construction industry demands timely and accurate progress monitoring through an automated approach, the development of automated progress monitoring is still at an early stage and has not yet reached the desired efficiency and reliability [10][11][12].
With the advancement in remote sensing technologies to acquire three-dimensional (3D) data from construction sites, a vast body of research dedicated to improving (or automating) construction monitoring through model-based assessment methods is emerging. In these methods, the actual state of the building in the form of an as-built model is compared to the as-planned model. In most cases, the as-built spatial information is captured in the form of point clouds obtained through image-based 3D reconstruction [3,7,[13][14][15][16][17], laser scanning [18][19][20][21], or the integration of both techniques [22][23][24], whereas the as-planned or design information originates from a building information model (BIM) that is converted into a point cloud or another suitable format. Before the comparison, the as-built model is geometrically aligned with the as-planned data through an essential technique known as registration. The effectiveness of model-based assessments depends on the accuracy of the registration of the as-built with the as-planned model. Normally, registration techniques can be classified as either coarse or fine registration. The fine registration of point clouds is commonly achieved through iterative closest point (ICP)-based algorithms [25][26][27][28]. However, directly applying this type of registration is likely to fail, because it requires an initial alignment, achieved through a coarse registration. While there is a variety of literature available providing automated solutions for different environments and applications, coarse registrations are mostly performed manually through human involvement, because although they may work relatively well when applied to simple corresponding point clouds or certain scenarios, the probability of failure is quite high given more intricate point clouds [29]. In addition, the presence of working equipment or objects at building construction sites increases the likelihood of noise, occlusions, and missing data in the as-built model, which often limits the effectiveness of the registration. Furthermore, almost always, the as-built model of a completed building is used as input for the registration, and only limited research has been conducted on the registration problem focusing on the alignment of an incomplete building with its as-planned model. As a result, the registration of building models for progress monitoring remains a challenge. Therefore, instigating research on registration systems that can accurately align a partially completed as-built model will expand the applicability of automated model-based assessment methods for the progress monitoring of buildings under construction.
This research proposes a new method to automate the registration of as-planned and as-built building models by leveraging their planar geometry in a highly robust and efficient way, leading to an accurate registration of both models, even if the built structure is not fully completed. First, the possible rotations are determined based on the directions obtained from the clustered plane segments of both building models. Then, the matching segments are estimated in both models based on the geometric details of individual plane segments. Finally, these matching segments are used to identify the most likely rotation and translation the as-built model must be subjected to in order to be fully aligned with the as-planned model.
In Section 2, a literature overview on registration problems is given. Then, the main concept and a detailed explanation of the proposed technique are provided in Section 3. Section 4 describes the experiments along with the results. Section 5 discusses the results of the experimental evaluation of the method. Finally, Section 6 concludes the discussion based on the results and major findings.

Related Work
Registration is a widely studied research problem, with most efforts focusing on the registration of two or more point clouds and less on the registration of point clouds with BIM/mesh models, as the latter can be transformed into the former [30]. BIM/mesh are the artificially prepared building models that are utilized for structural comparison with the scan point cloud after registration. Nevertheless, the sampling of BIM/mesh models can deteriorate the precision of the geometrical information and thus introduce registration errors [31]. Similarly, errors, including noise, occlusion, etc., in the scan point cloud also affect the precision of directly extracted geometrical information [32], and thus challenge the geometrical procedures of registration.
The registration problem of point clouds can be reduced to finding the rotation matrix and translational vector to transform the coordinate system (CS) of one point cloud into the CS of the other, thus aligning both point clouds. A rigid transformation has six degrees of freedom (DoF) referring to three translations and three rotation angles in the threedimensional (3D) space. Often, a coarse-to-fine strategy is applied, meaning that a coarse registration is applied first to get an initial alignment, followed by a fine registration to achieve the utmost correspondence between the matching areas. Directly applying the fine registration without an initial alignment is likely to fail [33].
planes as a key point with the help of specialized descriptors to find the matching points for the registration. Xu et al. [35] used a set of three planes that formed 3D virtual corner points and then estimated a coordinate frame using their normal vectors to find their matching set of planes. Similarly, Pavan and dos Santos [67] introduced a global refinement to avoid the iterative method using the local consistency of planes. Geometric constraints formed by planes were employed along with similarities in plane properties to identify the correspondence between the planes. Xu, Boerner, Yao, Hoegner and Stilla [42] applied the 4PCS strategy on pairs of voxelized planed patches from both corresponding point clouds to find the 4-plane congruent sets for registration. Recently, Pavan, dos Santos and Khoshelham [57] performed plane-based registration by proposing a global closed-form solution via a graph-based formulation to find plane-to-plane correspondences. All these methods were proposed for the registration of different scans, mostly for urban scenes. Compared to these scans, the registration involved in the model-based assessment of buildings has unique challenges, because the registration is typically performed between a scan-based point cloud and the design model of a building. These challenges include the self-similarities of building components, such as walls or floors, lack of completeness of as-built data, symmetrical geometry of buildings, and occlusion due to objects or machinery present at the construction site during as-built data acquisition [30].
As mentioned before, coarse registration is often applied manually through an npoint approach that requires picking at least three pairs of matching points in both models [1,16,68]; there are few research efforts that propose solutions for automated registration in the context of the progress monitoring of buildings. For example, Kim et al. [69] applied a coarse-to-fine strategy for the registration of the scanned point cloud to the design model of the building in which principal component analysis (PCA) [70] was used as coarse registration, while LM-ICP [71] was applied as fine registration. In the coarse registration, the rotation was computed from the bases formed by the principal components of both models, and the translation was calculated from the centroids of the models. However, this method assumes that the principal components of both models have the same global directions with congruent centroids, which is only possible if both models are exactly the same. Therefore, this method is not applicable in real-life scenarios involving occlusions, noise, or missing data, which are typical of as-built point clouds of incomplete buildings. Similarly, Chen et al. [72] used a column-based scan registration in which the first columns are detected by projecting the point clouds on a heat map through a rule-based detection scheme. After that, a RANSAC-based strategy that randomly selects two columns from each point cloud in each iteration and calculates the transformation parameters by matching those two columns was applied. Later, all the columns were transformed based on these transformation parameters, and an alignment score based on correctly placed columns was obtained. In the end, the transformation with the highest score was finalized. This method only provides good results for buildings that possess a substantial number of columns. Bueno et al. [30] adapted the 4PCS algorithm that randomly selects the set of four planar patches as candidates for 4-plane bases in which the first three planes are not pair-wise parallel and the fourth plane is not co-planar to any of the other three planes. This method computes the possible transformations based on 4-plane congruent sets and then evaluates these transformations using a two-step support method. In the end, the method clusters the transformations and gives a ranked list of the top five. In this study, three simulated datasets and two real datasets were tested. For the simulated dataset, the correct transformation parameters were ranked first, while for the real datasets the correct transformation parameters were ranked second. Except for Bueno et al. [30], none of the above-mentioned studies address the problem of the incompleteness of data that is typical for buildings in the construction phase. This observation demonstrates the need for research on registration methods in the case of progress monitoring.

Methodology
Generally, buildings have dominant planar geometric features, such as walls or floors, of which a large number are parallel to each other. By clustering the planar structures based on their orientation, nominal clusters-each containing a set of parallel planar structurescan be created to represent the main directions of the building. A typical building has a minimum of three clusters, where one cluster represents parallel floors and roofs, and the others act as walls. In the case of non-horizontal roofs or non-perpendicular walls, the total number of clusters increases. Normally, the as-built models of the building exhibit the same overall geometry as the as-planned model; thus, comparing the directions of the nominal clusters from both models offers an opportunity to determine the possible rotation matrices. Figure 1 illustrates the general workflow of our method. In the first stage ( Figure 1, Stage 1), the directions of the nominal clusters of parallel plane structures are determined. In the second stage, the possible rotation matrices are calculated based on at least three matching directions (Figure 1, Stage 2). Finally, in the third stage, the most likely rotation matrix and translation vector are identified ( Figure 1, Stage 3). A detailed explanation of each stage is provided in the following sections. for buildings in the construction phase. This observation demonstrates the need for research on registration methods in the case of progress monitoring.

Methodology
Generally, buildings have dominant planar geometric features, such as walls or floors, of which a large number are parallel to each other. By clustering the planar structures based on their orientation, nominal clusters-each containing a set of parallel planar structures-can be created to represent the main directions of the building. A typical building has a minimum of three clusters, where one cluster represents parallel floors and roofs, and the others act as walls. In the case of non-horizontal roofs or non-perpendicular walls, the total number of clusters increases. Normally, the as-built models of the building exhibit the same overall geometry as the as-planned model; thus, comparing the directions of the nominal clusters from both models offers an opportunity to determine the possible rotation matrices. Figure 1 illustrates the general workflow of our method. In the first stage ( Figure 1

Preprocessing
Data from corresponding as-built and as-planned building models may not be in their best form for comparison; therefore, preprocessing can be necessary as an initial

Preprocessing
Data from corresponding as-built and as-planned building models may not be in their best form for comparison; therefore, preprocessing can be necessary as an initial stage, to ensure the geometric parameters of both models can be compared efficiently, thus assuring a robust and accurate registration.
A 3D as-built point cloud acquired through laser scanning is generally dense and accurate; however, it contains noise and outliers which may limit the overall reliability of Remote Sens. 2022, 14,1979 6 of 22 the registration. Therefore, the point cloud needs to be cleaned completely beforehand through computer algorithms, such as the tensor voting algorithm [73,74]. Furthermore, as high point densities increase the computation time, it can be necessary to down-sample the point cloud using octree-based voxelization. The voxel size must be chosen in function of the desired level of detail because although the computation time benefits from a larger voxel size, this also causes a loss of detail.
The as-planned model, often a BIM design, can be represented in a triangulated mesh format that contains accurate geometric information, including the vertices and normal values of each building plane. Most researchers convert the BIM into a point cloud format for compatibility reasons with the as-built point cloud. However, this practice results in a loss of detail in the as-planned model, which, in turn, causes a loss of accuracy and augments the processing time in later stages. Therefore, it is better to process the as-planned model in a mesh format.

Determining the Directions of Clustered Plane Segments
Calculating the direction of clustered plane segments in both the as-planned and as-built models involves two steps, as shown in Figure 2. In the first step, the model, represented by Figure 3a, is segmented to extract all of its plane segments (Figure 3b), which are then clustered based on their orientation in the second step ( Figure 3c). The similar normal values of the plane segments in each cluster act as the directions of the model. stage, to ensure the geometric parameters of both models can be compared efficiently, thus assuring a robust and accurate registration. A 3D as-built point cloud acquired through laser scanning is generally dense and accurate; however, it contains noise and outliers which may limit the overall reliability of the registration. Therefore, the point cloud needs to be cleaned completely beforehand through computer algorithms, such as the tensor voting algorithm [73,74]. Furthermore, as high point densities increase the computation time, it can be necessary to down-sample the point cloud using octree-based voxelization. The voxel size must be chosen in function of the desired level of detail because although the computation time benefits from a larger voxel size, this also causes a loss of detail.
The as-planned model, often a BIM design, can be represented in a triangulated mesh format that contains accurate geometric information, including the vertices and normal values of each building plane. Most researchers convert the BIM into a point cloud format for compatibility reasons with the as-built point cloud. However, this practice results in a loss of detail in the as-planned model, which, in turn, causes a loss of accuracy and augments the processing time in later stages. Therefore, it is better to process the as-planned model in a mesh format.

Determining the Directions of Clustered Plane Segments
Calculating the direction of clustered plane segments in both the as-planned and asbuilt models involves two steps, as shown in Figure 2. In the first step, the model, represented by Figure 3a, is segmented to extract all of its plane segments (Figure 3b), which are then clustered based on their orientation in the second step ( Figure 3c). The similar normal values of the plane segments in each cluster act as the directions of the model.    stage, to ensure the geometric parameters of both models can be compared efficiently, thus assuring a robust and accurate registration. A 3D as-built point cloud acquired through laser scanning is generally dense and accurate; however, it contains noise and outliers which may limit the overall reliability of the registration. Therefore, the point cloud needs to be cleaned completely beforehand through computer algorithms, such as the tensor voting algorithm [73,74]. Furthermore, as high point densities increase the computation time, it can be necessary to down-sample the point cloud using octree-based voxelization. The voxel size must be chosen in function of the desired level of detail because although the computation time benefits from a larger voxel size, this also causes a loss of detail.
The as-planned model, often a BIM design, can be represented in a triangulated mesh format that contains accurate geometric information, including the vertices and normal values of each building plane. Most researchers convert the BIM into a point cloud format for compatibility reasons with the as-built point cloud. However, this practice results in a loss of detail in the as-planned model, which, in turn, causes a loss of accuracy and augments the processing time in later stages. Therefore, it is better to process the as-planned model in a mesh format.

Determining the Directions of Clustered Plane Segments
Calculating the direction of clustered plane segments in both the as-planned and asbuilt models involves two steps, as shown in Figure 2. In the first step, the model, represented by Figure 3a, is segmented to extract all of its plane segments (Figure 3b), which are then clustered based on their orientation in the second step ( Figure 3c). The similar normal values of the plane segments in each cluster act as the directions of the model.

Planar Segmentation
The as-built point cloud is first segmented into planar segments with 3D points (x,y,z) and normal vector n(a,b,c) at a distance 'd' from the origin satisfying the plane equation: ax + by + cz + d = 0. During the segmentation, coplanar segments are handled as one large segment. For extracting the plane structures in the as-planned model, the meshes are split based on their face connectivity. The as-built point cloud may include outliers and occlusions due to the presence of objects in the scene during scanning. On the one hand, to reject outliers, the plane segments are ordered in a hierarchy based on their surface area, where the largest plane segment is ranked first. Only the dominant planes in both models are retained by rejecting the smaller segments based on the suitable threshold expressed as a certain percentage of the area of the largest plane. On the other hand, occlusions have an effect on the determination of the plane centroids, which will be used for calculating the translations in a later stage. For example, the surface coverage of matching plane segments from the as-planned and as-built models, as shown in Figure 4a,b, respectively, are slightly different due to the occlusions in the as-built point cloud. This problem is mitigated by creating an axis-aligned bounding box of each plane segment in the as-built and the BIMs, thus allowing the similar representation of the geometrical shapes in both models (Figure 4a,b). The example in Figure 4c shows the bounding box created from the occluded plane segment (Figure 4b). The centroid calculated from the bounding box is located closer to the center; hence, it is more accurate than the centroid calculated from the occluded point cloud (Figure 4d).
The as-built point cloud is first segmented into planar segments with 3D points (x,y,z) and normal vector n(a,b,c) at a distance 'd' from the origin satisfying the plane equation: + + + = 0. During the segmentation, coplanar segments are handled as one large segment. For extracting the plane structures in the as-planned model, the meshes are split based on their face connectivity.
The as-built point cloud may include outliers and occlusions due to the presence of objects in the scene during scanning. On the one hand, to reject outliers, the plane segments are ordered in a hierarchy based on their surface area, where the largest plane segment is ranked first. Only the dominant planes in both models are retained by rejecting the smaller segments based on the suitable threshold expressed as a certain percentage of the area of the largest plane. On the other hand, occlusions have an effect on the determination of the plane centroids, which will be used for calculating the translations in a later stage. For example, the surface coverage of matching plane segments from the as-planned and as-built models, as shown in Figure 4a,b, respectively, are slightly different due to the occlusions in the as-built point cloud. This problem is mitigated by creating an axis-aligned bounding box of each plane segment in the as-built and the BIMs, thus allowing the similar representation of the geometrical shapes in both models (Figure 4a,b). The example in Figure 4c shows the bounding box created from the occluded plane segment (Figure 4b). The centroid calculated from the bounding box is located closer to the center; hence, it is more accurate than the centroid calculated from the occluded point cloud (Figure 4d).

Clustering the Plane Segments
After extracting all the plane segments and determining their geometrical parameters, parallel planes are grouped together into clusters based on their normal vectors. To avoid the failure of the clustering process caused by inaccuracies in the segmentation, a suitable tolerance is introduced in the direction of the normal vectors. The direction of a cluster is defined as the weighted average of the normal vectors according to Equation (1): In Equation (1), n is the weighted normal of a cluster of parallel plane segments, n represents the normal vector of each segment, s is the area of the plane segment , and is the total number of parallel segments in the cluster.

Clustering the Plane Segments
After extracting all the plane segments and determining their geometrical parameters, parallel planes are grouped together into clusters based on their normal vectors. To avoid the failure of the clustering process caused by inaccuracies in the segmentation, a suitable tolerance is introduced in the direction of the normal vectors. The direction of a cluster is defined as the weighted average of the normal vectors according to Equation (1): In Equation (1), n g is the weighted normal of a cluster of parallel plane segments, n i represents the normal vector of each segment, s i is the area of the plane segment i, and t is the total number of parallel segments in the cluster.

Calculating the Possible Rotation Matrices
The rotation matrix is calculated from the directions of the plane clusters in both models. First, all the possible combinations of the three plane cluster directions in both models (as-built and as-planned) are made and the angles between the cluster directions in each combination are calculated. Then, for each combination in the as-built model, these angles Remote Sens. 2022, 14, 1979 8 of 22 are compared to all possible combinations within the as-planned model. Combinations with the same angles are withheld. While comparing the angles, a suitable tolerance is applied to account for slight inaccuracies in the directions. Figure 5a demonstrates an example of a combination with corresponding cluster directions in both models having the same angles.

Calculating the Possible Rotation Matrices
The rotation matrix is calculated from the directions of the plane clusters in both models. First, all the possible combinations of the three plane cluster directions in both models (as-built and as-planned) are made and the angles between the cluster directions in each combination are calculated. Then, for each combination in the as-built model, these angles are compared to all possible combinations within the as-planned model. Combinations with the same angles are withheld. While comparing the angles, a suitable tolerance is applied to account for slight inaccuracies in the directions. Figure 5a demonstrates an example of a combination with corresponding cluster directions in both models having the same angles. Figure 5. Visualization of (a) possible combinations with directions from the clustered plane segments having the same relative angles in the as-built and as-planned model, (b) normal vectors from as-built (yellow) and as-planned (green) models before rotation (c), the alignment of a pair of corresponding normal vectors after the first rotation, and (d) the aligned normal vectors of both models after the final rotation.
In the next step, for the combinations that were withheld previously, the rotation matrices are determined in two phases. First, the first pair of normal vectors of the as-built and the as-planned models, as shown in Figure 5b, are aligned with each other by rotating the normal vector of the as-built model around the perpendicular axis, as shown in Figure  5c. Then, the other normal vectors of the as-built model are simultaneously aligned with their corresponding normal vectors by rotating them about the axis defined by the first rotated normal vector, as shown in Figure 5d. The rotation is performed by the Rodriquez rotation formula, given in Equation (2), with an input of the axis of rotation (k) and angle (θ), given in Equation (3).
In the case of the occurrence of corresponding combinations with unique angles between their cluster directions, these clusters can automatically be regarded as being the clusters with matching plane segments. In this ideal scenario, the rotation matrix calculated from these corresponding clusters represents the correct orientation of the as-built model with the as-planned model. However, this ideal scenario seldom occurs, as most buildings have an orthogonal geometry with many parallel structural components. This reduces the number of possible distinct angles between plane clusters; hence, the number of possible rotation matrices ( , , … , ) increases substantially. Some rotations resulting from different combinations of the directions of the two models are shown in Figure  6. In the next step, for the combinations that were withheld previously, the rotation matrices are determined in two phases. First, the first pair of normal vectors of the asbuilt and the as-planned models, as shown in Figure 5b, are aligned with each other by rotating the normal vector of the as-built model around the perpendicular axis, as shown in Figure 5c. Then, the other normal vectors of the as-built model are simultaneously aligned with their corresponding normal vectors by rotating them about the axis defined by the first rotated normal vector, as shown in Figure 5d. The rotation is performed by the Rodriquez rotation formula, given in Equation (2), with an input of the axis of rotation (k) and angle (θ), given in Equation (3).
In the case of the occurrence of corresponding combinations with unique angles between their cluster directions, these clusters can automatically be regarded as being the clusters with matching plane segments. In this ideal scenario, the rotation matrix calculated from these corresponding clusters represents the correct orientation of the as-built model with the as-planned model. However, this ideal scenario seldom occurs, as most buildings have an orthogonal geometry with many parallel structural components. This reduces the number of possible distinct angles between plane clusters; hence, the number of possible rotation matrices (R 1 , R 2 , . . . , R r ) increases substantially. Some rotations resulting from different combinations of the directions of the two models are shown in Figure 6.

Identifying the Most Likely Rotation Matrix and Translation Vector
Only one of the calculated rotation matrices will lead to the correct orientation of the as-built to the as-planned model. To identify this most likely rotation matrix (and translation vector), a computational framework is proposed here based on the principles that if two models with a similar geometric structure are correctly oriented then: 1. Matching plane segments between the two models should be parallel to each other. 2. The translation between the models should be the same for all matching planar segments. For each rotation matrix, first a preliminary assessment of the directions of the plane segments from both models is performed to either discard the rotation matrix, because it is an unlikely candidate, or to continue by computing the total matching cost based on potential matching planes. The assessment workflow is shown in Figure 8.

Identifying the Most Likely Rotation Matrix and Translation Vector
Only one of the calculated rotation matrices will lead to the correct orientation of the as-built to the as-planned model. To identify this most likely rotation matrix (and translation vector), a computational framework is proposed here based on the principles that if two models with a similar geometric structure are correctly oriented then: 1. Matching plane segments between the two models should be parallel to each other. 2. The translation between the models should be the same for all matching planar segments.

Identifying the Most Likely Rotation Matrix and Translation Vector
Only one of the calculated rotation matrices will lead to the correct orientation of the as-built to the as-planned model. To identify this most likely rotation matrix (and translation vector), a computational framework is proposed here based on the principles that if two models with a similar geometric structure are correctly oriented then: 1. Matching plane segments between the two models should be parallel to each other. 2. The translation between the models should be the same for all matching planar segments. For each rotation matrix, first a preliminary assessment of the directions of the plane segments from both models is performed to either discard the rotation matrix, because it is an unlikely candidate, or to continue by computing the total matching cost based on potential matching planes. The assessment workflow is shown in Figure 8. For each rotation matrix, first a preliminary assessment of the directions of the plane segments from both models is performed to either discard the rotation matrix, because it is an unlikely candidate, or to continue by computing the total matching cost based on potential matching planes. The assessment workflow is shown in Figure 8. Remote Sens. 2022, 14, x FOR PEER REVIEW 10 of 23

Directional Assessment
For each rotation matrix, all the plane segments from the as-built model are rotated, after which each rotated plane segment is paired with all the as-planned plane segments. For each pair, the angle between the planes is computed using their normal vector. Pairs of plane segments that are not parallel to each other are rejected, leaving only those pairs with parallel plane segments. If for the majority of the as-built plane segments no parallel plane segments from the as-planned model are found, it is obvious that this particular rotation matrix must be rejected from the list of possible matrices. If, on the other hand, the majority of as-built plane segments have several parallel plane segments in the asplanned model, then the rotation matrix is further scrutinized by considering the pairs of parallel plane segments in the corresponding models as the potential matching plane segments. By lowering the number of rotation matrices based on the directional scrutiny of plane segments, the overall computation time is reduced substantially.

Translational Assessment
Once a rotation matrix is accepted, a matching cost that combines the rotation with the most likely translation is computed. For a particular rotation matrix R, all possible translation vectors , that map a centroid of a plane segment 'i' of the as-built model onto the centroid of a plane segment 'j' of the as-planned model are considered. Let and denote the centroids of these planes calculated from their bounding boxes earlier in stage 1. Provided the two planes are almost parallel after rotation, the translation vector , for this pair is defined as: The translation vectors determined between all the potential pairs of matching planes for dataset 1 are shown in Figure 9a. From this set of all possible translation vectors, the most likely translations are selected, as shown in Figure 9b. Because of noise in the asbuilt point cloud, the occlusions in some of the as-built plane segments, and small errors in the alignment, plane segments that are supposed to match may still define slightly different translations. Therefore, a minimization process is proposed by allocating a cost to each possible translation vector, which takes into account that some segments may be incomplete or not aligned correctly.

Directional Assessment
For each rotation matrix, all the plane segments from the as-built model are rotated, after which each rotated plane segment is paired with all the as-planned plane segments. For each pair, the angle between the planes is computed using their normal vector. Pairs of plane segments that are not parallel to each other are rejected, leaving only those pairs with parallel plane segments. If for the majority of the as-built plane segments no parallel plane segments from the as-planned model are found, it is obvious that this particular rotation matrix must be rejected from the list of possible matrices. If, on the other hand, the majority of as-built plane segments have several parallel plane segments in the as-planned model, then the rotation matrix is further scrutinized by considering the pairs of parallel plane segments in the corresponding models as the potential matching plane segments. By lowering the number of rotation matrices based on the directional scrutiny of plane segments, the overall computation time is reduced substantially.

Translational Assessment
Once a rotation matrix is accepted, a matching cost that combines the rotation with the most likely translation is computed. For a particular rotation matrix R, all possible translation vectors t R i,j that map a centroid of a plane segment 'i' of the as-built model onto the centroid of a plane segment 'j' of the as-planned model are considered. Let C i and C j denote the centroids of these planes calculated from their bounding boxes earlier in stage 1. Depending on the translation, each plane segment from the as-built model may have more than one potential matching plane from the as-planned model. Therefore, the assumption is made that the most likely match is the one for which the distance between the centroids is minimal. Let denote a possible translation and R represent one of the rotation matrices. For a particular plane segment 'i' from the as-built model, the most likely matching plane segment of the as-planned model is then j = argmin‖ − , ‖.
That is, from all possible translation vectors that map the centroid of segment 'i' onto one of the centroids of the as-planned model, the one closest to the proposed translation is chosen. The total matching cost, as a function of and R, is then defined as: The most likely translation for rotation matrix R is found by minimizing the above total matching cost over a finite set of translation vectors. To further simplify the computation, it is also assumed that the optimal translation vector will be close to one of the translation vectors , : Similarly, the most likely rotation matrix is also identified from a finite set of prefiltered rotation matrices.
Hence, the matching cost ensures that the most likely rotation matrix, as compared to other matrices, is measuring the matching of all the corresponding plane segments of both models, as shown in Figure 10. Similarly, it also confirms the most likely translation is determined from the potential pair of matching plane segments that is offering the maximum overlap of all the matching plane segments, as shown in Figure 11. To further improve the registration, fine registration using ICP can be performed in the end, if required. Depending on the translation, each plane segment from the as-built model may have more than one potential matching plane from the as-planned model. Therefore, the assumption is made that the most likely match is the one for which the distance between the centroids is minimal. Let t R o denote a possible translation and R represent one of the rotation matrices. For a particular plane segment 'i' from the as-built model, the most likely matching plane segment of the as-planned model is then j = argmin from all possible translation vectors that map the centroid of segment 'i' onto one of the centroids of the as-planned model, the one closest to the proposed translation t R o is chosen. The total matching cost, as a function of t R o and R, is then defined as: The most likely translation t R o for rotation matrix R is found by minimizing the above total matching cost over a finite set of translation vectors. To further simplify the computation, it is also assumed that the optimal translation vector t R o will be close to one of the translation vectors t R i,j : Similarly, the most likely rotation matrix R o is also identified from a finite set of pre-filtered rotation matrices.
Hence, the matching cost ensures that the most likely rotation matrix, as compared to other matrices, is measuring the matching of all the corresponding plane segments of both models, as shown in Figure 10. Similarly, it also confirms the most likely translation is determined from the potential pair of matching plane segments that is offering the maximum overlap of all the matching plane segments, as shown in Figure 11. To further improve the registration, fine registration using ICP can be performed in the end, if required. Remote Sens. 2022, 14, x FOR PEER REVIEW 12 of

Results
The proposed method was validated by tests on different datasets, including bot simulated and real-life datasets that were different from each other in terms of their arch tectural shape, the number of planes, and the number of 3D points in their as-built mode The simulated data were used to validate the theoretical framework, while the real-li datasets helped in understanding the practical difficulties and limitations of the propose method in real building projects.

Results
The proposed method was validated by tests on different datasets, including both simulated and real-life datasets that were different from each other in terms of their architectural shape, the number of planes, and the number of 3D points in their as-built model. The simulated data were used to validate the theoretical framework, while the real-life datasets helped in understanding the practical difficulties and limitations of the proposed method in real building projects.

Results
The proposed method was validated by tests on different datasets, including both simulated and real-life datasets that were different from each other in terms of their architectural shape, the number of planes, and the number of 3D points in their as-built model. The simulated data were used to validate the theoretical framework, while the real-life datasets helped in understanding the practical difficulties and limitations of the proposed method in real building projects.
For the simulated datasets (S1, S2, and S3), the as-built model was derived from the as-planned model with random transformation. The registration of the as-built model with its original model allowed us to analyze the proposed method without any influence of factors including noise, outliers, or missing information. The real-life case studies (datasets R1, R2, and R3) were carried out to test the validity of the proposed method using laser scan data for the as-built model together with the BIM model of the same existing building. The geometric details of all the datasets are presented in Table 1, and the real-life datasets R1, R2, and R3 are shown in more detail in Figure 12. The dataset R3 was used in [75,76] as well. For the simulated datasets (S1, S2, and S3), the as-built model was derived from the as-planned model with random transformation. The registration of the as-built model with its original model allowed us to analyze the proposed method without any influence of factors including noise, outliers, or missing information. The real-life case studies (datasets R1, R2, and R3) were carried out to test the validity of the proposed method using laser scan data for the as-built model together with the BIM model of the same existing building. The geometric details of all the datasets are presented in Table 1, and the reallife datasets R1, R2, and R3 are shown in more detail in Figure 12. The dataset R3 was used in [75,76] as well. For the simulated datasets (S1, S2, and S3), the as-built model was derived from the as-planned model with random transformation. The registration of the as-built model with its original model allowed us to analyze the proposed method without any influence of factors including noise, outliers, or missing information. The real-life case studies (datasets R1, R2, and R3) were carried out to test the validity of the proposed method using laser scan data for the as-built model together with the BIM model of the same existing building. The geometric details of all the datasets are presented in Table 1, and the reallife datasets R1, R2, and R3 are shown in more detail in Figure 12. The dataset R3 was used in [75,76] as well. For the simulated datasets (S1, S2, and S3), the as-built model was derived from the as-planned model with random transformation. The registration of the as-built model with its original model allowed us to analyze the proposed method without any influence of factors including noise, outliers, or missing information. The real-life case studies (datasets R1, R2, and R3) were carried out to test the validity of the proposed method using laser scan data for the as-built model together with the BIM model of the same existing building. The geometric details of all the datasets are presented in Table 1, and the reallife datasets R1, R2, and R3 are shown in more detail in Figure 12. The dataset R3 was used in [75,76] as well. For the simulated datasets (S1, S2, and S3), the as-built model was derived from the as-planned model with random transformation. The registration of the as-built model with its original model allowed us to analyze the proposed method without any influence of factors including noise, outliers, or missing information. The real-life case studies (datasets R1, R2, and R3) were carried out to test the validity of the proposed method using laser scan data for the as-built model together with the BIM model of the same existing building. The geometric details of all the datasets are presented in Table 1, and the reallife datasets R1, R2, and R3 are shown in more detail in Figure 12. The dataset R3 was used in [75,76] as well. For the simulated datasets (S1, S2, and S3), the as-built model was derived from the as-planned model with random transformation. The registration of the as-built model with its original model allowed us to analyze the proposed method without any influence of factors including noise, outliers, or missing information. The real-life case studies (datasets R1, R2, and R3) were carried out to test the validity of the proposed method using laser scan data for the as-built model together with the BIM model of the same existing building. The geometric details of all the datasets are presented in Table 1, and the reallife datasets R1, R2, and R3 are shown in more detail in Figure 12. The dataset R3 was used in [75,76] as well. For the simulated datasets (S1, S2, and S3), the as-built model was derived from the as-planned model with random transformation. The registration of the as-built model with its original model allowed us to analyze the proposed method without any influence of factors including noise, outliers, or missing information. The real-life case studies (datasets R1, R2, and R3) were carried out to test the validity of the proposed method using laser scan data for the as-built model together with the BIM model of the same existing building. The geometric details of all the datasets are presented in Table 1, and the reallife datasets R1, R2, and R3 are shown in more detail in Figure 12. The dataset R3 was used in [75,76] as well. For the simulated datasets (S1, S2, and S3), the as-built model was derived from the as-planned model with random transformation. The registration of the as-built model with its original model allowed us to analyze the proposed method without any influence of factors including noise, outliers, or missing information. The real-life case studies (datasets R1, R2, and R3) were carried out to test the validity of the proposed method using laser scan data for the as-built model together with the BIM model of the same existing building. The geometric details of all the datasets are presented in Table 1, and the reallife datasets R1, R2, and R3 are shown in more detail in Figure 12. The dataset R3 was used in [75,76] as well. For the simulated datasets (S1, S2, and S3), the as-built model was derived from the as-planned model with random transformation. The registration of the as-built model with its original model allowed us to analyze the proposed method without any influence of factors including noise, outliers, or missing information. The real-life case studies (datasets R1, R2, and R3) were carried out to test the validity of the proposed method using laser scan data for the as-built model together with the BIM model of the same existing building. The geometric details of all the datasets are presented in Table 1, and the reallife datasets R1, R2, and R3 are shown in more detail in Figure 12. The dataset R3 was used in [75,76] as well. For the simulated datasets (S1, S2, and S3), the as-built model was derived from the as-planned model with random transformation. The registration of the as-built model with its original model allowed us to analyze the proposed method without any influence of factors including noise, outliers, or missing information. The real-life case studies (datasets R1, R2, and R3) were carried out to test the validity of the proposed method using laser scan data for the as-built model together with the BIM model of the same existing building. The geometric details of all the datasets are presented in Table 1, and the reallife datasets R1, R2, and R3 are shown in more detail in Figure 12. The dataset R3 was used in [75,76] as well. For the simulated datasets (S1, S2, and S3), the as-built model was derived from the as-planned model with random transformation. The registration of the as-built model with its original model allowed us to analyze the proposed method without any influence of factors including noise, outliers, or missing information. The real-life case studies (datasets R1, R2, and R3) were carried out to test the validity of the proposed method using laser scan data for the as-built model together with the BIM model of the same existing building. The geometric details of all the datasets are presented in Table 1, and the reallife datasets R1, R2, and R3 are shown in more detail in Figure 12. The dataset R3 was used in [75,76] as well. For the simulated datasets (S1, S2, and S3), the as-built model was derived from the as-planned model with random transformation. The registration of the as-built model with its original model allowed us to analyze the proposed method without any influence of factors including noise, outliers, or missing information. The real-life case studies (datasets R1, R2, and R3) were carried out to test the validity of the proposed method using laser scan data for the as-built model together with the BIM model of the same existing building. The geometric details of all the datasets are presented in Table 1, and the reallife datasets R1, R2, and R3 are shown in more detail in Figure 12. The dataset R3 was used in [75,76] as well. For the simulated datasets (S1, S2, and S3), the as-built model was derived from the as-planned model with random transformation. The registration of the as-built model with its original model allowed us to analyze the proposed method without any influence of factors including noise, outliers, or missing information. The real-life case studies (datasets R1, R2, and R3) were carried out to test the validity of the proposed method using laser scan data for the as-built model together with the BIM model of the same existing building. The geometric details of all the datasets are presented in Table 1, and the reallife datasets R1, R2, and R3 are shown in more detail in Figure 12. The dataset R3 was used in [75,76] as well. All the datasets, both stimulated and real, were successfully registered using the proposed method. Figure 13 shows the registration results for all the datasets, while the respective processing details of the registration are listed in Table 2. To increase the reliability of the results in relation to processing time and accuracy, each dataset was processed at least 100 times and the average values were considered for the evaluation. The reported results were obtained by initially down-sampling the as-built cloud points during preprocessing using a voxel size of 0.2 m. Similarly, plane segmentation was performed using RANSAC with the number of iterations limited to 3000. Furthermore, because the directions of the plane segments can be slightly faulty due to the presence of noise in the point cloud, a suitable tolerance level according to the datasets was set for the normal values of plane segments during the process of clustering to determine the directions of clustered plane segments. All the processing was conducted on a laptop with an Intel i7-8850H CPU with 16 GB RAM and the proposed method was implemented in the Python language. The proposed method was further analyzed in terms of processing time and accuracy to evaluate its performance and explore its limitations.
All the datasets, both stimulated and real, were successfully registered using the proposed method. Figure 13 shows the registration results for all the datasets, while the respective processing details of the registration are listed in Table 2. To increase the reliability of the results in relation to processing time and accuracy, each dataset was processed at least 100 times and the average values were considered for the evaluation. The reported results were obtained by initially down-sampling the as-built cloud points during preprocessing using a voxel size of 0.2 m. Similarly, plane segmentation was performed using RANSAC with the number of iterations limited to 3000. Furthermore, because the directions of the plane segments can be slightly faulty due to the presence of noise in the point cloud, a suitable tolerance level according to the datasets was set for the normal values of plane segments during the process of clustering to determine the directions of clustered plane segments. All the processing was conducted on a laptop with an Intel i7-8850H CPU with 16 GB RAM and the proposed method was implemented in the Python language. The proposed method was further analyzed in terms of processing time and accuracy to evaluate its performance and explore its limitations.   Figure 13. Visualization of the registered as-built (yellow) and as-planned (green) models of taset S1, (b) dataset S2, (c) dataset S3, (d) dataset R1, (e) dataset R2 and, (f) dataset R3.  Figure 13. Visualization of the registered as-built (yellow) and as-planned (green) models of (a) dataset S1, (b) dataset S2, (c) dataset S3, (d) dataset R1, (e) dataset R2 and, (f) dataset R3.

Time Efficiency
The time efficiency of the proposed technique was analyzed in detail. First, the effect of voxel size on processing time was examined. Generally, a decrease in voxel size increased the size of the point cloud, which in turn increased the processing time. However, an increase in voxel size induces a loss of detail, leading to a possible decrease in the registration accuracy. Hence, a compromise must be found. Therefore, the processing time of the different processing stages (illustrated in Figure 1), as well as the overall registration accuracy, were analyzed with a range of different voxel sizes for dataset S1. The results are shown in Figure 14, where it can be observed that the overall processing time of the method significantly increased once the voxel size was lowered to 0.1m. The time complexity of the proposed technique is O(log n), where n equals the voxel size in a grid. When the computation time was analyzed per processing stage, it was clear that the overall processing time was not affected by stage 2, while the processing time of stage 3 increased approximately linearly with a decreasing voxel size, and the computation time in stage 1 increased significantly once the voxel size dropped under 0.1 m. This major increment in computation can be attributed to the plane segmentation of the as-built point cloud that is performed using RANSAC segmentation, which estimates the plane from the voxelized points in numerous iterations. Therefore, the voxel size should be chosen to be between 0.1 m and 0.5 m to ensure the success of the proposed method and limit the significant increment in processing time. method significantly increased once the voxel size was lowered to 0.1m. The time complexity of the proposed technique is (log ), where equals the voxel size in a grid. When the computation time was analyzed per processing stage, it was clear that the overall processing time was not affected by stage 2, while the processing time of stage 3 increased approximately linearly with a decreasing voxel size, and the computation time in stage 1 increased significantly once the voxel size dropped under 0.1 m. This major increment in computation can be attributed to the plane segmentation of the as-built point cloud that is performed using RANSAC segmentation, which estimates the plane from the voxelized points in numerous iterations. Therefore, the voxel size should be chosen to be between 0.1 m and 0.5 m to ensure the success of the proposed method and limit the significant increment in processing time.
To gain insight into the influence of different parameters on the computation time, the overall processing time of all the datasets was further analyzed at a voxel size of 0.2 m, as shown in Table 3. As could be expected, the total number of plane segments was the determining factor influencing the processing time in stages one and three.  To gain insight into the influence of different parameters on the computation time, the overall processing time of all the datasets was further analyzed at a voxel size of 0.2 m, as shown in Table 3. As could be expected, the total number of plane segments was the determining factor influencing the processing time in stages one and three. Table 3. Details concerning the processing time and accuracy error according to each dataset.

Processing Time Error
Step 1 (s) Step 2 (s) Step 3 (s) As the proposed method processes the as-planned model from the BIM directly into the triangulated mesh instead of the point cloud, the total processing time of the proposed technique was also analyzed by processing the as-planned model in both triangulated mesh and point cloud form. It was found that extracting the geometric parameters directly from the triangulated mesh of the as-planned model instead of converting it into a point cloud had a positive impact on the overall computation time, as shown in Figure 15. This is due to the fact that the required plane parameters (such as the normal of a plane) can be extracted directly from the mesh model, while in the case of the point cloud, these parameters are calculated from the 3D points of plane segments, which increases the processing time.
technique was also analyzed by processing the as-planned model in both triangulated mesh and point cloud form. It was found that extracting the geometric parameters directly from the triangulated mesh of the as-planned model instead of converting it into a point cloud had a positive impact on the overall computation time, as shown in Figure 15. This is due to the fact that the required plane parameters (such as the normal of a plane) can be extracted directly from the mesh model, while in the case of the point cloud, these parameters are calculated from the 3D points of plane segments, which increases the processing time.

Registration Accuracy
The accuracy of the proposed method was evaluated by comparing the transformed as-built model to the ground truth model. The ground truth model is the as-planned model and the fine registered as-built model for stimulated and real-life datasets, respectively. According to Figure 14, the voxel size did not the registration accuracy in terms of RMSE. As the root mean square error (RMSE) is not only an effective indicator of registration accuracy [34], the rotation error (in degrees) and translation error (in mm) for each dataset were also calculated, using Equations (8) and (9), respectively.
In Equation (8), and denote the quaternion rotation angles of the ground truth and the transformed model, respectively, whereas and represent the translation vectors of the ground truth and the transformed model, respectively, in Equation

Registration Accuracy
The accuracy of the proposed method was evaluated by comparing the transformed as-built model to the ground truth model. The ground truth model is the as-planned model and the fine registered as-built model for stimulated and real-life datasets, respectively. According to Figure 14, the voxel size did not the registration accuracy in terms of RMSE. As the root mean square error (RMSE) is not only an effective indicator of registration accuracy [34], the rotation error (in degrees) and translation error (in mm) for each dataset were also calculated, using Equations (8) and (9), respectively.
In Equation (8), θ GT and θ T denote the quaternion rotation angles of the ground truth and the transformed model, respectively, whereas t GT and t T represent the translation vectors of the ground truth and the transformed model, respectively, in Equation (9). The results of the evaluation metrics are listed in Table 3; they indicate a good accuracy of the proposed method. From the results, it is evident that building structures with an overall simple geometry and fewer planes had relatively higher accuracy. The accuracy in terms of rotation was high in all datasets. This is inherent to the proposed method due to the accurate normal values of plane segments. The normal values of plane segments obtained from the mesh surfaces in the as-planned model are error-free, and the normal values from the as-built model are determined through RANSAC plane estimation with a high iteration value. Furthermore, the proposed method computes the weighted average for parallel segments to ensure a minimal influence of inaccurately extracted normal values, if any.
It should be noted that the proposed method depends on plane segments extracted randomly from the as-built model by means of RANSAC plane estimation, and the registration parameters may change slightly each time the proposed method is applied, thus also slightly impacting the resulting registration accuracy. However, these minor changes can be covered by fine registration through an ICP algorithm, if required.

Effect of Noise and Occlusion
The effect of noise on the success ratio along with different voxel sizes was also analyzed. It was observed that the voxel size influenced the planar segmentation stage in the proposed method, as a greater voxel size decreased the number of 3D points in the model. If the amount of 3D points is too low, the planar segmentation may extract inaccurate plane segments from the model, which affects the results of the proposed technique. The presence of noise in the point cloud may hinder the detection of plane segments, thus also attributing to the possible failure of the proposed technique, although this can be solved by decreasing the voxel size. Table 4 illustrates different point cloud models of dataset 1 having Gaussian noise with a variance of zero and a standard deviation ranging from 0 to 0.15. Planar segmentation was performed on these point clouds after down-sampling them with voxel sizes from 0.01 to 0.37 m. It was evident that a higher voxel size enabled the extraction of accurate plane segments, even in the presence of strong noise, for the success of the proposed method. tration parameters may change slightly each time the proposed method is applied, thus also slightly impacting the resulting registration accuracy. However, these minor changes can be covered by fine registration through an ICP algorithm, if required.

Effect of Noise and Occlusion
The effect of noise on the success ratio along with different voxel sizes was also analyzed. It was observed that the voxel size influenced the planar segmentation stage in the proposed method, as a greater voxel size decreased the number of 3D points in the model. If the amount of 3D points is too low, the planar segmentation may extract inaccurate plane segments from the model, which affects the results of the proposed technique. The presence of noise in the point cloud may hinder the detection of plane segments, thus also attributing to the possible failure of the proposed technique, although this can be solved by decreasing the voxel size. Table 4 illustrates different point cloud models of dataset 1 having Gaussian noise with a variance of zero and a standard deviation ranging from 0 to 0.15. Planar segmentation was performed on these point clouds after down-sampling them with voxel sizes from 0.01 to 0.37 m. It was evident that a higher voxel size enabled the extraction of accurate plane segments, even in the presence of strong noise, for the success of the proposed method. tration parameters may change slightly each time the proposed method is applied, thus also slightly impacting the resulting registration accuracy. However, these minor changes can be covered by fine registration through an ICP algorithm, if required.

Effect of Noise and Occlusion
The effect of noise on the success ratio along with different voxel sizes was also analyzed. It was observed that the voxel size influenced the planar segmentation stage in the proposed method, as a greater voxel size decreased the number of 3D points in the model. If the amount of 3D points is too low, the planar segmentation may extract inaccurate plane segments from the model, which affects the results of the proposed technique. The presence of noise in the point cloud may hinder the detection of plane segments, thus also attributing to the possible failure of the proposed technique, although this can be solved by decreasing the voxel size. Table 4 illustrates different point cloud models of dataset 1 having Gaussian noise with a variance of zero and a standard deviation ranging from 0 to 0.15. Planar segmentation was performed on these point clouds after down-sampling them with voxel sizes from 0.01 to 0.37 m. It was evident that a higher voxel size enabled the extraction of accurate plane segments, even in the presence of strong noise, for the success of the proposed method. tration parameters may change slightly each time the proposed method is applied, thus also slightly impacting the resulting registration accuracy. However, these minor changes can be covered by fine registration through an ICP algorithm, if required.

Effect of Noise and Occlusion
The effect of noise on the success ratio along with different voxel sizes was also analyzed. It was observed that the voxel size influenced the planar segmentation stage in the proposed method, as a greater voxel size decreased the number of 3D points in the model. If the amount of 3D points is too low, the planar segmentation may extract inaccurate plane segments from the model, which affects the results of the proposed technique. The presence of noise in the point cloud may hinder the detection of plane segments, thus also attributing to the possible failure of the proposed technique, although this can be solved by decreasing the voxel size. Table 4 illustrates different point cloud models of dataset 1 having Gaussian noise with a variance of zero and a standard deviation ranging from 0 to 0.15. Planar segmentation was performed on these point clouds after down-sampling them with voxel sizes from 0.01 to 0.37 m. It was evident that a higher voxel size enabled the extraction of accurate plane segments, even in the presence of strong noise, for the success of the proposed method. tration parameters may change slightly each time the proposed method is applied, thus also slightly impacting the resulting registration accuracy. However, these minor changes can be covered by fine registration through an ICP algorithm, if required.

Effect of Noise and Occlusion
The effect of noise on the success ratio along with different voxel sizes was also analyzed. It was observed that the voxel size influenced the planar segmentation stage in the proposed method, as a greater voxel size decreased the number of 3D points in the model. If the amount of 3D points is too low, the planar segmentation may extract inaccurate plane segments from the model, which affects the results of the proposed technique. The presence of noise in the point cloud may hinder the detection of plane segments, thus also attributing to the possible failure of the proposed technique, although this can be solved by decreasing the voxel size. Table 4 illustrates different point cloud models of dataset 1 having Gaussian noise with a variance of zero and a standard deviation ranging from 0 to 0.15. Planar segmentation was performed on these point clouds after down-sampling them with voxel sizes from 0.01 to 0.37 m. It was evident that a higher voxel size enabled the extraction of accurate plane segments, even in the presence of strong noise, for the success of the proposed method. tration parameters may change slightly each time the proposed method is applied, thus also slightly impacting the resulting registration accuracy. However, these minor changes can be covered by fine registration through an ICP algorithm, if required.

Effect of Noise and Occlusion
The effect of noise on the success ratio along with different voxel sizes was also analyzed. It was observed that the voxel size influenced the planar segmentation stage in the proposed method, as a greater voxel size decreased the number of 3D points in the model. If the amount of 3D points is too low, the planar segmentation may extract inaccurate plane segments from the model, which affects the results of the proposed technique. The presence of noise in the point cloud may hinder the detection of plane segments, thus also attributing to the possible failure of the proposed technique, although this can be solved by decreasing the voxel size. Table 4 illustrates different point cloud models of dataset 1 having Gaussian noise with a variance of zero and a standard deviation ranging from 0 to 0.15. Planar segmentation was performed on these point clouds after down-sampling them with voxel sizes from 0.01 to 0.37 m. It was evident that a higher voxel size enabled the extraction of accurate plane segments, even in the presence of strong noise, for the success of the proposed method. tration parameters may change slightly each time the proposed method is applied, thus also slightly impacting the resulting registration accuracy. However, these minor changes can be covered by fine registration through an ICP algorithm, if required.

Effect of Noise and Occlusion
The effect of noise on the success ratio along with different voxel sizes was also analyzed. It was observed that the voxel size influenced the planar segmentation stage in the proposed method, as a greater voxel size decreased the number of 3D points in the model. If the amount of 3D points is too low, the planar segmentation may extract inaccurate plane segments from the model, which affects the results of the proposed technique. The presence of noise in the point cloud may hinder the detection of plane segments, thus also attributing to the possible failure of the proposed technique, although this can be solved by decreasing the voxel size. Table 4 illustrates different point cloud models of dataset 1 having Gaussian noise with a variance of zero and a standard deviation ranging from 0 to 0.15. Planar segmentation was performed on these point clouds after down-sampling them with voxel sizes from 0.01 to 0.37 m. It was evident that a higher voxel size enabled the extraction of accurate plane segments, even in the presence of strong noise, for the success of the proposed method. tration parameters may change slightly each time the proposed method is applied, thus also slightly impacting the resulting registration accuracy. However, these minor changes can be covered by fine registration through an ICP algorithm, if required.

Effect of Noise and Occlusion
The effect of noise on the success ratio along with different voxel sizes was also analyzed. It was observed that the voxel size influenced the planar segmentation stage in the proposed method, as a greater voxel size decreased the number of 3D points in the model. If the amount of 3D points is too low, the planar segmentation may extract inaccurate plane segments from the model, which affects the results of the proposed technique. The presence of noise in the point cloud may hinder the detection of plane segments, thus also attributing to the possible failure of the proposed technique, although this can be solved by decreasing the voxel size. Table 4 illustrates different point cloud models of dataset 1 having Gaussian noise with a variance of zero and a standard deviation ranging from 0 to 0.15. Planar segmentation was performed on these point clouds after down-sampling them with voxel sizes from 0.01 to 0.37 m. It was evident that a higher voxel size enabled the extraction of accurate plane segments, even in the presence of strong noise, for the success of the proposed method. randomly from the as-built model by means of RANSAC plane estimation, and the registration parameters may change slightly each time the proposed method is applied, thus also slightly impacting the resulting registration accuracy. However, these minor changes can be covered by fine registration through an ICP algorithm, if required.

Effect of Noise and Occlusion
The effect of noise on the success ratio along with different voxel sizes was also analyzed. It was observed that the voxel size influenced the planar segmentation stage in the proposed method, as a greater voxel size decreased the number of 3D points in the model. If the amount of 3D points is too low, the planar segmentation may extract inaccurate plane segments from the model, which affects the results of the proposed technique. The presence of noise in the point cloud may hinder the detection of plane segments, thus also attributing to the possible failure of the proposed technique, although this can be solved by decreasing the voxel size. Table 4 illustrates different point cloud models of dataset 1 having Gaussian noise with a variance of zero and a standard deviation ranging from 0 to 0.15. Planar segmentation was performed on these point clouds after down-sampling them with voxel sizes from 0.01 to 0.37 m. It was evident that a higher voxel size enabled the extraction of accurate plane segments, even in the presence of strong noise, for the success of the proposed method. tration parameters may change slightly each time the proposed method is applied, thus also slightly impacting the resulting registration accuracy. However, these minor changes can be covered by fine registration through an ICP algorithm, if required.

Effect of Noise and Occlusion
The effect of noise on the success ratio along with different voxel sizes was also analyzed. It was observed that the voxel size influenced the planar segmentation stage in the proposed method, as a greater voxel size decreased the number of 3D points in the model. If the amount of 3D points is too low, the planar segmentation may extract inaccurate plane segments from the model, which affects the results of the proposed technique. The presence of noise in the point cloud may hinder the detection of plane segments, thus also attributing to the possible failure of the proposed technique, although this can be solved by decreasing the voxel size. Table 4 illustrates different point cloud models of dataset 1 having Gaussian noise with a variance of zero and a standard deviation ranging from 0 to 0.15. Planar segmentation was performed on these point clouds after down-sampling them with voxel sizes from 0.01 to 0.37 m. It was evident that a higher voxel size enabled the extraction of accurate plane segments, even in the presence of strong noise, for the success of the proposed method.  tration parameters may change slightly each time the proposed method is applied, thus also slightly impacting the resulting registration accuracy. However, these minor changes can be covered by fine registration through an ICP algorithm, if required.

Effect of Noise and Occlusion
The effect of noise on the success ratio along with different voxel sizes was also analyzed. It was observed that the voxel size influenced the planar segmentation stage in the proposed method, as a greater voxel size decreased the number of 3D points in the model. If the amount of 3D points is too low, the planar segmentation may extract inaccurate plane segments from the model, which affects the results of the proposed technique. The presence of noise in the point cloud may hinder the detection of plane segments, thus also attributing to the possible failure of the proposed technique, although this can be solved by decreasing the voxel size. Table 4 illustrates different point cloud models of dataset 1 having Gaussian noise with a variance of zero and a standard deviation ranging from 0 to 0.15. Planar segmentation was performed on these point clouds after down-sampling them with voxel sizes from 0.01 to 0.37 m. It was evident that a higher voxel size enabled the extraction of accurate plane segments, even in the presence of strong noise, for the success of the proposed method.  tration parameters may change slightly each time the proposed method is applied, thus also slightly impacting the resulting registration accuracy. However, these minor changes can be covered by fine registration through an ICP algorithm, if required.

Effect of Noise and Occlusion
The effect of noise on the success ratio along with different voxel sizes was also analyzed. It was observed that the voxel size influenced the planar segmentation stage in the proposed method, as a greater voxel size decreased the number of 3D points in the model. If the amount of 3D points is too low, the planar segmentation may extract inaccurate plane segments from the model, which affects the results of the proposed technique. The presence of noise in the point cloud may hinder the detection of plane segments, thus also attributing to the possible failure of the proposed technique, although this can be solved by decreasing the voxel size. Table 4 illustrates different point cloud models of dataset 1 having Gaussian noise with a variance of zero and a standard deviation ranging from 0 to 0.15. Planar segmentation was performed on these point clouds after down-sampling them with voxel sizes from 0.01 to 0.37 m. It was evident that a higher voxel size enabled the extraction of accurate plane segments, even in the presence of strong noise, for the success of the proposed method.  tration parameters may change slightly each time the proposed method is applied, thus also slightly impacting the resulting registration accuracy. However, these minor changes can be covered by fine registration through an ICP algorithm, if required.

Effect of Noise and Occlusion
The effect of noise on the success ratio along with different voxel sizes was also analyzed. It was observed that the voxel size influenced the planar segmentation stage in the proposed method, as a greater voxel size decreased the number of 3D points in the model. If the amount of 3D points is too low, the planar segmentation may extract inaccurate plane segments from the model, which affects the results of the proposed technique. The presence of noise in the point cloud may hinder the detection of plane segments, thus also attributing to the possible failure of the proposed technique, although this can be solved by decreasing the voxel size. Table 4 illustrates different point cloud models of dataset 1 having Gaussian noise with a variance of zero and a standard deviation ranging from 0 to 0.15. Planar segmentation was performed on these point clouds after down-sampling them with voxel sizes from 0.01 to 0.37 m. It was evident that a higher voxel size enabled the extraction of accurate plane segments, even in the presence of strong noise, for the success of the proposed method. tration parameters may change slightly each time the proposed method is applied, thus also slightly impacting the resulting registration accuracy. However, these minor changes can be covered by fine registration through an ICP algorithm, if required.

Effect of Noise and Occlusion
The effect of noise on the success ratio along with different voxel sizes was also analyzed. It was observed that the voxel size influenced the planar segmentation stage in the proposed method, as a greater voxel size decreased the number of 3D points in the model. If the amount of 3D points is too low, the planar segmentation may extract inaccurate plane segments from the model, which affects the results of the proposed technique. The presence of noise in the point cloud may hinder the detection of plane segments, thus also attributing to the possible failure of the proposed technique, although this can be solved by decreasing the voxel size. Table 4 illustrates different point cloud models of dataset 1 having Gaussian noise with a variance of zero and a standard deviation ranging from 0 to 0.15. Planar segmentation was performed on these point clouds after down-sampling them with voxel sizes from 0.01 to 0.37 m. It was evident that a higher voxel size enabled the extraction of accurate plane segments, even in the presence of strong noise, for the success of the proposed method.  tration parameters may change slightly each time the proposed method is applied, thus also slightly impacting the resulting registration accuracy. However, these minor changes can be covered by fine registration through an ICP algorithm, if required.

Effect of Noise and Occlusion
The effect of noise on the success ratio along with different voxel sizes was also analyzed. It was observed that the voxel size influenced the planar segmentation stage in the proposed method, as a greater voxel size decreased the number of 3D points in the model. If the amount of 3D points is too low, the planar segmentation may extract inaccurate plane segments from the model, which affects the results of the proposed technique. The presence of noise in the point cloud may hinder the detection of plane segments, thus also attributing to the possible failure of the proposed technique, although this can be solved by decreasing the voxel size. Table 4 illustrates different point cloud models of dataset 1 having Gaussian noise with a variance of zero and a standard deviation ranging from 0 to 0.15. Planar segmentation was performed on these point clouds after down-sampling them with voxel sizes from 0.01 to 0.37 m. It was evident that a higher voxel size enabled the extraction of accurate plane segments, even in the presence of strong noise, for the success of the proposed method.  tration parameters may change slightly each time the proposed method is applied, thus also slightly impacting the resulting registration accuracy. However, these minor changes can be covered by fine registration through an ICP algorithm, if required.

Effect of Noise and Occlusion
The effect of noise on the success ratio along with different voxel sizes was also analyzed. It was observed that the voxel size influenced the planar segmentation stage in the proposed method, as a greater voxel size decreased the number of 3D points in the model. If the amount of 3D points is too low, the planar segmentation may extract inaccurate plane segments from the model, which affects the results of the proposed technique. The presence of noise in the point cloud may hinder the detection of plane segments, thus also attributing to the possible failure of the proposed technique, although this can be solved by decreasing the voxel size. Table 4 illustrates different point cloud models of dataset 1 having Gaussian noise with a variance of zero and a standard deviation ranging from 0 to 0.15. Planar segmentation was performed on these point clouds after down-sampling them with voxel sizes from 0.01 to 0.37 m. It was evident that a higher voxel size enabled the extraction of accurate plane segments, even in the presence of strong noise, for the success of the proposed method.  tration parameters may change slightly each time the proposed method is applied, thus also slightly impacting the resulting registration accuracy. However, these minor changes can be covered by fine registration through an ICP algorithm, if required.

Effect of Noise and Occlusion
The effect of noise on the success ratio along with different voxel sizes was also analyzed. It was observed that the voxel size influenced the planar segmentation stage in the proposed method, as a greater voxel size decreased the number of 3D points in the model. If the amount of 3D points is too low, the planar segmentation may extract inaccurate plane segments from the model, which affects the results of the proposed technique. The presence of noise in the point cloud may hinder the detection of plane segments, thus also attributing to the possible failure of the proposed technique, although this can be solved by decreasing the voxel size. Table 4 illustrates different point cloud models of dataset 1 having Gaussian noise with a variance of zero and a standard deviation ranging from 0 to 0.15. Planar segmentation was performed on these point clouds after down-sampling them with voxel sizes from 0.01 to 0.37 m. It was evident that a higher voxel size enabled the extraction of accurate plane segments, even in the presence of strong noise, for the success of the proposed method.

Application on Partially Constructed Buildings
To investigate the registration success of partially constructed as-built models with their as-planned model for automated construction progress monitoring, the proposed method was evaluated using as-built models with different combinations of missing planes simulating different stages of completion. During testing, it was found that the proposed method worked successfully if the necessary conditions were met. These conditions include: (i) as-built models with an overall unsymmetrical structure should have at least three planes in distinct directions and (ii) the size of most plane segments should correspond highly to their conjugate segments in the as-planned model. The presence of at least three planes in distinct directions assures that the correct rotation matrix will be calculated in the second stage along with other possible rotation matrices. Similarly, conjugate plane segments with high geometrical correspondence improve the identification of matching plane segments in the third stage.
Generally, the building models met these two conditions, and even a scan of a small typical building had plane segments in three distinct directions with a point cloud covering the walls for the most part. In the worst scenario, with a major missing part in the point clouds, the registration can further be improved through ICP registration. Figure 16 shows an example of a modified simulated model of dataset 1 with an as-planned model ( Figure 16a) and an as-built model (Figure 16b) with just three plane segments that were successfully registered through the proposed method. In this example, all three plane segments of the as-planned model had different directions and were identical in size to their corresponding segments. Similarly, it is also evident that the proposed method accurately calculated the translation based on matching planes even if the major part of the model was missing, as compared to the traditional technique based on the centroid of whole models, as shown in Figure 16c,d.
ing the walls for the most part. In the worst scenario, with a major missing part in the point clouds, the registration can further be improved through ICP registration. Figure 16 shows an example of a modified simulated model of dataset 1 with an as-planned model ( Figure 16a) and an as-built model (Figure 16b) with just three plane segments that were successfully registered through the proposed method. In this example, all three plane segments of the as-planned model had different directions and were identical in size to their corresponding segments. Similarly, it is also evident that the proposed method accurately calculated the translation based on matching planes even if the major part of the model was missing, as compared to the traditional technique based on the centroid of whole models, as shown in Figure 16c,d.

Conclusions
Construction project monitoring includes the registration of as-built models with their as-planned model followed by the analysis of the aligned models to infer progress information. Normally, the registration process involves two steps: (1) coarse registration, in which both models are almost aligned to each other, and (2) fine registration, which involves an improvement of the coarse registration and augments the registration accuracy. This research addressed the coarse registration problem in detail and proposed a new automated method to align the as-built and as-planned building models using their geometric features in a highly robust and accurate way. Most building structures have an orthogonal geometry that consists primarily of plane segments. The extraction of these planar features is only slightly affected by the presence of noise or minor outliers; therefore, the proposed technique employs these features for the automated registration of building models for project monitoring. The technique first utilizes the directions of the planes from the building models to determine the possible rotations for the registration. Then, it measures the matching between all the plane segments to recognize the rotation Figure 16. Visualization of (a) complete as-planned model, (b) incomplete as-built model with only three plane segments in distinct directions, (c) registered model using translation computed from the centroid of matched segments, and (d) registered model using translation computed from the centroid difference of the complete point cloud.

Conclusions
Construction project monitoring includes the registration of as-built models with their as-planned model followed by the analysis of the aligned models to infer progress information. Normally, the registration process involves two steps: (1) coarse registration, in which both models are almost aligned to each other, and (2) fine registration, which involves an improvement of the coarse registration and augments the registration accuracy. This research addressed the coarse registration problem in detail and proposed a new automated method to align the as-built and as-planned building models using their geometric features in a highly robust and accurate way. Most building structures have an orthogonal geometry that consists primarily of plane segments. The extraction of these planar features is only slightly affected by the presence of noise or minor outliers; therefore, the proposed technique employs these features for the automated registration of building models for project monitoring. The technique first utilizes the directions of the planes from the building models to determine the possible rotations for the registration. Then, it measures the matching between all the plane segments to recognize the rotation with the best match. Consequently, the translation is calculated from the best-matched plane segments. Along with the transformation parameters, the proposed method also has the ability to identify the matching plane segments between corresponding models. The identification of plane segments, representing the building components, can further aid in their individual inspection during project monitoring.
Experimentation was performed on building datasets with different geometries to evaluate the performance of the proposed method. The results demonstrated that the proposed method successfully registered all the building models with a high rotation and translation accuracy in a fully automated way. The presence of noise or occlusions only slightly affected the success of registration. The proposed method also proved to be robust in terms of computation time; however, the processing time was highly dependent on the number of plane segments.
Overall, the proposed method exhibits reliable results for both complete and incomplete buildings, which makes it useful for progress monitoring as long as at least three identical plane segments with distinct directions are present in both models. From the perspective of construction management, the automated registration of scan models of partially completed as-built situations with their BIM model is a big step forward in the development of an automated system for project monitoring. Further research is necessary to enhance the applicability of the proposed method in complex buildings with a high number of planes and/or curved elements.