A three-dimensional block automatic identification and stability analysis method and system
By constructing a three-dimensional real-world point cloud model of the slope rock mass, fitting the structural surface as a disk-shaped plane, screening effective intersection points, using undirected graphs to search for closed loops, and combining half-space constraints for three-dimensional reconstruction, the system automatically determines movable blocks and sliding modes, solving the automation problem of block identification and stability analysis in complex slopes, and improving analysis efficiency and accuracy.
Patent Information
- Application Number
- CN202610968047.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-01
- Publication Date
- 2026-11-06
- Estimated Expiration
- 2046-07-01
AI Technical Summary
Existing technologies rely on manual experience for block identification and stability analysis in complex slope engineering, which is difficult to meet the requirements in terms of efficiency and accuracy. Furthermore, 3D reality models cannot automatically complete the entire process of block identification and stability assessment.
By constructing a three-dimensional real-world cloud model of the slope rock mass, fitting the structural surface as a disk-shaped planar model, screening effective intersection points, using undirected graphs to search for closed loops, and combining half-space constraints for three-dimensional reconstruction, the movable blocks and sliding modes are automatically determined, and the safety factor is calculated.
It automates the identification and stability analysis of blocks under complex and steep slope conditions, avoids misjudgment by human experience, and improves analysis efficiency and accuracy.
Smart Images

