1 Introduction

The rock mass referred to a complicated geological body of solid earth materials, containing different types and sizes of rock discontinuities, which are defined as all kinds of mechanical breaks and weakness planes within the rock mass, including faults, bedding planes, joints, fractures, and other planes of physical weakness (Hudson and Priest 1979; Priest 2012). The geometry of these rock discontinuities had a significant influence on the mechanical behaviors and hydraulic properties of the rock mass (Ghosh and Daemen 1993; Kulatilake et al. 1995; Tang et al. 2019; Zhang et al. 2019). Several geometrical parameters were available to quantitatively describe the rock discontinuities: orientation, roughness, spacing, persistence, etc. (ISRM 1978). The first of these, the orientation-dip angle and dip direction-was critical in the stability analysis of jointed rock mass (Sturzenegger and Stead 2009). For example, the orientation was an essential input parameter in the block theory (Goodman and Shi 1985), rock mass classification (Pantelidis 2009), and limited equilibrium method (Alejano et al. 2011). Therefore, it is a very important task to accurately characterize the orientation of rock discontinuities in rock engineering (Mah et al. 2011).

It is noteworthy that the mechanical and physical properties of rock discontinuity are highly scale-dependent. According to the scale level, the rock discontinuities were classified into five major categories: Grade I, Grade II, Grade III, Grade IV, and Grade V (Table 1). Grade I rock discontinuities controlled the regional crustal stability, and the boundary conditions and failure modes of engineering rock mass were determined by Grade II & III rock discontinuities. In the common rock engineering, few even no Grade I–III rock discontinuities were observed in the rock mass. Additionally, the distribution of these kinds of rock discontinuities had strong regularity and was easy to measure. In contrast, many Grade IV rock discontinuities were randomly distributed in the rock masses. The Grade V rock discontinuities were characterized by the laboratory scale of specimens and were difficult to be mapped due to technical limitations (Palmstrom 1995; Liu and Tang 2008; Vallier et al. 2010). The proposed approach was designed for medium size rock discontinuities during the field survey. Therefore, this presented study focus on the Grade IV rock discontinuities.

Table 1 Characterization of different scales of rock discontinuity

Traditionally, handheld devices-the compass and inclinometer-have been regularly used to measure the orientation of the rock discontinuities, requiring engineers to directly contact the outcrop (Priest and Hudson 1976). This conventional measurement was characterized by simple operation and controllable precision. However, the disadvantages of the manual measurement are also obvious: (1) It was time-consuming and laborious and not suitable for larger-scale field surveys. (2) It subjected engineers to significant safety risks, particularly when performing a survey in a hazardous working condition; for example, on a slippery and steep slope. (3) Measurements, which are only made to easily accessible regions, may produce sampling biases (Guo et al. 2017).

The limitations of the traditional surveys highlighted the advent of remote sensing techniques, which mainly include two categories: photogrammetry and laser scanning (Assali et al. 2014). Photogrammetry is a technique used to build a 3D model of physical objects from their 2D images (Jiang et al. 2008). This technique was more vulnerable to lighting conditions, and as a result, it was difficult to use when the light source was minimal (e.g., in a tunnel or during cloudy weather). In addition, the measuring accuracy depended on the distance between the camera and the object; thus, only the close-range photogrammetry could be satisfactory for performing 3D outcrop modeling and rock discontinuity identification (Baltsavias 1999; Haneberg 2008). By contrast, due to the technique’s high resolution, high efficiency, and long measuring range, laser scanning was widely used to collect the point cloud of the object’s external surface in geohazards monitoring (Miller et al. 2008; Abellán et al. 2014;), joint roughness estimation (Kulatilake et al. 2006; Tang et al. 2012; Ge et al. 2014), unstable rock mass determination (Gigli et al. 2014), granular deposition measurement (Shen et al. 2018), etc. Several successful applications of laser scanning in rock discontinuity mapping have proven that this technique is feasible and effective (Umili et al. 2013; Telling et al. 2017; Li et al. 2019).

Many attempts have been made to detect and measure the rock discontinuities from point clouds collected using laser scanning. In the manual approaches, at least three points belonging to the same discontinuity were selected to fit a plane through visual inspection, followed by an orientation calculation based on the normal vector of the fitting plane (Maerz et al. 2013). However, similar to the traditional measurement, it was inefficient, and the accuracy of this approach relied on the professional background and experience of engineers.

