<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Earth Sci.</journal-id>
<journal-title>Frontiers in Earth Science</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Earth Sci.</abbrev-journal-title>
<issn pub-type="epub">2296-6463</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">711866</article-id>
<article-id pub-id-type="doi">10.3389/feart.2021.711866</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Earth Science</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Intelligent Interpretation of the Geometric Properties of Rock Mass Discontinuities Based on an Unmanned Aerial Vehicle</article-title>
<alt-title alt-title-type="left-running-head">Chen et&#x20;al.</alt-title>
<alt-title alt-title-type="right-running-head">Extraction of Rock Mass Discontinuity</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Chen</surname>
<given-names>Na</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1321647/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Du</surname>
<given-names>Chang-jie</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1322168/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Ding</surname>
<given-names>Xiang</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
</contrib>
</contrib-group>
<aff id="aff1">
<label>
<sup>1</sup>
</label>School of Civil Engineering, Architecture and Environment, Hubei University of Technology, <addr-line>Wuhan</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<label>
<sup>2</sup>
</label>Sino-French Joint Research Collaboration for Geomechanics and Concrete Materials, Hubei University of Technology, <addr-line>Wuhan</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1259287/overview">Faming Huang</ext-link>, Nanchang University, China</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1383238/overview">Yi Li</ext-link>, Changsha University of Science and Technology, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1384342/overview">Zuyang Ye</ext-link>, Wuhan University of Science and Technology, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Na Chen, <email>cn_research@hbut.edu.cn</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Environmental Informatics and Remote Sensing, a section of the journal Frontiers in Earth Science</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>05</day>
<month>08</month>
<year>2021</year>
</pub-date>
<pub-date pub-type="collection">
<year>2021</year>
</pub-date>
<volume>9</volume>
<elocation-id>711866</elocation-id>
<history>
<date date-type="received">
<day>19</day>
<month>05</month>
<year>2021</year>
</date>
<date date-type="accepted">
<day>22</day>
<month>07</month>
<year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2021 Chen, Du and Ding.</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Chen, Du and Ding</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these&#x20;terms.</p>
</license>
</permissions>
<abstract>
<p>The geometric properties of rock mass discontinuities are essential for the evaluation of the safety of rock masses. Numerous studies have recently been performed on the extraction of discontinuity information. However, most methods are characterized by poor data collection and processing efficiency. This paper presents a UAV-based methodology for the accurate and complete acquisition of rock surface data, as well as the automatic extraction of discontinuity information. Moreover, a program called Random Sample Consensus (RANSAC) Discontinuity Detection (RDD) is developed to extract discontinuity information based on the proposed method. The conclusions of this research are as follows. 1) RANSAC Discontinuity Detection (RDD) can identify the feature point set of discontinuities from a raw point cloud, and can calculate the discontinuity orientation. 2) The boundary of a discontinuity can be precisely depicted using the improved Graham scan algorithm. 3) The orientations of marked discontinuities extracted by RDD are compared with those extracted by the three-point method in CloudCompare. The differences in the orientations extracted by the two methods are found to be less than 3&#xb0; for flat discontinuities and only about 4.87&#xb0; for rough discontinuities, which are within a reasonable error range in practical engineering applications. Therefore, the feasibility of the proposed method is verified.</p>
</abstract>
<kwd-group>
<kwd>UAV technique</kwd>
<kwd>point cloud</kwd>
<kwd>automatic extraction</kwd>
<kwd>discontinuity</kwd>
<kwd>RANSAC algorithm</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<title>Introduction</title>
<p>Research indicates that discontinuities are an intrinsic characteristic of rock masses (<xref ref-type="bibr" rid="B28">Umili et&#x20;al., 2013</xref>), and they have significant influences on rock mass deformation and stability (<xref ref-type="bibr" rid="B18">Kong et&#x20;al., 2020</xref>). Therefore, the accurate and comprehensive extraction of rock mass discontinuity information is critical for the assessment of the safety of rock masses.</p>
<p>Traditional surveys are conducted <italic>via</italic> a window method or a line-scanning method (<xref ref-type="bibr" rid="B12">Gigli and Casagli, 2010</xref>; <xref ref-type="bibr" rid="B36">Zhang et&#x20;al., 2018</xref>; <xref ref-type="bibr" rid="B18">Kong et&#x20;al., 2020</xref>), and require physical contact with the rock surface (<xref ref-type="bibr" rid="B12">Gigli and Casagli, 2010</xref>; <xref ref-type="bibr" rid="B28">Umili et&#x20;al., 2013</xref>); however, this is time-consuming (<xref ref-type="bibr" rid="B36">Zhang et&#x20;al., 2018</xref>; <xref ref-type="bibr" rid="B18">Kong et&#x20;al., 2020</xref>) and subject to the expertise of the operator (<xref ref-type="bibr" rid="B18">Kong et&#x20;al., 2020</xref>). With the advancement of measurement techniques, new non-contact surveying methods have been developed to acquire three-dimensional (3D) rock mass data, and include the total station method (<xref ref-type="bibr" rid="B7">Feng et&#x20;al., 2001</xref>), close-range photogrammetry (<xref ref-type="bibr" rid="B5">De et&#x20;al., 2012</xref>; <xref ref-type="bibr" rid="B17">Kaufmann, 2012</xref>; <xref ref-type="bibr" rid="B10">Francioni et&#x20;al., 2019</xref>), and 3D laser scanning (<xref ref-type="bibr" rid="B6">Deliormanli et&#x20;al., 2014</xref>; <xref ref-type="bibr" rid="B21">Monsalve et&#x20;al., 2019</xref>; <xref ref-type="bibr" rid="B32">Wichmann et&#x20;al., 2019</xref>; <xref ref-type="bibr" rid="B16">Jiang et&#x20;al., 2020</xref>). These techniques have been rapidly utilized in slope monitoring (<xref ref-type="bibr" rid="B19">Kromer et&#x20;al., 2019</xref>; <xref ref-type="bibr" rid="B11">Giacomini et&#x20;al., 2020</xref>), rock mechanics and stability analysis (<xref ref-type="bibr" rid="B9">Firpo et&#x20;al., 2011</xref>; <xref ref-type="bibr" rid="B2">Assali et&#x20;al., 2014</xref>), and geomorphology (<xref ref-type="bibr" rid="B4">Brodie et&#x20;al., 2015</xref>; <xref ref-type="bibr" rid="B3">Boothroyd et&#x20;al., 2016</xref>), as well as the geological and geotechnical research fields (<xref ref-type="bibr" rid="B13">Giordan et&#x20;al., 2018</xref>). While 3D laser scanning and close-range photogrammetry have made great development progress, these two survey means are characterized by the following disadvantages: 1) under unique and complex terrain conditions, it is difficult to find a suitable observation point at which to set up instruments; 2) scanning devices are expensive, and the prices of mainstream scanners on the market are more than 1&#xa0;million yuan; 3) some rock mass data will inevitably be missing due to the scanning direction. Due to the conspicuous cost reduction of vehicles and sensors, as well as the recent progress in data processing software over the past decade (<xref ref-type="bibr" rid="B20">Manfreda et&#x20;al., 2018</xref>), the application of unmanned aerial vehicles (UAVs) in the collection of rock mass information has been ensured. UAV photogrammetry has many benefits, such as light and flexible equipment, strong adaptability to various terrains, and wide coverage (<xref ref-type="bibr" rid="B30">Wang et&#x20;al., 2020</xref>). In addition, a multi-rotor UAV can take images from different positions and in different directions, thereby avoiding possible shadows or vertical deviations in high and inaccessible rock surfaces (<xref ref-type="bibr" rid="B26">Salvini et&#x20;al., 2020</xref>). Therefore, the use of a light and small UAV to acquire rock mass information is superior to 3D laser scanning and close-range photogrammetry in terms of the equipment cost, portability, efficiency, and integrity of data collection.</p>
<p>The UAV technique has been applied in slope monitoring (<xref ref-type="bibr" rid="B25">Rodriguez et&#x20;al., 2020</xref>; <xref ref-type="bibr" rid="B30">Wang et&#x20;al., 2020</xref>), the failure mechanism analysis of landslides (<xref ref-type="bibr" rid="B33">Xu et&#x20;al., 2017</xref>; <xref ref-type="bibr" rid="B36">Zhang et&#x20;al., 2018</xref>), photogrammetric inspection (<xref ref-type="bibr" rid="B35">Zhang et&#x20;al., 2020</xref>), and topographic reconstruction (<xref ref-type="bibr" rid="B1">Ag&#xfc;era-Vega et&#x20;al., 2018</xref>). However, it is rarely utilized in the extraction of rock mass discontinuity information. <xref ref-type="bibr" rid="B34">Yathunanthan et&#x20;al. (2014)</xref> conducted the imaging analysis of a data set generated from UAV photography to map geological structures, after which the 3D feature coordinates corresponding to the pixel coordinates of two-dimensional (2D) feature points were calculated from the digital elevation model (DEM), and the best-fit plane coefficients were computed. Finally, the discontinuity orientation was extracted (<xref ref-type="bibr" rid="B34">Yathunanthan et&#x20;al., 2014</xref>). However, in this method, the geological analysis of the images requires the acute intuition and deductive and inductive reasoning of interpreters. <xref ref-type="bibr" rid="B15">Jia et&#x20;al. (2018)</xref> manually selected the exposed discontinuities from a 3D point cloud generated from UAV images, and then extracted discontinuity information using the least-squares plane-fitting algorithm (<xref ref-type="bibr" rid="B15">Jia et&#x20;al., 2018</xref>). It is evident that the degree of automation of these methods remains to be increased.</p>
<p>To overcome the low efficiency of the existing methods for rock mass data acquisition and the low degree of automation in discontinuity identification, a UAV-based approach for the automatic identification of rock mass discontinuities is proposed in this paper. Efficient and comprehensive image acquisition can be realized by employing a multi-rotor UAV, and images collected by the UAV can be converted to a point cloud model of the rock mass <italic>via</italic> 3D model reconstruction. Moreover, rock mass discontinuities can be automatically recognized based on an improved random sample consensus (RANSAC) algorithm. The proposed method includes the following steps: 1) 3D model reconstruction; 2) Normal vector calculation; 3) Discontinuity extraction; 4) Boundary delineation; 5) Discontinuity orientation calculation.</p>
</sec>
<sec id="s2">
<title>Unmanned Aerial Vehicles Measurement System and Workflow</title>
<p>The survey was conducted using a four-rotor DJI Phantom 3 Professional UAV (<xref ref-type="fig" rid="F1">Figure&#x20;1</xref>), which is equipped with a 20-mm low-distortion wide-angle camera, a GPS/GLONASS dual-mode system, and an automatic return function. Moreover, the aircraft supports 4&#xa0;K video capture at 30 frames per second, and the two photo formats of JPG and Raw. In addition, the aircraft has the ability to capture smooth and stable video pictures, and can actively record all the details of each flight, including the course, flight time, and other information. The specific parameters of the UAV are listed in <xref ref-type="table" rid="T1">Table&#x20;1</xref>.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>The phantom 3 professional UAV.</p>
</caption>
<graphic xlink:href="feart-09-711866-g001.tif"/>
</fig>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>The parameters of the Phantom 3 Professional UAV.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">UAV model</th>
<th align="center">Phantom 3 professional</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Camera model</td>
<td align="left">GL300&#xa0;B</td>
</tr>
<tr>
<td align="left">Image sensor</td>
<td align="left">1/2.3-inch CMOS</td>
</tr>
<tr>
<td align="left">Camera resolution</td>
<td align="left">4,000 &#xd7; 3,000</td>
</tr>
<tr>
<td align="left">Effective pixel</td>
<td align="left">12.4&#xa0;million</td>
</tr>
<tr>
<td align="left">Field-of-view angle (FOV)</td>
<td align="left">94&#xb0;C</td>
</tr>
<tr>
<td align="left">Maximum flight height</td>
<td align="left">500&#xa0;m</td>
</tr>
<tr>
<td align="left">Maximum flight altitude</td>
<td align="left">6,000&#xa0;m</td>
</tr>
<tr>
<td align="left">Maximum ascent speed</td>
<td align="left">5&#xa0;m/s</td>
</tr>
<tr>
<td align="left">Maximum descent speed</td>
<td align="left">3&#xa0;m/s</td>
</tr>
<tr>
<td align="left">Maximum horizontal flight speed</td>
<td align="left">16&#xa0;ms<sup>&#x2212;1</sup>
</td>
</tr>
<tr>
<td align="left">Takeoff weight</td>
<td align="left">&#x3c;1,280&#xa0;g</td>
</tr>
<tr>
<td align="left">Maximum flight time</td>
<td align="left">&#x223c;23&#xa0;min</td>
</tr>
<tr>
<td align="left">Working environment temperature</td>
<td align="left">0&#x2013;40&#x00B0;C</td>
</tr>
<tr>
<td align="left">Satellite positioning module</td>
<td align="left">GPS/GLONASS bimodal</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>A scene survey is the foremost step of, and lays a solid foundation for, data acquisition. After surveying the site conditions, the measurement range was determined, and the easily measured discontinuities were selected and marked. The DJI GO App, a mobile route-planning software, was used to plan the route. The flight path should exceed the survey range to shoot the whole area. The flying height was selected to be beyond the highest obstacle in the flying area to avoid a collision. It should be noted that it is necessary to balance the flying height with the flight time, as the battery consumption caused by an excessive flying height will exceed the battery capacity. Ultimately, the slope was photographed from left to right and from top to bottom. The flight speed was selected as the maximum value, and the camera angle was set to 45&#xb0;. To maintain the integrity of the measured data, some overlaps were maintained between the images. An overlap of 80% and a side-lap of 50% were respectively used. After the field investigation, a 3D point cloud was generated from the photos taken by the&#x20;UAV.</p>
</sec>
<sec sec-type="materials|methods" id="s3">
<title>Materials and Methods</title>
<p>The proposed method is divided into five steps, as illuminated in the flowchart in <xref ref-type="fig" rid="F2">Figure&#x20;2</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>The flowchart of the proposed method.</p>
</caption>
<graphic xlink:href="feart-09-711866-g002.tif"/>
</fig>
<sec id="s3-1">
<title>3-Dimensional Model Reconstruction</title>
<sec id="s3-1-1">
<title>Feature Point Extraction</title>
<p>Due to the strong distortion of photos taken by UAVs, it is difficult to effectively apply the traditional extraction method based on geometric and texture features to extract feature points. The scale-invariant feature transform (SIFT) algorithm is characterized by the three properties of scaling, rotation, and affine invariance, <italic>via</italic> which it is capable of resisting certain illumination changes and viewpoint transformation. Hence, the SIFT algorithm is adopted for feature point extraction in the proposed method. The main concept of the SIFT algorithm is that the scale-space representation of UAV aerial images is established, after which the extreme points of images are searched in the scale space and extracted as feature points.</p>
</sec>
<sec id="s3-1-2">
<title>Image Matching</title>
<p>Image matching is conducted to reconstruct 3D information from multiple 2D images. However, the process of image matching using only SIFT feature points is slow. The location data of GPS coordinates in the images collected by the UAV and the attitude angle data provided by the inertial measurement unit (IMU) can assist in the construction of the topological structure between images. Next, the nearest-neighbor method is utilized to find the corresponding relationships between the feature points of images and establish a set of matching feature points that meet the geometric constraints. A large number of coordinate points constitutes a 3D point cloud of the target object in&#x20;space.</p>
</sec>
<sec id="s3-1-3">
<title>Structure From Motion</title>
<p>The image points in the photo are projected into spatial coordinates according to the principle of camera imaging. The error function is defined as the sum of squares of the reprojection errors. The objective function is defined as follows:<disp-formula id="e1">
<mml:math id="m1">
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>f</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>where <inline-formula id="inf1">
<mml:math id="m2">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mn>...</mml:mn>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> are camera parameters, <inline-formula id="inf2">
<mml:math id="m3">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mn>...</mml:mn>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> are the coordinates of space points, the variable <inline-formula id="inf3">
<mml:math id="m4">
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the visibility of space point <inline-formula id="inf4">
<mml:math id="m5">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> in camera <inline-formula id="inf5">
<mml:math id="m6">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <italic>n</italic> is the number of images, <italic>m</italic> is the number of feature points obtained by precise matching, and the function <inline-formula id="inf6">
<mml:math id="m7">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> represents the projection error of point <inline-formula id="inf7">
<mml:math id="m8">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> in camera&#x20;<inline-formula id="inf8">
<mml:math id="m9">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Finally, sparse beam adjustment is used for step-by-step iteration to minimize the reprojection error between the projected points and the points on the observed images, thereby calculating coordinates of the 3D point cloud in an optimal camera pose and camera&#x20;scene.</p>
</sec>
</sec>
<sec id="s3-2">
<title>Normal Vector Calculation</title>
<p>Considering that normal vector calculation is a necessary process for the extraction of discontinuities, the next step after obtaining the point cloud is to calculate the normal vector.</p>
<p>The normal vector calculation method consists of two key steps, namely 1) finding the <italic>k</italic>-nearest neighbors of each point <italic>P</italic>
<sub>
<italic>i</italic>
</sub>&#x20;and creating the point set <italic>Q</italic>
<sub>
<italic>i</italic>
</sub> (<xref ref-type="fig" rid="F3">Figure&#x20;3</xref>), and 2) conducting plane-fitting for each point set <italic>Q</italic>
<sub>
<italic>i</italic>
</sub> and calculating the surface variation.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>
<italic>Q</italic>
<sub>
<italic>i</italic>
</sub> is the subset of <inline-formula id="inf9">
<mml:math id="m10">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf10">
<mml:math id="m11">
<mml:mi>&#x3b1;</mml:mi>
</mml:math>
</inline-formula> is the normal vector of <inline-formula id="inf11">
<mml:math id="m12">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</caption>
<graphic xlink:href="feart-09-711866-g003.tif"/>
</fig>
<sec id="s3-2-1">
<title>Nearest-Neighbor Search</title>
<p>A point cloud model commonly includes massive target points&#x20;in a 3D region, and lacks topological information. Therefore, the principal problem of processing point cloud data is to establish a topological relationship among discrete&#x20;points and realize the fast search of the nearest adjacent points.</p>
<p>A <italic>k</italic>-d tree (referred to as a <italic>k</italic>-dimensional tree) is a data structure that represents spatial partitions, and is mainly applied to search key data in multidimensional space (such as range searches and nearest-neighbor searches). In this study, the <italic>k</italic>-nearest neighbors are searched by the <italic>k</italic>-dimensional&#x20;tree.</p>
</sec>
<sec id="s3-2-2">
<title>Surface Variation Calculation</title>
<p>The problem of determining the normal of a point on a surface is similar to the problem of estimating a section of a normal of a surface. Therefore, the problem can be transformed into one concerned with least-squares plane-fitting estimation. In this study, the surface normal is evaluated by analyzing the eigenvectors and eigenvalues (or principal component analysis, PCA) (<xref ref-type="bibr" rid="B23">Riquelme et&#x20;al., 2014</xref>; <xref ref-type="bibr" rid="B24">Robson et&#x20;al., 2016</xref>; <xref ref-type="bibr" rid="B14">Guo et&#x20;al., 2017</xref>) of the covariance matrix created from the nearest points. The covariance matrix <italic>C</italic> corresponding to each point <inline-formula id="inf12">
<mml:math id="m13">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> can be defined as<disp-formula id="e2">
<mml:math id="m14">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>k</mml:mi>
</mml:mfrac>
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>P</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>.</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>P</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mi>C</mml:mi>
<mml:mo>.</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="true">&#x2192;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>.</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="true">&#x2192;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mn>0,1,2</mml:mn>
<mml:mo>}</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>where <inline-formula id="inf13">
<mml:math id="m15">
<mml:mi>k</mml:mi>
</mml:math>
</inline-formula> is the number of the adjacent points of <inline-formula id="inf14">
<mml:math id="m16">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf15">
<mml:math id="m17">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>P</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> represents the 3D centroid of point sets, and <inline-formula id="inf16">
<mml:math id="m18">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf17">
<mml:math id="m19">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="true">&#x2192;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> are the eigenvalue and eigenvector of the covariance matrix, respectively. The normal vector can be determined by the eigenvector that corresponds to its minimum eigenvalue. After all the normal vectors are obtained, the subsequent step is to extract rock mass discontinuities.</p>
</sec>
</sec>
<sec id="s3-3">
<title>Rock Mass Discontinuity Extraction Based on the Improved Random Sample Consensus Algorithm</title>
<p>The RANSAC algorithm is an iterative computational algorithm, which determines the parameters of a predefined mathematical model by randomly selecting a subset sample, and then calculates the distance from all points to the model. A point is defined as an inlier if the distance between a point and the model is less than the threshold; otherwise, the point is regarded as an outlier. The number of inliers in each iteration is recorded, and the model with the largest number of inliers is considered as the optimal model (<xref ref-type="bibr" rid="B27">Uherc&#xed;k et&#x20;al., 2010</xref>). <xref ref-type="fig" rid="F4">Figure&#x20;4</xref> presents the simple application of the RANSAC algorithm to 2D data. <xref ref-type="fig" rid="F4">Figure&#x20;4A</xref> displays a set of points that includes inliers and outliers, and in <xref ref-type="fig" rid="F4">Figure&#x20;4B</xref>, the blue line is the generated mathematical model, and the inliers are indicated in&#x20;red.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>
<bold>(A)</bold> Inliers and outliers are included in the two-dimensional point set. <bold>(B)</bold> The line extracted by RANSAC.</p>
</caption>
<graphic xlink:href="feart-09-711866-g004.tif"/>
</fig>
<p>For rock discontinuity extraction (the mathematical model is a plane), the RANSAC algorithm has two advantages: 1) it can be directly applied to raw point cloud data without triangulation gridding, and 2) it has strong robustness and can process more than 50% of the outliers. Based on these advantages, the RANSAC algorithm has been studied for the extraction of planes or discontinuities (<xref ref-type="bibr" rid="B29">Wang et&#x20;al., 2019</xref>). However, due to the large number of points of a rock mass, most approaches are inefficient. Therefore, an improved RANSAC algorithm is proposed to greatly improve the accuracy and speed of the original algorithm.</p>
<sec id="s3-3-1">
<title>Overview of the Improved Random Sample Consensus Algorithm</title>
<p>Given a point cloud set <inline-formula id="inf18">
<mml:math id="m20">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mn>...</mml:mn>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>N</mml:mi>
</mml:msub>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and the normal vector <inline-formula id="inf19">
<mml:math id="m21">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mn>...</mml:mn>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>N</mml:mi>
</mml:msub>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> of all points, the output result is a series of parameters <inline-formula id="inf20">
<mml:math id="m22">
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:msub>
<mml:mi>&#x3c8;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mn>...</mml:mn>
<mml:msub>
<mml:mi>&#x3c8;</mml:mi>
<mml:mi>N</mml:mi>
</mml:msub>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> of the plane model. In this paper, local sampling is proposed to acquire new candidate planes in each iteration. The RANSAC algorithm is then applied to determine the parameters of the plane model with the highest score (i.e.,&#x20;the largest number of inliers). All the candidate planes are placed in the set <inline-formula id="inf21">
<mml:math id="m23">
<mml:mi>C</mml:mi>
</mml:math>
</inline-formula>, and a new evaluation method is used to calculate the score <italic>m</italic> of the best plane. Moreover, <inline-formula id="inf22">
<mml:math id="m24">
<mml:mrow>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the number of points in a candidate plane, <inline-formula id="inf23">
<mml:math id="m25">
<mml:mrow>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the number of candidate planes, and <inline-formula id="inf24">
<mml:math id="m26">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the probability of ignoring the planes with a higher score. When <inline-formula id="inf25">
<mml:math id="m27">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is large enough, the extracted plane is the best, and the remaining points will be used for the subsequent iteration. When <inline-formula id="inf26">
<mml:math id="m28">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is sufficiently large, the iteration process is terminated. Finally, <inline-formula id="inf27">
<mml:math id="m29">
<mml:mi>&#x3c4;</mml:mi>
</mml:math>
</inline-formula> (default) is the number of minimum points on a&#x20;plane.</p>
</sec>
<sec id="s3-3-2">
<title>Probability Calculation</title>
<p>Consider a point cloud with <inline-formula id="inf28">
<mml:math id="m30">
<mml:mi>N</mml:mi>
</mml:math>
</inline-formula> points and a plane with <italic>n</italic> points, and <inline-formula id="inf29">
<mml:math id="m31">
<mml:mi>k</mml:mi>
</mml:math>
</inline-formula> is the number of points in the minimum point cloud set that determines a plane. Provided that any subset with <inline-formula id="inf30">
<mml:math id="m32">
<mml:mi>k</mml:mi>
</mml:math>
</inline-formula> points will generate a plane model, then the probability of detecting the plane model in one iteration is as follows.<disp-formula id="e3">
<mml:math id="m33">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mi>n</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi>k</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mi>N</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi>k</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2248;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mi>n</mml:mi>
<mml:mi>N</mml:mi>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>
</p>
<p>When <italic>s</italic> candidate planes are detected, the probability of detecting the plane <italic>&#x3a8;</italic> is as follows.<disp-formula id="e4">
<mml:math id="m34">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>
</p>
<p>The threshold value <inline-formula id="inf31">
<mml:math id="m35">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is artificially set. The number of planes <inline-formula id="inf32">
<mml:math id="m36">
<mml:mi>T</mml:mi>
</mml:math>
</inline-formula> that meet the requirement <inline-formula id="inf33">
<mml:math id="m37">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2265;</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> can then be obtained by solving <italic>s</italic>, as follows.<disp-formula id="e5">
<mml:math id="m38">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>ln</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>ln</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>
</p>
<p>Because the value of <inline-formula id="inf34">
<mml:math id="m39">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is commonly small, its logarithm <inline-formula id="inf35">
<mml:math id="m40">
<mml:mrow>
<mml:mi>ln</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> can be expanded by its Taylor series: <inline-formula id="inf36">
<mml:math id="m41">
<mml:mrow>
<mml:mi>ln</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. The substitution of <inline-formula id="inf37">
<mml:math id="m42">
<mml:mrow>
<mml:mi>ln</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> into <xref ref-type="disp-formula" rid="e5">Eq. 5</xref> yields the following.<disp-formula id="e6">
<mml:math id="m43">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#x2248;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>ln</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
</p>
</sec>
<sec id="s3-3-3">
<title>Sampling Method</title>
<p>The complexity of an algorithm is closely related to the sampling method. The sampling method used in this study is detailed as follows. Shape is a local phenomenon, and the closer two points are, the more likely they belong to the same plane. The sampling efficiency can be greatly improved by utilizing this characteristic. Research has revealed that it may be effective to increase the number of inliers within the model by utilizing the locality of the shape to the sample (<xref ref-type="bibr" rid="B22">Myatt et&#x20;al., 2002</xref>). Generally, in random sampling, a circle with a given radius is used to randomly select sample points, but the radius needs to be determined in advance according to the density and distribution of the points. However, the density and distribution of outliers vary greatly for different models; even at different locations on the same model, the density of outliers can vary dramatically. Therefore, a method is presented in this paper to adapt to the density of outliers.</p>
<p>The octree structure is an effective method by which to establish spatial proximity between sampling points. First, the point <inline-formula id="inf38">
<mml:math id="m44">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is chosen without restriction to create the candidate plane, and then a set <inline-formula id="inf39">
<mml:math id="m45">
<mml:mi>C</mml:mi>
</mml:math>
</inline-formula> that includes <inline-formula id="inf40">
<mml:math id="m46">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is randomly selected from the structural layers of the octree structure. Finally, the remaining <inline-formula id="inf41">
<mml:math id="m47">
<mml:mrow>
<mml:mi>K</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> sample points are selected from the set <inline-formula id="inf42">
<mml:math id="m48">
<mml:mi>C</mml:mi>
</mml:math>
</inline-formula>. The probability of finding the plane <inline-formula id="inf43">
<mml:math id="m49">
<mml:mi>&#x3c8;</mml:mi>
</mml:math>
</inline-formula> containing <inline-formula id="inf44">
<mml:math id="m50">
<mml:mi>n</mml:mi>
</mml:math>
</inline-formula> points in this manner can be calculated as follows:<disp-formula id="e7">
<mml:math id="m51">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>&#x3a8;</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mn>...</mml:mn>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>where <inline-formula id="inf45">
<mml:math id="m52">
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the first probability value, and the second probability value relies on the choice of the elements in the set <inline-formula id="inf46">
<mml:math id="m53">
<mml:mi>C</mml:mi>
</mml:math>
</inline-formula>. The set <inline-formula id="inf47">
<mml:math id="m54">
<mml:mi>C</mml:mi>
</mml:math>
</inline-formula> is considered to be an optimization if abundant points on the plane <inline-formula id="inf48">
<mml:math id="m55">
<mml:mi>&#x3c8;</mml:mi>
</mml:math>
</inline-formula> are included in the<inline-formula id="inf49">
<mml:math id="m56">
<mml:mo>&#xa0;</mml:mo>
</mml:math>
</inline-formula>set. Most points on a plane, excluding boundary points and edge points, have neighbors that belong to the plane. Generally speaking, although the adjacent points on a plane cannot be determined by the element set of the octree structure, the candidate plane model includes a large number of points to ensure that it is more representative of the actual data. Therefore, the number of these neighbors must be as large as the number of elements in the octree structure, excluding a few points. To facilitate the analysis, it is assumed that the set <inline-formula id="inf50">
<mml:math id="m57">
<mml:mi>C</mml:mi>
</mml:math>
</inline-formula> embodies all points <inline-formula id="inf51">
<mml:math id="m58">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> on the plane <inline-formula id="inf52">
<mml:math id="m59">
<mml:mi>&#x3c8;</mml:mi>
</mml:math>
</inline-formula> <inline-formula id="inf53">
<mml:math id="m60">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2282;</mml:mo>
<mml:mi>&#x3c8;</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, the number of all points on the plane <inline-formula id="inf54">
<mml:math id="m61">
<mml:mi>&#x3c8;</mml:mi>
</mml:math>
</inline-formula> is half of the number of points in the set <inline-formula id="inf55">
<mml:math id="m62">
<mml:mi>C</mml:mi>
</mml:math>
</inline-formula>, and the other half of the points in the set <inline-formula id="inf56">
<mml:math id="m63">
<mml:mi>C</mml:mi>
</mml:math>
</inline-formula> contains outliers or noise points. The probability of choosing a large set <inline-formula id="inf57">
<mml:math id="m64">
<mml:mi>C</mml:mi>
</mml:math>
</inline-formula> is conservatively evaluated to be <inline-formula id="inf58">
<mml:math id="m65">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf59">
<mml:math id="m66">
<mml:mi>d</mml:mi>
</mml:math>
</inline-formula> refers to the depth of the octree structure. Therefore, the conditional probability of choosing points <inline-formula id="inf60">
<mml:math id="m67">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf61">
<mml:math id="m68">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#xa0;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x2282;</mml:mo>
<mml:mi>&#x3c8;</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> from the set <inline-formula id="inf62">
<mml:math id="m69">
<mml:mi>C</mml:mi>
</mml:math>
</inline-formula> set can be calculated by <xref ref-type="disp-formula" rid="e8">Eq. 8</xref>. Then, by introducing <xref ref-type="disp-formula" rid="e8">Eq. 8</xref> into <xref ref-type="disp-formula" rid="e7">Eq. 7</xref> and <xref ref-type="disp-formula" rid="e9">Eq. 9</xref> can be obtained.<disp-formula id="e8">
<mml:math id="m70">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mi>C</mml:mi>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mi>C</mml:mi>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2248;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>
<disp-formula id="e9">
<mml:math id="m71">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mi>d</mml:mi>
<mml:msup>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>
</p>
</sec>
<sec id="s3-3-4">
<title>Evaluation Method</title>
<p>The evaluation function <inline-formula id="inf63">
<mml:math id="m72">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is utilized to evaluate the extracted candidate plane model. This evaluation function mainly includes the following three aspects. 1) After the selected plane is created, the points whose distance to the plane is less than the distance threshold value <inline-formula id="inf64">
<mml:math id="m73">
<mml:mi>&#x3b5;</mml:mi>
</mml:math>
</inline-formula> are regarded as the points on the candidate plane. 2) The points that meet the distance requirement will be further filtered. When the angles between the normal vectors of the detected points and the normal vectors of the candidate planes are less than the angle threshold value <inline-formula id="inf65">
<mml:math id="m74">
<mml:mi>&#x3b1;</mml:mi>
</mml:math>
</inline-formula>, these points will be selected as the points in the plane. 3) A new threshold value <inline-formula id="inf66">
<mml:math id="m75">
<mml:mi>&#x3b2;</mml:mi>
</mml:math>
</inline-formula>, which represents continuity, is added to the proposed method. For the points that have met the first two requirements, only those satisfying the continuity requirement can be selected as inliers on the&#x20;plane.</p>
<p>In short, for a plane <inline-formula id="inf67">
<mml:math id="m76">
<mml:mi>&#x3c8;</mml:mi>
</mml:math>
</inline-formula>, its evaluation function <inline-formula id="inf68">
<mml:math id="m77">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> can be expressed as follows.<disp-formula id="e10">
<mml:math id="m78">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>&#x3a8;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>&#x3c8;</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>
</p>
<p>For example, points <inline-formula id="inf69">
<mml:math id="m79">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>&#x3c8;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> on a plane model <inline-formula id="inf70">
<mml:math id="m80">
<mml:mi>&#x3c8;</mml:mi>
</mml:math>
</inline-formula> can be defined in two steps:<disp-formula id="e11">
<mml:math id="m81">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>&#x3a8;</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mo>&#x2229;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>&#x3a8;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>&#x3b5;</mml:mi>
<mml:mo>&#x2229;</mml:mo>
<mml:mi>arccos</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>.</mml:mo>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>&#x3a8;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>
<disp-formula id="e12">
<mml:math id="m82">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>&#x3c8;</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>max</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>&#x3a8;</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>&#x3c8;</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>where <inline-formula id="inf71">
<mml:math id="m83">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the Euclidean distance from point <inline-formula id="inf72">
<mml:math id="m84">
<mml:mi>p</mml:mi>
</mml:math>
</inline-formula> to plane <inline-formula id="inf73">
<mml:math id="m85">
<mml:mi>&#x3c8;</mml:mi>
</mml:math>
</inline-formula>, <inline-formula id="inf74">
<mml:math id="m86">
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the normal vector of point <inline-formula id="inf75">
<mml:math id="m87">
<mml:mi>p</mml:mi>
</mml:math>
</inline-formula>, <inline-formula id="inf76">
<mml:math id="m88">
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the relationship between the normal vector of the plane model <inline-formula id="inf77">
<mml:math id="m89">
<mml:mi>&#x3c8;</mml:mi>
</mml:math>
</inline-formula> and the projection of the normal vector of point <inline-formula id="inf78">
<mml:math id="m90">
<mml:mi>p</mml:mi>
</mml:math>
</inline-formula> on the plane <inline-formula id="inf79">
<mml:math id="m91">
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mtext>&#xa0;and&#xa0;</mml:mtext>
<mml:mi>max</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>&#x3c8;</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> refers to the point set where the projected points on the plane <inline-formula id="inf80">
<mml:math id="m92">
<mml:mi>&#x3c8;</mml:mi>
</mml:math>
</inline-formula> can form the largest connected&#x20;part.</p>
</sec>
</sec>
<sec id="s3-4">
<title>Modified Graham Scan Algorithm</title>
<p>Rock mass discontinuities are generally not standard, and even very irregular planes. Hence, a new approach is presented to accurately depict the boundary of the discontinuities. Feature points of discontinuities extracted by the method in this paper are normally distributed on two sides of the vertical direction of extracted discontinuities. Thus, this 3D issue can be transformed into a problem of searching the optimal contour of a 2D point cloud by projecting points onto the fitting&#x20;plane.</p>
<p>The Graham scan algorithm is a straightforward and efficient convex hull algorithm (<xref ref-type="bibr" rid="B8">Ferrada et&#x20;al., 2020</xref>), the general concept of which is to remove points that are not part of the convex hull. Given a point cloud set <inline-formula id="inf81">
<mml:math id="m93">
<mml:mi>S</mml:mi>
</mml:math>
</inline-formula>, the point <inline-formula id="inf82">
<mml:math id="m94">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is obtained from <inline-formula id="inf83">
<mml:math id="m95">
<mml:mi>S</mml:mi>
</mml:math>
</inline-formula> with the minimum <italic>y</italic>-coordinate, and the points are then sorted counterclockwise. By scanning from <inline-formula id="inf84">
<mml:math id="m96">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, if <inline-formula id="inf85">
<mml:math id="m97">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf86">
<mml:math id="m98">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf87">
<mml:math id="m99">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are on the convex surfaces, they must meet the following property: <inline-formula id="inf88">
<mml:math id="m100">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is on the left of the vector <inline-formula id="inf89">
<mml:math id="m101">
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2329;</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>&#x232a;</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>; otherwise, <inline-formula id="inf90">
<mml:math id="m102">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> should be removed.</p>
<p>However, the disadvantage of the Graham scan algorithm is that the first boundary obtained by the algorithm is convex. Therefore, optimization should be conducted to tackle this issue. Given the boundary points <inline-formula id="inf91">
<mml:math id="m103">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and non-boundary points <inline-formula id="inf92">
<mml:math id="m104">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and provided that there are the two new lines <inline-formula id="inf93">
<mml:math id="m105">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf94">
<mml:math id="m106">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf95">
<mml:math id="m107">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> will be regarded as a new boundary point if the triangle formed by the two new lines and <inline-formula id="inf96">
<mml:math id="m108">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> does not include the new boundary point and the angle formed by <inline-formula id="inf97">
<mml:math id="m109">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf98">
<mml:math id="m110">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> conforms to the tolerance requirement of a concave angle. In addition, the two new sides can be used to calculate the new boundary points by utilizing a recursive algorithm. The results of the Graham scan algorithm and the modified Graham scan algorithm are respectively presented in <xref ref-type="fig" rid="F5">Figures&#x20;5A,B</xref>.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Boundary detection with the <bold>(A)</bold> Graham scan algorithm and <bold>(B)</bold> modified Graham scan algorithm.</p>
</caption>
<graphic xlink:href="feart-09-711866-g005.tif"/>
</fig>
<p>After calculation, all the boundary points with concave-convex features are acquired. <xref ref-type="fig" rid="F6">Figure&#x20;6</xref> displays the extraction results of a set of points; <xref ref-type="fig" rid="F6">Figure&#x20;6A</xref> presents the result of the&#x20;fitting plane, and <xref ref-type="fig" rid="F6">Figure&#x20;6B</xref> depicts the boundary of the&#x20;fitting plane detected by the improved Graham scan algorithm.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>
<bold>(A)</bold> The fitting plane result; <bold>(B)</bold> the boundary delineation of the fitting&#x20;plane.</p>
</caption>
<graphic xlink:href="feart-09-711866-g006.tif"/>
</fig>
</sec>
<sec id="s3-5">
<title>Discontinuity Orientation Calculation</title>
<sec id="s3-5-1">
<title>Orientation Calculation</title>
<p>The discontinuity of a plane can be represented as follows.<disp-formula id="e13">
<mml:math id="m111">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>B</mml:mi>
<mml:mi>y</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>C</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>
</p>
<p>The normal vector of the plane is as follows.<disp-formula id="e14">
<mml:math id="m112">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>z</mml:mi>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>B</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>C</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mi>A</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi>B</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>
</p>
<p>The orientation of the discontinuity can be calculated by the following equations.When <inline-formula id="inf99">
<mml:math id="m113">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>z</mml:mi>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>,<disp-formula id="e15">
<mml:math id="m114">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>cos</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>z</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>If <inline-formula id="inf100">
<mml:math id="m115">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>,<disp-formula id="e16">
<mml:math id="m116">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>cos</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mi>z</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mi>y</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>If <inline-formula id="inf101">
<mml:math id="m117">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>,<disp-formula id="e17">
<mml:math id="m118">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>cos</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mi>z</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mi>y</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>When <inline-formula id="inf102">
<mml:math id="m119">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>z</mml:mi>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>,<disp-formula id="e18">
<mml:math id="m120">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>cos</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>z</mml:mi>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(18)</label>
</disp-formula>If <inline-formula id="inf103">
<mml:math id="m121">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>,<disp-formula id="e19">
<mml:math id="m122">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>cos</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mi>z</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mi>y</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(19)</label>
</disp-formula>If <inline-formula id="inf104">
<mml:math id="m123">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>,<disp-formula id="e20">
<mml:math id="m124">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>cos</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mi>z</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mi>y</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>
</p>
</sec>
</sec>
</sec>
<sec id="s4">
<title>Case Study</title>
<sec id="s4-1">
<title>Data Description</title>
<p>The study site was a rock mass slope located in Guishan Park in Wuhan City, China. The first task was to investigate the field conditions to determine the survey range and mark the easily measured discontinuities. The course was then planned, and the slope was photographed. Ultimately, twenty-six consecutive images were collected. Each image taken by the UAV was attached with geotags to provide a geographic reference for the point cloud, thereby producing highly detailed landform information (<xref ref-type="bibr" rid="B25">Rodriguez et&#x20;al., 2020</xref>).</p>
<p>Subsequently, images from the survey were used to generate a point cloud. The 3D model (<xref ref-type="fig" rid="F7">Figure&#x20;7</xref>) and point cloud data of the slope were automatically generated <italic>via</italic> 3D reconstruction with Smart3D software. There were 52,639,008 points in the point cloud data, which rendered it difficult to extract discontinuities in the later step. The point cloud model of the slope was acquired (<xref ref-type="fig" rid="F8">Figure&#x20;8</xref>) by setting the point spacing of 16&#xa0;mm in CloudCompare to down-sample the numerous point clouds.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>The 3D model of the&#x20;slope.</p>
</caption>
<graphic xlink:href="feart-09-711866-g007.tif"/>
</fig>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>The point cloud model of the&#x20;slope.</p>
</caption>
<graphic xlink:href="feart-09-711866-g008.tif"/>
</fig>
</sec>
<sec id="s4-2">
<title>Discontinuity Information Results</title>
<p>A new extraction procedure called RANSAC Discontinuity Detection (RDD) was developed to automatically extract rock mass discontinuity information. The dialog box of RDD is presented in <xref ref-type="fig" rid="F9">Figure&#x20;9</xref>, where <inline-formula id="inf105">
<mml:math id="m125">
<mml:mi>&#x3b5;</mml:mi>
</mml:math>
</inline-formula> is the distance from the point to the discontinuity, <inline-formula id="inf106">
<mml:math id="m126">
<mml:mi>&#x3b1;</mml:mi>
</mml:math>
</inline-formula> is the angle between the normal vector of a point and the normal vector of the plane, and <inline-formula id="inf107">
<mml:math id="m127">
<mml:mi>&#x3b2;</mml:mi>
</mml:math>
</inline-formula> is the distance between the points that make up a continuous&#x20;plane.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>A dialog box for the parameters of the RDD plug-in.</p>
</caption>
<graphic xlink:href="feart-09-711866-g009.tif"/>
</fig>
<p>The slope point cloud presented in <italic>Data description</italic> Section was employed to analyze the extraction effect of RDD. <xref ref-type="fig" rid="F9">Figure&#x20;9</xref> exhibits the parameter settings when RDD is used to extract discontinuities information of rock mass from the slope point cloud. As shown in <xref ref-type="fig" rid="F10">Figure&#x20;10</xref>, most relatively smooth rock mass discontinuities were entirely detected by RDD, as were some small and fragmented discontinuities, even when the surface was rough or there were too many crushed pieces. It should be noted that the colors of these discontinuities were randomly assigned by the plug-in.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>The extraction result of slope discontinuities.</p>
</caption>
<graphic xlink:href="feart-09-711866-g010.tif"/>
</fig>
<p>The results of the three-point method were compared with those of the proposed RDD to quantitatively analyze the effect of RDD in identifying discontinuities. Thirteen planes from the slope model were marked (<xref ref-type="fig" rid="F11">Figure&#x20;11</xref>). Similarly, these 13 planes were marked in the calculation results of RDD (<xref ref-type="fig" rid="F12">Figure&#x20;12</xref>). <xref ref-type="table" rid="T2">Table&#x20;2</xref> reports the comparative results of the orientations extracted by the three-point method and RDD. As shown in the table, when the discontinuities were flat enough, the difference between the two methods was less than 3&#xb0;. Moreover, even for the rough discontinuities (such as plane 12), the difference in orientation was only 4.87&#xb0;, which is within the reasonable error range in practical engineering applications.</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>The discontinuities extracted using the three-point method.</p>
</caption>
<graphic xlink:href="feart-09-711866-g011.tif"/>
</fig>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>The discontinuities extracted with RDD.</p>
</caption>
<graphic xlink:href="feart-09-711866-g012.tif"/>
</fig>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Comparison between the discontinuity orientation results of the three-point method and RDD.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Discontinuity</th>
<th align="center">Orientation by the three-point method (&#xb0;)</th>
<th align="center">Orientation by RDD (&#xb0;)</th>
<th align="center">Difference value of orientation (&#xb0;)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Plane 1</td>
<td align="char" char="/">83/67</td>
<td align="char" char="/">85.36/66.27</td>
<td align="char" char=".">0.73</td>
</tr>
<tr>
<td align="left">Plane 2</td>
<td align="char" char="/">18/48</td>
<td align="char" char="/">19.48/52.10</td>
<td align="char" char=".">1.48</td>
</tr>
<tr>
<td align="left">Plane 3</td>
<td align="char" char="/">36/86</td>
<td align="char" char="/">35.67/89.54</td>
<td align="char" char=".">0.33</td>
</tr>
<tr>
<td align="left">Plane 4</td>
<td align="char" char="/">14/316</td>
<td align="char" char="/">10.90/319.06</td>
<td align="char" char=".">3.06</td>
</tr>
<tr>
<td align="left">Plane 5</td>
<td align="char" char="/">61/275</td>
<td align="char" char="/">62.54/273.45</td>
<td align="char" char=".">1.54</td>
</tr>
<tr>
<td align="left">Plane 6</td>
<td align="char" char="/">10/299</td>
<td align="char" char="/">11.25/300.98</td>
<td align="char" char=".">1.25</td>
</tr>
<tr>
<td align="left">Plane 7</td>
<td align="char" char="/">89/174</td>
<td align="char" char="/">87.82/352.85</td>
<td align="char" char=".">1.15</td>
</tr>
<tr>
<td align="left">Plane 8</td>
<td align="char" char="/">22/12</td>
<td align="char" char="/">23.77/11.68</td>
<td align="char" char=".">0.32</td>
</tr>
<tr>
<td align="left">Plane 9</td>
<td align="char" char="/">10/349</td>
<td align="char" char="/">15.06/345.40</td>
<td align="char" char=".">3.60</td>
</tr>
<tr>
<td align="left">Plane 10</td>
<td align="char" char="/">27/316</td>
<td align="char" char="/">24.21/310.37</td>
<td align="char" char=".">2.79</td>
</tr>
<tr>
<td align="left">Plane 11</td>
<td align="char" char="/">17/323</td>
<td align="char" char="/">20.96/324.48</td>
<td align="char" char=".">1.48</td>
</tr>
<tr>
<td align="left">Plane 12</td>
<td align="char" char="/">28/352</td>
<td align="char" char="/">26.21/356.85</td>
<td align="char" char=".">1.79</td>
</tr>
<tr>
<td align="left">Plane 13</td>
<td align="char" char="/">28/311</td>
<td align="char" char="/">23.13/305.41</td>
<td align="char" char=".">4.87</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec sec-type="conclusion" id="s5">
<title>Conclusion</title>
<p>In this paper, a UAV-based approach was proposed for the data acquisition of rock masses and the automatic extraction of discontinuity information, which increases the automation level of discontinuity extraction and overcomes the disadvantages of close-range photogrammetry and 3D laser scanning, such as insufficient&#x20;data.</p>
<p>
<italic>Via</italic> the proposed method, discontinuity information can be extracted from the raw point cloud data, and the discontinuity boundary can be described with high precision.</p>
<p>A new procedure, RDD, was also developed to realize the automatic extraction of rock mass discontinuities. The orientations of the marked discontinuities calculated by the three-point method and the proposed RDD were compared, and the experimental results demonstrate the following: 1) RDD can completely detect most relatively smooth discontinuities, and therefore exhibits a good discontinuity detection effect; 2) the difference in the values of orientations calculated by the RDD and the manual three-point method was less than 3&#xb0; when the discontinuity was smooth enough. Even for relatively rough discontinuities, the error was within an acceptable range for practical engineering applications. Therefore, the practicability of the proposed method was proven.</p>
<p>Nonetheless, this research was characterized by some disadvantages. For example, the extraction results of rock mass discontinuity information do not include the discontinuity spacing, roughness, degree of weathering, etc. Therefore, future research will be conducted to systematize the information extraction of rock mass discontinuities.</p>
</sec>
</body>
<back>
<sec id="s6">
<title>Data Availability Statement</title>
<p>The raw data supporting the conclusion of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec id="s7">
<title>Author Contributions</title>
<p>NC proposed the algorithm and developed the RDD procedure. CD was responsible for data collection and curation, as well as wrote the manuscript and edited the charts. XD verified the experimental design, supervised and guided the process of data acquisition, as well as reviewed and revised the manuscript.</p>
</sec>
<sec id="s8">
<title>Funding</title>
<p>This work was supported by the National Natural Science Foundation of China (Grant No. 52009038) and middle-aged Talents Project of Department of Education of Hubei Province (Q20201407).</p>
</sec>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of Interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec id="s10" sec-type="disclaimer">
<title>Publisher&#x2019;s Note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ag&#xfc;era-Vega</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Carvajal-Ram&#xed;rez</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Mart&#xed;nez-Carricondo</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>S&#xe1;nchez-Hermosilla L&#xf3;pez</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Mesas-Carrascosa</surname>
<given-names>F. J.</given-names>
</name>
<name>
<surname>Garc&#xed;a-Ferrer</surname>
<given-names>A.</given-names>
</name>
<etal/>
</person-group> (<year>2018</year>). <article-title>Reconstruction of Extreme Topography from UAV Structure from Motion Photogrammetry</article-title>. <source>Measurement</source> <volume>121</volume>, <fpage>127</fpage>&#x2013;<lpage>138</lpage>. <pub-id pub-id-type="doi">10.1016/j.measurement.2018.02.062</pub-id> </citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Assali</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Grussenmeyer</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Villemin</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Pollet</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Viguier</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Surveying and Modeling of Rock Discontinuities by Terrestrial Laser Scanning and Photogrammetry: Semi-automatic Approaches for Linear Outcrop Inspection</article-title>. <source>J.&#x20;Struct. Geology.</source> <volume>66</volume>, <fpage>102</fpage>&#x2013;<lpage>114</lpage>. <pub-id pub-id-type="doi">10.1016/j.jsg.2014.05.014</pub-id> </citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Boothroyd</surname>
<given-names>R. J.</given-names>
</name>
<name>
<surname>Hardy</surname>
<given-names>R. J.</given-names>
</name>
<name>
<surname>Warburton</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Marjoribanks</surname>
<given-names>T. I.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>The Importance of Accurately Representing Submerged Vegetation Morphology in the Numerical Prediction of Complex River Flow</article-title>. <source>Earth Surf. Process. Landforms</source> <volume>41</volume> (<issue>4</issue>), <fpage>567</fpage>&#x2013;<lpage>576</lpage>. <pub-id pub-id-type="doi">10.1002/esp.3871</pub-id> </citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Brodie</surname>
<given-names>K. L.</given-names>
</name>
<name>
<surname>Raubenheimer</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Elgar</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Slocum</surname>
<given-names>R. K.</given-names>
</name>
<name>
<surname>McNinch</surname>
<given-names>J.&#x20;E.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Lidar and Pressure Measurements of Inner-Surfzone Waves and Setup</article-title>. <source>J.&#x20;Atmos. Ocean Tech.</source> <volume>32</volume> (<issue>10</issue>), <fpage>1945</fpage>&#x2013;<lpage>1959</lpage>. <pub-id pub-id-type="doi">10.1175/JTECH-D-14-00222.1</pub-id> </citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>De</surname>
<given-names>V. P.</given-names>
</name>
<name>
<surname>Cevasco</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Cavallo</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Detailed Rock Failure Susceptibility Mapping in Steep Rocky Coasts by Means of Non-contact Geostructural Surveys: the Case Study of the Tigullio Gulf (Eastern Liguria, Northern Italy)</article-title>. <source>Nat. Hazard. Earth Sys</source> <volume>12</volume> (<issue>153</issue>), <fpage>867</fpage>&#x2013;<lpage>880</lpage>. <pub-id pub-id-type="doi">10.5194/nhess-12-867-2012</pub-id> </citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Deliormanli</surname>
<given-names>A. H.</given-names>
</name>
<name>
<surname>Maerz</surname>
<given-names>N. H.</given-names>
</name>
<name>
<surname>Otoo</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Using Terrestrial 3D Laser Scanning and Optical Methods to Determine Orientations of Discontinuities at a Granite Quarry</article-title>. <source>Int. J.&#x20;Rock Mech. Mining Sci.</source> <volume>66</volume>, <fpage>41</fpage>&#x2013;<lpage>48</lpage>. <pub-id pub-id-type="doi">10.1016/j.ijrmms.2013.12.007</pub-id> </citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Feng</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Sj&#xf6;gren</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Stephansson</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Jing</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2001</year>). <article-title>Measuring Fracture Orientation at Exposed Rock Faces by Using a Non-reflector Total Station</article-title>. <source>Eng. Geology.</source> <volume>59</volume> (<issue>1</issue>), <fpage>133</fpage>&#x2013;<lpage>146</lpage>. <pub-id pub-id-type="doi">10.1016/S0013-7952(00)00070-3</pub-id> </citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ferrada</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Navarro</surname>
<given-names>C. A.</given-names>
</name>
<name>
<surname>Hitschfeld</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A Filtering Technique for Fast Convex Hull Construction in R2</article-title>. <source>J.&#x20;Comput. Appl. Math.</source> <volume>364</volume>, <fpage>112298</fpage>. <pub-id pub-id-type="doi">10.1016/j.cam.2019.06.014</pub-id> </citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Firpo</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Salvini</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Francioni</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Ranjith</surname>
<given-names>P. G.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Use of Digital Terrestrial Photogrammetry in Rocky Slope Stability Analysis by Distinct Elements Numerical Methods</article-title>. <source>Int. J.&#x20;Rock Mech. Mining Sci.</source> <volume>48</volume> (<issue>7</issue>), <fpage>1045</fpage>&#x2013;<lpage>1054</lpage>. <pub-id pub-id-type="doi">10.1016/j.ijrmms.2011.07.007</pub-id> </citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Francioni</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Simone</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Stead</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Sciarra</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Mataloni</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Calamita</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>A New Fast and Low-Cost Photogrammetry Method for the Engineering Characterization of Rock Slopes</article-title>. <source>Remote Sensing</source> <volume>11</volume> (<issue>11</issue>), <fpage>1267</fpage>. <pub-id pub-id-type="doi">10.3390/rs11111267</pub-id> </citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Giacomini</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Thoeni</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Santise</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Diotri</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Booth</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Fityus</surname>
<given-names>S.</given-names>
</name>
<etal/>
</person-group> (<year>2020</year>). <article-title>Temporal-Spatial Frequency Rockfall Data from Open-Pit Highwalls Using a Low-Cost Monitoring System</article-title>. <source>Remote Sensing</source> <volume>12</volume> (<issue>15</issue>), <fpage>2459</fpage>. <pub-id pub-id-type="doi">10.3390/rs12152459</pub-id> </citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gigli</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Casagli</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Semi-automatic Extraction of Rock Mass Structural Data from High Resolution LIDAR point Clouds</article-title>. <source>Int. J.&#x20;Rock Mech. Mining Sci.</source> <volume>48</volume> (<issue>2</issue>), <fpage>187</fpage>&#x2013;<lpage>198</lpage>. <pub-id pub-id-type="doi">10.1016/j.ijrmms.2010.11.009</pub-id> </citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Giordan</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Hayakawa</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Nex</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Remondino</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Tarolli</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Review Article: The Use of Remotely Piloted Aircraft Systems (RPASs) for Natural Hazards Monitoring and Management</article-title>. <source>Nat. Hazards Earth Syst. Sci.</source> <volume>18</volume> (<issue>4</issue>), <fpage>1079</fpage>&#x2013;<lpage>1096</lpage>. <pub-id pub-id-type="doi">10.5194/nhess-18-1079-2018</pub-id> </citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Guo</surname>
<given-names>J. T.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>S. J.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>P. N.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>L. X.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>W. H.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>Y. N.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Towards Semi-automatic Rock Mass Discontinuity Orientation and Set Analysis from 3D point Clouds</article-title>. <source>Comput. Geosciences</source> <volume>103</volume>, <fpage>164</fpage>&#x2013;<lpage>172</lpage>. <pub-id pub-id-type="doi">10.1016/j.cageo.2017.03.017</pub-id> </citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jia</surname>
<given-names>S. G.</given-names>
</name>
<name>
<surname>Jin</surname>
<given-names>A. B.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>Y. Q.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Application of UAV Oblique Photogrammetry in the Field of Geology Survey at the High and Steep Slope</article-title>. <source>Rock Soil Mech.</source> <volume>39</volume> (<issue>3</issue>), <fpage>1130</fpage>&#x2013;<lpage>1136</lpage>. <pub-id pub-id-type="doi">10.16285/j.rsm.2017.1474</pub-id> </citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jiang</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Zhong</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Pan</surname>
<given-names>P.-Z.</given-names>
</name>
<name>
<surname>Shi</surname>
<given-names>Y. N.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>H. G.</given-names>
</name>
<name>
<surname>Kou</surname>
<given-names>Y. Y.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Observe the Temporal Evolution of Deep Tunnel&#x27;s 3D Deformation by 3D Laser Scanning in the Jinchuan No. 2&#x20;mine</article-title>. <source>Tunnelling Underground Space Tech.</source> <volume>97</volume> (<issue>C</issue>), <fpage>103237</fpage>. <pub-id pub-id-type="doi">10.1016/j.tust.2019.103237</pub-id> </citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kaufmann</surname>
<given-names>V.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>The Evolution of Rock Glacier Monitoring Using Terrestrial Photogrammetry: The Example of Ausseres Hochebenkar Rock Glacier (Austria)</article-title>. <source>Aust. J.&#x20;Earth Sci.</source> <volume>105</volume> (<issue>2</issue>), <fpage>63</fpage>&#x2013;<lpage>77</lpage>. </citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kong</surname>
<given-names>D. H.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>F. Q.</given-names>
</name>
<name>
<surname>Saroglou</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Automatic Identification and Characterization of Discontinuities in Rock Masses from 3D point Clouds</article-title>. <source>Eng. Geology.</source> <volume>265</volume>, <fpage>105442</fpage>. <pub-id pub-id-type="doi">10.1016/j.enggeo.2019.105442</pub-id> </citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kromer</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Walton</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Gray</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Lato</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Group</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Development and Optimization of an Automated Fixed-Location Time Lapse Photogrammetric Rock Slope Monitoring System</article-title>. <source>Remote Sensing</source> <volume>11</volume> (<issue>16</issue>), <fpage>1890</fpage>. <pub-id pub-id-type="doi">10.3390/rs11161890</pub-id> </citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Manfreda</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>McCabe</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Miller</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Lucas</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Pajuelo Madrigal</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Mallinis</surname>
<given-names>G.</given-names>
</name>
<etal/>
</person-group> (<year>2018</year>). <article-title>On the Use of Unmanned Aerial Systems for Environmental Monitoring</article-title>. <source>Remote Sensing</source> <volume>10</volume> (<issue>4</issue>), <fpage>641</fpage>. <pub-id pub-id-type="doi">10.3390/rs10040641</pub-id> </citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Monsalve</surname>
<given-names>J.&#x20;J.</given-names>
</name>
<name>
<surname>Baggett</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Bishop</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Ripepi</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Application of Laser Scanning for Rock Mass Characterization and Discrete Fracture Network Generation in an Underground limestone Mine</article-title>. <source>Int. J.&#x20;Mining Sci. Tech.</source> <volume>29</volume> (<issue>1</issue>), <fpage>131</fpage>&#x2013;<lpage>137</lpage>. <pub-id pub-id-type="doi">10.1016/j.ijmst.2018.11.009</pub-id> </citation>
</ref>
<ref id="B22">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Myatt</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Torr</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Nasuto</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Bishop</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Craddock</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2002</year>). &#x201c;<article-title>Napsac:High Dimensional Robust Estimation-It&#x2019;s in the Bag</article-title>,&#x201d; in <source>BMVC</source> (<publisher-loc>Cardiff</publisher-loc>: <publisher-name>Computer Vision Tools</publisher-name>). <pub-id pub-id-type="doi">10.5244/c.16.44</pub-id> </citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Riquelme</surname>
<given-names>A. J.</given-names>
</name>
<name>
<surname>Abell&#xe1;n</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Tom&#xe1;s</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Jaboyedoff</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>A New Approach for Semi-automatic Rock Mass Joints Recognition from 3D point Clouds</article-title>. <source>Comput. Geosciences</source> <volume>68</volume>, <fpage>38</fpage>&#x2013;<lpage>52</lpage>. <pub-id pub-id-type="doi">10.1016/j.cageo.2014.03.014</pub-id> </citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Robson</surname>
<given-names>K. G.</given-names>
</name>
<name>
<surname>Luiz</surname>
<given-names>P. L. d. O.</given-names>
</name>
<name>
<surname>Luiz</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Francisco</surname>
<given-names>M. W. T.</given-names>
</name>
<name>
<surname>Mauricio</surname>
<given-names>R. V.</given-names>
</name>
<name>
<surname>Marcelo</surname>
<given-names>K. d. S.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>An Algorithm for Automatic Detection and Orientation Estimation of Planar Structures in LiDAR-Scanned Outcrops</article-title>. <source>Comput. Geosci-uk</source> <volume>90</volume>, <fpage>170</fpage>&#x2013;<lpage>178</lpage>. <pub-id pub-id-type="doi">10.1016/j.cageo.2016.02.011</pub-id> </citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Rodriguez</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Macciotta</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Hendry</surname>
<given-names>M. T.</given-names>
</name>
<name>
<surname>Roustaei</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Gr&#xe4;pel</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Skirrow</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>UAVs for Monitoring, Investigation, and Mitigation Design of a Rock Slope with Multiple Failure Mechanisms-A Case Study</article-title>. <source>Landslides</source> <volume>17</volume>, <fpage>2027</fpage>&#x2013;<lpage>2040</lpage>. <pub-id pub-id-type="doi">10.1007/s10346-020-01416-4</pub-id> </citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Salvini</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Vanneschi</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Coggan</surname>
<given-names>J.&#x20;S.</given-names>
</name>
<name>
<surname>Mastrorocco</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Evaluation of the Use of UAV Photogrammetry for Rock Discontinuity Roughness Characterization</article-title>. <source>Rock Mech. Rock Eng.</source> <volume>53</volume>, <fpage>3699</fpage>&#x2013;<lpage>3720</lpage>. <pub-id pub-id-type="doi">10.1007/s00603-020-02130-2</pub-id> </citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Uherc&#xed;k</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Kybic</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Liebgott</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Cachard</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2010</year>). <article-title>Model Fitting Using RANSAC for Surgical Tool Localization in 3-D Ultrasound Images</article-title>. <source>IEEE Trans. Biomed. Eng.</source> <volume>57</volume> (<issue>8</issue>), <fpage>1907</fpage>&#x2013;<lpage>1916</lpage>. <pub-id pub-id-type="doi">10.1109/TBME.2010.2046416</pub-id> </citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Umili</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Ferrero</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Einstein</surname>
<given-names>H. H.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>A New Method for Automatic Discontinuity Traces Sampling on Rock Mass 3D Model</article-title>. <source>Comput. Geosciences</source> <volume>51</volume>, <fpage>182</fpage>&#x2013;<lpage>192</lpage>. <pub-id pub-id-type="doi">10.1016/j.cageo.2012.07.026</pub-id> </citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>S. H.</given-names>
</name>
<name>
<surname>Ahmed</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Hashmi</surname>
<given-names>M. Z.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>P. Y.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Cliff Face Rock Slope Stability Analysis Based on Unmanned Arial Vehicle (UAV) Photogrammetry</article-title>. <source>Geomech. Geophys. Geo-energ. Geo-resour.</source> <volume>5</volume> (<issue>4</issue>), <fpage>333</fpage>&#x2013;<lpage>344</lpage>. <pub-id pub-id-type="doi">10.1007/s40948-019-00107-2</pub-id> </citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>S. H.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Z. S.</given-names>
</name>
<name>
<surname>Ren</surname>
<given-names>Y. P.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>C. J.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>UAV Photogrammetry and AFSA-Elman Neural Network in Slopes Displacement Monitoring and Forecasting</article-title>. <source>Ksce J.&#x20;Civ Eng.</source> <volume>24</volume> (<issue>8</issue>), <fpage>19</fpage>&#x2013;<lpage>29</lpage>. <pub-id pub-id-type="doi">10.1007/s12205-020-1697-3</pub-id> </citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>Z. F.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>S. M.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>H. D.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>D. D.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Formation Mechanism and Risk Assessment of Unstable Rock Mass at the Yumenkou Tunnel Entrance, Shanxi Province, China</article-title>. <source>Bull. Eng. Geol. Environ.</source> <volume>80</volume> (<issue>2</issue>), <fpage>1433</fpage>&#x2013;<lpage>1448</lpage>. <pub-id pub-id-type="doi">10.1007/s10064-020-01953-1</pub-id> </citation>
</ref>
<ref id="B32">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wichmann</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Strauhal</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Fey</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Perzlmaier</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Derivation of Space-Resolved normal Joint Spacing and <italic>In Situ</italic> Block Size Distribution Data from Terrestrial LIDAR point Clouds in a Rugged Alpine Relief (K&#xfc;htai, Austria)</article-title>. <source>Bull. Eng. Geol. Environ.</source> <volume>78</volume> (<issue>6</issue>), <fpage>4465</fpage>&#x2013;<lpage>4478</lpage>. <pub-id pub-id-type="doi">10.1007/s10064-018-1374-7</pub-id> </citation>
</ref>
<ref id="B33">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xu</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>W. l.</given-names>
</name>
<name>
<surname>Dong</surname>
<given-names>X. J.</given-names>
</name>
<name>
<surname>Xiao</surname>
<given-names>X. X.</given-names>
</name>
<name>
<surname>Fan</surname>
<given-names>X. M.</given-names>
</name>
<name>
<surname>Pei</surname>
<given-names>X. J.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>The Xinmocun Landslide on June 24, 2017 in Maoxian, Sichuan: Characteristics and Failure Mechanism</article-title>. <source>Chin. J.&#x20;Rock Mech. Eng.</source> <volume>36</volume> (<issue>11</issue>), <fpage>2612</fpage>&#x2013;<lpage>2628</lpage>. <pub-id pub-id-type="doi">10.13722/j.cnki.jrme.2017.0855</pub-id> </citation>
</ref>
<ref id="B34">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yathunanthan</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Eun-Jung</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Peter</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Steven</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Semi-automatic Mapping of Geological Structures Using UAV-Based Photogrammetric data:An Image Analysis Approach</article-title>. <source>Comput. Geosci-uk</source> <volume>69</volume>, <fpage>22</fpage>&#x2013;<lpage>32</lpage>. <pub-id pub-id-type="doi">10.1016/j.cageo.2014.04.012</pub-id> </citation>
</ref>
<ref id="B35">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Watson</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Dobie</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>MacLeod</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Khan</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Pierce</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Quantifying Impacts on Remote Photogrammetric Inspection Using Unmanned Aerial Vehicles</article-title>. <source>Eng. Structures</source> <volume>209</volume>, <fpage>109940</fpage>. <pub-id pub-id-type="doi">10.1016/j.engstruct.2019.109940</pub-id> </citation>
</ref>
<ref id="B36">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Du</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Tannant</surname>
<given-names>D. D.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>H. H.</given-names>
</name>
<name>
<surname>Zheng</surname>
<given-names>W. B.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Automated Method for Extracting and Analysing the Rock Discontinuities from point Clouds Based on Digital Surface Model of Rock Mass</article-title>. <source>Eng. Geology.</source> <volume>239</volume>, <fpage>109</fpage>&#x2013;<lpage>118</lpage>. <pub-id pub-id-type="doi">10.1016/j.enggeo.2018.03.020</pub-id> </citation>
</ref>
<ref id="B37">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>Y. Y.</given-names>
</name>
<name>
<surname>Wen</surname>
<given-names>H. J.</given-names>
</name>
<name>
<surname>Ma</surname>
<given-names>C. C.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Fu</surname>
<given-names>H. M.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>X. L.</given-names>
</name>
<etal/>
</person-group> (<year>2018</year>). <article-title>Failure Mechanism and Stability Analysis of Huge Landslide of Caijiaba Based on Multi-Source Data</article-title>. <source>Chin. J.&#x20;Rock Mech. Eng.</source> <volume>37</volume> (<issue>9</issue>), <fpage>2048</fpage>&#x2013;<lpage>2063</lpage>. <pub-id pub-id-type="doi">10.13722/j.cnki.jrme.2018.0448</pub-id> </citation>
</ref>
</ref-list>
</back>
</article>