Tree point cloud three-dimensional branch reconstruction method based on hybrid skeletonization and branch level simulation

The tree point cloud 3D branch reconstruction method using hybrid skeletonization and branch level simulation solves the problem of inaccurate branch topology representation in existing technologies, generates high-quality tree 3D models, adapts to various input single tree point clouds, and supports multidisciplinary research and forestry 3D simulation.

CN122115720APending Publication Date: 2026-05-29RES INST OF FOREST RESOURCE INFORMATION TECHN CHINESE ACADEMY OF FORESTRY
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
RES INST OF FOREST RESOURCE INFORMATION TECHN CHINESE ACADEMY OF FORESTRY
Filing Date
2026-02-06
Publication Date
2026-05-29

Smart Images

  • Figure CN122115720A_ABST
    Figure CN122115720A_ABST
Patent Text Reader

Abstract

The method for three-dimensional branch reconstruction of tree point cloud based on mixed skeletonization and branch level simulation belongs to the field of forestry science research, computer vision technology and tree three-dimensional modeling technology. The method supports taking leafless single tree point cloud or leafy single tree point cloud as input, selecting the optimal weight file of the predicted point movement of the sparse convolutional neural network model trained on the leafless or leafy synthetic tree dataset, and applying it to the point cloud contraction process based on sparse convolution. The mixed skeletonization of the preprocessed input point cloud is obtained through the point cloud contraction and fast hierarchical clustering, and the initial skeleton of the single tree and the initial radius corresponding to each skeleton point are obtained. The two-stage skeleton refinement generates a single tree quantitative structure model, and the updated single tree quantitative structure model is obtained by adjusting the branch transition and reconstructing the branch arterial snake model. The model participates in parameter extraction together with the input point cloud and is attached to the single tree quantitative structure model file and output.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of forestry scientific research, computer vision technology and tree 3D modeling technology, and relates to a method for reconstructing tree point cloud 3D branch system using hybrid skeletonization and branch level simulation. Background Technology

[0002] The quantitative structural model of trees uses laser point clouds of individual trees as input. After reconstructing the tree's branch structure topology, it approximates the configuration of the target tree using simple geometric shapes. This method seamlessly integrates mathematical operations involving the diameter, length, area, volume, and angles of the structural components themselves and between components. It facilitates the conversion of discrete and disordered laser data, mainly ground-scanned sample point clouds, into structured background data including a three-dimensional model of the tree, its skeleton, and extracted structural parameters required for specific applications. Currently, it has played a significant role in research across many fields of agricultural and forestry sciences, such as forest management, plant phenomics, and ecology. Furthermore, explorations are underway to apply this method in conjunction with automated operating devices in specific production practices.

[0003] However, due to the physical limitations of lasers and the constraints of scanning conditions, existing quantitative structural models, primarily employing segmentation and contraction architectures, are inaccurate in representing different locations in branch topology and are highly sensitive to the presence of leaves, which have a significant negative impact on branch reconstruction. Furthermore, organ-level (branch-level) simulations are rarely addressed, and branch representations are overly simplistic and idealized. These inaccuracies not only reduce the model's accuracy in simulating the target tree but also decrease the accuracy of tree parameters. Summary of the Invention

[0004] This invention addresses the problems of existing technologies by providing a method for reconstructing three-dimensional tree branch systems from point clouds using hybrid skeletonization and branch-level simulation.

[0005] A method for reconstructing 3D branches of trees from point clouds using hybrid skeletonization and branch-level simulation includes the following steps: It supports using either leafless or leafy single-tree point clouds as input. It selects the optimal weight file of a sparse convolutional neural network model for predicting point movement, trained on the corresponding synthetic tree dataset (either leafless or leafy), and applies it to the point cloud shrinkage process based on sparse convolution. The pre-processed input point cloud undergoes hybrid skeletonization, achieved through point cloud shrinkage and rapid hierarchical clustering, to obtain the initial skeleton of each tree and the initial radius corresponding to each skeleton point. A two-stage skeleton refinement generates a quantitative structural model of each tree. An updated quantitative structural model of each tree is obtained by adjusting branch transitions and reconstructing the branch artery snake model. This model, along with the input point cloud, participates in parameter extraction and is appended to the quantitative structural model file of each tree for output. The single-tree skeleton and branch model are separated and output separately, along with two types of crown convex hull models generated from crown-related parameter calculations.

[0006] The core of the sparse convolutional neural network model for predicting point movement adopts the UNet architecture. Before downsampling, a downsampling safety detection mechanism is added to prevent downsampling from causing dimension vanishing, so as to stably adapt to the processing of various input point clouds. Its output passes through two independent multilayer perceptrons and is respectively processed by the normalization and Softplus functions to predict the (unit) movement direction and movement distance. The desired point movement is obtained by multiplying the two.

[0007] The termination condition for controlling the point cloud shrinkage based on sparse convolution is that the Chamfer distance calculated from the point cloud before and after shrinkage increases or exceeds the number of iterations. Here, the two point clouds are first placed in the same voxel space for downsampling before the Chamfer distance is calculated.

[0008] Fast hierarchical clustering uses patching to reduce computational complexity. Based on greedy radius search, the point cloud is completely divided into discrete patches that do not overlap with each other. A mapping map is constructed using the patches as nodes. The mapping map of the point cloud is then quickly approximated by the connectivity between the patch nodes and the spatial relationship between the points within the patches.