Consequently, there was an increasing interest in an automated approach, and several statistics and regression algorithms have been developed to automatically detect the rock discontinuities from point clouds. Geometrically, a natural rock discontinuity approximated a plane with a certain orientation and scale. Algorithms associated with the plane detection in computer vision were applied to the discontinuity identification, which can be subdivided into three main classes: (1) Clustering-based methods, such as fuzzy k-mean clustering (Slob et al. 2005; Olariu et al. 2008; Vöge et al. 2013), iterative self-organizing data analysis (Zhang et al. 2018), and random sample consensus (RANSAC) clustering (Ferrero et al. 2009; Chen et al. 2016); (2) region-based segmentation methods, such as region-growing (Wang et al. 2017; Ge et al. 2018), box analysis (Gigli et al. 2011), and voxelization (García-Cortés et al. 2012); (3) other methods, including kernel density estimation (Riquelme et al. 2014), Hough transform (Leng et al. 2016), principal component analysis (PCA) (Gomes et al. 2016), etc. Normally, millions or even tens of millions of points are contained in a high-resolution point cloud of an outcrop, and the statistic and regression algorithms always take a long-running time for the huge data processing since the loop operation and judgment operations. Therefore, it is essential to develop algorithms with high efficiency to reduce the computing time to an acceptable level (Ferrero et al. 2009; Chen et al. 2016). Additionally, due to the geometric irregularity of the geological environment and the influence of noise introduced during scanning, the rock discontinuity identification was quite complicated using the statistic and regression algorithms, which in turn causes the measuring error. For instance, man-made rock joints were probably produced during excavation, which was similar to natural discontinuities and characterized by near-flat surfaces in geometry. In this way, the statistic and regression algorithms cannot distinguish natural and man-made discontinuities. Therefore, it remains a challenge to extract discontinuities from point clouds quickly and accurately.

A notable increase in the application of artificial neural network (ANN)-one subset of machine learning (ML)-has been observed because of its effectiveness in solving complex problems in the domain of rock mechanics and geohazards susceptibility assessment (Sonmez et al. 2006; Yılmaz and Yuksek 2008; Feng and Hudson 2010; Pradhan and Lee 2010; Pham et al. 2017; Ge et al. 2018). Compared to statistical and regression algorithms, it is not necessary to set up the precise criterion for pattern recognition and classification and data clustering using ANN algorithms. Instead, the historical data (also known as input data or training data) was learned by ANN algorithms to extract the pattern of the historical data, and then a prediction model was constructed to forecast the pattern for the new data. Furthermore, the performance (e.g., accuracy and application scope) of the established ANN prediction model can be enhanced by learning new historical data, which mimics the learning process of a human brain from experience (Merlin et al. 2016). In this manner, it is possible that engineers and geologists can detect and characterize the rock discontinuities easily and accurately, without requiring a high professional background in mathematics and computer programming. More importantly, similar to a biological neural network, the nodes were connected in an ANN to allow communication among them, and each node operated in parallel so that it can perform multiple computing tasks faster than statistical and regression algorithms. This is the reason that ANN was also called a parallel distributed processing system (Dongare et al. 2012).

Unfortunately, few studies have used ML and ANN algorithms to identify the rock discontinuities to determine their orientation from the point clouds. The objective of this study was to enhance the accuracy and efficiency of discontinuity identification using an ML algorithm (i.e., ANN). Two well-known point clouds were selected as the case study, which was conducive to the verification of the calculations. Considering four input parameters (point coordinates, point normal, point curvature, and point density), an artificial neural network was established to produce the automated identification of rock discontinuities based on a small number of the training samples, which were manually chosen from the raw point clouds.

2 Methodology

This method involved five primary steps: establishment of the artificial neural network, determination of the input parameters, selection of the training samples, extraction of the individual discontinuity, and calculation of the discontinuity orientation. Figure 1 illustrates the flow chart of the proposed method in this study, and more details were provided in the following subsections.

Fig. 1
figure 1

Flow chart of the proposed method

2.1 Datasets Description

