A method for separating branches and leaves from single tree point cloud based on graph theory
By constructing an undirected weighted connected graph and using the shortest path information for hierarchical clustering and region growing, combined with cylindrical fitting and principal component analysis, the problems of relying on prior parameters and bloated processes in existing technologies are solved, and efficient and accurate branch and leaf separation of single tree point clouds is achieved.
Patent Information
- Application Number
- CN202210642833.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-08
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2042-06-08
AI Technical Summary
Existing branch-leaf separation methods based on graph theory rely on prior parameters and have bloated processes, and cannot guarantee high-precision branch-leaf separation of single tree point clouds.
By constructing an undirected weighted connected graph, hierarchical clustering is performed using the shortest path information, and the initial branch points are extracted by combining cylinder fitting and principal component analysis. The final branch points are extracted using the region growing method to achieve branch-leaf separation.
It achieves efficient and accurate branch and leaf separation without relying on prior knowledge and machine learning, and is applicable to single tree point cloud data of different tree species and sizes.
Smart Images

Figure CN115187979B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of ground laser radar point cloud data processing, and in particular relates to a method for separating branches and leaves from a single tree point cloud based on graph theory. Background Art
[0002] Forests play a key role in global carbon, water, and energy cycles, as well as climate change. Forest parameters characterize the spatial layout and growth of forests and are of great significance for forest resource management and vegetation ecology research. LiDAR, an active remote sensing technology developed in recent decades, can depict the three-dimensional structure of forests using massive spatial points (i.e., point clouds) or waveforms. It has become a mainstream method for extracting forest parameters.
[0003] According to the differences in the laser-carrying platforms, lidars can be roughly divided into satellite-borne lidars, airborne lidars, and ground-based lidars (Terrestrial LiDAR Scanning, TLS). The differences in their data acquisition capabilities determine the types and scales of forest parameters they can extract. Ground-based lidars perform panoramic scans from inside the forest and, through multi-station splicing, can depict the understory branches and low vegetation information in detail. In addition to being able to directly extract single tree parameters such as tree height, crown width, crown volume, height under branches, and diameter at breast height, the most important thing is that the branch information it obtains can be used to directly estimate wood volume and aboveground biomass, and can also be used to separate wood components to improve the estimation accuracy of leaf area index. In addition, detailed forest point clouds can also be used for realistic three-dimensional reconstruction of forest scenes, and then used in smart forestry, vegetation radiation transmission modeling and other fields.
[0004] These applications typically require pre-processing of forest point clouds to separate branches and leaves. Since individual trees are the fundamental units of a forest, research on methods for separating branches and leaves from individual tree point clouds is of great significance. Based on whether or not they rely on training data, point cloud branch and leaf separation methods can be categorized as data-driven or knowledge-driven.
[0005] Data-driven methods primarily refer to supervised classification methods based on machine learning. Before classification, several to dozens of features must be generated for each point. A classifier is then trained using manually labeled training data, and the trained classifier is used to classify the target data. The advantage of using machine learning algorithms for supervised branch-leaf classification is its simplicity and convenience, unrestricted by forest type or data source. However, the disadvantage is the time-consuming and labor-intensive process of selecting training data tailored to the data's characteristics.
[0006] Knowledge-driven methods refer to unsupervised classification methods specifically used for separating branches and leaves from tree point clouds. This type of method is based on a full understanding of the differences in branch and leaf morphology and the growth patterns of trees, so no training data is required. Current knowledge-driven methods can be roughly divided into the following categories: 1. Model-fitting-based methods, which take advantage of the cylindrical shape of branches and detect branch segments through circle / ellipse / cylinder fitting; 2. Clustering-based methods, which take advantage of the continuous branches and dispersed leaves to segment leaves into a large number of small clusters and branches into a small number of larger and slender clusters, and finally distinguish between the two by size and linear features; 3. Graph-theory-based methods, which take advantage of the layered distribution of branches and leaves and use the shortest path information of the graph to directly perform branch and leaf segmentation based on the overall structure of the tree or optimize the classification results obtained by other methods.
[0007] However, current graph-theory-based methods for separating branches and leaves do not fully utilize the shortest path information in a graph. For example, Vicari (2019) classified points within a certain distance from the end of a path as leaf points, and points whose path passes through a frequency greater than a set value as branch points. These applications are relatively simple, and the parameters involved need to be adjusted accordingly with the tree species and size. Furthermore, they cannot guarantee significant classification accuracy. Therefore, the authors combined this with machine learning to improve the robustness of the method. This makes the method both dependent on prior parameters and cumbersome. Summary of the Invention
[0008] In response to the above-mentioned problems or shortcomings, and to solve the problems of existing branch and leaf separation methods based on graph theory that rely on prior parameters and have bloated processes, the present invention provides a single tree point cloud branch and leaf separation method based on graph theory. This method makes full use of the shortest path information of the graph, does not rely on prior knowledge and machine learning, and is streamlined and efficient while ensuring classification accuracy.
[0009] A method for separating branches and leaves from a single tree point cloud based on graph theory includes the following steps:
[0010] Step 1. Graph construction: The goal is to connect discrete single tree point clouds into an undirected weighted connected graph G. This construction method can overcome the impact of point cloud occlusion to a certain extent and accurately depict the surface morphology of trees with as few edges as possible.
[0011] 1-1. Insert a root node: Insert a root node into the original single tree point cloud tree_cloud. Select a point cloud segment with a height of 5-20 cm from the bottom of the trunk and project it onto the horizontal plane where the lowest point of the trunk is located. Perform a least squares circle fit on the projected point cloud. The center of the circle is the insertion position of the root node.
[0012] 1-2. Large-scale neighbor search: Search for a large range of neighbors_K of each point in tree_cloud, 50≤K≤300, to fully obtain the proximity relationship of each point. K-nearest neighbor search is used here. The more severe the data missing, the larger the value of K, but this will increase memory consumption.
[0013] 1-3. Construction of small-scale neighborhood graph:
[0014] 1-3-1. Create the current set Q and the visited set V, and put the root node into Q and V;
[0015] 1-3-2. For each point in the current set Q, connect it to the five nearest points in its corresponding large-scale neighboring points neighbors_K that are not in V, add these points to the temporary set temp_Q, update Q = temp_Q, and then add the points in the temporary set temp_Q to V. Repeat this step until there are no points in the temporary set temp_Q.
[0016] 1-3-3. Initialize thr_neighbor_Dis = treeHight / 30 (treeHight is the tree height, thr_neighbor_Dis is the neighboring point distance threshold).
[0017] 1-3-4. Define the unvisited set un_V = tree_cloud – V and determine whether un_V is empty:
[0018] If un_V is not empty, traverse each point in un_V. If there is a point in V whose distance is less than thr_neighbor_Dis among its corresponding large-scale neighbor points neighbors_K, connect it to the 5 nearest points among these points and add itself to temp_Q. If there is a point in temp_Q, update Q = temp_Q, add the point in temp_Q to V, and jump to 1-3-2. If there is no point in temp_Q, update thr_neighbor_Dis + = treeHight / 60 and re-enter 1-3-4.
[0019] If un_V is empty, the construction is completed and the graph G = (V, E) is obtained. G consists of the vertex set V and the edge set E, and the weight of the edge is the Euclidean distance between two points.
[0020] Step 2: Hierarchical clustering: Cluster the original single tree point cloud tree_cloud by hierarchical segmentation.
[0021] 2-1. Shortest path extraction: The graph G obtained in step 1 can accurately express the surface morphology and topological structure of a single tree, so the shortest path information from each point to the root node (path sequence path_list and path length path_dis) can be accurately extracted from it. Here, the single-source shortest path algorithm (Dijkstra algorithm) is used for shortest path extraction.
[0022] 2-2. Path Length Slicing: Slice the original single tree point cloud tree_cloud based on path_dis, with a stratification interval interval_D = treeHight / 30. This is achieved by deleting edges on the stratification boundaries in graph G. After the stratification and edge pruning operation, the point cloud corresponding to the connected components of graph G is the clustering result.
[0023] Step 3: Initial branch extraction: Extract the branch clusters with significant features from the clustering results of step 2.
[0024] 3-1. Coordinate transformation:
[0025] Define the cluster axis as the sum of the direction vectors formed by each point in the cluster and the first predecessor point on its path_list, and then rotate the coordinate axes of the three-dimensional rectangular coordinate system so that the coordinate z axis is parallel to the cluster axis.
[0026] 3-2. Size filtering: If |dimen_z - interval_D| > 0.25 * interval_D, the cluster is considered too small or too large, possibly noise, leaves, or leaf clusters, and is filtered out first. dimen_z is the maximum z value minus the minimum z value of the cluster along the z-axis after coordinate transformation.
[0027] 3-3. Trunk and main branch cluster extraction: Extract trunk and main branch clusters with significant cylindrical features and identify them through cylinder fitting. The specific process is as follows.
[0028] 3-3-1. Cylindrical fitting: After the coordinate transformation in 3-1, the axis of the cluster is parallel to the coordinate z-axis. Therefore, the cluster can be projected along the z-axis onto a two-dimensional plane for least squares circular fitting, thereby achieving the effect of cylindrical fitting.
[0029] 3-3-2. Identification based on relative fitting error: The formula for relative fitting error of a cylinder is defined as follows.
[0030]
[0031] In the formula, n is the number of points contained in the cluster, d i is the distance from any point in the cluster to the axis of the fitted cylinder, and r is the radius of the fitted cylinder. When rError<0.2, it indicates that the cylindrical features of the cluster are significant and should be extracted.
[0032] 3-4. Extraction of twig clusters: Extract twig clusters with significant linear features and identify them through principal component analysis. The specific process is as follows.
[0033] 3-4-1. Principal component analysis:
[0034] Let P be the cluster point set, and the covariance matrix of P is defined as follows:
[0035]
[0036] Where n is the number of points contained in P, p i For any point in P, p c is the center of mass of P.
[0037] Cov P The eigenvalues (λ1≥λ2≥λ3) characterize the degree of dispersion of P in the three principal component directions, and the spatial distribution characteristics of P (such as surface, line and body) can be calculated from the eigenvalues.
[0038] 3-4-2. Identification based on linear features: Linearity = λ1 / (λ1+λ2+λ3) is defined to represent the linear features of the cluster; when Linearity>0.9, it indicates that the linear features of the cluster are significant and extraction is performed.
[0039] 3-5. Classification correction: Based on the tree growth rule that the trunk gradually becomes thinner from branch to branch, a small number of leaf clusters with cylindrical features that were mistakenly classified as trunks and main branches were corrected. The specific process is as follows.
[0040] 3-5-1. Traverse each cluster c that is divided into trunks and main branches by the 3-3 cylindrical fitting method, and search from any point in c along path_list to the root node. If you encounter the twig cluster obtained from 3-4 or the trunk and main branch cluster c′ obtained from 3-3 but the cylindrical fitting radius of c is larger than that of c′, it means that cluster c is misclassified and it should be removed.
[0041] Step 4: Final branch extraction: Using the initial branch points obtained in step 3 as seed points, extract branch point clouds at locations with less significant features (such as bifurcations, curved branches, entangled leaves, missing occlusions, etc.) through region growing. The specific process is as follows:
[0042] 4-1. Seed point supplement: In order to speed up the region growth and make the region growth results more accurate, the initial branch point and all points on its path_list are used as seed points.
[0043] 4-2. Regional growth:
[0044] 4-2-1. Create a seed point set L and a branch point set F, and then put the seed points from step 4-1 above into L and F.
[0045] 4-2-2. If D pp′ <0.25*interval_D and D rp′ <D rp , then add p′ to the temporary set temp_L. Where p is a point in L, p′ is a point adjacent to p on the original graph G (constructed in step 1, without deleting edges) and not in F, D pp′ represents the distance from p to p′, D rp and D rp′ They represent the shortest path distances path_dis from p and p′ to the root node respectively.
[0046] If there is a point in temp_L, update L = temp_L, put the point in temp_L into F, and execute 4-2-2 again;
[0047] If there is no point in temp_L, the growth ends.
[0048] 4-3. The points in set F are the branch point cloud, and the complement of F (tree_cloud–F) is the leaf point cloud.
[0049] Step 1: The principle of constructing the graph:
[0050] When constructing a graph from an unordered point cloud, a neighborhood graph is typically constructed by connecting each point to its k nearest neighbors. However, when point cloud data is occluded or missing, increasing k to ensure that potential surfaces are connected can lead to overly dense edges and incorrect connectivity. The method of the present invention combines a large-scale nearest neighbor search with a small-scale neighborhood graph. When a single tree point cloud is slightly missing, it can connect neighboring points with the fewest possible edges while ensuring that the connectivity is consistent with the tree's topology.
[0051] Step 2: The principle of hierarchical clustering:
[0052] In essence, it is a clustering process based on graph cutting, which is like cutting a tree layer by layer with a knife. Finally, a complete tree is cut into a large number of separate clumps. The only difference is that here the graph expressing the surface morphology of the tree is cut, and the cutting position is the hierarchical interface determined by the shortest path length. The result of the cutting is the formation of a large number of connected components (clusters).
[0053] Step 3: Principle of initial branch extraction:
[0054] After hierarchical clustering, trunks / main branches with consistent length and cylindrical features and twig clusters with linear features are well distinguished from small and discrete single leaves or dense leaf clusters and can be separated first. Size filtering and cylindrical fitting (such as Figure 2 ) and principal component analysis (as shown in Figure 3 The reason for extracting initial branches from both cylindrical fitting and linear features is to improve the robustness of the method and ensure that as many initial branches as possible can be extracted for trees of different species and sizes.
[0055] Step 4 Final branch extraction principle:
[0056] Initial branch extraction can only extract branch clusters with distinct features, but has difficulty identifying clusters of branches with irregular shapes (such as forks, curved branches, entangled leaves, or missing occlusions). Leveraging the global characteristics of branches, using the initial branch points as seed points and combining graph neighborhood and shortest path information, we extract branch point clouds at irregular locations through region growing. We use point-based region growing rather than cluster-based region growing to ensure more accurate region growing boundaries.
[0057] The present invention first constructs a graph for a single tree point cloud, and then extracts the shortest path information from each point to the root node (located at the center of the trunk base); the point cloud is layered according to the path length, and the edges on the layer boundaries are deleted. The connected components of the graph are the hierarchical clustering results; the cylindrical features are used to extract trunk and main branch clusters, and the linear features are used to extract twig clusters, thereby obtaining the initial branch points; the initial branch points are used as seed points, and based on the neighborhood and shortest path information of the graph, branch points located at irregular places such as bifurcations are extracted through regional growth; after the initial branch extraction and regional growth, the final branch points are obtained, and their complement is the leaf point cloud. The present invention fully utilizes the shortest path information of the graph through point cloud layering, axial estimation, classification correction and regional growth. The method is concise and computationally efficient, and can quickly and accurately separate branches and leaves from single tree point clouds. The process is as follows: Figure 1 shown.
[0058] In summary, this paper develops a branch-and-leaf separation method for distinguishing the branch and leaf components of single tree point clouds based on multi-station scanned single tree point cloud data acquired by ground-based lidar. This method, streamlined and computationally efficient, enables rapid and accurate branch-and-leaf separation of single tree point clouds, providing a new approach to branch-and-leaf separation in single tree point clouds and potentially applicable to fields such as forest parameter extraction, smart forestry, and vegetation radiation transmission modeling. BRIEF DESCRIPTION OF THE DRAWINGS
[0059] Figure 1 It is a schematic diagram of the process of the present invention;
[0060] Figure 2 This is the principle diagram of cylinder fitting;
[0061] Figure 3 Schematic diagram of principal component analysis;
[0062] Figure 4 The results of branch and leaf separation are as follows; a. Leaf point cloud; b. Branch point cloud. DETAILED DESCRIPTION
[0063] The present invention is further described in detail below through an example of 11 single tree data with reference to the accompanying drawings: the development environment is PyCharm, the programming language is Python 3.7, and the software packages used mainly include numpy, sklearn, and networkx.
[0064] Step 1. Data acquisition and preprocessing: 11 measured multi-station scanning single tree point cloud data of multiple tree species and sizes were used to verify the method of the present invention. The relevant parameters are shown in Table 1. Among them, except for the data of one lotus magnolia collected from the campus of the University of Electronic Science and Technology of China, the data of other single trees were all from public measured data sets in other related studies. The acquisition equipment for the lotus magnolia was Leica ScanStation C10, and the acquisition equipment for the other trees was RIEGL VZ-400. The above data were voxel downsampled using CloudCompare point cloud processing software (sampling spacing: 0.01m for lotus magnolia; 0.05m for the rest) and branches and leaves were separated by manual cropping. The following are the detailed steps for separating branches and leaves from the point cloud data of these 11 single trees using the method of the present invention.
[0065] Table 1 Single tree point cloud data
[0066]
[0067] Step 2: Construct the graph as described in step 1 of the invention.
[0068] Step 3: Perform hierarchical clustering as described in step 2 of the invention.
[0069] Step 4: Perform initial branch extraction as described in step 3 of the invention.
[0070] Step 5: Perform final branch extraction as described in step 4 of the invention.
[0071] Step 6: Accuracy evaluation:
[0072] After the above steps 2-5, the point cloud branch and leaf separation results of each tree are finally obtained. Figure 4The results of the separation of lotus and magnolia are presented. The separation results were quantitatively evaluated using four metrics: Precision, Recall, F1-score, and Accuracy. Precision, Recall, and F1-score are specific to a particular class (branch or leaf). Precision represents the ratio of correctly classified points to the number of points assigned to that class; Recall represents the ratio of correctly classified points to the true number of points in that class; F1-score is the harmonic mean of Precision and Recall; and Accuracy represents the ratio of correctly classified points to the total number of points for all classes. The classification accuracy of each tree is shown in Table 2. The average Accuracy is 0.971, with a standard deviation of 0.013. The maximum value is 0.989, corresponding to nouraguesH20 108, and the minimum value is 0.945, corresponding to tree 2. The F1-score of the branches is lower than that of the leaves, with an average difference of 10 percentage points.
[0073] This example uses the present method to process point cloud data from 11 trees of various species and sizes, obtained through multi-station scanning. Following the method steps, adaptive parameter settings were used to achieve branch-to-leaf separation for each tree. The separation results were quantitatively evaluated using four metrics: Precision, Recall, F1-score, and Accuracy. Results show that the proposed method achieves high and stable branch-to-leaf separation accuracy for trees of varying species and sizes. However, the classification accuracy for branches and trunks is significantly lower than for leaves. Analysis suggests the following reasons: 1. The number of branch and leaf point clouds varies significantly; 2. Twig extraction is insufficient; and 3. Leaves on some trees may cling to the trunk and larger branches, making them prone to misclassification as branches and trunks. Furthermore, the operating environment for this example is Windows 7, an Intel(R) Core(TM) i5-7500, and 8GB of RAM. The processing time for each tree is 1-2 minutes, demonstrating the computational efficiency of the proposed method.
[0074] Table 2 Branch and leaf separation accuracy
[0075]
[0076] From the above embodiments, it can be seen that the present invention first constructs a graph for a single tree point cloud, and then extracts the shortest path information from each point to the root node; the point cloud is layered according to the path length, and the edges on the layer boundary are deleted. The connected components of the graph are the hierarchical clustering results; the cylindrical features are used to extract the trunk and main branch clusters, and the linear features are used to extract the twig clusters, thereby obtaining the initial branch points; the initial branch points are used as seed points, and based on the neighborhood and shortest path information of the graph, the branch points located at irregular places such as bifurcations are extracted through region growing; after the initial branch extraction and region growing, the final branch points are obtained, and their complement is the leaf point cloud. The present invention fully utilizes the shortest path information of the graph through point cloud layering, axial estimation, classification correction and region growing, does not rely on prior knowledge and machine learning, and is streamlined and efficient while ensuring classification accuracy. It provides a new idea for separating branches and leaves from single tree point clouds, and can be further applied to forest parameter extraction, smart forestry, vegetation radiation transmission modeling and other fields.
Claims
1. A method for separating branches and leaves from single tree point cloud based on graph theory, characterized in that: The following steps are involved: Step 1. Graph construction: connect the discrete single-tree point clouds into an undirected weighted connected graph G; Step 2: Hierarchical clustering: cluster the original single tree point cloud tree_cloud by hierarchical segmentation; 2-1. Shortest path extraction: Use the single-source shortest path algorithm to extract the shortest path information path from each point to the root node from the graph G obtained in step 1, the path sequence path_list and the path length path_dis; 2-2. Path length stratification: The original single tree point cloud tree_cloud is stratified based on the path length path_dis, with a stratification interval interval_D = treeHight / 30. This is achieved by deleting the edges on the stratification boundary in the graph G. After the stratification edge cutting operation, the point cloud corresponding to the connected components of the graph G is the clustering result; Step 3: Initial branch extraction: Extract the branch clusters with significant features from the clustering results of step 2; Step 4: Final branch extraction: Using the initial branch points obtained in step 3 as seed points, extract the branch point cloud where the features are not significant by region growing. Specifically: 4-1. Seed point supplement: take the initial branch point and all points on its path sequence path_list as seed points; 4-2. Regional growth: 4-2-1. Create a seed point set L and a branch point set F, and then place the seed points from step 4-1 above into L and F; 4-2-2. If D pp′ <0.25*interval_D and D rp′ <D rp , then add p′ to the temporary set temp_L; where p is a point in L, p′ is a point adjacent to p on the original graph G without deleting edges and not in F, D pp′ represents the distance from p to p′, D rp and D rp′ Respectively represent the shortest path distance path_dis from p and p′ to the root node; If there is a point in temp_L, update L = temp_L, put the point in temp_L into F, and execute 4-2-2 again; If there is no point in temp_L, the growth ends; 4-3. The points in set F are the branch point cloud, and the complement of F, tree_cloud-F, is the leaf point cloud.
2. The method for separating branches and leaves from single tree point cloud based on graph theory as claimed in claim 1, characterized in that: The step 1 is specifically as follows: Step 1-1, inserting a root node: insert a root node in the original single tree point cloud tree_cloud, select a point cloud with a height of 5-20 cm at the bottom of the trunk, project it to the horizontal plane where the lowest point of the trunk is located, and perform a least squares circle fitting on the projected point cloud. The center of the circle is the insertion position of the root node; 1-2. Large-scale neighbor search: Search for a large range of neighbors_K for each point in the original single tree point cloud tree_cloud, with 50≤K≤300, to fully obtain the neighbor relationship of each point. The more serious the data missing, the larger the value of K, but it will increase memory consumption; 1-3. Construction of small-scale neighborhood graph: 1-3-1. Create the current set Q and the visited set V, and put the root node into Q and V; 1-3-2. For each point in the current set Q, connect it to the five nearest points in its corresponding large-scale neighboring points neighbors_K that are not in V, add these points to the temporary set temp_Q, update Q = temp_Q, and then add the points in the temporary set temp_Q to V. Repeat this step until there are no points in the temporary set temp_Q. 1-3-3. Initialize thr_neighbor_Dis = treeHight / 30, where treeHight is the tree height and thr_neighbor_Dis is the neighbor distance threshold. 1-3-4. Define the unvisited set un_V = tree_cloud – V and determine whether un_V is empty: If un_V is not empty, traverse each point in un_V. If there is a point in V with a distance less than thr_neighbor_Dis among its corresponding large-scale neighbor points neighbors_K, connect it to the 5 nearest points among these points and add it to temp_Q. If there is a point in temp_Q, update Q = temp_Q, add the point in temp_Q to V, and jump to 1-3-2. If there is no point in temp_Q, update thr_neighbor_Dis + = treeHight / 60 and re-enter 1-3-4. If un_V is empty, the construction is completed and the graph G = (V, E) is obtained. G consists of the vertex set V and the edge set E, and the weight of the edge is the Euclidean distance between two points.
3. The method for separating branches and leaves from a single tree point cloud based on graph theory as claimed in claim 1, characterized in that: The single-source shortest path algorithm in step 2-1 is the Dijkstra algorithm.
4. The method for separating branches and leaves from single tree point cloud based on graph theory as claimed in claim 1, characterized in that: The step 3 is specifically as follows: 3-1. Coordinate transformation: define the cluster axis as the sum of the direction vectors of each point in the cluster and the first predecessor point on the path sequence path_list, and then rotate the coordinate axis of the three-dimensional rectangular coordinate system so that the coordinate z axis is parallel to the cluster axis; 3-2. Size filtering: If |dimen_z-interval_D|>0.25*interval_D, the cluster is considered too small or too large and is filtered out. dimen_z is the maximum z value minus the minimum z value of the cluster along the z axis after coordinate transformation. 3-3. Trunk and main branch cluster extraction: Extract trunk and main branch clusters with significant cylindrical features and identify them through cylinder fitting. The specific process is as follows: 3-3-1. Cylindrical fitting: After the coordinate transformation in 3-1, the axis of the cluster is parallel to the coordinate z-axis. Therefore, the cluster can be projected along the z-axis onto a two-dimensional plane for least squares circular fitting, thus achieving the effect of cylindrical fitting. 3-3-2. Identification based on relative fitting error: The formula for relative fitting error of a cylinder is defined as follows: In the formula, n is the number of points contained in the cluster, d i is the distance from any point in the cluster to the axis of the fitted cylinder, and r is the radius of the fitted cylinder. When rError<0.2, it indicates that the cylindrical features of the cluster are significant and should be extracted. 3-4. Extraction of twig clusters: Extract twig clusters with significant linear features and identify them through principal component analysis. The specific process is as follows: 3-4-1. Principal component analysis: Let P be the cluster point set, and the covariance matrix of P is defined as follows: Where n is the number of points contained in P, p i For any point in P, p c is the center of mass of P; Cov P The eigenvalues λ1≥λ2≥λ3 characterize the degree of dispersion of P in the three principal component directions, and the spatial distribution characteristics of P are calculated by the eigenvalues; 3-4-2. Identification based on linear features: Linearity = λ1 / (λ1+λ2+λ3) is defined to represent the linear features of the cluster; when Linearity > 0.9, it indicates that the linear features of the cluster are significant and extraction is performed; 3-5. Classification Correction: Based on the tree growth rule that the trunk gradually tapers to the branches, we correct the cylindrical leaf clusters that were mistakenly classified as trunks and main branches. The specific process is as follows: 3-5-1. Traverse each cluster c that is divided into trunks and main branches by the cylindrical fitting method in step 3-3, and search from any point in c along the path sequence path_list to the root node. If you encounter the twig cluster obtained from step 3-4 or the trunk and main branch cluster c′ obtained from step 3-3 but the cylindrical fitting radius of c is larger than the cylindrical fitting radius of c′, it means that cluster c is misclassified and it should be eliminated.
Citation Information
Patent Citations
Point cloud single tree segmentation method and device, equipment and computer readable medium
CN111598915A
Single tree parameter extraction method and system under complex forest stand, medium and equipment
CN111814666A