[0009] The three-stage radius update strategy involves three steps: initial radius calculation, reference radius calculation, and radius correction. A Gaussian mixture model with the optimal number of components at distances to the skeleton points is fitted to the point set that generates the skeleton points, and the mean of the largest component is taken as the initial radius for each skeleton point. After sorting by branch level, each branch path, including its branch nodes, participates in a weighted monotonic regression to calculate the reference radius, which is also used to simplify the branch path. The initial radius obtained by filtering each branch path based on the tolerance limit of the reference radius participates in the radius correction. Specifically, the trunk path is weighted and fitted with an allometric growth equation with an intercept, while the intercepts of other branches at all levels are adjusted while maintaining the shape parameters in the equation.

[0010] The branch transition adjustment uses a discretized approximate solution to calculate the optimization problem based on curvature change and distance penalty.

[0011] The advantages of this invention are: a method for reconstructing three-dimensional tree branch systems from point clouds using hybrid skeletonization and branch level simulation, which can achieve efficient and automated reconstruction and parameter extraction tasks adaptable to various input single tree point clouds, can meet the needs of multidisciplinary forestry research that requires accurate tree models and rich phenotypic data as support, and provides high-quality modeling materials for three-dimensional simulation and digital twins of forest scenes.

[0012] The reconstructed model is complete, natural, aesthetically pleasing, and smooth; the thickness of branches visually approximates reality and conforms to the differences between naturally occurring branches; there are no obvious false branches, and it is insensitive to leaf noise; the TreeQSM-compatible structure allows the output to be more widely integrated into existing tools; it supports integrated, precise, and intelligent extraction and interactive query analysis of 47 individual-scale parameters (single tree parameters), 26 organ-scale parameters (branch attributes), and 8 plot-scale parameters (forest stand spatial structure parameters). Attached Figure Description

[0013] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. As shown in the figures:

[0014] Figure 1 This is a flowchart illustrating the technical process of the present invention.

[0015] Figure 2 The main processing steps of this invention are visualized step by step.

[0016] Figure 3 This invention provides leafless and leafy single-tree point clouds of different tree species used to demonstrate the reconstruction effect.

[0017] Figure 4 These are branch models reconstructed from different tree species with and without leaves, according to the present invention. Detailed Implementation

[0018] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0019] Example 1: As Figure 1 , Figure 2 , Figure 3 and Figure 4 As shown, the method for reconstructing the 3D branch system of tree point clouds using hybrid skeletonization and branch level simulation includes the following steps:

[0020] It supports using leafless or leafy single-tree point clouds as input. It selects the optimal weight file of the sparse convolutional neural network model for predicting point movement, which is trained on the corresponding synthetic tree dataset with or without leaves, and applies it to the point cloud shrinking process based on sparse convolution. The input point cloud is processed by a hybrid skeletonization, which is formed by the connection of point cloud shrinkage and fast hierarchical clustering, to obtain the initial skeleton of a single tree and the initial radius corresponding to each skeleton point. A quantitative structural model of a single tree is generated through two-stage skeleton refinement. The updated quantitative structural model of a single tree is obtained by adjusting the branch transition and reconstructing the branch artery snake model. This model, together with the input point cloud, participates in parameter extraction and is attached to the quantitative structural model file of a single tree for output. The single tree skeleton and branch model are separated and output separately. Two crown convex hull models generated by calculating the parameters related to the crown are also output.

[0021] A hybrid skeletonization and branch-level simulation method for 3D tree branch reconstruction from point clouds addresses the constraint that quantitative structural models require leafless individual tree point clouds to ensure modeling quality. This method enables automated reconstruction of higher-quality individual tree point clouds and further improves algorithm processing speed without sacrificing accuracy. It provides an easy-to-use, efficient, and stable solution for point cloud-based tree modeling and morphological analysis, and offers technical support at the data source level for various forestry research fields that require tree models as baseline data.

[0022] It mainly includes four parts: input, hybrid skeletonization, two-stage skeleton refinement, and output, as well as two stages: training and application of the neural network model. Its overall technical process is as follows: Figure 1 As shown.

[0023] Depend on Figure 1A sparse convolutional neural network model was trained on either a dataset consisting of leafless single-tree point clouds or a synthetic tree dataset consisting of leafy single-tree point clouds, with each point labeled as having a movement towards the central axis (hereinafter referred to as point movement) as an additional attribute. The optimal weight files (i.e., those with the minimum loss) obtained from training on the two synthetic datasets were selected and applied to the sparse convolution-based point cloud shrinkage of either leafless or leafy single-tree point clouds. Specifically, the sparse convolutional network model voxelizes the input block point cloud (after constructing a sparse convolutional tensor) and feeds it into the sparse convolutional neural network to predict point movement. After model output, the voxelized sampled points of the block point cloud, the labeled point movement of each sampled point, and the predicted point movement correspond one-to-one. During model training, the training set uses a randomly selected point within the point cloud to construct a cube, which is then randomly pruned to obtain training samples. The predicted point movement and the corresponding labeled point movement of the pruned point are used to directly calculate the loss and update the model's weights accordingly. The validation set divides the point cloud into blocks, each filled with an added buffer (hereinafter referred to as block filling). The predicted point movement is filtered out using a mask to form a complete point cloud. The loss is calculated using the movement of each labeled point in the point cloud without duplicates and its corresponding predicted point movement, and the current model's weights are stored in a file. It is particularly important to note that in a leafy point cloud, the movement of leaf points (including labeled points) is directed towards the central axis of the branch from which they grow.

