1 Introduction

The field of tunnel engineering has witnessed remarkable advancements in recent years, which have enabled the realization of various ambitious and pioneering tunnel projects. As global tunnel engineering ventures progress towards increasingly elongated and intricate trajectories, ensuring the safety of tunnel excavation has become a paramount and indispensable necessity for tunnel construction. This is particularly crucial because tunnel construction frequently entails encountering dense and intricate geological discontinuities, which have the potential to cause tunnel collapse, thereby incurring substantial human and economic consequences (Abdellah et al. 2023; Assali et al. 2014, 2016; Cai et al. 2021; Chand and Koner 2023; Jena et al. 2020). As a result, conducting geological investigations to obtain critical information for rock assessment and stability analysis is typically imperative in preventing such accidents (Cardia et al. 2023; Chen et al. 2020; Wang et al. 2022).

To obtain discontinuity information from a rock tunnel face, geological survey is crucial, which can be conducted using contact and non-contact methods. Traditional contact surveys involve manual measurements using compass and tape (Chen et al. 2018; Salvini et al. 2020; Thiele et al. 2017; Yi et al. 2023), which are inefficient and often result in incomplete and inaccurate data (Chen et al. 2021b). Non-contact surveys involve digital image processing (Buyer et al. 2018; Chen et al. 2021a; Garcia-Luna et al. 2019; Hou et al. 2023; Jiang et al. 2022), but the accuracy and amount of data obtained can be limited due to external factors such as light, dust, and humidity. In recent years, the use of 3D laser scanning to obtain the 3D geometry or detailed digital terrain models has become a highly accurate and efficient means of non-contact measurement (Incekara and Seker 2018; Ji and Luo 2019; Lato et al. 2010; Li et al. 2023; Xia et al. 2023). 3D laser scanning allows the acquisition of 3D point cloud data on the surface of the object in a short period with a large area and high resolution compared with traditional measurements. This technology has been extensively used for deformation monitoring in tunnels and has demonstrated great potential for obtaining tunnel discontinuity data (Jiang et al. 2020; Zhao et al. 2023). Several studies have shown that 3D laser scanning is a feasible and effective method for discontinuity extraction (Assali et al. 2016; Ge et al. 2021; Monsalve et al. 2019; Zhang et al. 2019).

Discontinuity information can be extracted based on point clouds, and the extraction methods can be divided into two types: manual and semi-automatic. In the past, manual method were more widely used (Lato et al. 2009; Olariu et al. 2008). However, the method not only requires a high level of operational knowledge and experience but also are inefficient and cumbersome in the presence of large amounts of point cloud data. Semi-automated methods can be subdivided into two types, the first is the identification procedures based on photogrammetric principles and patterns, which usually require 3D surface modeling of rock tunnel face, such as PlaneDetect (Lato and Voge 2012). The method has been extensively studied. However, it does not perform well in cases involving folds or deep concavities. Another method is to directly extract discontinuity information from the original point cloud, which can avoid the need for repetitive modeling, as demonstrated by the Discontinuity Set Extractor (Riquelme et al. 2014). This method has been widely studied and has a high degree of automation, but it takes longer to calculate and classify each point and requires longer running time when dealing with larger point cloud data.

Regional Growth originated from image segmentation algorithms and extended to point cloud segmentation algorithms to separate targets from the background by looking at the differences between the parameters associated with seed points and neighbors. The algorithm's low complexity and ease of implementation have contributed to its widespread usage in various applications. Li et al. (2016); Cao et al. (2017) used the RG algorithm to detect discontinuity from point clouds based on triangulated models. Voge et al (2013) and Wang et al. (2017) used the RG algorithm to extract rock fracture parameters by local surface normals and curvature based on point clouds. Considering the quantity of points acquired through 3D laser scanning to create point cloud data is influenced by the scanned area's size and the point spacing, or resolution, of the scanning device. Therefore, when using a high-resolution scanner to survey a large area, a significant amount of point cloud data is typically generated. As a result, traditional RG algorithms may be inadequate to meet the demands for high computational efficiency in such circumstances. Ge et al. (2018) used the grid data structure with the same interval to store point clouds, which can perform data access more efficiently based on rows and columns in the grid, while the criterion used in the RG algorithm was improved to check the similarity between seed and neighbors, which can increase the growth rate and improve the efficiency of extracting discontinuity geometry parameters from huge point cloud data. Recent research indicates that there is a need to enhance the identification of discontinuities by increasing its speed and accuracy to effectively address the challenge of identifying discontinuities across vast regions in forthcoming projects.