Two sets of point clouds-a cube and a road cut-were used as the case studies. The cube is a well-known polyhedron, while intensive research associated with this road cut has been conducted using other methods (Lato et al. 2009; Lato and Vöge 2012; Guo et al. 2017), facilitating the verification of the algorithm proposed in this study.

A bench-top 3D digitizer (VIVID 9i) was employed to acquire the point cloud of a cube in the laboratory. This cube was placed on a fixed platform. The point cloud of its 5 surfaces was collected from 10 different scans with an average scan distance of 1.406 m and a scan-angle of 30°, except for the underside of the cube due to invisibility (Riquelme et al. 2014). The raw point cloud of the cube was made available for download via the Personal website of Adrían Riquelme Guill (https://personal.ua.es/en/ariquelme/).

The road cut is located along state highway 15 between Brewers Mills and Kingston, Ontario, Canada. The lithology of the outcrop was a quartzite with a high geological strength index ranging from 75 to 85. Three sets of rock joints were clearly developed within the rock mass. A terrestrial laser scanner (Optech ILRIS 3D) was employed to collect the point clouds of the road cut. The point cloud of this road cut is an open-source data, which is available in RockBench (www.rockbench.org) (Kalenchuk et al. 2006; Lato et al. 2009).

Figure 2 shows the point cloud of the cube and the point cloud with the color information of the road cut, respectively, exhibiting high resolution and quality. More details about two sets of point clouds are listed in Table 2.

Fig. 2
figure 2

The point clouds of two cases in this study: a a cube and b a road cut

Table 2 Summary of the basic information about two sets of point clouds

2.2 Establishment of the Artificial Neural Network

A feed-forward neural network was trained to classify the input point clouds to discontinuities or non-discontinuities, based on XYZ-coordinates, point normal, point density, and point curvature. Figure 3 shows the neural network architecture used in this study, consisting of three layers-an input layer, a hidden layer, and an output layer. The node of the input layer was related to the input parameters. Four parameters were considered for each point in the discontinuity identification, so accordingly, there were four nodes in the input layer. The node of the output layer varied with the sets of discontinuity and non-discontinuity. For example, in the cube case, there were four classes of discontinuities (two vertical planes, a top horizontal plane, and a non-discontinuity-the edge). Therefore, four nodes were specified for the output layer. Similarly, four nodes were assigned in the road cut based on the sets of discontinuities. For the hidden layer, ten nodes were involved in the neural network. The scaled conjugate gradient and cross-entropy algorithms were selected as training and performance functions, respectively.

Fig. 3
figure 3

The neural network architecture used in this study

After the creation of the neural network, it was necessary to select learning samples (training samples, validation samples, and testing samples) to train and test the neural network. To ensure the accuracy of the prediction model, a comparison between predicted values (discontinuity and non-discontinuity) and true values (discontinuity and non-discontinuity) were performed to evaluate the performance of the neural network. If errors between them met the calculation requirement (quite close to the 0), this network was accepted as the final model that could then be used to identify the discontinuities from point clouds in the future. More details were provided in the next subsections.

2.3 Determination of the Input Parameters

The point XYZ-coordinates, point normal, point curvature, and point density were the four input parameters associated with each point that were computed to serve for the creation of the learning samples.

2.3.1 XYZ-Coordinates

A laser scanner is a powerful tool used to collect the geometric information of the discontinuities’ surface in the form of a point cloud, which was represented by a set of points with XYZ-coordinates. During the scanning, XYZ-coordinates were determined by emitting beams and measuring the orientation parameters-such as distance, vertical angle, and horizontal angle-between the laser scanner and object. The XYZ-coordinates were related to the location of discontinuities and treated as the basic input parameter in discontinuity detection. Figure 4a shows the rendering of point clouds in two cases based on XYZ-coordinates. Although the discontinuities can not be accurately distinguished from point clouds only based on XYZ-coordinates, they are practicable for discontinuity detection in a particular situation. For example, the top plane of the cube was characterized by the same Z-coordinates.

Fig. 4
figure 4

Calculation of four input parameters of point clouds in two cases: a point XYZ-coordinates, b point normal, c point curvature, and d point density

2.3.2 Point Normal

The point normal is defined as the normal vector of the fitting plane to a set of points consisting of the query point and surrounding points. The normal of each point was determined based on the k-nearest neighbors (k-NN) and least squares (LS) algorithms: k-NN was used to determine the neighbors of a given point based on the distance; then, the LS algorithm was employed to find the best fitting plane for these points and calculate the normal vector of the fitting plane.

The number of neighbors (k) had a significant impact on the point normal calculation, which was closely related to the identification of rock joints. If more surrounding points are selected, a fitting plane with a larger scale will be generated, indicating more global geometrical features of the point cloud are considered and vice versa. Using the cube for an example, Fig. 5 illustrates the point normal distribution with a different number of surrounding points. It can be found that calculation errors were introduced to point normal calculation as too many and too few neighbors were involved. Therefore, an appropriate k is required to be carefully specified before performing a k-NN search, allowing global and local geometrical features of the point cloud to be captured simultaneously. In this study, the k for the cube and road cut cases were set 50 and 60, respectively. Figure 4b shows that planes or rock joints with different orientations can be distinguished properly based on point normal distribution with the above-mentioned setting.

Fig. 5
figure 5

Point normal distribution of cube case with different surrounding points: a k = 3; b k = 5; c k = 10; d k = 50; e k = 500; f k = 5000

2.3.3 Point Curvature

The point curvature is a local descriptor that represents the second-order derivation of a surface consisting of the query point and its neighbors in a point cloud, which expresses the degree to which a surface deviates from being a plane (Magid et al. 2007). The curvatures-principal curvatures at a specified point in the point cloud was estimated by calculating eigenvalues and eigenvectors of a certain 3 × 3 matrix, which was related to the specified point and its neighbors. In this study, the minimum curvature at each point was selected as the input parameter, and the neighbor points were identified using a k-NN algorithm, considering the same number of neighbors with the point normal calculation (k = 50 & 60). The locations of sharp edges and curved areas feature high point curvature. Therefore, in Fig. 4c, it can be seen that the points with high curvature were located at the intersection lines of different discontinuities in both cube and road cut cases.

2.3.4 Point Density

The point density was defined as the number of points per unit area with respect to a query point, and it could be determined by calculating the ratio of the number of points that fall within the search circle of this query point to the area of the search circle. The number of points within the search circle with a specified radius was determined using a k-NN algorithm. Figure 4d shows the point density of point clouds in the cube and road cut cases. Multiple scans were conducted to capture the point clouds of the entire cube; as a result, the top horizontal plane of the cube was measured in each scan, leading to high point density on the top plane. As for the road cut case, it can be found that the points were relatively evenly distributed on the outcrop.

2.3.5 Data Normalization

The scale and dimension vary with the above-mentioned input parameters, causing unreasonable predictions and a long training time during the application of artificial neural networks to data mining. Therefore, it was necessary to perform the data normalization prior to learning from the training data using an artificial neural network (Sola and Sevilla 1997; Nayak et al. 2014).

To eliminate the influence from the scale and dimension differences, the min–max normalization was used to re-scale the range of input five parameters into the range in [0,1] as follows (Jain 2005),

$$P^{\prime}_{i} = \frac{{P_{i} - \min \left( {P_{i} } \right)}}{{\max \left( {P_{i} } \right) - \min \left( {P_{i} } \right)}}\begin{array}{*{20}c} {\begin{array}{*{20}c} {} & {} & {} \\ \end{array} } & {\left( {i = 1, \ldots ,5} \right)} \\ \end{array}$$
(1)

where \(P^{\prime}_{i}\) is the normalized value of the ith input parameter, Pi is the original value of the ith input parameter, and min (Pi) and max (Pi) is the minimum and maximum value of the ith input parameter, respectively.

2.4 Selection of the Learning Samples

The training samples were manually selected from the point clouds of two cases through visual judgment. In the cube case, there were four sets of planes observed according to their orientations: one horizontal-plane set, two sets of vertical planes (each set consists of two sides), and noise data which were generated during multi-angle scanning and mainly located on the edges. Fifteen points were handpicked for each set of the plane and 40 points for the noise data group. Note that the points should be selected randomly and uniformly from the point cloud of each group (Fig. 6a). Figure 6b shows that 51 points were selected as training samples in the road cut case. Three points (black dots) were located on a man-made rock joint due to road cutting, these were regarded as the non-discontinuity group. Two groups of points -30 red dots and 9 green dots-were chosen to represent the vertical rock discontinuities. Nine points (blue dots) were selected as the fourth group to represent the bedding planes present in the road cut.

Fig. 6
figure 6

Training sample creation for artificial neural networks in two cases. a a cube (yellow dots were located on the non-plane positions-edges); b a road cut (block dots on the upper right corner were on the artificial rock discontinuities)

Seventy percent of the learning samples were appointed as training samples to be learned by the neural network. Fifteen percent of the learning samples were specified as validation and testing samples, respectively, which were used to conduct the comparative analysis between predicted values and true values. Additionally, the training process was set to stop when the errors between validation and prediction increased for six iterations (epochs) to avoid overfitting.

2.5 Extraction of the Individual Discontinuity

The individual discontinuity must be further extracted from the different sets of rock discontinuities (group discontinuities), which were identified from point clouds using the aforementioned neural network. In the same discontinuity group, individual rock discontinuities were characterized by similar orientation; however, there was no connection between them, indicating these individual rock joints were discontinuous in spatial distribution. A clustering algorithm called density-based spatial clustering of applications with noise (DBSCAN) was employed to separate the individual discontinuities from group discontinuities. DBSCAN is a density-based clustering algorithm and is capable of detecting the points on the boundary of a single discontinuity (outlier points) where there is a low point density (Birant and Kut 2007; Tran et al. 2013; Schubert et al. 2017). Two parameters, the radius of the neighborhood (ε) and the minimum number of points forming a single discontinuity (minPts), had to be specified to classify the points as core points, reachable points, and outlier points. The core and reachable points composed the individual discontinuity. In this study, ε and minPts were carefully selected for each set of discontinuity in two cases, as summarized in Table 3.

Table 3 ε and minPts used for individual discontinuity extraction in both cases

2.6 Calculation of the Discontinuity Orientation

Fitting a plane to the points belonging to the same individual rock discontinuity was performed to calculate the normal vector, which was used to determine the corresponding orientation. The general plane equation can be written as,

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

where, A, B, C, and D are constants, and the normal of this plane is the vector of (A, B, C) can be determined using the PCA algorithm with respect to the set of points (Klasing et al. 2009). In the geological coordinate system, the positive y-axis indicates the north, the positive x-axis indicates the east, and the positive z-axis represents the up direction. The dip (α) of a given rock joint is defined as the acute angle between the rock joint and the horizontal plane, dip and the angle formed by the normal of a rock joint and the horizontal plane are complementary angles. The dip direction (β) is the angle between the normal projection and the north, which is measured clockwise from the north in the horizontal plane. The dip and dip direction of a rock joint can be derived from the normal vector of the rock joint as follows,

$$\alpha = \arccos \left( {\left| {\frac{C}{{\sqrt {A^{2} + B^{2} + C^{2} } }}} \right|} \right)$$
(3)
$$\left. \begin{gathered} if\begin{array}{*{20}c} {} \\ \end{array} A \ge 0,B \ge 0,C \ge 0,\beta = \arcsin \left( {\left| {\frac{A}{{\sqrt {A^{2} + B^{2} } }}} \right|} \right) \hfill \\ if\begin{array}{*{20}c} {} \\ \end{array} A < 0,B > 0,C \ge 0,\beta = 360 - \arcsin \left( {\left| {\frac{A}{{\sqrt {A^{2} + B^{2} } }}} \right|} \right) \hfill \\ if\begin{array}{*{20}c} {} \\ \end{array} A < 0,B < 0,C \ge 0,\beta = 180 + \arcsin \left( {\left| {\frac{A}{{\sqrt {A^{2} + B^{2} } }}} \right|} \right) \hfill \\ if\begin{array}{*{20}c} {} \\ \end{array} A > 0,B < 0,C \ge 0,\beta = 180 - \arcsin \left( {\left| {\frac{A}{{\sqrt {A^{2} + B^{2} } }}} \right|} \right) \hfill \\ if\begin{array}{*{20}c} {} \\ \end{array} A \ge 0,B \ge 0,C < 0,\beta = 180 + \arcsin \left( {\left| {\frac{A}{{\sqrt {A^{2} + B^{2} } }}} \right|} \right) \hfill \\ if\begin{array}{*{20}c} {} \\ \end{array} A < 0,B > 0,C < 0,\beta = 180 - \arcsin \left( {\left| {\frac{A}{{\sqrt {A^{2} + B^{2} } }}} \right|} \right) \hfill \\ if\begin{array}{*{20}c} {} \\ \end{array} A < 0,B < 0,C < 0,\beta = \arcsin \left( {\left| {\frac{A}{{\sqrt {A^{2} + B^{2} } }}} \right|} \right) \hfill \\ if\begin{array}{*{20}c} {} \\ \end{array} A > 0,B < 0,C < 0,\beta = 360 - \arcsin \left( {\left| {\frac{A}{{\sqrt {A^{2} + B^{2} } }}} \right|} \right) \hfill \\ \end{gathered} \right\}$$
(4)