[0024] like Figure 1 As shown, when this invention is applied to the task of reconstructing and extracting specific tree point clouds, it takes leafless or leafy tree point clouds as input. After preprocessing including downsampling, it uses hybrid skeletonization to extract the initial skeleton of the tree and the initial radius of each skeleton point (approximately a circular cross-section). A two-stage skeletonization process is then used to refine and optimize the tree topology and radius, forming a quantitative structural model of the tree. After adjusting branch transitions and reconstructing the arterial snake model, the tree skeleton contained in the quantitative structural model is further updated, and the arterial snake model of each branch is added. The final quantitative structural model of the tree is saved as a file. During saving, the tree skeleton and branch model are stored separately. Before storage, the skeleton and branch models in the quantitative structural model participate in parameter extraction along with the input point cloud. During parameter extraction, two types of crown convex hull models related to the calculation of some crown parameters are additionally output, including the crown calculated based on the point cloud height and the effective crown calculated based on the quantitative structural model. The results of parameter extraction are added to the output quantitative structural model of the tree.

[0025] Figure 1In this process, hybrid skeletonization combines two skeleton point extraction algorithms: sparse convolution-based point cloud shrinkage and fast hierarchical clustering. After obtaining the skeleton points and possible connections between adjacent layers, it follows the general steps of skeletonization—constructing a skeleton point cloud map, extracting the skeleton, and calculating the initial radius of each skeleton point—to obtain the initial skeleton and initial radius required for skeleton refinement. The possible connections between adjacent layers supplement the constructed skeleton point cloud map with new edges and can be empty. The initial radius of each skeleton point is calculated using the points on the point cloud surface mapped from the clustering of each skeleton point as input. Point cloud shrinkage based on sparse convolution is an iterative process. It starts with the point cloud before shrinkage, adds accumulated point movement, and then fills it in blocks. The sparse convolutional neural network model is used to predict point movement and retain non-repeating parts through a mask. Each point is added with the predicted point movement to obtain the shrunken point cloud, and the accumulated point movement is updated. The Chamfer distance is calculated using the point cloud before and after shrinkage. When this distance increases, the point cloud before shrinkage is output. If it does not increase, but the maximum number of iterations is reached, the shrunken point cloud is output, and voxel downsampling is used to obtain a single-tree approximate central point cloud. Otherwise, the point cloud after shrinkage in the current round is used as the point cloud before shrinkage in the next round to start the next cycle. Fast hierarchical clustering takes the approximate central point cloud of a single tree as input and reduces computational complexity by patching. It constructs a survey map with patches as nodes, which is a fast approximation of the approximate central point cloud survey map and restores it to the approximate central point cloud survey map. Based on this survey map, the point cloud is non-uniformly layered, with the "layer height" being higher closer to the starting point of tree growth and lower further away. Inter-layer clustering is performed layer by layer to obtain skeleton points, and neighboring layers are clustered by additionally including the previous layer to obtain possible connections between skeleton points in adjacent layers.

[0026] Figure 1The two-stage skeleton refinement shown consists of two phases. In phase one, the initial skeleton of a single tree is separated into paths. The principle for separating paths is to calculate the weighted path length (WPL, which in practice represents the length of the stem supported by the node, also called the growth length) of all nodes on the rooted tree skeleton, take the child node with the largest WPL as the extension of the parent branch, and the remaining child nodes are new branches; add parent branch ID and level to these paths, remove the parent branch point at the beginning of the path, and sort them according to the branch level in ascending order, and within the same branch level, in ascending order of height to generate branch paths; use the initial radius as input to calculate the reference radius of each skeleton point; the reference radius is used to simplify the branch paths. Before simplification, branches are sorted in ascending order of level, and within the same level, they are sorted again according to the reference radius of the starting point of the branch path. This prioritizes thicker branches within the same level. Simplifying branch paths involves removing nodes that do not belong to the path on a branch-by-branch basis. These nodes belong to the potential space range of a previously examined branch. This range is defined by a series of spheres centered on all nodes of the path, with radii equal to their respective reference radii multiplied by the range scaling factor. After simplification, branch paths with too few nodes (less than 2) are removed. Simplifying branch paths involves extensive modifications to the skeleton topology, reconstructing the individual tree skeleton to obtain the updated tree topology. In the next stage, the updated skeleton is further separated into paths, branch paths are generated, and branch paths are simplified. Each branch path is smoothed, and the individual tree skeleton is reconstructed again. After reconstruction, the WPL corresponding to each skeleton point is calculated. The initial radius is filtered with tolerance based on the reference radius, and the remaining radii are also corrected on a branch-by-branch basis. Thus, the individual tree skeleton and the radii attached to each node are strengthened both structurally and numerically, thereby constructing a quantitative structural model of the individual tree.