The objective of this paper is to utilize 3D laser scanning in conjunction with the improved RG algorithm to efficiently detect discontinuities in a large amount of point cloud data, in order to establish dependable fundamental geological parameters for tunnel stability analysis. The subsequent sections will elaborate on the processing and principles of the proposed method. Furthermore, a parametric sensitivity analysis will be carried out in Sect. 3. Finally, three case (standard cube, rock slope in Colorado and Xulong hydroelectric station tunnel) will be used to illustrate the effectiveness of the method.

2 Method

In this paper, a method for semi-automatic identification of discontinuities based on raw point cloud data is proposed, which can achieve fast computing of massive point cloud data and improve the accuracy of recognizing discontinuity. The steps are as follows: voxel filtering was used to process the point cloud data first. And secondly, the normal vector of each point was calculated. Then, the feature point sets of the discontinuities were identified by the improved RG algorithm. The discontinuity orientation was calculated finally. The flow of the methods is shown in Fig. 1.

Fig. 1
figure 1

The overall workflow and methodology of the proposed method

2.1 Voxel Filtering

The quantity of point cloud data for the rock tunnel surface is typically extensive. Processing such a large volume of data not only demands a high-performance computer configuration but also results in low computational efficiency. Thus, pre-processing the point cloud data by employing effective means to minimize the amount of data, while preserving its essential characteristics, is necessary to enhance the overall algorithmic performance.

The voxel grid, alternatively referred to as voxel filtering, has been employed as a means of reducing the quantity of point clouds. Voxel, defined as a series of diminutive individual three-dimensional spaces within a given volume, is used to partition the point cloud data into multiple 3D voxels. Within each voxel, all the points are substituted by an estimation of the centroid point. This method is useful in mitigating the computational complexity and downsizing the point clouds while preserving their shape characteristics. This is particularly relevant for improving alignment, surface reconstruction, and shape recognition. The specific processing steps are illustrated in Fig. 2 below.

Fig. 2
figure 2

Steps for Voxel Filtering

Voxel filtering significantly reduces point cloud computation. However, it may affect the features of the point cloud model and the accuracy of the calculations. The following will provide further illustration using two standard point cloud models (a cone and a standard plane) and a point cloud dataset with discontinuities.

As shown in Fig. 3a, the cone's point density and uniformity underwent a change following voxel filtering. The number of point clouds is significantly reduced, however, the morphological features of the cones are preserved with maximum fidelity. Therefore, it can be demonstrated that the application of voxel filtering preserves the inherent morphology of the point cloud model.

Fig. 3
figure 3

a The cone b The standard planes c The real discontinuity

As shown in Fig. 3b, a set of 15 points was initially located in the same plane, but only four points remained after being subjected to voxel filtering. Remarkably, despite the reduction in the number of points, the location of the plane remained unchanged. This can be attributed to the fact that the equation of a plane can be determined by at least three points, and as such, any reduction in the number of points used for the calculation would not affect the equation of the plane. Therefore, it can be inferred that the plane's equation is insensitive to the number of points used in its calculation, as long as the number of points used is not less than three.

In practical engineering, the implementation of voxel filtering is likely to have an unavoidable impact on the calculation outcomes, owing to the fact that discontinuity is not a standard plane. To assess the effect of voxel on discontinuity fitting, a point cloud set featuring discontinuity in a tunnel was selected, as depicted in Fig. 3c. The results obtained indicated that the errors associated with the plane fitting equation coefficients were less than 0.05 after voxel filtering, which may be considered to represent the same plane within the engineering error. Hence, the utilization of voxel filtering can effectively ensure the accuracy of the calculations.

2.2 Normal Calculation for Point Clouds

2.2.1 Building an Octree Structure

The octree structure, initially proposed by Dr. Hunter in 1978, serves as a data model that partitions geometric objects into voxels in three dimensions. Each voxel possesses identical temporal and spatial complexities and can generate a directional graph with a root node, which recursively links to its siblings in a circular fashion. Elements with equivalent characteristics within the octree structure form a leaf node, while other elements continue to subdivide into eight sub-cubes recursively, as illustrated in Fig. 4. To clarify, consider a Cartesian coordinate system that partitions space into eight quadrants, each of which can be further subdivided into eight quadrants by generating another Cartesian coordinate system. This process can be repeated indefinitely to partition any region of space into n Cartesian coordinates.