3 Results

Based on the above-mentioned analyses, the automated identification and orientation calculation were implemented for two cases.

Initially, neural networks used for discontinuity identification were established through learning the training samples. The models were accepted because the differences between prediction and observation were close to 0. Figure 7 shows the performances of two neural networks for two cases. The best validation performance appeared at epoch 12 for the cube case (0.061586) and epoch 32 for the road cut case (0.030683). The validation and vesting curves tended to level with fewer fluctuations after the best epochs, indicating the robustness of the prediction models.

Fig. 7
figure 7

Performance plots of the ANN models for two cases: a a cube and b a road cut

Figure 8a shows the group discontinuity detection using the neural network established according to the training samples. The points belonging to the same group were assigned to the same color. Four sets of planes were mapped in the cube case, and four sets of rock discontinuities were produced in the road cut case, including one non-discontinuity group shown in black.

Fig. 8
figure 8

Discontinuity extraction from point clouds in two cases based on the ANN algorithm: a group discontinuity identification (points colored in black on the upper right corner were identified as artificial rock discontinuities), b individual discontinuity identification, and c stereographic projections

Figure 8b illustrates the individual discontinuity clustering of two cases using the DBSCAN algorithm with parameters specified in Table 3, coloring different discontinuities with different colors. Five individual planes were extracted in cube case and 515 individual rock discontinuities for road cut case, corresponding with the real situation in Fig. 2 through visual comparisons.