[0027] A method for 3D tree branch reconstruction from point cloud using hybrid skeletonization and branch-level simulation, comprising two core skeleton extraction algorithm steps based on hybrid skeletonization:

[0028] Step 1: Stable point cloud shrinkage based on sparse convolution

[0029] The point cloud shrinkage based on sparse convolution is achieved using a sparse convolutional neural network, whose input is the point cloud before shrinkage. A series of point clouds obtained from sampling are voxelized and constructed into a sparse convolution tensor. This tensor stores the original point clouds. There are repeated sampling points; record the total number of these points. One, and from The operations required to obtain these points are abbreviated as follows: These points are used to predict point movement. Sparse convolution tensors are fed into the UNet architecture, which has a symmetric encoder-decoder structure. Before encoding (downsampling), a downsampling safety check mechanism checks whether downsampling can continue, ensuring that at least one valid output feature is produced after this downsampling. Specifically, for the downsampled sparse convolution, it first determines whether the shape of the input voxel space is sufficient in each dimension to accommodate a tensor with a dilation coefficient of... The dimensions are The convolution kernels are used; if they can accommodate the current voxel coordinates, the output voxel coordinates after convolution are calculated, ensuring that at least one output coordinate remains within the valid range; otherwise, it is determined that continuing downsampling is unsafe, the network depth should not be further increased, and the encoding stage should be terminated early to start the decoding (upsampling) process. The feature map obtained after the UNet architecture is fed into two multilayer perceptrons (MLPs). The feature output of one MLP is... The predicted point movement direction is obtained by normalizing the 3D matrix (row normalization). Its first The first line is the first. sampling points The predicted point movement direction; another characteristic of the MLP output is The predicted point movement distance is obtained by passing a 3D column vector through the Softplus function. Its first The element is the th element sampling points The expected point movement distance. Here, the expression for the Softplus function is: This is used to map features from the real number domain to the positive real number domain so that they conform to the practical meaning of distance; here, the parameter β defaults to 1. Therefore, these sampling points The movement of the prediction point (towards the central axis) is... The results and They are in the same dimension, but each row has not only a displacement in direction but also a displacement in magnitude. For Hadamard product, For Kronecker product, This is the transpose of a column vector containing only 1s. Considering the previous block-filling process, the result needs to filter out the filled portions and merge them to form a shrunken point cloud. This process can be called masking, denoted as [Mask]. Point cloud shrinkage based on sparse convolution can be expressed as an iterative formula. Among them, superscript They represent the first Round (previous round), the The contraction process of the wheel (the current wheel), in particular, Also the first The point cloud before the wheel contracts, and The input point cloud is the preprocessed value. The contraction terminates when the Chamfer distance increases beyond the maximum number of iterations. When the former is triggered, the output is the point cloud before contraction in the current iteration; when the latter is triggered, the output is the point cloud after contraction in the current iteration. The Chamfer distance of the wheel is and The Chamfer distance between two point clouds sampled in the same voxel space.

[0030] Step 2: Rapid hierarchical clustering

[0031] Instead of directly constructing a mapping map from the point cloud, this approach reduces computational complexity and memory requirements by constructing a mapping map from the point cloud by dividing it into discrete patches (i.e., patching). The patching logic involves taking a random permutation of all point indices in the point cloud and maintaining two vectors of the same size: one vector records the patch index assigned to each point, and the other records the distance from the patch center (initially positive infinity). The permutation is iterated sequentially; if a point has already been assigned to a patch, it is skipped; otherwise, the point becomes the center of the new patch. Points within a sphere of a specified radius centered on this point are then updated to their corresponding patch indices if they are closer to this center than existing points near other centers or have not been assigned before. The mapping map is then constructed using these patch centers. For each patch, non-center points are divided into two parts by constructing a tangent plane based on the patch center and the path direction from the mapping map to this center. In one part, the angle between the direction from all points to the patch center and the path direction exceeds 90 degrees. The directed lines from the patch center to these points are expanded into the survey map. Points in the other part should be connected to their parent patch centers (connected to the patch center) and expanded into the survey map. This approximation yields a survey map of the point cloud. The smaller the patch size, the closer the approximate survey map is to the survey map constructed directly from the point cloud, but the computational load also increases. The longest path length obtained in the survey map is added to a small positive number as the maximum layer height. Layers are non-uniformly constructed according to the principle that the layer height decreases with distance. Each layer contains a set of points with a path length greater than or equal to the current layer height and less than the next layer height. The point sets in each layer are clustered into different clusters. The point set in each cluster is used to calculate the skeleton points; additionally, points from the previous layer are included, and clustering is performed again, considering spatial distance to obtain possible connections between the skeleton points generated in the current layer and those generated in the previous layer.

[0032] A method for reconstructing 3D tree branches from point clouds using hybrid skeletonization and branch-level simulation employs a three-stage radius update strategy, including initial radius calculation, reference radius calculation, and radius correction.

[0033] Step 1) Initial radius calculation