Fig. 4
figure 4

a The space decomposition of an octree b Search for marker points using an octree

Given the characteristics of an octree structure, each element can be located quickly and with minimal complexity. By placing the point cloud data into the octree structure, each point can be marked, allowing for efficient neighbor searching and the generation of a neighbor set.

2.2.2 Calculation of Point Normal Vector

Each point does not have a normal vector theoretically, where the point’s normal vector is defined as the normal vector of the plane fitted by the calculated point and its neighbors. This concept is visually represented in Fig. 5.

Fig. 5
figure 5

calculation of the point cloud normal

2.3 Discontinuity Extraction

2.3.1 Principle of RG Algorithm

RG is an image processing technique that involves the aggregation of pixels or sub-regions into larger regions based on a set of predetermined guidelines. The fundamental concept of RG involves the selection of a seed pixel or point, followed by the iterative merging of neighboring pixels or regions that share similar properties to create a new growth region. This process is repeated until no further growth is feasible. The similarity between the growth region and its neighboring regions is typically determined by analyzing various image characteristics such as color, texture, and grayscale values. Figure 6 illustrates the process by considering the example of a pixel. In this example, the attribute value of the pixel at point 1 is 14, while the attribute value of the pixel at point 5 is 15. As such, the growth direction proceeds from point 1 to point 5, as the attribute value of point 5 is closer to that of point 1 than any other neighboring points. Subsequently, the growth will continue towards regions with attribute values that are closer. The point closest to point 5 in terms of attribute values is point 7, so the growth region extends from point 5 to point 7. After reaching point 7, there are no more areas available for growth, and the region's growth process comes to an end.

Fig. 6
figure 6

Schematic diagram of RG algorithm

The RG algorithm can be distilled into three essential components: selecting the growth point (seed point), the RG criterion, and the growth-stopping conditions. Each point can be considered as a growth point and is grown according to the RG criterion. Once there are no more points that meet the RG criteria, the region will cease to expand, and the algorithm will terminate automatically. Among them, the RG criterion is the most important and is as follows.

The proposed method in this paper adopts a criterion for RG based on the gap between the normals and the distance between points. This criterion identifies points in close proximity to each other with a normal gap that falls below a certain threshold as part of a plane. These similar points are grouped into a feature point set. If the number of points in the set exceeds three, a new plane normal vector is fitted after a new point is added, and this is compared to the originally fitted plane normal vector. If the difference between the two normal vectors is less than a specified threshold, the new point can be added to the feature set. As shown in Fig. 7, the criterion of the improved RG is as follows.

Fig. 7
figure 7

Algorithm for detecting whether the neighbor of point \(p_{0}\) is the feature point of the discontinuity

(1) A seed point \(p_{0}\) from the point cloud is selected and added to the discontinuous feature point set \(Q\).

(2) In the set of neighbors belonging to the seed point \(p_{0}\), take n number of neighbors. If the normal vector absolute value of the difference between the neighbor and the seed point \(p_{0}\) is less than the preset threshold, the neighbor can be judged as a discontinuity feature point and added to the feature set \(Q\). The neighbors will be judged one by one, and then add the eligible neighbors to the feature set \(Q\) until the feature set \(Q\) has 3 points.

(3) When the number of points in feature set \(Q\) reaches 3, the condition for judging the remaining neighbors will become more stringent. If the remaining neighbors can be added to the feature set \(Q\), both of the following conditions must be satisfied:

Condition 1 The two plane normal vectors before and after adding neighbor to \(Q\) are denoted as \(Q_{a}\) and \(Q_{b}\) respectively, and the mean square error (MSE) of these two normal vectors must be less than threshold \(\lambda\), where MSE can be obtained by Eq. (1).

Condition 2 The vertical distance from the neighbor to the plane needs to be less than threshold \(d\) cm.

$$MSE = \frac{1}{S}\sum {_{s = 1}^{S} \left( {\mathop f\limits^{ \to } \times p_{s} - d} \right)^{2} }$$
(1)

where \(S\) denotes the number of points in the plane \(Q_{b}\), \(\mathop f\limits^{ \to }\) denotes the normal vector of the plane \(Q_{b}\), \(p_{s}\) denotes the \(s\) th point in the plane \(Q_{b}\); \(d = \mathop f\limits^{ \to } \cdot m\), \(m\) denotes the center of mass of the plane \(Q_{b}\).