Figure 8c provides the stereonets of two cases that were projected in the lower hemisphere with equal angles. It can be seen that three sets of discontinuities were extracted from all detected group discontinuities. According to Eqs. (24), the orientation for each discontinuity was calculated. Table 4 presents the point count, discontinuity count, and average orientation for each discontinuity set. In the cube case, the top face was an approximately horizontal plane with a dip angle of 4.88° and a dip direction of 255.08° in the cube case. Two adjacent side faces were supposed to be vertical and perpendicular to each other. Their dip angles were 89.77° and 89.00°, which was close to vertical, while dip directions were 290.17° and 20.08°, respectively, with an approximate intersection angle of 270.09°. The orientations calculated in this case matched Riquelme’s (2014) findings. Furthermore, in the road cut case, the orientation calculations (bedding: 196.88° ∠ 34.88°, Joint 1: 129.72° ∠ 78.27°, and Joint 2: 303.52° ∠ 89.07°) were consistent with the recent studies (Lato and Vöge 2012), indicating the discontinuity identification and orientation calculation in this study were acceptable.

Table 4 The summary of the orientation calculation for both cases using the proposed method

4 Discussions

To further validate the reliability of the proposed method, a statistic and regression method-the modified region-growing (MRG) algorithm-was used to extract the discontinuities from point clouds of the same two cases, and then a comparison analysis of discontinuity identification between ANN and MRG algorithms was conducted.

