# Automated Schedule and Cost Control Using
## 3 Methodology
### Methods  
#### 3.2.1 Three-Dimensional Object Recognition  
As soon as the point cloud assessment was completed, the as-built model was incorporated into the Revit interface. Therefore, a transformation matrix was established where a planned model was fixed. The point cloud model was then transformed to match the reference model automatically. It was stated that the point cloud was clumsy enough to be recognized. Thus, the point cloud set was transformed into a geometry-based model, as mentioned thoroughly in Algorithm 1. After the geometry-based model was established, the proposed approach was introduced to initiate this recognition system representing the correspondence between the BIM-planned model and the as-built model. The proposed approach depended on three main aspects. Firstly, the alignment accuracy between the two models was vital to object recognition. Secondly, the recognition approach was based on three distinctive features called the Lalonde features [44]. It was also used for the linerarness, surfaceness, and scatterness of a 3D point cloud set [45; 46]. Finally, at least 95% of an element would intersect with the geometry model to be considered a recognized element, as declared thoroughly in Algorithm 2. In other words, Algorithm 2 searches through the BIM-planned model to find the closest geometry to each BIM-placed object. If the BIM-planned object is found, the actual component is classified based on the object type in the BIM-planned model. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Geometric Feature** & **Equation** & **Definition** \\ \hline Linear Index L\({}_{\lambda}\) & \(\frac{\lambda_{1}-\lambda_{2}}{\lambda_{1}}\) & represents the linear features of the neighboring point cloud clusters \\ Planar Index P\({}_{\lambda}\) & \(\frac{\lambda_{2}-\lambda_{3}}{\lambda_{1}}\) & represents the planar features of the neighboring point cloud clusters \\ Scatter Index S\({}_{\lambda}\) & \(\frac{\lambda_{1}}{\lambda_{1}}\) & represents the scattering features of the neighboring point cloud clusters \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Definitions of geometric features. ```
Input:Point cloud P, Point cloud model where \(\textbf{P}\in\textbf{P}_{M}\). Output:Object O, Geometry-based model \(\textbf{G}_{M}\), Structural elements E,
1 Get Pointcloud Instance From P file
2 IfpointCloudInstance \(\
eq\) null
3 Then
4 P = pointCloudInstance.GetPoint()
5 For Each P in P\(M\)
6 O = CreateSphereSolid(**P**)
7 ObjectsList = append(**O**)
8 End G\({}_{M}\) = DirectShape.CreateElement (ObjectList)
9 End If
10 End
```  
**Algorithm 1**Transformation of point cloud model into geometry-based model  
```
Input:Geometry-based model \(\textbf{G}_{M}\), BIM-planned model \(\textbf{BIM}_{M}\) Output:Structural elements E, Linkstructural elements \(\textbf{L}_{E}\)
1 Get E from P file
2 Get L\({}_{E}\) from P file
3 For Each E in BIM\({}_{M}\)
4 If E does not intersect with G\({}_{M}\)
5 Set Elementcolor RED
6 RedList = append(E)
7 End If
8 End
9 For Each L\({}_{E}\) in BIM\({}_{M}\)
10 If E does not intersect with L\({}_{E}\) and L\({}_{E}\) intersects with G\({}_{M}\)
11 Set Elementcolor Green
12 GreenList = append(L\({}_{E}\))
13 End If
14 End
15 If E does not intersect with L\({}_{E}\) and L\({}_{E}\) does not intersect with G\({}_{M}\)
16 Set Elementcolor Yellow
17 YellowList = append(LE)
18 End If
19 End
20 If YellowList >> GreenList Then
21 Set Elementcolor Blue
22 Bluelist = append(L\({}_{E}\))
23 End If
24 End
```  
**Algorithm 2**Comparison between the geometry-based model and BIM-planned elements  
Then, a color-coding system was established to demonstrate the condition of each element based on its recognition and scheduling state, as illustrated in Table 2. Each color would represent the recognition and scheduling state and determine whether it would be included in the calculation for automated schedule and cost.