Figure CN122550584B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of rock mass engineering technology, and more specifically, to a method and system for automatic identification and stability analysis of three-dimensional blocks. Background Technology
[0002] In slope engineering, rock mass stability analysis is a crucial step in ensuring construction and operational safety. The widespread development of faults, joints, fracture zones, and other structural planes within the rock mass breaks down a once-intact rock mass into blocks of varying shapes. Under the influence of external factors such as self-weight, seepage, and earthquakes, some of these blocks may become unstable and slide, posing a major risk to engineering safety. Therefore, accurately identifying the geometry, size, and stability of hazardous blocks is key to rock mass stability assessment and support design.
[0003] In related technologies, methods using 3D reality models or point cloud data for block identification and search can assist technicians in completing block search work to some extent. However, in actual high and steep slope engineering, the number of structural surfaces is large and the spatial relationships are complex. Related methods still rely heavily on manual experience to judge the combination of structural surfaces during the analysis process, making it difficult to meet the efficiency and accuracy requirements of complex engineering projects. Furthermore, while 3D reality models can recreate the slope site to some extent, the models themselves have limited analytical capabilities regarding the conditions for block formation, making it difficult to automatically complete the entire process of block identification and subsequent stability assessment. Summary of the Invention
[0004] The problem addressed by this invention is how to improve the automation level of block identification and stability analysis under complex slope conditions.
[0005] To address the above problems, this invention provides a method and system for automatic identification and stability analysis of three-dimensional blocks.
[0006] In a first aspect, the present invention provides a method for automatic identification and stability analysis of three-dimensional blocks, comprising: Construct a 3D real-world cloud model of the slope rock mass; Point cloud data of the slope surface and point cloud data corresponding to each structural surface are extracted from the three-dimensional real point cloud model. The point cloud data of the slope surface is fitted to obtain the plane equation of the slope surface, and the point cloud data corresponding to each structural surface is fitted into a disk-shaped plane model. The plane equation and disk geometric parameters of each structural surface are obtained based on the disk-shaped plane model. Based on the plane equation of the slope surface and the plane equation of the structural surface, the three-dimensional intersection points between every two structural surfaces and the slope surface are determined, and the intersection points that are simultaneously located within the circular areas corresponding to the two structural surfaces are added to the intersection point set, and the structural surface label corresponding to each intersection point is obtained. Based on the set of intersection points and the structural surface labels, each intersection point is grouped according to the structural surface labels, and the intersection points on the same structural surface are sorted and connected sequentially to form edges, thereby constructing an undirected graph with intersection points as vertices and edges as connections. Search for closed loops on the undirected graph to obtain a set of candidate loops; For each candidate loop in the candidate loop set, the set of structural surfaces associated with the loop is determined according to the structural surface labels corresponding to each intersection point on the candidate loop; the half-space constraints of the structural surface set and the half-space constraints of the slope surface are used to perform three-dimensional reconstruction to generate candidate three-dimensional blocks; For each candidate 3D block, determine whether the candidate 3D block is a movable block, obtain the movable block, and determine the sliding mode of the movable block; The safety factor of each movable block is obtained based on the sliding mode and the internal friction angle of the corresponding structural surface of the movable block.
[0007] Optionally, the construction of the three-dimensional real-world point cloud model of the slope rock mass includes: Plan an image acquisition path for the slope rock mass, and acquire image data of the slope rock mass according to the image acquisition path; Feature points are extracted and matched from the image data to generate a sparse point cloud of the slope rock mass. The sparse point cloud is then densified to obtain a dense point cloud of the slope rock mass. The three-dimensional real point cloud model is obtained by performing three-dimensional mesh reconstruction and texture mapping based on the dense point cloud.
[0008] Optionally, the step of extracting point cloud data of the slope surface and point cloud data corresponding to each structural surface from the three-dimensional real-world point cloud model includes: The three-dimensional real-world point cloud model is divided into multiple planar regions by planar segmentation; The planar region located on the outer surface of the slope and having the largest area among the multiple planar regions is defined as the slope surface region, and the remaining planar regions are defined as structural surface regions. Point cloud data is extracted from the slope surface area and used as the point cloud data of the slope surface. Point cloud data is extracted from each of the structural surface regions to serve as the point cloud data for the corresponding structural surface.
[0009] Optionally, the step of fitting the point cloud data of the slope surface to obtain the plane equation of the slope surface, and fitting the point cloud data corresponding to each structural surface into a disk-shaped planar model, and obtaining the plane equation and disk geometric parameters of each structural surface based on the disk-shaped planar model, includes: Plane fitting is performed on the point cloud data of the slope surface to obtain the plane equation of the slope surface; Plane fitting is performed on the point cloud data of each of the structural surfaces to obtain the plane equation of each structural surface; Based on the spatial coordinates of each point in the point cloud data of each structural surface, determine the position of the center point of each structural surface and the maximum distance from each point to the center point; Using the center point as the center of the disk and the maximum distance as the radius of the disk, and combining the corresponding plane equations, a disk-shaped planar model of each structural surface is constructed. The plane equation, center point coordinates, and disk radius of each structural surface are extracted from the disk-shaped planar model and used as the geometric parameters of the disk.
[0010] Optionally, based on the plane equation of the slope surface and the plane equation of the structural surface, the three-dimensional intersection points between every two structural surfaces and the slope surface are determined, and intersection points that simultaneously lie within the circular regions corresponding to the two structural surfaces are added to the intersection point set. Simultaneously, a structural surface label corresponding to each intersection point is obtained, including: Select a first structural plane and a second structural plane from all the described structural planes; Based on the plane equations of the slope surface, the first structural surface, and the second structural surface, determine the common intersection point of the three planes; Determine whether the common intersection point is located simultaneously within the circular region of the first structural surface and the circular region of the second structural surface; When the common intersection point is located in both the circular region of the first structural surface and the circular region of the second structural surface, the common intersection point is added to the intersection point set, and the correspondence between the common intersection point and the first structural surface and the second structural surface is recorded as the structural surface label of the intersection point; By traversing all possible structural face combinations, the set of intersection points and the structural face label corresponding to each intersection point are obtained.
[0011] Optionally, the step of grouping the intersection points according to the structural surface based on the intersection point set and the structural surface label, sorting the intersection points on the same structural surface and connecting them sequentially to form edges, and constructing an undirected graph with intersection points as vertices and edges as connections, includes: Based on the structural surface labels, the intersection points in the intersection point set are grouped according to their respective structural surfaces to obtain a subset of intersection points corresponding to each structural surface; For each structural plane, the intersection points in the subset are sorted along the projection direction in the plane containing the structural plane to obtain an ordered sequence of intersection points. Connect adjacent intersections in the ordered sequence of intersections to generate edges on the structure surface; Collect all edges generated on the structural surfaces, and construct the undirected graph using the intersection points in the set of intersection points as vertices and the edges as connections.
[0012] Optionally, for each candidate loop in the candidate loop set, based on the structural surface labels corresponding to each intersection point on the candidate loop, a set of structural surfaces associated with the loop is determined; three-dimensional reconstruction is performed using the half-space constraints of the structural surface set and the half-space constraints of the slope surface to generate candidate three-dimensional blocks, including: Obtain one candidate loop from the candidate loop set, and the structure surface label corresponding to each intersection point on the candidate loop; Based on the structural surface labels, collect all structural surfaces involved in the intersections of the candidate loop to form a set of structural surfaces associated with the candidate loop; Obtain the plane equation and circular region information of each structural surface in the set of structural surfaces, as well as the plane equation of the slope surface; Based on the planar equation and circular region information of each structural surface, the half-space constraint corresponding to the structural surface is determined, and the half-space constraint corresponding to the slope surface is determined based on the planar equation of the slope surface. The half-space constraints of the structural surface set are combined with the half-space constraints of the slope surface to form a closed spatial region. The closed spatial region is reconstructed in three dimensions to generate a candidate three-dimensional block corresponding to the candidate loop. Traverse each candidate loop in the candidate loop set to obtain the candidate 3D block corresponding to all candidate loops.
[0013] Optionally, for each candidate 3D block, determining whether the candidate 3D block is a movable block, obtaining movable blocks, and determining the sliding mode of the movable block includes: Obtain a candidate 3D block and extract all edge vectors and inward normal vectors of each structural surface of the candidate 3D block; For each edge vector of the candidate 3D block, determine the directional relationship between the edge vector and the inward normal vector of each other structural surface on the candidate 3D block, excluding the two structural surfaces corresponding to the edge. If the directional relationship between all edge vectors and the inward normal vectors of all corresponding other structural surfaces satisfies the preset conditions, then the candidate 3D block is determined to be a movable block. For candidate three-dimensional blocks that are determined to be the movable block, obtain the active resultant force vector, and determine the directional relationship between the active resultant force vector and the inward normal vector of each structural surface; Based on the directional relationship between the active resultant force vector and the inward normal vector of each structural surface, the structural surface that satisfies the compression surface condition is determined, and the structural surface that satisfies the compression surface condition is denoted as the compression surface; The sliding mode of the movable block is determined based on the number of compression surfaces.
[0014] Optionally, the sliding mode includes a single-plane sliding mode and a double-plane sliding mode. The step of obtaining the safety factor for each movable block based on the sliding mode and the internal friction angle of the corresponding structural surface of the movable block includes: When the sliding mode is the single-plane sliding mode, the first anti-slip force provided by the sliding surface is determined according to the internal friction angle corresponding to the sliding surface of the movable block, and the first sliding force is determined according to the gravity of the movable block. The safety factor of the movable block is obtained according to the ratio of the first anti-slip force to the first sliding force. When the sliding mode is the dual-plane sliding mode, the third anti-slip force and the fourth anti-slip force provided by the two sliding surfaces are determined according to the internal friction angles corresponding to the two sliding surfaces of the movable block, and the sum of the anti-slip forces is obtained according to the third anti-slip force and the fourth anti-slip force. The second sliding force is determined according to the gravity of the movable block, and the safety factor of the movable block is obtained according to the ratio of the sum of the anti-slip forces to the second sliding force.
[0015] Secondly, the present invention provides a three-dimensional block automatic identification and stability analysis system, comprising: Building units are used to construct three-dimensional real-world cloud models of slope rock masses; The data extraction unit is used to extract point cloud data of the slope surface and point cloud data corresponding to each structural surface from the three-dimensional real point cloud model. The planar fitting unit is used to fit the point cloud data of the slope surface to obtain the planar equation of the slope surface, and to fit the point cloud data corresponding to each structural surface into a disk-shaped planar model, and to obtain the planar equation and disk geometric parameters of each structural surface based on the disk-shaped planar model. The intersection point determination unit is used to determine the three-dimensional intersection points between every two structural surfaces and the slope surface based on the plane equation of the slope surface and the plane equation of the structural surface, and to add the intersection points that are simultaneously located in the circular areas corresponding to the two structural surfaces to the intersection point set, and to obtain the structural surface label corresponding to each intersection point. The graph construction unit is used to group each intersection point according to the structure surface label based on the intersection point set and the structure surface label, sort the intersection points on the same structure surface and connect them sequentially to form edges, and construct an undirected graph with intersection points as vertices and edges as connections. A loop search unit is used to search for closed loops on the undirected graph to obtain a set of candidate loops. The block reconstruction unit is used to determine the set of structural surfaces associated with each candidate loop in the candidate loop set based on the structural surface labels corresponding to each intersection point on the candidate loop; and to perform three-dimensional reconstruction using the half-space constraints of the structural surface set and the half-space constraints of the slope surface to generate candidate three-dimensional blocks. The mobility determination unit is used to determine whether each candidate three-dimensional block is a movable block, obtain the movable block, and determine the sliding mode of the movable block. The safety factor determination unit is used to obtain the safety factor of each movable block based on the sliding mode and the internal friction angle of the corresponding structural surface of the movable block.
[0016] The present invention provides a method and system for automatic identification and stability analysis of three-dimensional blocks. It fits the point cloud of structural surfaces into a disk-shaped planar model, obtaining the planar equation and disk geometric parameters. This represents the structural surface as a circular region of finite size, rather than an infinitely extending ideal plane. When solving for the three-dimensional intersections between two structural surfaces and the slope surface, only intersections located within the corresponding circular regions of the two structural surfaces are retained, and the structural surface label of each intersection is recorded. This automatically eliminates false intersections falling outside the actual boundary of the structural surface, ensuring that each intersection used for subsequent block construction truly exists on the rock mass surface, thus avoiding misjudgments caused by treating the structural surface as an infinite plane. Furthermore, the selected valid intersections are grouped according to the structural surface label. The intersections within each group are sorted along a certain direction and then connected sequentially to form edges. An undirected graph is constructed using all intersections as vertices and the connected edges as connections. This undirected graph fully reflects the spatial topological connections between the structural surface and the slope surface. Searching for closed loops on this graph directly yields a set of candidate loops, each loop corresponding to the exposed boundary of a potential block on the slope surface. This process no longer relies on technicians to make manual judgments based on the orientation, location, and spatial combination of structural surfaces. Instead, it is completed automatically through graph theory algorithms. This avoids misjudgments and omissions caused by differences in experience or visual fatigue, and at the same time greatly improves analysis efficiency. It is especially suitable for steep slopes with a large number of structural surfaces and complex spatial relationships.
[0017] Furthermore, after obtaining candidate loops, the set of structural surfaces associated with the loop is determined based on the structural surface labels carried at each intersection point on the loop. Three-dimensional reconstruction is then performed using the half-space constraints of each structural surface in this set and the half-space constraints of the slope surface. The loop itself is a two-dimensional closed boundary on the slope surface, while the block needs to extend into the slope. By combining the structural surfaces and the half-space constraints of the slope surface—that is, the sides of each plane pointing inwards from the block—a closed spatial region is formed, thereby automatically generating a three-dimensional model consistent with the actual block shape. This reconstruction process does not require manual specification of the structural surface combination, nor does it rely on pre-set block templates; it is entirely determined automatically by the structural surface labels at the intersection points on the loop.
[0018] Simultaneously, for each reconstructed candidate 3D block, its edge vectors and the inward normal vectors of each structural surface are extracted. For each edge vector, its directional relationship with the inward normal vectors of other structural surfaces besides the two structural surfaces corresponding to that edge is determined. If the directional relationships between all edge vectors and the inward normal vectors of the corresponding other structural surfaces satisfy preset conditions, the block is determined to be a movable block. Further, the active resultant force vector is obtained, and its directional relationship with the inward normal vectors of each structural surface is determined. Structural surfaces that meet the compression surface conditions are recorded as compression surfaces. The sliding mode (single-plane sliding or double-plane sliding) is determined based on the number of compression surfaces (one or two). Finally, based on the sliding mode and the internal friction angle of the corresponding structural surface, the safety factor is obtained using the ratio of the anti-slip force to the sliding force. The above determination process is automatically completed based on the reconstructed block geometric parameters, without the need for additional manual analysis, realizing full automation from 3D point cloud input to safety factor output.
[0019] In summary, this invention effectively solves the problems of existing technologies that rely on human experience, ignore the finite size of the structural surface leading to misjudgment of intersection points, and cannot automatically complete stability analysis by fitting the structural surface as a disk of finite size, accurately screening effective intersection points, automatically searching for closed loops using undirected graphs, automatically reconstructing three-dimensional blocks based on half-space constraints, and automatically determining mobility, sliding mode, and safety factor. It significantly improves the automation level and accuracy of block identification and stability analysis under complex high and steep slope conditions. Attached Figure Description
[0020] Figure 1 This is a flowchart illustrating a method for automatic identification and stability analysis of three-dimensional blocks according to an embodiment of the present invention; Figure 2 This is a schematic diagram of a disk-shaped planar model according to another embodiment of the present invention; Figure 3 This is a schematic diagram of the construction of a tetrahedron according to another embodiment of the present invention; Figure 4 This is a schematic diagram of the construction of a five-sided block according to another embodiment of the present invention; Figure 5 This is a schematic diagram of the construction of a six-sided block according to another embodiment of the present invention; Figure 6 This is a schematic diagram of the structure of the three-dimensional block automatic identification and stability analysis system according to an embodiment of the present invention. Detailed Implementation
[0021] To make the above-mentioned objects, features, and advantages of the present invention more apparent and understandable, specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Although some embodiments of the present invention are shown in the drawings, it should be understood that the present invention can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the present invention. It should be understood that the accompanying drawings and embodiments of the present invention are for illustrative purposes only and are not intended to limit the scope of protection of the present invention.
[0022] It should be understood that the various steps described in the method embodiments of the present invention may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present invention is not limited in this respect.
[0023] The term "comprising" and its variations as used herein are open-ended, meaning "including but not limited to"; the term "based on" means "at least partially based on"; the term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments"; and the term "optionally" means "optional embodiments". Definitions of other terms will be given in the following description. It should be noted that the concepts of "first," "second," etc., mentioned in this invention are used only to distinguish different devices, modules, or units, and are not intended to limit the order of functions performed by these devices, modules, or units or their interdependencies.
[0024] It should be noted that the terms "a" and "a plurality of" used in this invention are illustrative rather than restrictive. Those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0025] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, data stored, data displayed, etc.) and signals involved in this application are all authorized by the user or fully authorized by all parties. The collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation portals are provided for users to choose to authorize or refuse.
[0026] Combination Figure 1 As shown in the figure, an embodiment of the present invention provides a method for automatic identification and stability analysis of three-dimensional blocks, including: Construct a three-dimensional real-world cloud model of the slope rock mass.
[0027] Specifically, multi-angle image data of the slope rock mass is obtained by using drones or high-definition cameras with close-up photogrammetry technology. The image data is then processed using 3D real-scene reconstruction software, such as Metashape or Cloud Earth, to generate a 3D real-scene cloud model of the slope rock mass. This model consists of a large number of points with precise 3D coordinates and color information, which can digitally restore the real shape of the slope.
[0028] Point cloud data of the slope surface and point cloud data corresponding to each structural surface are extracted from the three-dimensional real-world point cloud model.
[0029] Specifically, the 3D real-world point cloud model is imported into point cloud processing software, such as CloudCompare. Operators manually extract point cloud data belonging to the slope surface and point cloud data corresponding to each linear structural surface, such as crack intersection lines and interlayer fault lines. All extracted structural surface point cloud data are then exported as Excel files for subsequent automated processing.
[0030] The point cloud data of the slope surface is fitted to obtain the plane equation of the slope surface, and the point cloud data corresponding to each structural surface is fitted into a disk-shaped plane model. The plane equation and disk geometric parameters of each structural surface are obtained based on the disk-shaped plane model.
[0031] Specifically, automatic fitting is implemented using Matlab programming. Based on the geometric principle that three non-collinear points determine a spatial plane, each set of structural surface point clouds is fitted into a disk-shaped planar model, obtaining the planar equation of each structural surface in the form Ax + By + Cz + D = 0, where A, B, and C are normal vector components, D is a constant term, and XYZ represent the coordinates of any point on the fitted plane, i.e., a point in the three-dimensional spatial coordinate system. Simultaneously, the geometric parameters of the disk, including the center coordinates and the disk diameter, are obtained. Similarly, planar fitting is performed on the slope surface point cloud to obtain the planar equation of the slope surface. For example, as shown... Figure 2 As shown, using Matlab for automated programming, based on the principle that three non-collinear points can determine a spatial plane, all structural surface point clouds are fitted into a disk-shaped structural surface, i.e., a disk-shaped planar model, and their attitude and the position of the center point are calculated. The equation of each plane can be expressed as Ax + By + Cz + D = 0, and the size of the structural surface is the diameter of the disk.
[0032] Based on the plane equation of the slope surface and the plane equation of the structural surface, the three-dimensional intersection points between every two structural surfaces and the slope surface are determined, and the intersection points that are simultaneously located within the circular areas corresponding to the two structural surfaces are added to the intersection point set, and the structural surface label corresponding to each intersection point is obtained.
[0033] Specifically, based on the plane equations of the slope surface and all structural surfaces, the three-intersection point of each pair of structural surfaces with the slope surface is solved sequentially. This solves a system of linear equations consisting of the slope surface equation, the first structural surface equation, and the second structural surface equation. If the system of equations has a solution, it is further determined whether the intersection point falls within the disk area of both the first and second structural surfaces, i.e., the distance between the intersection point and the center of the disk does not exceed the radius of the disk. Only intersection points that simultaneously satisfy the above two disk constraints are accepted, added to the intersection point set, and the labels of the two structural surfaces corresponding to the intersection point are recorded. The above process is repeated until all structural surfaces have been combined and traversed, resulting in a complete set of intersection points and the structural surface label corresponding to each intersection point.
[0034] Based on the set of intersection points and the structural surface labels, the intersection points are grouped according to the structural surface, and the intersection points on the same structural surface are sorted and connected sequentially to form edges, thus constructing an undirected graph with intersection points as vertices and the edges as connections.
[0035] Specifically, for each structural surface, all intersections labeled with that structural surface are collected, and these intersections are sorted according to the projection direction of the structural surface on the slope surface. Then, adjacent intersections are connected in sequence to form edges, thereby constructing an undirected graph with all intersections as vertices and these edges as connections.
[0036] Search for closed loops on the undirected graph to obtain a set of candidate loops.
[0037] Specifically, a depth-first search algorithm is used to traverse the undirected graph, enumerating all simple closed loops. To improve loop detection efficiency, this embodiment only considers loops with three, four, or five edges. The specific steps are as follows: intersection points are grouped according to their respective structural surfaces and sorted along the trace direction to form undirected edges, creating a trace network graph; then, a depth-first search is performed on this graph to enumerate all simple closed loops; then, a rotation and flip equivalent normalization method is used to remove duplicate loops caused by different starting points or traversal directions, retaining only loops with three, four, or five edges as candidate block loops; finally, in the local planar coordinate system of the slope surface, area threshold screening and self-intersection detection are performed on each candidate loop, eliminating invalid loops with too small an area or self-intersections, ultimately obtaining a set of candidate loops.
[0038] For each candidate loop in the candidate loop set, the set of structural surfaces associated with the loop is determined according to the structural surface labels corresponding to each intersection point on the candidate loop; the half-space constraints of the structural surface set and the half-space constraints of the slope surface are used to perform three-dimensional reconstruction to generate candidate three-dimensional blocks.
[0039] Specifically, for each candidate loop in the candidate loop set, firstly, based on the structural surface labels carried by each intersection point on the loop, the union of all labels is taken to obtain the set of structural surfaces associated with the loop. Then, half-space constraints are constructed: for each plane in the slope surface and the set of structural surfaces, their normal vector directions are uniformly adjusted to point towards the interior of the block, forming their respective half-spaces. Next, the intersection points of any three structural surfaces in the set of structural surfaces are enumerated as potential internal vertices. Using the half-space feasibility constraint (that is, the point must be located inside all half-spaces simultaneously) and the disk radius constraint (that is, the distance between the point and the center of each structural surface does not exceed the corresponding disk radius), valid internal vertices are selected, and m-2 internal vertices are selected according to the number of edges m of the candidate loop. Finally, using the vertices of the candidate loops and the selected internal vertices as a point set, a convex hull reconstruction algorithm is used to generate a 3D block model, and the block is automatically classified and output as a tetrahedron, pentahedron, or hexahedron according to the number of faces, such as... Figure 3 , Figure 4 , Figure 5 As shown, the volume of the block is automatically calculated at the same time.
[0040] For each candidate 3D block, determine whether the candidate 3D block is a movable block, obtain the movable block, and determine the sliding mode of the movable block.
[0041] Specifically, for the generated 3D blocks, the edge vector method is used to determine movable blocks. The edge vector e corresponding to each edge of the candidate 3D block (i.e., the intersection of two adjacent structural surfaces) is extracted. For each structural surface other than the two structural surfaces corresponding to that edge, its normal vector pointing into the block is taken. Calculate the edge vector e and the inner normal vector. The dot product of all edges is calculated. If all dot products are greater than or equal to zero, the edge allows the block to slide unimpeded along that direction; when all edges of the block satisfy this condition, the block is determined to be a movable block. For candidate blocks determined to be movable blocks, their sliding mode is further determined, and the active resultant force vector r is obtained. When only gravity is considered, r = (0, 0, -g). The relationship between r and the inner normal vector of each structural surface is calculated respectively. The dot product is used to identify the structural surfaces whose dot product is less than zero, and these surfaces are marked as compression surfaces. If there is only one compression surface, the sliding mode is single-plane sliding; if there are two compression surfaces, the sliding mode is two-plane sliding.
[0042] The safety factor of each movable block is obtained based on the sliding mode and the internal friction angle of the corresponding structural surface of the movable block.
[0043] Specifically, the safety factor is calculated based on the sliding mode. When it is single-plane sliding, the safety factor equals the anti-slip force of the sliding surface divided by the sliding force: ,in For structural planes The internal friction angle, For the supporting force of the sliding surface, This refers to the sliding force. When there is two-plane sliding, the safety factor equals the sum of the anti-slip forces of the two sliding surfaces divided by the sliding force. ,in , These are the internal friction angles of the two structural surfaces. , For the supporting force of the corresponding sliding surface, The sliding force is calculated as follows: The safety factor for each movable block is obtained through the above calculations, and the final output includes the geometric model, sliding mode, and safety factor for all movable blocks on the slope.
[0044] The 3D block automatic identification and stability analysis method in this embodiment fits the point cloud of the structural surface into a disk-shaped planar model, obtaining the planar equation and disk geometric parameters. This represents the structural surface as a circular region of finite size, rather than an infinitely extending ideal plane. When solving for the three-dimensional intersection points between two structural surfaces and the slope surface, only intersection points that simultaneously lie within the corresponding circular regions of the two structural surfaces are retained, and the structural surface label to which each intersection point belongs is recorded. In this way, false intersection points falling outside the actual boundary of the structural surface are automatically excluded, ensuring that each intersection point used for subsequent block construction truly exists on the rock mass surface, thereby avoiding misjudgments caused by treating the structural surface as an infinite plane. Furthermore, the selected valid intersection points are grouped according to the structural surface label. The intersection points within each group are sorted along a certain direction and then connected sequentially to form edges. An undirected graph is constructed with all intersection points as vertices and the connected edges as connections. This undirected graph fully reflects the spatial topological connection relationship between the structural surface and the slope surface. Searching for closed loops on this graph directly yields a set of candidate loops, with each loop corresponding to the exposed boundary of a potential block on the slope surface. This process no longer relies on technicians to make manual judgments based on the orientation, location, and spatial combination of structural surfaces. Instead, it is completed automatically through graph theory algorithms. This avoids misjudgments and omissions caused by differences in experience or visual fatigue, and at the same time greatly improves analysis efficiency. It is especially suitable for steep slopes with a large number of structural surfaces and complex spatial relationships.
[0045] Furthermore, after obtaining candidate loops, the set of structural surfaces associated with the loop is determined based on the structural surface labels carried at each intersection point on the loop. Three-dimensional reconstruction is then performed using the half-space constraints of each structural surface in this set and the half-space constraints of the slope surface. The loop itself is a two-dimensional closed boundary on the slope surface, while the block needs to extend into the slope. By combining the structural surfaces and the half-space constraints of the slope surface—that is, the sides of each plane pointing inwards from the block—a closed spatial region is formed, thereby automatically generating a three-dimensional model consistent with the actual block shape. This reconstruction process does not require manual specification of the structural surface combination, nor does it rely on pre-set block templates; it is entirely determined automatically by the structural surface labels at the intersection points on the loop.
[0046] Simultaneously, for each reconstructed candidate 3D block, its edge vectors and the inward normal vectors of each structural surface are extracted. For each edge vector, its directional relationship with the inward normal vectors of other structural surfaces besides the two structural surfaces corresponding to that edge is determined. If the directional relationships between all edge vectors and the inward normal vectors of the corresponding other structural surfaces satisfy preset conditions, the block is determined to be a movable block. Further, the active resultant force vector is obtained, and its directional relationship with the inward normal vectors of each structural surface is determined. Structural surfaces that meet the compression surface conditions are recorded as compression surfaces. The sliding mode (single-plane sliding or double-plane sliding) is determined based on the number of compression surfaces (one or two). Finally, based on the sliding mode and the internal friction angle of the corresponding structural surface, the safety factor is obtained using the ratio of the anti-slip force to the sliding force. The above determination process is automatically completed based on the reconstructed block geometric parameters, without the need for additional manual analysis, realizing full automation from 3D point cloud input to safety factor output.
[0047] In summary, this embodiment effectively solves the problems of existing technologies that rely on human experience, ignore the finite size of the structural surface leading to misjudgment of intersection points, and cannot automatically complete stability analysis by fitting the structural surface as a finite-size disk, accurately screening effective intersection points, automatically searching for closed loops using undirected graphs, automatically reconstructing the three-dimensional block based on half-space constraints, and automatically determining mobility, sliding mode, and safety factor. It significantly improves the automation level and accuracy of block identification and stability analysis under complex high and steep slope conditions.
[0048] Optionally, the construction of the three-dimensional real-world point cloud model of the slope rock mass includes: Plan an image acquisition path for the slope rock mass, and acquire image data of the slope rock mass according to the image acquisition path; Feature points are extracted and matched from the image data to generate a sparse point cloud of the slope rock mass. The sparse point cloud is then densified to obtain a dense point cloud of the slope rock mass. The three-dimensional real point cloud model is obtained by performing three-dimensional mesh reconstruction and texture mapping based on the dense point cloud.
[0049] Specifically, an image acquisition path for the slope rock mass is planned. For example, based on the slope's direction, height, and complexity, the flight path of the drone and the camera's shooting angle are set. A close-up photogrammetry method is used to ensure that the camera's optical axis is as perpendicular as possible to the slope surface, ensuring the acquisition of multi-angle image data with high overlap. According to the planned acquisition path, the drone or high-definition camera is controlled to automatically shoot along the path, acquiring image data covering the entire slope area, including multiple photos from different perspectives and heights. Feature points are extracted and matched from the acquired image data. For example, a scale-invariant feature transformation algorithm is used to detect significant feature points in each image, and feature descriptors are matched between different images to establish corresponding relationships between corresponding points. Then, based on the principle of motion reconstruction structure, the camera attitude and spatial coordinates of feature points are solved to generate a sparse point cloud of the slope rock mass. The obtained sparse point cloud is then densified, for example using a multi-view stereo matching algorithm. Based on the sparse point cloud and camera parameters, depth information is calculated pixel by pixel to generate high-density 3D point cloud data, resulting in a dense point cloud of the slope rock mass. This dense point cloud can more accurately reflect the geometric morphology of the slope surface, including the exposed traces of structural surfaces. Finally, a 3D mesh reconstruction is performed based on the dense point cloud. This involves connecting adjacent points in the point cloud to form triangular patches, creating a surface mesh model. Texture mapping is then applied to the mesh model, attaching color information from the original image to the mesh surface, resulting in a 3D real-world point cloud model with realistic color and texture. This model contains not only spatial geometric information but also color information, facilitating subsequent manual or automatic extraction of structural surface point clouds.
[0050] In this optional embodiment, by planning the image acquisition path and employing close-up photogrammetry to obtain multi-angle image data with high overlap, the integrity and accuracy of subsequent 3D reconstruction are ensured, avoiding the omission of structural surfaces due to missing viewpoints. Feature extraction and matching of the image data generate sparse point clouds, which are then densified to form dense point clouds. This allows for the precise reconstruction of the slope surface geometry, including the exposed traces of fine structural surfaces such as joints and fissures, providing a high-fidelity data foundation for subsequent structural surface extraction. Furthermore, 3D mesh reconstruction and texture mapping generate a realistic 3D point cloud model with true colors. This not only provides the model with an intuitively interpretable visual effect but also facilitates manual or automatic differentiation of slope and structural surface areas in point cloud processing software, effectively improving the accuracy and efficiency of structural surface point cloud extraction. Overall, this construction method provides reliable and high-quality 3D data input for the entire block identification and stability analysis process, ensuring the geometric fidelity of subsequent intersection calculations, loop searches, and block reconstruction from the source.
[0051] Optionally, the step of extracting point cloud data of the slope surface and point cloud data corresponding to each structural surface from the three-dimensional real-world point cloud model includes: The three-dimensional real-world point cloud model is divided into multiple planar regions by planar segmentation; The planar region located on the outer surface of the slope and having the largest area among the multiple planar regions is defined as the slope surface region, and the remaining planar regions are defined as structural surface regions. Point cloud data is extracted from the slope surface area and used as the point cloud data of the slope surface. Point cloud data is extracted from each of the structural surface regions to serve as the point cloud data for the corresponding structural surface.
[0052] Specifically, the 3D real-world point cloud model is input into the automated processing flow. First, a region growing algorithm based on normal vector estimation is used to segment the point cloud into planes. The local normal vector of each point is calculated, and points with a normal vector angle less than a preset threshold and spatially adjacent are clustered into the same planar region, thus obtaining multiple planar patches. Then, the area of each planar patch and the direction of its normal vector are calculated. The planar patch with the normal vector pointing outwards from the slope (i.e., the horizontal component of the normal vector points outwards from the slope) and the largest area is selected. All point clouds within this planar patch are extracted as the point cloud data of the slope surface. Next, the extracted slope surface point clouds are removed from the original point cloud, and a density-based spatial clustering algorithm, such as DBSCAN, is performed on the remaining point cloud to cluster spatially adjacent points into independent point cloud clusters. Each point cloud cluster corresponds to a potential structural surface. For each point cloud cluster, a random sampling consensus algorithm is used to fit a spatial plane, and the average distance from all points in the point cloud cluster to the fitted plane and the minimum bounding rectangle of the point cloud cluster on the plane are calculated to obtain the aspect ratio. If the average distance is less than the preset plane fitting error threshold and the aspect ratio is greater than the stripe judgment threshold (e.g., aspect ratio greater than 3), then the point cloud cluster is identified as a valid linear structural surface region. If the area of the point cloud cluster is too small or the fitting residual is too large, it is discarded as noise. Through the above filtering, multiple valid structural surface regions are obtained. Finally, each valid structural surface region is traversed, and the three-dimensional coordinate data of all points within that region are extracted and saved as independent data files. Each file corresponds to the point cloud data of one structural surface. This achieves automatic separation and extraction of the slope surface and the point clouds of each linear structural surface without the need for manual selection, providing an efficient data preparation process for subsequent batch disk fitting and block recognition.
[0053] In this optional embodiment, the point cloud is quickly segmented into multiple planar regions through normal vector estimation and region growing, avoiding the inefficient operation of manually selecting each region one by one. Then, the slope surface is automatically identified based on the largest area and the outward pointing normal vector. The remaining regions are classified as potential structural surfaces, and strip-shaped effective linear structural surfaces are filtered out by fitting residuals and aspect ratio thresholds, thereby eliminating pseudo-structural surfaces caused by noise or vegetation interference. This automated process significantly shortens the point cloud preprocessing time, especially suitable for steep slope scenarios with a large number of structural surfaces. At the same time, since the segmentation and filtering process is entirely based on geometric constraints, there will be no differences between different operators, ensuring the consistency and repeatability of the structural surface extraction results. Finally, the extracted slope point cloud and each structural surface point cloud are output as independent files, providing an accurate and clean data foundation for subsequent disk fitting, intersection calculation, and other steps, improving the overall accuracy of block identification and stability analysis from the source.
[0054] Optionally, the step of fitting the point cloud data of the slope surface to obtain the plane equation of the slope surface, and fitting the point cloud data corresponding to each structural surface into a disk-shaped planar model, and obtaining the plane equation and disk geometric parameters of each structural surface based on the disk-shaped planar model, includes: Plane fitting is performed on the point cloud data of the slope surface to obtain the plane equation of the slope surface; Plane fitting is performed on the point cloud data of each of the structural surfaces to obtain the plane equation of each structural surface; Based on the spatial coordinates of each point in the point cloud data of each structural surface, determine the position of the center point of each structural surface and the maximum distance from each point to the center point; Using the center point as the center of the disk and the maximum distance as the radius of the disk, and combining the corresponding plane equations, a disk-shaped planar model of each structural surface is constructed. The plane equation, center point coordinates, and disk radius of each structural surface are extracted from the disk-shaped planar model and used as the geometric parameters of the disk.
[0055] Specifically, for the point cloud data of the slope surface, a least-squares plane fitting algorithm is used to substitute the coordinates of all slope surface point clouds into the plane equations for solving. By minimizing the sum of squared distances from each point to the fitted plane, the plane equation parameters A0, B0, C0, and D0 of the slope surface are obtained. For the point cloud data corresponding to each structural surface, the least-squares plane fitting algorithm is also used to independently fit the point cloud of each structural surface, obtaining the plane equation parameters Ai, Bi, Ci, and Di for each structural surface. After completing the plane fitting, for each structural surface, based on the spatial coordinates of all points in the point cloud of that structural surface, the geometric center of these points is calculated. That is, the average of the X coordinates of all points is taken to obtain the X coordinate of the center point, the average of the Y coordinates is taken to obtain the Y coordinate of the center point, and the average of the Z coordinates is taken to obtain the Z coordinate of the center point. This geometric center is used as the center of a disk. Then, for each point in the point cloud of that structural surface, the Euclidean distance from that point to the center of the disk is calculated, and the maximum value among all distances is taken as the radius of the disk. Based on the obtained center coordinates, radius, and planar equations of the structural surface, a disk-shaped planar model is constructed. This model defines the spatial plane containing the disk by the planar equations, the disk's position by its center, and its size range by its radius. All points within the disk are located on this plane and their distance to the center does not exceed the radius. The planar equations for each structural surface are extracted from the constructed disk-shaped planar model; these are the fitted coordinates Ai, Bi, Ci, Di, the center point coordinates, and the disk radius. These parameters are saved as the disk's geometric parameters for subsequent intersection point selection to determine the circular region. For slope surfaces, since they are typically considered infinitely large planes, a disk model is unnecessary; therefore, only their planar equations are retained.
[0056] In this optional embodiment, by fitting the slope surface point cloud to a planar equation and fitting the point cloud of each structural surface to a disk-shaped planar model and extracting the disk's geometric parameters such as the center and radius, this embodiment accurately quantifies the finite-sized structural surfaces in the actual rock mass into planar units with clear spatial boundaries (circular regions), rather than infinitely extending ideal planes. This quantification process directly provides a criterion for the effective selection of subsequent three-sided intersection points; that is, only intersection points that fall within the circular regions of two structural surfaces are adopted, thereby eliminating false intersection points caused by treating structural surfaces as infinite planes and ensuring that each intersection point participating in the block construction truly exists on the rock mass surface. Simultaneously, the automatically calculated center and radius make the constraints of the circular regions clear and reproducible, avoiding subjective errors caused by manually estimating the structural surface dimensions. The planar equation of the slope surface serves as a reference plane in solving all three-sided intersection points, ensuring that the block vertices are located on the slope surface. Overall, the fitting and modeling in this embodiment transforms the original point cloud data into a parametric model with geometric and physical meaning. It retains the spatial orientation information (plane equation) of the structural surface and supplements its finite size information (center and radius). This lays a reliable data foundation for subsequent high-precision intersection selection, undirected graph construction, and block reconstruction, fundamentally improving the accuracy and geometric fidelity of block recognition.
[0057] Optionally, based on the plane equation of the slope surface and the plane equation of the structural surface, the three-dimensional intersection points between every two structural surfaces and the slope surface are determined, and intersection points that simultaneously lie within the circular regions corresponding to the two structural surfaces are added to the intersection point set. Simultaneously, a structural surface label corresponding to each intersection point is obtained, including: Select a first structural plane and a second structural plane from all the described structural planes; Based on the plane equations of the slope surface, the first structural surface, and the second structural surface, determine the common intersection point of the three planes; Determine whether the common intersection point is located simultaneously within the circular region of the first structural surface and the circular region of the second structural surface; When the common intersection point is located in both the circular region of the first structural surface and the circular region of the second structural surface, the common intersection point is added to the intersection point set, and the correspondence between the common intersection point and the first structural surface and the second structural surface is recorded as the structural surface label of the intersection point; By traversing all possible structural face combinations, the set of intersection points and the structural face label corresponding to each intersection point are obtained.
[0058] Specifically, a pair of structural planes is selected sequentially from all structural planes, denoted as the first structural plane and the second structural plane. For each pair of structural planes, its planar equation is combined with the planar equation of the slope surface to form a system of linear equations about three-dimensional coordinates x, y, and z. This system of equations contains three equations: the slope equation, the first structural plane equation, the second structural plane equation, and three unknowns. The system of equations is solved using matrix solving methods in linear algebra, such as Cramer's rule or Gaussian elimination. If the system of equations has no solution or a non-unique solution, the pair of structural planes is skipped; if the system of equations has a unique solution, the coordinates of the common intersection point of the three planes are obtained. After obtaining the common intersection point, the geometric parameters of the disk of the first structural plane (center point coordinates and disk radius) are extracted, and the distance from the common intersection point to the center point of the first structural plane is calculated. If this distance is less than or equal to the disk radius of the first structural plane, the intersection point is determined to be within the circular region of the first structural plane. Simultaneously, the same distance judgment is performed on the second structural plane. If the common intersection point is also within the circular region of the second structural plane, then the intersection point is simultaneously within the circular regions of both structural planes. A common intersection point is considered a valid intersection point only when both of the above conditions are met. For each valid intersection point, its 3D coordinates are added to the intersection point set, and the two structural planes from which the intersection point originates are recorded, i.e., a structural plane label pair is generated (the number of the first structural plane and the number of the second structural plane). All possible structural plane combinations are traversed, i.e., two are randomly selected from N structural planes, and processed one by one according to the above process, ultimately obtaining a complete set of intersection points and the two structural plane labels corresponding to each intersection point. Structural planes without valid intersection points are not recorded.
[0059] In this optional embodiment, by fitting the structural surface to a disk-shaped planar model with a center and radius, after solving for the three intersection points of every two structural surfaces with the slope surface, only intersection points that fall within the circular regions of two structural surfaces are retained. This ensures that each intersection point participating in subsequent mapping is actually located within the actual exposed boundary of the rock mass structural surface, eliminating invalid intersection points derived from treating the structural surface as an infinite plane. Simultaneously, the labels of the two structural surfaces corresponding to each intersection point are recorded, providing clear and traceable information for the intersection point's attribution. This fundamentally guarantees the geometric authenticity and topological accuracy of the intersection point set, avoiding the contamination of subsequent undirected graph construction and closed-loop search by false intersection points. This significantly reduces the risk of block misjudgment, such as identifying non-existent blocks as dangerous blocks or missing blocks, or losing actual blocks due to the incorrect removal of valid intersection points. Furthermore, since all structural surfaces are automatically traversed in combination, there is no need for manual judgment of which structural surfaces may intersect, further improving the automation and computational efficiency of block identification, providing a reliable data foundation for block analysis in large-scale steep slope engineering.
[0060] Optionally, the step of grouping the intersection points according to the structural surface based on the intersection point set and the structural surface label, sorting the intersection points on the same structural surface and connecting them sequentially to form edges, and constructing an undirected graph with intersection points as vertices and edges as connections, includes: Based on the structural surface labels, the intersection points in the intersection point set are grouped according to their respective structural surfaces to obtain a subset of intersection points corresponding to each structural surface; For each structural plane, the intersection points in the subset are sorted along the projection direction in the plane containing the structural plane to obtain an ordered sequence of intersection points. Connect adjacent intersections in the ordered sequence of intersections to generate edges on the structure surface; Collect all edges generated on the structural surfaces, and construct the undirected graph using the intersection points in the set of intersection points as vertices and the edges as connections.
[0061] Specifically, based on the structural surface label carried by each intersection point in the intersection point set, the intersection points are grouped according to their label affiliation. That is, all intersection points are traversed, and for each structural surface number, all intersection points containing that number as one of their labels are collected, forming a subset of intersection points corresponding to that structural surface. For example, if an intersection point is labeled as structural surface i and structural surface j, then that intersection point is added to both the subsets of structural surface i and structural surface j. After grouping, each structural surface has its own list of intersection points, all of which lie on the intersection lines between that structural surface and the slope and other structural surfaces. For each structural surface's subset of intersection points, since all intersection points lie on the plane containing that structural surface, they need to be sorted within that plane to form an ordered connection sequence. The specific method is as follows: First, project all intersection points onto the plane containing the structural surface. Since the plane is a two-dimensional manifold, a local two-dimensional coordinate system can be established within the plane, for example, with the center of the structural surface as the origin and any two orthogonal directions in the plane as coordinate axes. Calculate the azimuth angle of each intersection point in this local coordinate system. Sort the intersection points in ascending order of azimuth angle to obtain an ordered sequence of intersection points. The order of intersection points in this sequence corresponds to the circumferential order of the intersection points on the exposed boundary of the structural surface. After obtaining the ordered sequence of intersection points, connect adjacent intersection points in the sequence with straight line segments in sequence, i.e., connect one edge from the first point to the second point, one edge from the second point to the third point, and so on, until finally connecting the last point of the sequence to the first point, thus generating all edges on the structural surface. Each edge corresponds to the line segment between two adjacent intersection points on the structural surface. Repeat the above connection operation for all structural surfaces to collect all edges generated on all structural surfaces. Then, using all intersection points in the intersection point set as vertices and all the collected edges as the connection relationships between vertices, construct an undirected graph. In this undirected graph, vertices are intersections in space, and edges represent two intersections that are adjacent on a certain structural surface and can be directly connected. This undirected graph completely depicts the trace network topology formed by the intersection of all structural surfaces and slope surfaces.
[0062] In this optional embodiment, by grouping intersection points according to structural surface labels, all intersection points associated with each structural surface are processed centrally, providing a clear attribution relationship for subsequent sorting and edge connection. Projecting and sorting the intersection points within the plane of each structural surface ensures that the actual spatial adjacency of adjacent intersection points is accurately captured, thus transforming discrete intersection points into ordered boundary segments. These edges and vertices are then uniformly constructed into an undirected graph, transforming the complex network of structural surface intersections on the slope surface into a standardized graph structure. This transforms the spatial combination problem of structural surfaces, which originally relied on manual experience, into a deterministic search problem on the graph. This undirected graph completely preserves the topological connections between intersection points, providing a direct and efficient data foundation for subsequent automatic search of closed loops (i.e., exposed boundaries of potential blocks), avoiding the tedious process of manually analyzing each structural surface combination one by one, and significantly improving the automation and reliability of block boundary extraction. Simultaneously, since sorting and edge connection are entirely based on geometric coordinate calculations, they are not affected by the operator's subjective judgment, ensuring the consistency of results for the same data in different processing batches.
[0063] Optionally, for each candidate loop in the candidate loop set, based on the structural surface labels corresponding to each intersection point on the candidate loop, a set of structural surfaces associated with the loop is determined; three-dimensional reconstruction is performed using the half-space constraints of the structural surface set and the half-space constraints of the slope surface to generate candidate three-dimensional blocks, including: Obtain one candidate loop from the candidate loop set, and the structure surface label corresponding to each intersection point on the candidate loop; Based on the structural surface labels, collect all structural surfaces involved in the intersections of the candidate loop to form a set of structural surfaces associated with the candidate loop; Obtain the plane equation and circular region information of each structural surface in the set of structural surfaces, as well as the plane equation of the slope surface; Based on the planar equation and circular region information of each structural surface, the half-space constraint corresponding to the structural surface is determined, and the half-space constraint corresponding to the slope surface is determined based on the planar equation of the slope surface. The half-space constraints of the structural surface set are combined with the half-space constraints of the slope surface to form a closed spatial region. The closed spatial region is reconstructed in three dimensions to generate a candidate three-dimensional block corresponding to the candidate loop. Traverse each candidate loop in the candidate loop set to obtain the candidate 3D block corresponding to all candidate loops.
[0064] Specifically, a candidate loop is selected from the candidate loop set, and the structural surface labels recorded at each intersection point of the candidate loop are read, i.e., the two structural surface numbers corresponding to that intersection point. All intersection points on the candidate loop are traversed, and the two structural surface labels carried by each intersection point are extracted. These labels are merged into a set, and duplicates are removed to obtain the set of structural surfaces associated with the candidate loop. This set contains the structural surfaces that constitute all sides of the potential block. Based on each structural surface number in the above structural surface set, the plane equation of each structural surface, as well as circular region information such as center coordinates and disk radius, are retrieved from the previously stored structural surface parameters. Simultaneously, the plane equation of the slope surface is retrieved. For each structural surface in the structural surface set, its plane equation and circular region information (center and radius) are used to define the corresponding half-space constraint. The half-space refers to the side of the plane facing the inside of the block. Specifically, based on the normal vector direction of the structural surface and the relative positional relationship between the structural surface and the slope surface, the direction pointing inwards is determined. The plane equation is combined with the direction pointing inwards to form the half-space constraint expression for the structural surface. For the slope surface, the direction pointing towards the inside of the block (i.e., the interior of the slope) is determined based on whether its normal vector points to the outside or inside of the slope, thus constructing the half-space constraint corresponding to the slope surface. The half-space constraints of all structural surfaces in the set of structural surfaces are logically combined with the half-space constraints of the slope surface (i.e., the intersection is taken) to form a closed spatial region enclosed by multiple half-planes. This region geometrically corresponds to the space occupied by the block. A 3D reconstruction is performed on this closed spatial region. Specifically, using vertices on the candidate loop as bottom boundary points, internal vertices are searched within the closed spatial region using linear programming or a convex hull algorithm. For example, the intersection of any three structural surfaces in the set of structural surfaces is enumerated as potential internal vertices. Points that simultaneously satisfy all half-space constraints and are located within the disk area are selected. Then, an appropriate number of internal vertices are selected based on the number of edges of the candidate loop. These internal vertices, together with the vertices of the candidate loop, form a 3D point set. A convex hull reconstruction is performed on these points to generate a polyhedron, which is the candidate 3D block corresponding to the candidate loop. Following the above process, traverse each candidate loop in the candidate loop set, and generate the candidate 3D block corresponding to each candidate loop in turn, to obtain all candidate 3D blocks.
[0065] In this optional embodiment, based on the structural surface tags carried at each intersection point on the candidate loop, a set of structural surfaces associated with the loop is automatically collected. These structural surfaces and the half-space constraints of the slope surface are then combined to construct a closed spatial region, which is subsequently used to reconstruct candidate 3D blocks. In this embodiment, the 2D closed loop on the slope is transformed into a 3D block model with volume. There is no need to manually specify which structural surfaces participate in the block formation, nor is manual geometric modeling required; the process is entirely driven by the loop and structural surface tags. Simultaneously, by introducing half-space constraints, it is ensured that the reconstructed block is geometrically strictly constrained by the orientation of each structural surface and the slope surface, preventing openings or distortions and ensuring that the block shape is consistent with the spatial shape cut by structural surfaces in the actual rock mass. Furthermore, by traversing all candidate loops, a complete 3D model corresponding to each potential block can be generated, preventing the loss of potentially dangerous blocks due to human error in overlooking a loop.
[0066] Optionally, for each candidate 3D block, determining whether the candidate 3D block is a movable block, obtaining movable blocks, and determining the sliding mode of the movable block includes: Obtain a candidate 3D block and extract all edge vectors and inward normal vectors of each structural surface of the candidate 3D block; For each edge vector of the candidate 3D block, determine the directional relationship between the edge vector and the inward normal vector of each other structural surface on the candidate 3D block, excluding the two structural surfaces corresponding to the edge. If the directional relationship between all edge vectors and the inward normal vectors of all corresponding other structural surfaces satisfies the preset conditions, then the candidate 3D block is determined to be a movable block. For candidate three-dimensional blocks that are determined to be the movable block, obtain the active resultant force vector, and determine the directional relationship between the active resultant force vector and the inward normal vector of each structural surface; Based on the directional relationship between the active resultant force vector and the inward normal vector of each structural surface, the structural surface that satisfies the compression surface condition is determined, and the structural surface that satisfies the compression surface condition is denoted as the compression surface; The sliding mode of the movable block is determined based on the number of compression surfaces.
[0067] Specifically, for a reconstructed candidate 3D block, firstly, all edges of the block and the inward normal vector of each structural face are extracted. An edge is defined as the intersection line between two adjacent structural faces. Each edge is identified through the vertex connection relationship of the block, and its direction vector is calculated as the edge vector e. For each structural face, based on the direction of its plane equation's normal vector and the geometric position of the block, the normal vector is adjusted to point inwards towards the block, resulting in the inward normal vector of that structural face. For each edge vector e of the block, the two structural faces constituting that edge are identified. Then, every other structural face on the block, excluding these two, is traversed, and the dot product of the edge vector and the inward normal vector of that structural face is calculated. If the dot product is greater than or equal to 0, it means that the edge vector e points outwards or is tangent to the structural face, and will not interfere with the structural face; that is, the edge allows the block to slide unimpeded along the direction e. If the dot product is less than 0, the edge vector e points inwards towards the structural face, hindering sliding. When the dot product of each edge vector e of the block and the inward normal vector of all corresponding other structural surfaces is greater than or equal to 0, the candidate 3D block is determined to be a movable block; otherwise, it is a non-movable block.
[0068] For candidate 3D blocks identified as movable, their sliding mode is further determined, and the active resultant force vector r is obtained. When only gravity is considered, r takes the value (0, 0, -g), where g is the gravitational acceleration. The active resultant force vector r and the inward normal vector of each structural surface are calculated respectively. The dot product. If the inward normal vector of a certain structural surface... If the dot product of r and 'r' is less than 0, it indicates that the component of the active resultant force vector on that structural surface points inwards towards the block, and the structural surface is compressed. Therefore, this structural surface is marked as a compression surface. After traversing all structural surfaces, the number of compression surfaces is counted. If the number of compression surfaces is 1, the sliding mode is determined to be single-plane sliding, meaning the block will slide along that compression surface. If the number of compression surfaces is 2, the sliding mode is determined to be double-plane sliding, meaning the block will slide along the intersection of the two compression surfaces. If the number of compression surfaces is 0 or greater than 2, the block may be in a stable state or other complex mode, which will not be processed in this method or will be classified into other categories. Through the above steps, the automatic identification of movable blocks and the automatic determination of their sliding modes are achieved.
[0069] In this optional embodiment, by extracting all edge vectors and inward normal vectors of structural surfaces of the candidate 3D block, and utilizing the dot product direction relationship between the edge vectors and the inward normal vectors of other structural surfaces, the mobility of the block is automatically determined, significantly improving the objectivity and efficiency of the determination. Simultaneously, based on the dot product sign of the active resultant force vector and the inward normal vectors of each structural surface, the compression surface and its quantity are automatically identified, accurately distinguishing the sliding mode into single-plane sliding or double-plane sliding, without requiring additional manual analysis.
[0070] Optionally, the sliding mode includes a single-plane sliding mode and a double-plane sliding mode. The step of obtaining the safety factor for each movable block based on the sliding mode and the internal friction angle of the corresponding structural surface of the movable block includes: When the sliding mode is the single-plane sliding mode, the first anti-slip force provided by the sliding surface is determined according to the internal friction angle corresponding to the sliding surface of the movable block, and the first sliding force is determined according to the gravity of the movable block. The safety factor of the movable block is obtained according to the ratio of the first anti-slip force to the first sliding force. When the sliding mode is the dual-plane sliding mode, the third anti-slip force and the fourth anti-slip force provided by the two sliding surfaces are determined according to the internal friction angles corresponding to the two sliding surfaces of the movable block, and the sum of the anti-slip forces is obtained according to the third anti-slip force and the fourth anti-slip force. The second sliding force is determined according to the gravity of the movable block, and the safety factor of the movable block is obtained according to the ratio of the sum of the anti-slip forces to the second sliding force.
[0071] Specifically, when the sliding mode is single-plane sliding, firstly, the only sliding surface where the block slides (i.e., the previously determined compression surface) is identified. Based on the block's gravity vector (vertically downward, with a magnitude equal to the block volume multiplied by the rock mass weight), gravity is decomposed into a component perpendicular to the sliding surface (normal support force) and a component parallel to the sliding surface (sliding force). The internal friction angle corresponding to this sliding surface is obtained (pre-input to the system through indoor tests or empirical values). The product of the normal support force and the tangent of the internal friction angle is calculated to obtain the maximum anti-sliding force that the sliding surface can provide. The anti-sliding force is divided by the sliding force to obtain the safety factor of the movable block. When the sliding mode is double-plane sliding, the block will slide along the intersection of the two sliding surfaces. These two sliding surfaces (i.e., the two previously determined compression surfaces) are identified. The component of gravity in the normal direction on each sliding surface is calculated to obtain two normal support forces. Each normal support force is multiplied by the tangent of the internal friction angle of the corresponding structural surface to obtain the anti-sliding force provided by each of the two sliding surfaces. The two anti-sliding forces are added together to obtain the total anti-sliding force. Simultaneously, the gravitational force is projected onto the direction of the intersection of the two sliding surfaces to obtain the sliding force. The total anti-slip force is divided by the sliding force to obtain the safety factor in the dual-plane sliding mode. If the safety factor is less than 1, the block is considered to be at risk of instability; otherwise, it is considered stable. In the above calculation process, the block volume is automatically obtained through the reconstructed three-dimensional block model, the gravitational acceleration is taken as 9.8 m / s², and the internal friction angle is used as a known parameter input.
[0072] Combination Figure 6 As shown, this embodiment of the invention provides a three-dimensional block automatic identification and stability analysis system, including: Building units are used to construct three-dimensional real-world cloud models of slope rock masses; The data extraction unit is used to extract point cloud data of the slope surface and point cloud data corresponding to each structural surface from the three-dimensional real point cloud model. The planar fitting unit is used to fit the point cloud data of the slope surface to obtain the planar equation of the slope surface, and to fit the point cloud data corresponding to each structural surface into a disk-shaped planar model, and to obtain the planar equation and disk geometric parameters of each structural surface based on the disk-shaped planar model. The intersection point determination unit is used to determine the three-dimensional intersection points between every two structural surfaces and the slope surface based on the plane equation of the slope surface and the plane equation of the structural surface, and to add the intersection points that are simultaneously located in the circular areas corresponding to the two structural surfaces to the intersection point set, and to obtain the structural surface label corresponding to each intersection point. The graph construction unit is used to group each intersection point according to the structure surface label based on the intersection point set and the structure surface label, sort the intersection points on the same structure surface and connect them sequentially to form edges, and construct an undirected graph with intersection points as vertices and edges as connections. A loop search unit is used to search for closed loops on the undirected graph to obtain a set of candidate loops. The block reconstruction unit is used to determine the set of structural surfaces associated with each candidate loop in the candidate loop set based on the structural surface labels corresponding to each intersection point on the candidate loop; and to perform three-dimensional reconstruction using the half-space constraints of the structural surface set and the half-space constraints of the slope surface to generate candidate three-dimensional blocks. The mobility determination unit is used to determine whether each candidate three-dimensional block is a movable block, obtain the movable block, and determine the sliding mode of the movable block. The safety factor determination unit is used to obtain the safety factor of each movable block based on the sliding mode and the internal friction angle of the corresponding structural surface of the movable block.
[0073] While the present invention has been disclosed above, its scope of protection is not limited thereto. Those skilled in the art can make various changes and modifications without departing from the spirit and scope of the present invention, and all such changes and modifications will fall within the scope of protection of the present invention.
Claims
1. A method for automatic identification and stability analysis of three-dimensional blocks, characterized in that, include: Construct a 3D real-world cloud model of the slope rock mass; Point cloud data of the slope surface and point cloud data corresponding to each structural surface are extracted from the three-dimensional real point cloud model. The point cloud data of the slope surface is fitted to obtain the plane equation of the slope surface, and the point cloud data corresponding to each structural surface is fitted into a disk-shaped plane model. The plane equation and disk geometric parameters of each structural surface are obtained based on the disk-shaped plane model. Based on the plane equation of the slope surface and the plane equation of the structural surface, the three-dimensional intersection points between every two structural surfaces and the slope surface are determined, and the intersection points that are simultaneously located within the circular areas corresponding to the two structural surfaces are added to the intersection point set, and the structural surface label corresponding to each intersection point is obtained. Based on the set of intersection points and the structural surface labels, each intersection point is grouped according to the structural surface labels, and the intersection points on the same structural surface are sorted and connected sequentially to form edges, thereby constructing an undirected graph with intersection points as vertices and edges as connections. Search for closed loops on the undirected graph to obtain a set of candidate loops; For each candidate loop in the candidate loop set, the set of structural surfaces associated with the loop is determined based on the structural surface labels corresponding to each intersection point on the candidate loop. Using the half-space constraints of the structural surface set and the half-space constraints of the slope surface, a three-dimensional reconstruction is performed to generate candidate three-dimensional blocks; For each candidate 3D block, determine whether the candidate 3D block is a movable block, obtain the movable block, and determine the sliding mode of the movable block; The safety factor of each movable block is obtained based on the sliding mode and the internal friction angle of the corresponding structural surface of the movable block.
2. The method for automatic identification and stability analysis of three-dimensional blocks according to claim 1, characterized in that, The construction of the three-dimensional real-world cloud model of the slope rock mass includes: Plan an image acquisition path for the slope rock mass, and acquire image data of the slope rock mass according to the image acquisition path; Feature points are extracted and matched from the image data to generate a sparse point cloud of the slope rock mass. The sparse point cloud is then densified to obtain a dense point cloud of the slope rock mass. The three-dimensional real point cloud model is obtained by performing three-dimensional mesh reconstruction and texture mapping based on the dense point cloud.
3. The method for automatic identification and stability analysis of three-dimensional blocks according to claim 1, characterized in that, The step of extracting point cloud data of the slope surface and point cloud data corresponding to each structural surface from the three-dimensional real-world point cloud model includes: The three-dimensional real-world point cloud model is divided into multiple planar regions by planar segmentation; The planar region located on the outer surface of the slope and having the largest area among the multiple planar regions is defined as the slope surface region, and the remaining planar regions are defined as structural surface regions. Point cloud data is extracted from the slope surface area and used as the point cloud data of the slope surface. Point cloud data is extracted from each of the structural surface regions to serve as the point cloud data for the corresponding structural surface.
4. The method for automatic identification and stability analysis of three-dimensional blocks according to claim 3, characterized in that, The process involves fitting the point cloud data of the slope surface to obtain the planar equation of the slope surface, and fitting the point cloud data corresponding to each structural surface into a disk-shaped planar model. Based on the disk-shaped planar model, the planar equation and disk geometric parameters of each structural surface are obtained, including: Plane fitting is performed on the point cloud data of the slope surface to obtain the plane equation of the slope surface; Plane fitting is performed on the point cloud data of each of the structural surfaces to obtain the plane equation of each structural surface; Based on the spatial coordinates of each point in the point cloud data of each structural surface, determine the position of the center point of each structural surface and the maximum distance from each point to the center point; Using the center point as the center of the disk and the maximum distance as the radius of the disk, and combining the corresponding plane equations, a disk-shaped planar model of each structural surface is constructed. The plane equation, center point coordinates, and disk radius of each structural surface are extracted from the disk-shaped planar model and used as the geometric parameters of the disk.
5. The method for automatic identification and stability analysis of three-dimensional blocks according to claim 4, characterized in that, The process involves determining the three-dimensional intersection points between every two structural surfaces and the slope surface based on the plane equations of the slope surface and the structural surfaces, and adding intersection points that simultaneously lie within the circular regions corresponding to the two structural surfaces to the intersection point set. Simultaneously, a structural surface label corresponding to each intersection point is obtained, including: Select a first structural plane and a second structural plane from all the described structural planes; Based on the plane equations of the slope surface, the first structural surface, and the second structural surface, determine the common intersection point of the three planes; Determine whether the common intersection point is located simultaneously within the circular region of the first structural surface and the circular region of the second structural surface; When the common intersection point is located in both the circular region of the first structural surface and the circular region of the second structural surface, the common intersection point is added to the intersection point set, and the correspondence between the common intersection point and the first structural surface and the second structural surface is recorded as the structural surface label of the intersection point; By traversing all possible structural face combinations, the set of intersection points and the structural face label corresponding to each intersection point are obtained.
6. The method for automatic identification and stability analysis of three-dimensional blocks according to claim 1, characterized in that, The step of grouping each intersection point according to the structure surface label based on the intersection point set and the structure surface label, sorting the intersection points on the same structure surface and connecting them sequentially to form edges, and constructing an undirected graph with intersection points as vertices and edges as connections, includes: Based on the structural surface labels, the intersection points in the intersection point set are grouped according to their respective structural surfaces to obtain a subset of intersection points corresponding to each structural surface; For each structural plane, the intersection points in the subset are sorted along the projection direction in the plane containing the structural plane to obtain an ordered sequence of intersection points. Connect adjacent intersections in the ordered sequence of intersections to generate edges on the structure surface; Collect all edges generated on the structural surfaces, and construct the undirected graph using the intersection points in the set of intersection points as vertices and the edges as connections.
7. The method for automatic identification and stability analysis of three-dimensional blocks according to claim 6, characterized in that, For each candidate loop in the candidate loop set, the set of structural surfaces associated with the loop is determined based on the structural surface labels corresponding to each intersection point on the candidate loop. Using the half-space constraints of the structural surface set and the half-space constraints of the slope surface, a three-dimensional reconstruction is performed to generate candidate three-dimensional blocks, including: Obtain one candidate loop from the candidate loop set, and the structure surface label corresponding to each intersection point on the candidate loop; Based on the structural surface labels, collect all structural surfaces involved in the intersections of the candidate loop to form a set of structural surfaces associated with the candidate loop; Obtain the plane equation and circular region information of each structural surface in the set of structural surfaces, as well as the plane equation of the slope surface; Based on the planar equation and circular region information of each structural surface, the half-space constraint corresponding to the structural surface is determined, and the half-space constraint corresponding to the slope surface is determined based on the planar equation of the slope surface. The half-space constraints of the structural surface set are combined with the half-space constraints of the slope surface to form a closed spatial region. The closed spatial region is reconstructed in three dimensions to generate a candidate three-dimensional block corresponding to the candidate loop. Traverse each candidate loop in the candidate loop set to obtain the candidate 3D block corresponding to all candidate loops.
8. The method for automatic identification and stability analysis of three-dimensional blocks according to claim 1, characterized in that, For each candidate 3D block, determining whether it is a movable block, obtaining movable blocks, and determining the sliding mode of the movable block includes: Obtain a candidate 3D block and extract all edge vectors and inward normal vectors of each structural surface of the candidate 3D block; For each edge vector of the candidate 3D block, determine the directional relationship between the edge vector and the inward normal vector of each other structural surface on the candidate 3D block, excluding the two structural surfaces corresponding to the edge. If the directional relationship between all edge vectors and the inward normal vectors of all corresponding other structural surfaces satisfies the preset conditions, then the candidate 3D block is determined to be a movable block. For candidate three-dimensional blocks that are determined to be the movable block, obtain the active resultant force vector, and determine the directional relationship between the active resultant force vector and the inward normal vector of each structural surface; Based on the directional relationship between the active resultant force vector and the inward normal vector of each structural surface, the structural surface that satisfies the compression surface condition is determined, and the structural surface that satisfies the compression surface condition is denoted as the compression surface; The sliding mode of the movable block is determined based on the number of compression surfaces.
9. The method for automatic identification and stability analysis of three-dimensional blocks according to claim 8, characterized in that, The sliding modes include single-plane sliding mode and double-plane sliding mode. The safety factor of each movable block is obtained based on the sliding mode and the internal friction angle of the corresponding structural surface of the movable block, including: When the sliding mode is the single-plane sliding mode, the first anti-slip force provided by the sliding surface is determined according to the internal friction angle corresponding to the sliding surface of the movable block, and the first sliding force is determined according to the gravity of the movable block. The safety factor of the movable block is obtained according to the ratio of the first anti-slip force to the first sliding force. When the sliding mode is the dual-plane sliding mode, the third anti-slip force and the fourth anti-slip force provided by the two sliding surfaces are determined according to the internal friction angles corresponding to the two sliding surfaces of the movable block, and the sum of the anti-slip forces is obtained according to the third anti-slip force and the fourth anti-slip force. The second sliding force is determined according to the gravity of the movable block, and the safety factor of the movable block is obtained according to the ratio of the sum of the anti-slip forces to the second sliding force.
10. A three-dimensional block automatic identification and stability analysis system, characterized in that, include: Building units are used to construct three-dimensional real-world cloud models of slope rock masses; The data extraction unit is used to extract point cloud data of the slope surface and point cloud data corresponding to each structural surface from the three-dimensional real point cloud model. The planar fitting unit is used to fit the point cloud data of the slope surface to obtain the planar equation of the slope surface, and to fit the point cloud data corresponding to each structural surface into a disk-shaped planar model, and to obtain the planar equation and disk geometric parameters of each structural surface based on the disk-shaped planar model. The intersection point determination unit is used to determine the three-dimensional intersection points between every two structural surfaces and the slope surface based on the plane equation of the slope surface and the plane equation of the structural surface, and to add the intersection points that are simultaneously located in the circular areas corresponding to the two structural surfaces to the intersection point set, and to obtain the structural surface label corresponding to each intersection point. The graph construction unit is used to group each intersection point according to the structure surface label based on the intersection point set and the structure surface label, sort the intersection points on the same structure surface and connect them sequentially to form edges, and construct an undirected graph with intersection points as vertices and edges as connections. A loop search unit is used to search for closed loops on the undirected graph to obtain a set of candidate loops. The block reconstruction unit is used to determine the set of structural surfaces associated with each candidate loop in the candidate loop set based on the structural surface labels corresponding to each intersection point on the candidate loop; and to perform three-dimensional reconstruction using the half-space constraints of the structural surface set and the half-space constraints of the slope surface to generate candidate three-dimensional blocks. The mobility determination unit is used to determine whether each candidate three-dimensional block is a movable block, obtain the movable block, and determine the sliding mode of the movable block. The safety factor determination unit is used to obtain the safety factor of each movable block based on the sliding mode and the internal friction angle of the corresponding structural surface of the movable block.
Citation Information
Patent Citations
Rock slope three-dimensional model and block slide analysis method
CN101936008A
Slope block information automatic identification and three-dimensional reconstruction method based on unmanned aerial vehicle
CN115239904A