The point normal was calculated as the membership criterion in the discontinuity detection using MRG, and the growth threshold-which is related to the normal difference between adjacent points-was set as 15° for both cases. Figure 9a, b illustrate the results of discontinuity identification and stereographic projections of two cases, respectively. It can be seen that the MRG algorithm produced a similar discontinuity detection with the ANN prediction model (Fig. 8b, c).

Fig. 9
figure 9

Discontinuity extraction from point clouds in two cases using the RMG algorithm: a individual discontinuity identification and b stereographic projections, c noise data in the point cloud, and d plane detection with a 50 growth threshold

Nevertheless, some differences between the two algorithms were also presented: (1) a lot of noise data existed in the cube case, especially on the edge regions of the top plane and one side plane surface (Fig. 9c). If a larger growth threshold was specified (e.g., 50°), these noise points would be considered as plane points (blue points on the edges were classified into the group of the horizontal plane), causing an identification bias as shown in Fig. 9d. However, the influence from noise data can be effectively eliminated through selecting the appropriate growth threshold (e.g., 15°). Therefore, careful selection was required to get this optimal threshold through trial and error, but this was time-consuming. Comparatively, it was simpler to quickly remove the noise data in the neural network algorithm by appointing these noise points as the non-discontinuity data; (2) in the road cut case, a plane, which was located at the top right corner, was a man-made plane, and should be not considered as the natural rock discontinuity. Due to meeting the membership criterion-normal difference being less than the threshold, points in this region were classified into the discontinuity group in the MRG algorithm, leading to measuring bias (Fig. 9a). In the ANN algorithm, during selecting learning samples, several points in this region were chosen as non-discontinuity points and labeled with an output (1, 0, 0, 0). As a result, these points were removed according to the output that was predicted using the neural network. Therefore, compared to the MRG algorithm, a more accurate discontinuity identification can be obtained using the ANN algorithm, and the points on the upper right corner were identified as artificial rock discontinuities (black points in Fig. 8b); (3) only point normal was involved in the MRG algorithm, while four parameters (point XYZ-coordinate, point normal, point curvature, and point density) were considered during discontinuity extraction from point clouds using the ANN algorithm, allowing the closer matching of the actual orientation of discontinuities (Table 5); finally, (4) the computational efficiency was greatly enhanced during the processing of discontinuity identification using the ANN algorithm. The computation time for different algorithms was recorded and listed in Table 5. The MRG algorithm was characterized by a lower efficiency compared to the ANN algorithm, particularly the computational time was not acceptable for the road cut case with a large data volume (2,167,515).