2.3.2 Discontinuity Feature Point Set Extraction Steps

The step of discontinuity feature point set extraction is shown as follows.

  1. (1)

    A point from the point cloud data was selected as seed point to extract the feature point set.

  2. (2)

    After the feature point set was extracted, it will be removed from the point cloud data, and then a point was selected from the remaining point the seed point to substitute into the criterion.

  3. (3)

    The command was repeated as in (2) until there are no more points.

  4. (4)

    The number of points belonging to one discontinuity \(N_{\min }\) and \(N_{\max }\) were set according to the actual situation

  5. (5)

    The feature point set of discontinuity was fitted into a plane

The flow chart is shown in Fig. 8.

Fig. 8
figure 8

Discontinuous point set extraction process

2.4 Calculation of Discontinuity Orientation

The orientation of discontinuity, i.e., the strike, dip, and dip direction (as shown in Fig. 9), can be calculated as the equation of the fitting plane, the relation between the orientation of discontinuity and the fitting plane can be derived from Eq. (2) to Eq. (9).

Fig. 9
figure 9

Orientation of discontinuity

For a plane, the plane equation is given by:

$$Ax + By + Cz + D = 0$$
(2)

The normals of the plane can be expressed as

$$N = (N_{x} ,N_{y} ,N_{z} ) = \frac{(A,B,C)}{{\sqrt {A^{2} + B^{2} + C^{2} } }}$$
(3)

When \(N_{z} < 0\):

$$\alpha {\text{1 = cos}}^{ - 1} \left( {N_{z} } \right)$$
(4)

At this point, if \(N_{x} \ge 0\):

$$\alpha {\text{2 = cos}}^{ - 1} \frac{{N_{y} }}{{\sqrt {N_{z}^{2} + N_{y}^{2} } }}$$
(5)

If \(N_{x} < 0\):

$$\alpha {2 = 2}\pi {\text{ - cos}}^{ - 1} \frac{{N_{y} }}{{\sqrt {N_{z}^{2} + N_{y}^{2} } }}$$
(6)

When \(N_{z} < 0\):

$$\alpha {\text{1 = cos}}^{ - 1} \left( { - N_{z} } \right)$$
(7)

At this point, if \(- N_{x} \ge 0\):

$$\alpha {\text{2 = cos}}^{ - 1} \frac{{ - N_{y} }}{{\sqrt {N_{z}^{2} + N_{y}^{2} } }}$$
(8)

When \(- N_{x} < 0\):

$$\alpha {2 = 2}\pi {\text{ - cos}}^{ - 1} \frac{{N_{y} }}{{\sqrt {N_{z}^{2} + N_{y}^{2} } }}$$
(9)

where \(\alpha\) represents the dip direction of the discontinuity and \(\beta\) denotes the dip of the discontinuity.

3 Parameter Sensitivity Analysis

The process of the orientation calculation contains two selective parameters: the number of neighbors \(n\) and the maximum growth angle \(\theta\), which have key roles in the improved RG algorithm. This section utilizes a chosen urban rock slope (Fig. 10) area in Alicante (SE Spain) as an illustration to evaluate the impact of these two parameters on the identification of discontinuities and to recommend suitable values.

Fig. 10
figure 10

The urban rock slope in Alicante a Slope picture b Slope point clouds

3.1 Number of Neighbors

The impact of changing the number of neighbors \(n\) on discontinuity recognition was studied. The number of neighbors \(n\) is respectively set to 6, 12, 18, 24, 30, and 36 in the case of maximum RG angle \(\theta\) = 20°. The six identification results are shown in Fig. 11. It is specifically found that the larger the number of neighbors \(n\) takes, the more discontinuities are recognized, especially smaller discontinuities can be recognized. This is because the normal vector of its fitting plane is changing while the number of its neighbors is changing, which leads to changes in the recognition results.

Fig. 11
figure 11

Influence of the different number of neighbors \(n\) on the recognition result

In general, different values of the number of neighbors \(n\) have little effect on the identification of main discontinuities, which proves the robustness of the proposed method.

3.2 Maximum RG Angle

