## 2 Methodology
### Tunnel Cross Section Extraction
#### 2.3.3 Determination of Cross-Section Points  
This step aims to determine all of the cross section points on the plane \(\alpha\). To this end, we first determine the corresponding local tunnel point clouds regarding each straight line \(\mathcal{L}_{k}\). Then, the local tunnel point clouds are fitted by the nonlinear cylinder surface model. The intersection points between \(\mathcal{L}_{k}\) and the cylinder surface are obtained and the potential pseudo intersection point is further removed under the constraint of local tunnel point clouds' data extent. More precisely, we first get a point \(q_{k}\) from a straight line \(\mathcal{L}_{k}\) and \(q_{k}\) is subject to the constraint \(q_{k}=o+r\stackrel{{\rightharpoonup}}{{k}}\). As shown in Figure 7b, it is obvious that all of the \(q_{k}\) from the straight lines constitute the circle with center \(o\) and radius \(r\). As we previously mentioned in Section 2.1, the centers \(o\) and \(o^{{}^{\prime}}\) do not overlap, which means that the path of \(q_{k}\) is not consistent with the real tunnel surface. Once we determine each \(q_{k}\), the neighborhood searching centered at \(q_{k}\) is performed. The local point set \(\mathcal{Q}_{k}\) indicated by green ovals are expected to be obtained. It is noted that the number of points within \(\mathcal{Q}_{k}\) is determined by \(\rho\times\mathcal{A}\), from which \(\mathcal{A}\) is the area of searching extent and \(\rho\) is the density of tunnel point clouds. To improve the computational efficiency of the neighborhood searching, the K-D is established using the tunnel points in advance. For each local point set \(\mathcal{Q}_{k}\), the conventional RANSAC algorithm is used to fit a cylinder surface whose parameters include an axis of a cylinder, an arbitrary point from the axis, and a radius of a cylinder. The intersection points between \(\mathcal{L}_{k}\) and its corresponding cylinder surface can be calculated on the plane \(\alpha\). It should be aware that, for each straight line, two intersection points can be obtained, but one of them is a pseudo point. In this case, the pseudo point should be eliminated under the constraint of local tunnel points' extent. As a result, the real intersection point remains and can be regarded as one of the tunnel's cross-sectional point corresponding to \(\mathcal{L}_{k}\). The above process is executed repeatedly until all of the cross-sectional points on the plane \(\alpha\) are calculated. In practice, it can be observed that some extracted cross sections have a degree of missing data as it is evident in Figure 8b. That is, some points on the specific cross sections are missing, causing the  
Figure 7: The diagram of determination of cross-sectional planes and points. (**a**) cross-sectional plane determination; (**b**) the geometric relationship for determination of cross-sectional points. Note that the dashed circle in red represents the auxiliary circle centered at axis point \(o\), while the black circle denotes the real tunnel profile shape centered at point \(o^{{}^{\prime}}\). The blue circle represents the fitted cylinder using the local point set in \(\mathcal{Q}_{K}\). cross section's points to be incomplete. This deficiency is mainly because the point set \(\mathcal{Q}_{k}\) includes outliers and noises, or probably because the ratio of the number of liner points in \(\mathcal{Q}_{k}\) is not sufficient to fit a cylinder surface. To further refine the extracted cross sections of a tunnel, we adopt a strategy of \"fitting-and-resampling\". More specifically, we refit the points of each cross section via the circular model and then get the complete cross-sectional points at a specific rotation interval \(\Delta\varphi\) through resampling from the fitted tunnel circles. To get the parameters of the fitted circle, the least squares regression method under the constraint that the new generated center of the circle must lie on the cross-sectional plane \(\alpha\).