Table 5 Orientation calculation of two cases using AI and RMG algorithm

5 Conclusions

Based on the above-mentioned analyses, the conclusions of this study were:

1. With the aim of discontinuity identification from unorganized point clouds, a semi-automated approach was proposed based on ANN. The artificial neural network comprised an input layer, a hidden layer, and an output layer. Four parameters-point XYZ-coordinates, point normal, point curvature, and point density-were considered for each point in the input layer. Ten nodes were specified in the hidden layer. The output of the network included two major sets: discontinuities (marked as ‘1’) and non-discontinuities (marked as ‘0’). The DBSCAN algorithm was employed to divide group discontinuities, which were the predictions of the neural network, into single discontinuities. All the groups of discontinuities were involved during the clustering analysis, except for the group of non-discontinuities. Afterward, the PCA algorithm was performed to calculate the orientation of each discontinuity.

2. The computational efficiency of discontinuity detection from point clouds was greatly improved using ANN, because of the parallel operation. Only 1.34 s and 4.53 s were spent for the cube and road cut cases in discontinuity identification and measurement using ANN, respectively.

3. The discontinuity detection was more accurate using the ANN than the traditional MRG algorithm. To eliminate the noise data interference, the points in non-discontinuity regions were set as one of the outputs, such as the edges, noise data, and artificial rock discontinuities. Training samples were learned by the neural network, which were crucial for successful discontinuity identification. There is no need to select too many training samples from the raw point clouds (85 points for cube case and 51 points for road cut case). However, it was important to make sure that the selected points were representative. Eventually, the case studies reveal that the rock discontinuity detection and characterization using ANN corresponded to the field surveys.

4. The operation process of the ANN was simpler than the traditional method. Unlike the statistic and regression algorithms, it is not necessary to create a precise geometrical criterion for point clustering based on ANN; as a result, the engineers and geologists do not need to have a professional background in mathematics and computer programming, making the rock discontinuity detection easier and faster. Furthermore, for the reproducibility of this study, an APP (DisDetANN) was designed to perform the rock discontinuity detection based on the proposed ANN algorithms, and the full codes of the DisDetANN APP have been freely made available on GitHub (https://Github.com/DisDetANN/DIsDetANNcode).