The impact of the maximum angle \(\theta\) on discontinuity recognition was studied. When the number of neighbors \(n\) is fixed at 15, \(\theta\) is set to 5°, 10°, 15°, 20°, 25°, and 30° respectively, the recognition results are shown in Fig. 12 and the analysis is as follows.

  1. (1)

    When the maximum RG angle \(\theta\) takes a small value such as 5° or 10°, the discontinuities cannot be fully identified. In addition, when \(\theta\) = 15°, the major discontinuities can be basically identified.

  2. (2)

    With \(\theta\) increasing, the more abundant discontinuities are identified, which is shown by the smaller discontinuities that can be identified.

Fig. 12
figure 12

Influence of the different maximum RG angle \(\theta\) on the recognition result

There is an explanation for the above: the maximum RG angle \(\theta\) determines whether the neighbors can be included in the discontinuity feature point set. When \(\theta\) is in the range of 5° to 10°, many neighbors cannot be included in the point set, which makes the identification of the discontinuity incomplete.

It can be seen that the main discontinuities can be recognized under reasonable thresholds, which proves the robustness of the proposed method. Considering, the orientation information of tiny discontinuities is crucial for tunnel engineering applications. Therefore, the number of \(n\) sets as 12 and the maximum \(\theta\) sets as 20°, are the appropriate criteria for threshold selection.

4 Case study

4.1 Case Study A

The proposed method will be used to identify a computer-generated standard cube point cloud model, and its recognition effectiveness and speed will be verified.

4.1.1 Recognition Effect

A cube model with dimensions of 1 m × 1 m × 1 m was created, and a point cloud consisting of 1 million points was generated based on the model. The assumed orientation is as follows: the positive X-axis represents east, the positive Y-axis represents north, and the positive Z-axis represents upward direction. The dip and dip direction of the planes can be determined in advance. The proposed method will be utilized to recognize the point cloud with or without voxel filtering. The multiple model of the cube are presented in Fig. 13, and the recognized orientation results are compared with the pre-calculated orientation in Table 1. It can be seen that the orientation of the plane measured by the proposed method is consistent with the theoretical value, and there is no difference between the results with and without voxel filtering.

Fig. 13
figure 13

Cube model display a Point cloud model b Point cloud model after using voxel filter c Discontinuity identification results of the proposed method d Discontinuity identification results of the proposed method after using voxel filter

Table 1 Comparison between the cube orientation recognition results and the theoretical values

4.1.2 Recognition Speed

Riquelme et al. (2014, 2016, 2018) developed the open-source software DSE to analyze the cube model and determine three sets of discontinuities. To evaluate the recognition efficiency of the proposed method, the same cube model with 1,000,000 points was identified by both the proposed method and DSE. The computation times of DSE and the proposed method (with and without voxel filtering, respectively) are presented in Table 2. The results show that DSE took 1142 s for computation, while the proposed method only required 7 s. If voxel filtering is used, the calculation time of the proposed method is further reduced to 1 s. These results indicate that the proposed method has a significant speed advantage compared to DSE.

Table 2 Comparing the processing efficiency of DSE and the proposed method

4.2 Case Study B

To validate the effectiveness of the proposed method, publicly available data obtained from the Rockbench.org website was used as a research case study. This data corresponds to a rocky slope located in Colorado, USA (Fig. 14). In this section, the results obtained through the proposed method will be compared with those acquired by Riquelme et al. (2014) using the DSE.

Fig. 14
figure 14

The slope in Colorado, USA a Slope picture b Slope point clouds

As shown in Fig. 15, a comparison of discontinuity normal vector density plot that both the DSE and the proposed method have divided all the discontinuity points into five groups based on their orientations. The comparative results for the identification discontinuities using two methods is shown in Fig. 16. It can be observed that some of the primary discontinuity identification results are nearly identical, with only minor differences evident in the fragmented and smaller discontinuities. However, these tiny discontinuities hold limited engineering significance and can be safely disregarded. To compare the results of orientation calculation, ten plane were randomly selected for data comparison. As shown in Table 3, the maximum error between the two methods is 11.46°, with an average error of 2.33°. The overall error falls within an acceptable range. In general, the results obtained through the proposed method exhibit a high degree of similarity to those obtained with DSE, confirming the feasibility of the proposed method.

Fig. 15
figure 15

Normal vector density plot of the discontinuity poles: a DSE b The proposed method

Fig. 16
figure 16

The discontinuity identification results: a DSE b The proposed method

Table 3 DSE and the proposed method orientation calculation results values

4.3 Case Study C