[0034] At the end of the skeletonization process, the initial radius is calculated using each skeleton point and the set of points that generated it. The Euclidean distance from each point in the point set to the skeleton point is calculated, and a Gaussian mixture model with the optimal number of components for the distance to the skeleton point is fitted. The mean of the largest component is then taken. The idea behind this step is that, ideally, the point set approximates a very thin disk, and the skeleton point is exactly at the center of the disk. Therefore, the distance from all points in this point set to the skeleton point should be close to the radius. However, the presence of noise or even ghosting, non-circular surfaces or deformations, skeleton point offsets, and the point set representing a relatively thick branch complicates the distribution of these distance values. To simplify the process, we can assume that this distribution is a mixture of the dominant Gaussian distribution formed by the uniformly sampled point set on an approximate cylindrical surface and the skeleton point, along with one or more Gaussian distributions formed by various outliers. The goal is to identify the dominant Gaussian distribution and, based on the assumption that the distance from the point to the axis should be concentrated near the true radius when uniformly sampling the cylindrical surface, make its mean approximately equal to the local radius. By using a Gaussian mixture model, a set of distances is divided into several "scale clusters". The mean of the Gaussian component with the largest weight is the typical distance from the dominant surface around the skeleton point to the skeleton, and therefore can be used as the local radius at that point.

[0035] Step 2) Calculation of reference radius

[0036] In the first stage of the two-stage skeleton refinement, the reference radius is calculated sequentially based on the sorted branch paths. For each branch path, a weighted monotonic regression is used to fit the relationship between the WPL and the initial radius, and the fitted radius is used as the reference radius for each node on the branch path. Here, monotonic regression ensures that the fitted function remains monotonically constant while using multi-segment approximation, conforming to the thickness variation pattern from the treetop to the rootstock—that is, the thickness continuously increases, and there are large or small jumps in thickness between branches. Weighting is used to minimize the influence of point cloud defects, especially the phenomenon of excessively thick twigs. Nodes are defined. Weight for

[0037] in, It is a node The weighted path is long. It is the maximum value among all weighted path lengths. It is a node relative ground height When used as independent variables, the shape and scale parameters are respectively The probability density function value of the Gamma distribution, and the point of maximum value of this function. The initial radius is set near the height at breast height (the smaller of 1.3 meters and 20% of the tree height) (usually an approximation of this value for ease of calculation). This weighting method first assumes that the initial radius of a region slightly upwards near the height at breast height is relatively reliable, while it becomes increasingly unreliable towards the ground due to potential interference from ground or understory vegetation, and also becomes unreliable towards the treetop due to shading, shadows, etc. At the same time, the thickness is approximated by WPL; the smaller the WPL, the thinner the thickness is likely to be, and therefore the less reliable the initial radius is. Logarithms are used to prevent the scale from changing too rapidly, and the inhibitory effect is only significant on twigs. For branches at all levels except the trunk, the nodes to be fitted should include branch points that already have a reference radius, and these nodes should have a large weight to force the fitted function to pass through or approximate this reference radius, preventing branches from becoming too thick or too thin due to excessive outlier data.

[0038] Step 3) Radius Correction

[0039] At the end of the second stage of the two-stage skeleton refinement, the radius is corrected, requiring the initial radius and reference radius as a basis. An allometric growth equation is used for fitting to improve model smoothness while satisfying the objective mathematical laws of plant growth and development. New weights for each skeleton point are then determined. It is based on equation (3) and then multiplied by a label term, that is , where the indicator variable The initial radius is set to 1 only if it falls within the tolerance limit of the reference radius; otherwise, it is set to 0. This serves to filter out initial radii that differ excessively from the reference radius. The allometric growth equation fitted to the tree trunk path is obtained through weighted least squares fitting with a penalty term, i.e., solving an optimization problem. Solving this equation yields the required allometric growth equation with a as the proportionality constant and b as the allometric exponent.

[0040] Here, the penalty coefficient Control intercept c The L2 canonical strength also aims to reduce unnatural swelling at the distal end. Here The axis coordinates are WPL. The axis coordinates represent the corrected radius. Then, the optimization problem is solved according to the branch level from low to high. That is, to maintain the shape parameters in the allometric growth equation of the tree trunk. No change, each branch only with respect to the intercept Adjustments are made, and It also needs to satisfy the constraint that the expected thickness extending to the branching point must be less than the actual thickness of the parent branch at that branching point. Penalty coefficient. Dynamic adjustment Here, lb and ub represent the lower and upper limits, respectively, with greater penalty on smaller branches. If there are too few terms with non-zero weights on a certain branch path, the allometric growth equation is constructed by selecting the smallest value between the intercept of the parent branch and the intercept of the trunk to ensure that the branches are thinner.

[0041] A method for reconstructing 3D tree branch systems from point clouds using hybrid skeletonization and branch-level simulation, including branch transition adjustment. Figure 1 The illustrated technical flow shows that the starting point of each branch path is outside the parent branch it connects to. Sometimes this starting point is quite far away, causing the branch system model to appear visually broken. If a line is directly drawn from this node to the parent branch path, this supplementary model forces the branches to always branch outwards from the center, and the area and volume values ​​calculated quickly are significantly larger. Therefore, the branching point should be inside the parent branch, not on the axis, to ensure a natural transition and visual effect of the branching, and to minimize the negative impact on volume and area calculations. The branch transition adjustment method that meets this requirement is essentially finding an optimization problem.