An actual tunnel project will be analyzed to prove the effectiveness of the proposed method for semi-automatic tunnel discontinuity identification.

4.3.1 Description of the Rock Tunnel Project

The tunnel studied in this paper is a part of the Xulong Hydropower Station project, located in the upstream section of the mainstream of Jinsha River at the junction of Deqin County, Yunnan Province, and Derong County, Sichuan Province, China (Fig. 17). The tunnel is about 2.1 m high and 2 m wide, with a total length of 60 m.

Fig. 17
figure 17

The basic information of the rock tunnel site

4.3.2 Tunnel Point Cloud Data Acquisition and Model Building

In this study, the point cloud model of the rock tunnel surface was acquired using the Swiss Leica ScanStationP40 high-speed 3D laser scanner (Fig. 18). The scanner's parameters are provided in Table 4.

Fig. 18
figure 18

Photo of the Swiss Leica ScanStationP40 high-speed 3D laser scanner

Table 4 Parameters of the 3D laser scanner

The tunnel was equipped with 12 scanning stations that were spaced 5 m apart, and the schematic diagram of these scanning stations is illustrated in Fig. 19a. Point cloud data for each station needs to be pre-processed to obtain the complete point cloud model of the tunnel, the specific process is as follows.

  1. (1)

    Point cloud stitching the target was set up at the beginning of the measurement and more than three public targets were mainly used as marker points for point cloud splicing of stations. All point cloud data of stations are spliced with the first reference station prevailing by using the method of division splicing, which needs to pass under the same coordinate system successively to achieve the purpose of massive point cloud stitching.

  2. (2)

    Point cloud denoising the collected data will be manually denoised by using Poly-works to remove the obvious peripheral scattered points.

  3. (3)

    Relative coordinate positioning The IMAlign module in Poly-works enables the quick and accurate alignment of chunked data. Two types of alignment are available: 1-point alignment, which is suitable for chunked data with obvious common features and is both fast and easy to operate, and n-point alignment, which requires at least three points to be selected from different locations in the two-point cloud maps to align the common parts roughly. Prior placement of marker points is typically necessary for accurate identification during alignment. The exact alignment is then performed using the best-fit alignment method. The alignment parameters and effects can be monitored in real-time, and the iterative operation can be halted at any time.

Fig. 19
figure 19

a Site layout of point cloud acquisition b Tunnel point cloud model

To present the tunnel point cloud model in more detail and to carry out further discontinuity identification, this study has chosen point cloud data from the representative first and second stations, and a point cloud model with 35,175,895 points was obtained, as shown in Fig. 19b.

4.3.3 Tunnel Discontinuity Identification

The study utilized the proposed method to identify the discontinuities of the tunnel point cloud model. Utilizing the approach outlined in this paper, a plugin named FecetDetect has been devised and seamlessly integrated into the proprietary Geocloud software. By employing this plugin, the process of identifying discontinuities after importing tunnel point cloud data is greatly simplified. In the parameter settings, based on the optimal threshold criteria chosen during the prior parameter sensitivity analysis, the number of neighbors \(n\) was set as 12 while the maximum RG angle \(\theta\) was set as 20°. Considering the model has a large amount of point cloud data, voxel filtering was necessary for data streamlining. The voxel size was divided into 0.005, resulting in 3,500,446 points after voxel filtering. This reduced 90% of the calculated points in comparison to the original. The recognition result of the proposed method is presented in Fig. 20, where 1741 discontinuities were identified with different colors to indicate the distinction among them.

Fig. 20
figure 20

Comparison of point cloud model and the semi-automatic recognition model

1741 Discontinuities in total were identified from the tunnel point cloud by the proposed method and were plotted on the stereographic projection by using the Dips. As shown in Fig. 21, all discontinuities were classified into two sets based on their orientation. These geometric parameters of discontinuities were summarized in Table 5.

Fig. 21
figure 21

Normal vector density plot of the discontinuity poles

Table 5 The summary of geometric parameters for 3 discontinuity sets

Six areas were selected to compare their identification results with real photos. As shown in Fig. 22, it can be seen that the identification results are very similar to the real photos.

Fig. 22
figure 22

Comparison of real tunnel discontinuity photos with semi-automatic recognition discontinuity graphics

Three discontinuities were selected from each of the six pre-determined areas. Orientation information will be manually calculated using the Cloudcompare three-point identification method, and the results will be compared with those identified by the proposed method.