[0042] The solution, where point These are the starting point of the branch path, and the first and second points thereafter. This represents the curvature formed by these three points. It is a symbolic function. The model surface is obtained by shrinking the base radius of the branch path inwards from each cross section of its parent branch model. The first part of the formula indicates that the curvature change of the point sign must be natural, while the second part constrains the point to not be too far apart, through a penalty coefficient. The weights of the two terms are adjusted. Since finding suitable points on the surface of a continuous model is difficult, a discretization method is used to find an approximate solution. First, the surface is constructed. ; Calculation points The shortest distance to the parent branch path and the nearest point at this moment; using this nearest point as the center, the surface of the sphere with the shortest distance magnified by a certain factor. The subset is discretized into a candidate point set; each point is substituted into the objective function in equation (8) to calculate the loss; the point that minimizes the loss is the branch point to be determined. Considering this branch point Connect to the starting point Using a simple straight line creates a harsh visual effect. By increasing the number of sampling points through curve fitting, the visual effect is improved. The generated points, along with the points on the branch path, are further marked to indicate whether they are inside or outside the parent branch, so that they can be distinguished during subsequent parameter calculations.

[0043] The improved quantitative structural model (QSMX) for single-wood logs in this invention is defined as follows:

[0044] Based on the quantitative structured model (QSM) defined by TreeQSM, necessary modifications were made, and the new format is referred to as QSMX. The TreeQSM-compatible structure allows the output to be more widely integrated into existing tools. The model is stored in the .mat structured MATLAB file format, and the root field is a structure named "QSM" (struct), as shown in Table 1. The original fields "pmdistance" and "triangulation" have been removed.

[0045] Table 1 “QSM” Structure

[0046]

[0047] The “cylinder” structure, as shown in Table 2, retains almost the original structure to ensure compatibility with existing projects based on TreeQSM, such as LeafGen. However, the meaning and data type of most fields have changed. The original fields “SurfCov” and “mad” have been removed.

[0048] Table 2 “cylinder” structure

[0049]

[0050] The “branch” structure is shown in Table 3. Only the “id”, “parent” and “order” fields are the same as the original names, while the rest are different.

[0051] Table 3 “branch” structure

[0052]

[0053] The “treedata” structure is shown in Table 4, and all fields are different from before.

[0054] Table 4 “treedata” structure

[0055]

[0056] The “rundata” structure is shown in Table 5, and all fields are different from before.

[0057]

[0058] Example 3: As Figure 1 , Figure 2 , Figure 3 and Figure 4 As shown, a method for extracting tree structure parameters and reconstructing 3D structures from ground laser point cloud data is illustrated, with a specific implementation example:

[0059] Example of single-tree point cloud reconstruction. Figure 2 The main processing steps are visualized step by step to show the effect; Figure 3 To demonstrate the reconstruction effect, leafless and leafy single-tree point clouds of different tree species are used. Figure 4 for Figure 3 The branch model reconstructed from the corresponding point cloud.

[0060] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A method for reconstructing three-dimensional tree branch systems from point clouds using hybrid skeletonization and branch-level simulation, characterized in that... The process includes the following steps: It supports using either leafless or leafy single-tree point clouds as input. It selects the optimal weight file of a sparse convolutional neural network model for predicting point movement, trained on the corresponding synthetic tree dataset (either leafless or leafy), and applies it to the point cloud shrinkage process based on sparse convolution. The pre-processed input point cloud is then processed through a hybrid skeletonization method, combining point cloud shrinkage with rapid hierarchical clustering, to obtain the initial skeleton of a single tree and the initial radius of each skeleton point. A two-stage skeleton refinement process generates a quantitative structural model of a single tree. An updated quantitative structural model of a single tree is obtained by adjusting branch transitions and reconstructing the branch artery snake model. This model, along with the input point cloud, participates in parameter extraction and is appended to the quantitative structural model file for output. The single-tree skeleton and branch model are separated and output separately, along with two crown convex hull models generated from crown-related parameter calculations.

2. The method for reconstructing three-dimensional tree branch systems from point clouds using hybrid skeletonization and branch-level simulation as described in claim 1, characterized in that, The core of the sparse convolutional neural network model for predicting point movement adopts the UNet architecture. Before downsampling, a downsampling safety detection mechanism is added to prevent downsampling from causing dimension vanishing, so as to stably adapt to the processing of various input point clouds. Its output passes through two independent multilayer perceptrons and is respectively processed by the normalization and Softplus functions to predict the movement direction and movement distance. The desired point movement is obtained by multiplying the two.

3. The method for reconstructing three-dimensional tree branch systems from point clouds using hybrid skeletonization and branch-level simulation according to claim 1, characterized in that, The termination condition for controlling the point cloud shrinkage based on sparse convolution is that the Chamfer distance calculated from the point cloud before and after shrinkage increases or exceeds the number of iterations. Here, the two point clouds are first placed in the same voxel space for downsampling before the Chamfer distance is calculated.

4. The method for reconstructing three-dimensional tree branch systems from point clouds using hybrid skeletonization and branch-level simulation according to claim 1, characterized in that, Fast hierarchical clustering uses patching to reduce computational complexity. Based on greedy radius search, the point cloud is completely divided into discrete patches that do not overlap with each other. A mapping map is constructed using the patches as nodes. The mapping map of the point cloud is then quickly approximated by the connectivity between the patch nodes and the spatial relationship between the points within the patches.