CloudCompare three-point identification method uses the Compass plug-in to manually pick up three measurement points on a measured discontinuity and the average of these three measurement points’ orientation is considered as the discontinuity orientation. The specific calculation method as Eqs. (10) and (11).

$$\Delta \alpha = \frac{{\left( {\alpha_{1} + \alpha_{2} + \alpha_{3} } \right)}}{3}$$
(10)
$$\Delta \beta = \frac{{\left( {\beta_{1} + \beta_{2} + \beta_{3} } \right)}}{3}$$
(11)

where \(\alpha\) denotes the dip, \(\beta\) represents the dip direction.

The identification results of CloudCompare three-point are shown in Fig. 23. And the identification results compassion between CloudCompare and Proposed method are summarized in Table 6. It can be seen that the maximum error is 3.81° and the overall error is within the acceptable range.

Fig. 23
figure 23

Demonstrated using the CloudCompare three-point measurement method

Table 6 CloudCompare and the proposed method orientation calculation results values

5 Conclusion

In this paper, the 3D laser scanner is used to obtain the point cloud model of the rock tunnel surface. An improved RG algorithm as the core algorithm is proposed to semi-automatically identify discontinuity from the massive point cloud. Parameter sensitivity analysis of the two thresholds of the maximum RG angle \(\theta\) and the maximum number of neighbors \(n\) was carried out to verify the performance of the proposed method. The efficiency and the accuracy of orientation calculation were evaluated by three case studies, namely the standard cube, the rock slope in Colorado and the Xulong hydropower tunnel, combined with the comparative analysis of the DSE and CloudCompare.

The main contributions of this paper are summarized as follows.

  1. (1)

    In the parameter sensitivity analysis, the effect of different values of the maximum RG angle \(\theta\) and the maximum number of neighbors \(n\) on the identification results was analyzed using the control variable method. The results indicate that the proposed method maintains good recognition results for different values of these two parameters within a reasonable range, demonstrating its robustness.

  2. (2)

    In terms of quantitative evaluation of recognition performance: for the standard cube model, the proposed method identified discontinuities that maintain consistency with the geometric shape of the cube model. And the orientation of the plane measured by the proposed method is consistent with the theoretical value, and there is no difference between the results with and without voxel filtering. For the rock slope, the results obtained through this method were compared with those obtained using DSE, and both discontinuity identification outcomes were highly similar. And the maximum in the calculation of discontinuity orientation error is 11.46°, with an average error of 2.33°. For the real rock tunnel, the recognition effect results by the proposed method were compared with real rock tunnel surface photos. The identified discontinuities exhibited strikingly similar characteristics in terms of shape, contour, and size. And the maximum error in the calculation of discontinuity orientation is 3.81° compared with the CloudCompare three-point identification method.

  3. (3)

    In terms of recognition efficiency: a standard cube point cloud data with one million points were recognized using the proposed method and DSE on the same device to analyze the efficiency of the proposed method. The recognition time for DSE amounted to 19 min and 2 s, whereas the time required for the proposed method was merely 7 s in the absence of voxel filtering, and it was further reduced to 1 s upon the application of voxel filtering. This demonstrates a substantial improvement in the operational efficiency of the proposed method. Specifically, when dealing with one million points, the proposed method can reduce computation time by at least 99.39%, thereby substantiating the significant advantage of the proposed method in handling massive point clouds comprising millions, or even tens of millions, of points.

6 Discussion

The section will explore the limitations of the existing research and discuss future research plans for the next steps.

The rock mass of tunnels is complex, and the regularity of discontinuities varies. Some planes may exhibit undulations, leading to significant differences between the normal vectors of individual points within the plane and the overall normal vector of the plane. This leads to the presence of numerous fragmented and small-sized discontinuities within the plane. Additionally, visual blind spots and other factors may cause voids during the scanning process using a 3D laser scanner, resulting in the point cloud data of elongated discontinuities being divided into multiple sections and consequently identified as multiple discontinuities. However, from the perspective of engineering geology, these discontinuities should be considered as a single complete discontinuity. To meet the requirements of the engineering geology field, further optimization is needed for the identification of the discontinuities.

After obtaining accurate information about the discontinuities, the next step will focus on the stability analysis of the tunnel, identifying key rock masses for mechanical stability analysis, and implementing relevant support measures to ensure the safety of tunnel excavation in engineering practice.