5. The method for reconstructing three-dimensional tree branch systems from point clouds using hybrid skeletonization and branch-level simulation according to claim 1, characterized in that, The three-stage radius update strategy for the initial skeleton of a single tree and the initial radius corresponding to each skeleton point involves three steps: initial radius calculation, reference radius calculation, and radius correction. A Gaussian mixture model with the optimal number of components for the distance to the skeleton point is fitted on the point set that generates the skeleton points, and the mean of the largest component is taken as the initial radius of each skeleton point. After sorting by branch level, each branch path, including its branch nodes, participates in weighted monotonic regression to calculate the reference radius. The reference radius is also used to simplify the branch path. For each branch path, the initial radius obtained by filtering based on the tolerance limit of the reference radius is used for radius correction. The trunk path is weighted and fitted with an allometric growth equation with intercept, while the intercept of other branches at all levels is adjusted by maintaining the shape parameters in the equation.

6. The method for reconstructing three-dimensional tree branch systems from point clouds using hybrid skeletonization and branch-level simulation according to claim 1, characterized in that, The adjustment of branch transitions is calculated using a discretized approximate solution based on an optimization problem involving curvature variation and distance penalty.

7. The method for reconstructing three-dimensional tree branch systems from point clouds using hybrid skeletonization and branch-level simulation according to claim 1, characterized in that, The two core skeleton extraction algorithm steps of hybrid skeletonization: Step 1: Stable point cloud shrinkage based on sparse convolution The point cloud shrinkage based on sparse convolution is achieved using a sparse convolutional neural network, whose input is the point cloud before shrinkage. A series of point clouds obtained from sampling are voxelized and constructed into a sparse convolution tensor, which stores the original point clouds. There are repeated sampling points; record the total number of these points. One, and from The operations required to obtain these points are abbreviated as follows: These points are used to predict point movement. The sparse convolution tensors are fed into the UNet architecture with a symmetric encoder-decoder structure. Before encoding, a downsampling safety check mechanism checks whether downsampling can continue. This mechanism ensures that at least one valid output feature is generated after this downsampling. Specifically, for the downsampled sparse convolution, it first determines whether the shape of the input voxel space is sufficient to accommodate a tensor with a dilation coefficient of 0. The dimensions are The convolution kernels are used; if they can accommodate the current voxel coordinates, the output voxel coordinates corresponding to their convolution are calculated, ensuring that at least one output coordinate is still within the legal range; otherwise, it is determined that continuing downsampling is unsafe, the network depth should not be further increased, and the encoding stage should be ended early and the decoding process should begin. The feature map obtained after the UNet architecture is fed into two multilayer perceptrons (MLPs). The feature map output by one MLP is... The 3D matrix, after being normalized, yields the predicted point movement direction. Its first The first line is the first. sampling points The predicted point movement direction; another characteristic of the MLP output is The predicted point movement distance is obtained by passing a 3D column vector through the Softplus function. Its first The element is the th element sampling points The expected point movement distance, here, the expression of the Softplus function is: This is used to map features from the real number domain to the positive real number domain so that they conform to the actual meaning of distance. Here, the parameter β defaults to 1. Therefore, these sampling points The movement of the prediction point (towards the central axis) is... The results and They are in the same dimension, but each row has not only a displacement in direction but also a displacement in magnitude. For Hadamard product, For Kronecker product, Given the transpose of a column vector containing only 1s, and considering the previous block-filling process, the result needs to have the filled portions filtered out and the vectors merged to form a shrunken point cloud. This process can be called masking, denoted as [Mask]. Point cloud shrinkage based on sparse convolution can be expressed as an iterative formula. Among them, superscript They represent the first The previous round, the first round The wheel refers to the contraction process of the current wheel, specifically, Also the first The point cloud before the wheel contracts, and The input point cloud is preprocessed. The contraction terminates when the Chamfer distance increases beyond the maximum number of iterations. When the former is triggered, the point cloud before contraction in the current iteration is output; when the latter is triggered, the point cloud after contraction in the current iteration is output. The Chamfer distance of the wheel is and The Chamfer distance between two point clouds sampled in the same voxel space. Step 2: Rapid hierarchical clustering Instead of directly constructing a mapping map from the point cloud, this method divides the point cloud into discrete patches to reduce computational complexity and memory requirements. The patching logic involves taking a random permutation of all point indices in the point cloud and maintaining two vectors of the same size: one recording the patch index assigned to each point, and the other recording the distance from the patch center (initially positive infinity). The permutation is iterated sequentially; if a point is already assigned to a patch, it is skipped; otherwise, the point becomes the center of the new patch. Points within a sphere of a specified radius centered on this point are updated to their patch indices if they are closer to this center than existing points to other centers or have not been assigned before. The mapping map is then constructed using these patch centers. For each patch, points that are not at the center are divided into two parts by constructing a tangent plane based on the patch center and the path direction from the mapping map to this center. One part contains... For some points, the angle between the direction from the patch center and the path direction exceeds 90 degrees. The directed lines from the patch center to these points are expanded into the survey map. Points in another part should be connected to the parent patch center connected to this patch center and expanded into the survey map. This approximation yields the survey map of the point cloud. The smaller the patch size, the closer the approximate survey map is to the survey map constructed directly from the point cloud, but the computational load also increases. The longest path length obtained in the survey map is added to a small positive number as the maximum layer height. Layers are non-uniformly divided according to the principle that the layer height decreases as the distance increases. Each layer contains a set of points with a path length greater than or equal to the current layer height and less than the next layer height. The point sets in each layer are clustered into different clusters. The point set contained in each cluster is used to calculate the skeleton points. In addition, points from the previous layer are included. Clustering is performed again, and spatial distance is considered to obtain the possible connections between the skeleton points generated in the current layer and the skeleton points generated in the previous layer.

8. The method for reconstructing three-dimensional tree branch systems from point clouds using hybrid skeletonization and branch-level simulation according to claim 5, characterized in that, A three-stage radius update strategy is adopted for the initial skeleton of a single tree and the initial radius corresponding to each skeleton point, including three steps: initial radius calculation, reference radius calculation, and radius correction. Step 1) Initial radius calculation At the end of the skeletonization process, the initial radius is calculated using each skeleton point and the set of points that generated that skeleton point. The Euclidean distance from each point in the set to the skeleton point is calculated, and a Gaussian mixture model with the optimal number of components for the distance to the skeleton point is fitted. The mean of the largest component is then taken. Step 2) Calculation of reference radius In the first stage of the two-stage skeleton refinement, the reference radius is calculated sequentially based on the sorted branch paths. For each branch path, a weighted monotonic regression is used to fit the relationship between the WPL and the initial radius, and the fitted radius is used as the reference radius for each node on the branch path. Here, monotonic regression ensures that the fitted function remains monotonically constant while using multi-segment approximation, which conforms to the thickness variation law from the treetop to the rootstock—that is, the thickness continuously increases, and there are large or small jumps in thickness between branches. Weighting is used to minimize the influence of point cloud defects, especially the phenomenon of excessively thick branches. Nodes are defined... Weight for in, It is a node The weighted path is long. It is the maximum value among all weighted path lengths. It is a node relative ground height When used as independent variables, the shape and scale parameters are respectively The probability density function value of the Gamma distribution, and the point of maximum value of this function. It was set near the bust height. Step 3) Radius Correction At the end of the second stage of the two-stage skeleton refinement, the radius is adjusted, requiring the initial radius and reference radius as a basis. An allometric growth equation is used for fitting to improve model smoothness while satisfying the objective mathematical laws of plant growth and development. The new weights for each skeleton point are determined. It is based on equation (3) and then multiplied by a label term, that is , where the indicator variable The initial radius is set to 1 only if it falls within the tolerance limit of the reference radius; otherwise, it is set to 0. This serves to filter out initial radii that differ excessively from the reference radius. The allometric growth equation for the trunk path fitting is obtained through weighted least squares fitting with a penalty term, i.e., solving an optimization problem. Solving this equation yields the required allometric growth equation, where 'a' is the proportionality constant and 'b' is the allometric exponent. Here, the penalty coefficient Controlling the L2 canonical strength of the intercept c also aims to reduce unnatural swelling at the distal end. The axis coordinates are WPL. Axis coordinates The radius is then adjusted, and subsequently, the optimization problem is solved according to the branch level from low to high. That is, to maintain the shape parameters in the allometric growth equation of the tree trunk. No change, each branch only with respect to the intercept Adjustments are made, and It also needs to satisfy the constraint that the expected thickness extending to the branch point must be less than the actual thickness of the parent branch at that branch point, with a penalty coefficient. Dynamic adjustment Where lb and ub represent the lower limit and upper limit respectively, and they also have a greater penalty on the smaller branches. If there are too few terms with non-zero weights on a certain branch path, the equation of allometric growth is constructed by selecting the smallest value between the intercept of the parent branch and the intercept of the trunk to ensure that the smaller branches are thinner.

9. The method for reconstructing three-dimensional tree branch systems from point clouds using hybrid skeletonization and branch-level simulation according to claim 1, characterized in that, Adjusting branch transitions involves identifying branching points to ensure natural transitions and visual appeal, while minimizing negative impacts on volume and area calculations, thus solving an optimization problem. , The solution, where point These are the starting point of the branch path, and the first and second points thereafter. This represents the curvature formed by these three points. It is a symbolic function. The model surface is obtained by shrinking the base radius of the branch path inwards from the cross-sections of its parent branch model. The first part of the formula indicates that the curvature change of the point sign must be natural, while the second part constrains the point to be found not to be too far apart, through a penalty coefficient. Adjusting the weights of the two terms, since finding suitable points on the surface of a continuous model is difficult, a discretization method is used to find an approximate solution. First, the surface is constructed. ; Calculation points The shortest distance to the parent branch path and the nearest point at this moment; using this nearest point as the center, the surface of the sphere with the shortest distance magnified by a certain factor. The subset is discretized into a candidate point set; each point is substituted into the objective function in equation (8) to calculate the loss; the point that minimizes the loss is the branch point to be determined. Considering this branch point Connect to the starting point Using a simple straight line creates a harsh visual effect. By increasing the number of sampling points through curve fitting, the visual effect is improved. The generated points, along with the points on the branch path, are further marked to indicate whether they are inside or outside the parent branch, so that they can be distinguished during subsequent parameter calculations.