Root system point cloud skeleton missing detection and completion method, system and device
By slicing and clustering the root system point cloud to construct a point cloud cube, and using the spacing threshold to judge and merge, the problems of missed detection and false detection in root system skeleton extraction are solved, achieving higher accuracy and completeness.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-19
- Publication Date
- 2026-03-24
AI Technical Summary
Existing point cloud skeleton extraction methods suffer from low accuracy, numerous false positives, and complex parameter adjustments when processing root point clouds. This is especially true when there are bends, branches, and large differences in tilt angles in the root system, leading to missed and false detections of the skeleton.
By slicing the root point cloud, clustered point clouds and cluster centers are obtained from the slices. The slice spacing is calculated and point cloud cubes are constructed. The number of point clouds and the spacing threshold are used to determine if there are any missed detections in the skeleton. Merging and clustering operations are then performed to complete the skeleton.
It improves the accuracy of root skeleton extraction, solves the problems of missed and false detection of the skeleton caused by large differences in bending, branching and inclination angle in the root system, and forms a more complete and accurate root skeleton.
Smart Images

Figure CN121147569B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of skeleton extraction technology, specifically to a method, system, and apparatus for detecting and completing missing root point cloud skeletons. Background Technology
[0002] Point cloud skeleton extraction is a method for extracting the skeleton structure from point cloud data. It can be used in fields such as object shape analysis and 3D model simplification. Among existing point cloud skeleton extraction methods, the Laplace Contraction-based method uses the Laplace operator to process point cloud data to obtain an estimate. This method can handle complex geometries, but it is easily affected by point cloud noise. The L1-Median-based method uses the idea of spatial median to extract the geometric features of point cloud data as a skeleton. This method can handle point cloud data with complex geometries, but it requires adjusting many parameters during the extraction process, resulting in low accuracy. The root system skeleton extraction method based on slices obtains the nearest neighbor cluster centers of adjacent point cloud slices and connects them as part of the root system skeleton. However, due to the existence of bending, branching, and large differences in tilt angle in the root system, directly connecting the nearest neighbor cluster centers can lead to false positives and false negatives in the root system skeleton.
[0003] Because the distribution of root point clouds is quite complex, the root skeleton obtained by existing point cloud skeleton extraction methods has low accuracy and many false detections. In addition, existing point cloud skeleton extraction methods have many parameters that need to be finely adjusted, making the extraction process quite complex. Summary of the Invention
[0004] This invention addresses the shortcomings of existing technologies by providing a method, system, and apparatus for extracting and completing root point cloud skeletons.
[0005] To solve the above-mentioned technical problems, the present invention provides the following technical solution:
[0006] A method for detecting and completing root system point cloud skeletons that have been missed includes the following steps:
[0007] Obtain the root system point cloud and slice it to get several slices, each slice containing several root system truncations, and then obtain the cluster point cloud and cluster centers of the root system truncations. Calculate the distance between the pairwise cluster centers of the current slice and the adjacent slices, and obtain the corresponding sequence index set by sorting.
[0008] Project the cluster point cloud of the current slice and the cluster point cloud corresponding to the sequence index onto a plane perpendicular to the line connecting the cluster centers to obtain the projected point cloud and the spacing between all projected points. Obtain the spacing threshold by the number of slices and the root point cloud, and judge the spacing based on the spacing threshold to obtain the projection distance.
[0009] Based on the cluster center of the current slice, the cluster center corresponding to the sequence index, the spacing and the projection distance, a point cloud cube is constructed. The point cloud cube is divided into points based on the number of points in the point cloud cube, and the corresponding point cloud threshold of the point cloud cube is obtained.
[0010] If the number of point clouds meets the point cloud threshold, the initial root system skeleton is obtained based on the cluster center of the current slice and the cluster center corresponding to the sequence index; otherwise, there is a missed detection of the root system skeleton.
[0011] If there are missed detections, the current slice is merged with the adjacent slices, and the merged cluster point cloud and the merged cluster center are obtained through clustering operations. Then, the initial root system skeleton is completed to obtain the root system skeleton.
[0012] As one possible implementation, the root-truncation clustered point cloud and cluster centers are obtained through the following steps:
[0013] Initialize the clustering seed points in the slice and obtain the neighboring points of the clustering seed points to obtain the seed neighbor point set;
[0014] Calculate the centroid of the seed neighborhood point set, calculate the covariance matrix in combination with the seed neighborhood point set, and obtain the normal vector of the clustering seed point by performing eigenvalue decomposition on the covariance matrix.
[0015] Obtain the normal vectors of all seed neighbor points in the seed neighbor point set to get the neighborhood normal vector set. Then, obtain the angle between the neighborhood normal vectors and the normal vectors of the clustering seed points to get the normal angle.
[0016] A preset normal angle threshold is set. If the normal angle meets the normal angle threshold, the corresponding seed neighborhood point is added to the region of the cluster seed point to obtain the initial cluster point cloud.
[0017] Obtain the centroid of the initial cluster point cloud and use it as the new cluster seed point. Iterate through the calculation until convergence to obtain the cluster point cloud. Obtain the corresponding cluster center from the cluster point cloud.
[0018] As one possible implementation, the step of calculating the distance between the cluster centers of the current slice and its adjacent slices, and obtaining the corresponding sequence index set by sorting, includes the following steps:
[0019] The distances between the cluster centers of the current slice and the cluster centers of the adjacent slices are obtained and sorted to form a distance set;
[0020] Obtain the indices of cluster centers in adjacent slices corresponding to the spacing set, and form a sequence index set based on the indices, as shown below:
[0021]
[0022] in, Indicates the first The cluster centers and the first The distance between cluster centers Indicates the first The cluster centers and the first The distance between cluster centers Represents a sequence index set. Indicates the first A sequence index, Indicates the first A sequence index, Indicates the number of sequence indices. Indicates the first The number of cluster centers in each slice.
[0023] As one possible implementation method, the projection distance is obtained through the following steps:
[0024] Project the cluster point cloud corresponding to the cluster center of the current slice and the cluster point cloud corresponding to the sequence index onto a plane perpendicular to the line connecting the corresponding cluster centers to obtain the corresponding projected point cloud.
[0025] Obtain the spacing between all projected points in the projected point cloud, and get the maximum value of the spacing;
[0026] The spacing threshold is obtained based on the depth direction value range of the root point cloud and the number of slices;
[0027] Determine whether the maximum value of the spacing meets the spacing threshold. If it does, the maximum value of the spacing is the projected distance.
[0028] The spacing threshold is expressed as: , Indicates the spacing threshold. This indicates the range of values in the depth direction of the root point cloud. Indicates the number of slices.
[0029] As one possible implementation, constructing a point cloud cube based on the cluster centers of the current slice, the cluster centers corresponding to the sequence index, the spacing, and the projection distance includes the following steps:
[0030] Using the cluster center of the current slice and the cluster center corresponding to the sequence index as the center of the square respectively, and using the projection distance as the side length of the square, construct two squares;
[0031] Construct a point cloud cube by using two squares as the two bases and the spacing between them as the distance between the two bases, as shown below:
[0032]
[0033] in, Represents a point cloud cube. Indicates the first The first slice Cluster centers, Indicates the first Sequence index of slices The corresponding cluster centers Indicates spacing, Indicates the projection distance. Represents a sequence index. Indicates the number of sequence indices.
[0034] As one possible implementation, the point cloud threshold is obtained through the following steps:
[0035] A preset partitioning threshold is used to partition the point cloud cube, resulting in a root voxel mesh set.
[0036] The scaling factor is obtained based on the division threshold and projection distance;
[0037] The volumes of the root voxel mesh and the point cloud cube are obtained separately to get the voxel mesh volume and the point cloud cube volume;
[0038] The point cloud threshold corresponding to the point cloud cube is obtained by using the scaling factor, voxel mesh volume, and point cloud cube volume.
[0039] The proportionality coefficient is expressed as: The volume of a point cloud cube is represented as: The volume of the voxel mesh is represented as: Point cloud threshold, expressed as: ; This represents the proportionality coefficient. Indicates the threshold for division. Indicates the projection distance. Represents the volume of a point cloud cube. Represents the volume of the voxel mesh. Indicates spacing, Indicates the point cloud threshold. Represents a sequence index. Indicates the number of sequence indices. This represents the index of the cluster center in the current slice. Represents a point cloud cube.
[0040] As one possible implementation, if the number of point clouds meets the point cloud threshold, an initial root system skeleton is obtained based on the cluster centers of the current slice and the cluster centers corresponding to the sequence index, including the following steps:
[0041] Obtain the number of points within the point cloud cube, and based on the sequence index corresponding to the maximum number of points, obtain the maximum sequence index, as shown below:
[0042]
[0043] in, Indicates the maximum sequence index. Indicates the number of point clouds. Indicates the first The number of cluster centers in each slice Represents a sequence index. Indicates the number of sequence indices. Indicates the th slice in the current slice Cluster centers;
[0044] Determine if the maximum number of point clouds meets the point cloud threshold. If it does, connect the cluster center corresponding to the current slice with the cluster center corresponding to the maximum sequence index to obtain the initial root system skeleton.
[0045] As one possible implementation, the process of completing the initial root system framework to obtain the root system framework includes the following steps:
[0046] Determine whether the cluster point cloud of the current slice and the cluster point clouds of adjacent slices belong to the same merged cluster point cloud;
[0047] If it belongs to the cluster, the cluster center of the current slice is connected with the cluster center of the adjacent slice, and the root system skeleton is obtained by combining the initial root system skeleton.
[0048] A root point cloud skeleton missing detection and completion system includes:
[0049] The point cloud computing module obtains the root system point cloud and slices it, resulting in several slices, each slice containing several root system truncations. This leads to the cluster point cloud and cluster centers of the root system truncations. The distance between the pairwise cluster centers of the current slice and its adjacent slices is calculated, and the corresponding sequence index set is obtained by sorting.
[0050] The distance calculation module projects the cluster point cloud of the current slice and the cluster point cloud corresponding to the sequence index onto a plane perpendicular to the line connecting the cluster centers to obtain the projected point cloud and the distance between all projected points. The distance threshold is obtained by using the number of slices and the root point cloud. The projection distance is obtained by judging the distance based on the distance threshold.
[0051] The point cloud partitioning module constructs a point cloud cube based on the cluster center of the current slice, the cluster center corresponding to the sequence index, the spacing, and the projection distance. It then partitions the point cloud cube based on the number of points within it, obtaining the corresponding point cloud threshold for the point cloud cube.
[0052] The missed detection judgment module obtains the initial root system skeleton based on the cluster center of the current slice and the cluster center corresponding to the sequence index if the number of point clouds meets the point cloud threshold; otherwise, there is a missed detection of the root system skeleton.
[0053] If there are any missed detections, the skeleton completion module merges the current slice with the adjacent slices and obtains the merged cluster point cloud and the merged cluster center through clustering operations. Then, it completes the initial root system skeleton to obtain the root system skeleton.
[0054] A computer-readable storage medium storing a computer program that, when executed by a processor, implements the following method:
[0055] Obtain the root system point cloud and slice it to get several slices, each slice containing several root system truncations, and then obtain the cluster point cloud and cluster centers of the root system truncations. Calculate the distance between the pairwise cluster centers of the current slice and the adjacent slices, and obtain the corresponding sequence index set by sorting.
[0056] Project the cluster point cloud of the current slice and the cluster point cloud corresponding to the sequence index onto a plane perpendicular to the line connecting the cluster centers to obtain the projected point cloud and the spacing between all projected points. Obtain the spacing threshold by the number of slices and the root point cloud, and judge the spacing based on the spacing threshold to obtain the projection distance.
[0057] Based on the cluster center of the current slice, the cluster center corresponding to the sequence index, the spacing and the projection distance, a point cloud cube is constructed. The point cloud cube is divided into points based on the number of points in the point cloud cube, and the corresponding point cloud threshold of the point cloud cube is obtained.
[0058] If the number of point clouds meets the point cloud threshold, the initial root system skeleton is obtained based on the cluster center of the current slice and the cluster center corresponding to the sequence index; otherwise, there is a missed detection of the root system skeleton.
[0059] If there are missed detections, the current slice is merged with the adjacent slices, and the merged cluster point cloud and the merged cluster center are obtained through clustering operations. Then, the initial root system skeleton is completed to obtain the root system skeleton.
[0060] A root point cloud skeleton omission detection and completion device includes a memory, a processor, and a computer program stored in the memory and running on the processor. When the processor executes the computer program, it implements the following method:
[0061] Obtain the root system point cloud and slice it to get several slices, each slice containing several root system truncations, and then obtain the cluster point cloud and cluster centers of the root system truncations. Calculate the distance between the pairwise cluster centers of the current slice and the adjacent slices, and obtain the corresponding sequence index set by sorting.
[0062] Project the cluster point cloud of the current slice and the cluster point cloud corresponding to the sequence index onto a plane perpendicular to the line connecting the cluster centers to obtain the projected point cloud and the spacing between all projected points. Obtain the spacing threshold by the number of slices and the root point cloud, and judge the spacing based on the spacing threshold to obtain the projection distance.
[0063] Based on the cluster center of the current slice, the cluster center corresponding to the sequence index, the spacing and the projection distance, a point cloud cube is constructed. The point cloud cube is divided into points based on the number of points in the point cloud cube, and the corresponding point cloud threshold of the point cloud cube is obtained.
[0064] If the number of point clouds meets the point cloud threshold, the initial root system skeleton is obtained based on the cluster center of the current slice and the cluster center corresponding to the sequence index; otherwise, there is a missed detection of the root system skeleton.
[0065] If there are missed detections, the current slice is merged with the adjacent slices, and the merged cluster point cloud and the merged cluster center are obtained through clustering operations. Then, the initial root system skeleton is completed to obtain the root system skeleton.
[0066] This invention, by adopting the above technical solutions, has significant technical effects:
[0067] This invention slices the root system point cloud and obtains the clustered point clouds and cluster centers of the truncated roots in each slice, constructing a point cloud cube. The number of points is statistically determined, and a point cloud threshold corresponding to the cube is calculated. If the number of points meets the threshold, an initial root system skeleton is formed using the cluster centers corresponding to that number of points and the cluster centers of the current slice. If no point cloud meets the threshold, the initial root system skeleton is completed through point cloud merging and clustering to obtain the final root system skeleton. This method solves the problems of missed and false detections of the skeleton caused by large differences in bending, branching, and tilt angles in the root system, improving the accuracy of root system skeleton extraction. Attached Figure Description
[0068] 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.
[0069] Figure 1 This is a flowchart illustrating the method of the present invention;
[0070] Figure 2 This is an overall schematic diagram of the system of the present invention;
[0071] Figure 3This is a schematic diagram of the root system point cloud and slices of the present invention;
[0072] Figure 4 This is a schematic diagram of the root point cloud and slices along the root depth direction of the present invention.
[0073] Figure 5 This is a schematic diagram of the point cloud cube construction of the present invention;
[0074] Figure 6 This is a schematic diagram of a point cloud cube and its internal root point cloud.
[0075] Figure 7 This is a schematic diagram of a slice of a curved root system. Detailed Implementation
[0076] The present invention will be further described in detail below with reference to the embodiments. The following embodiments are explanations of the present invention, but the present invention is not limited to the following embodiments.
[0077] Example 1:
[0078] A method for detecting and completing root point cloud skeletons, such as Figure 1 As shown, it includes the following steps:
[0079] S100. Obtain the root system point cloud and slice it to obtain several slices, each slice containing several root system truncations, and then obtain the cluster point cloud and cluster centers of the root system truncations. Calculate the distance between the pairwise cluster centers of the current slice and the adjacent slices, and obtain the corresponding sequence index set by sorting.
[0080] S200. Project the cluster point cloud of the current slice and the cluster point cloud corresponding to the sequence index onto a plane perpendicular to the line connecting the cluster centers to obtain the projected point cloud and the spacing between all projected points. Obtain the spacing threshold through the number of slices and the root point cloud. Based on the spacing threshold, judge the spacing to obtain the projection distance.
[0081] S300. Based on the cluster center of the current slice, the cluster center corresponding to the sequence index, the spacing and the projection distance, construct a point cloud cube. Divide the point cloud cube into points based on the number of points in the point cloud cube to obtain the corresponding point cloud threshold of the point cloud cube.
[0082] S400. If the number of point clouds meets the point cloud threshold, the initial root system skeleton is obtained based on the cluster center of the current slice and the cluster center corresponding to the sequence index; otherwise, there is a missed detection of the root system skeleton.
[0083] S500 If there are missed detections, the current slice is merged with the adjacent slices, and the merged cluster point cloud and the merged cluster center are obtained through clustering operation. Then, the initial root system skeleton is completed to obtain the root system skeleton.
[0084] This invention slices the root system point cloud to obtain the clustered point cloud and cluster centers of the truncated root system in each slice. The spacing between the cluster centers of adjacent slices is sorted to obtain a sequence index set. A point cloud cube is constructed, and the number of points in the point cloud cube and the point cloud threshold corresponding to the point cloud cube are obtained. It is then determined whether the number of points meets the point cloud threshold. If it does, an initial root system skeleton is formed based on the cluster centers of the current root system point cloud slice and the cluster centers corresponding to the sequence index. Otherwise, there are missed detections in the root system skeleton. The initial root system skeleton is then completed through point cloud merging and point cloud clustering to obtain the root system skeleton.
[0085] The root point cloud is acquired and smoothed using a BoxFilter. The BoxFilter operates on the root point cloud through a rectangular filter to remove noise. The denoised root point cloud is then sliced into segments. slice Each slice contains an unknown number of root truncations, and the root point cloud and slices are shown below. Figure 3 As shown.
[0086] For each slice, this embodiment uses the DBSCAN clustering method to perform point cloud clustering on the slice, obtaining the clustered point cloud of root truncation in each slice. and cluster center ,in, Indicates the first The number of clusters in a slice is equal to the number of root truncations contained in that slice. The root point cloud and slices along the root depth direction are shown below. Figure 4 As shown. DBSCAN is a density-based clustering algorithm widely used in data mining and machine learning. It can identify clusters of arbitrary shapes and has good performance in handling noise. The core idea of DBSCAN is to perform clustering based on density, defining the neighborhood range through the neighborhood radius, and defining the minimum number of points that must be included in the neighborhood of the core point. The specific steps of performing point cloud clustering on the root system point cloud slices using the DBSCAN clustering method in this embodiment are as follows:
[0087] Step 1: Initialize the clustering seed point, define the neighborhood radius, obtain the neighborhood points of the clustering seed point through the neighborhood radius, and obtain the seed neighborhood point set;
[0088] Step 2: Calculate the centroid of the seed neighborhood point set. Calculate the covariance matrix using the centroid and the seed neighborhood point set. Then, perform eigenvalue decomposition on the covariance matrix to obtain eigenvalues and eigenvectors. Use the eigenvector corresponding to the smallest eigenvalue as the normal vector of the clustering seed point. The centroid and covariance matrix are represented as follows:
[0089]
[0090]
[0091] Step 3: Obtain the normal vectors of all seed neighbor points in the seed neighbor point set to obtain the neighborhood normal vector set. The similarity between two vectors can be represented by calculating the angle between them. The smaller the angle, the higher the similarity between the vectors. Obtain the angle between the neighborhood normal vector and the normal vector of the clustering seed point to obtain the normal angle, as shown below:
[0092]
[0093] in, Indicates the angle between the normals. This represents the normal vector of the cluster seed point. Represents the neighborhood normal vector. Indicates the center of mass. This represents the number of neighboring points of the seed. Indicates the first seed neighborhood points, Represent the covariance matrix;
[0094] Step 4: Preset the normal angle threshold. If the normal angle meets the normal angle threshold, add the corresponding seed neighborhood point to the region of the cluster seed point to obtain the initial cluster point cloud.
[0095] Step 5: Obtain the centroid of the initial cluster point cloud and use it as the new cluster seed point. Iterate through the calculation until convergence. In this embodiment, convergence means that the cluster seed point and the initial cluster point cloud no longer change. The cluster point cloud is obtained, and the corresponding cluster center is obtained through the cluster point cloud.
[0096] For the current slice Each cluster center Calculate the relationship with adjacent slices Cluster center The spacing between them gives the following characteristics: Spacing set of elements The specific formula for calculating the spacing is as follows:
[0097]
[0098] in, Indicates the first A slice, Indicates the current slice's... Cluster centers, Indicates the first The number of cluster centers in each slice Indicates the first Cluster centers, Represents the spacing set, Indicates the first The cluster centers and the first The distance between cluster centers This represents the distance calculation function. Indicates the first The first root point cloud slice Cluster centers, Indicates the first The first root point cloud slice Cluster centers;
[0099] After obtaining the sorted interval set, the indices of the cluster centers in adjacent slices corresponding to all intervals are used to form a sequence index set, as shown below:
[0100]
[0101] in, Represents a sequence index set. Indicates the first The cluster centers and the first The distance between cluster centers Indicates the first The cluster centers and the first The distance between cluster centers Indicates the first A sequence index, Indicates the number of sequence indices. Indicates the first The number of cluster centers in each slice.
[0102] Based on the cluster centers of the current root point cloud slice, the cluster centers corresponding to the sequence indices, and the distance between them, a point cloud cube is constructed, including the following steps:
[0103] Step 1: Find the cluster centers of the current slice Corresponding clustered point cloud Cluster point cloud corresponding to sequence index Projected onto a plane perpendicular to the cluster center and cluster center The projected point cloud is obtained on the plane containing the connecting line;
[0104] Step 2: Obtain the maximum distance between projected point clouds ,like Figure 5 As shown, the spacing threshold is obtained by considering the value range of the root point cloud in the depth direction and the number of slices. ;
[0105] Step 3: Determine the maximum value Does it meet the spacing threshold? Then the maximum value Let be the projection distance, where Indicates the spacing threshold. This indicates the range of values in the depth direction of the root point cloud. This indicates the number of root point cloud slices. Indicates the maximum value of the spacing;
[0106] Step 4: Traverse the clustered point cloud corresponding to the sequence index to form a projection distance set;
[0107] Step 5: Use the cluster centers of the current root point cloud slice and the cluster centers corresponding to the sequence index Using the center point as the center point and the projection distance as the side length, construct two squares, and use the spacing as the distance between the two squares to construct a point cloud cube;
[0108] Step 6: Based on the cluster centers in the current slice, construct point cloud cubes for the cluster centers corresponding to the sequence index set in sequence. The point cloud cubes between adjacent slices and their internal root point clouds are illustrated in the diagram below. Figure 6 As shown in the figure, this embodiment also includes, for those starting from the same point... Pointing to different endpoints The two cubes contain different numbers of point clouds. The algorithm selects the cube containing more point clouds, even if the other cube may have a shorter side length. The resulting point cloud cube is represented as follows:
[0109]
[0110] in, Represents a point cloud cube. Indicates the first The first slice Cluster centers, Indicates the first The first slice Cluster centers, Indicates spacing, Indicates the projected distance.
[0111] Based on the root point cloud in the point cloud cube, determine whether the cluster center of the current slice and the cluster center corresponding to the sequence index belong to the root skeleton. This determination method avoids false detections of the skeleton caused by large differences in root inclination angles. Specifically, it includes the following steps:
[0112] Step 1: Set a preset partitioning threshold to determine the horizontal, vertical, and longitudinal boundaries of the point cloud cube. Based on the partitioning threshold, partition the point cloud cube to obtain the root voxel mesh set.
[0113] Step 2: Calculate the scaling factor by dividing the threshold and projection distance, as shown below:
[0114]
[0115] Step 3: Obtain the volume of the root voxel mesh based on the partitioning threshold, and obtain the voxel mesh volume. Based on the projection distance and spacing, obtain the point cloud cube volume. The voxel mesh volume and point cloud cube volume are represented as follows:
[0116]
[0117]
[0118] Step 4: Combining the scaling factor, voxel mesh volume, and point cloud cube volume, the point cloud threshold is obtained, which is the proportion of root voxels in the point cloud cube, as shown below:
[0119]
[0120] in, This represents the proportionality coefficient. Indicates the threshold for division. Indicates the projection distance. Represents the volume of a point cloud cube. Indicates spacing, Indicates the point cloud threshold;
[0121] Step 5: Obtain the number of points in the root point cloud that fall within the point cloud cube, and get the number of points corresponding to the point cloud cube. To obtain the maximum sequence index, retrieve the sequence index corresponding to the maximum number of point clouds. The maximum sequence index is represented as follows:
[0122]
[0123] Step 6: If the number of point clouds corresponding to the maximum sequence index is greater than the point cloud threshold, i.e. Then connect the cluster center corresponding to the current slice with the cluster center corresponding to the maximum sequence index to obtain the initial root system skeleton;
[0124] in, Indicates the maximum sequence index. Indicates the number of point clouds. Indicates the first The number of cluster centers in each slice Indicates the first A sequence index.
[0125] For curved root systems, such as Figure 7As shown, during the initial root system skeleton acquisition process, the number of point clouds may be less than the point cloud threshold, leading to missed detections of the root system skeleton, i.e., no cluster centers greater than the point cloud threshold are found in adjacent slices. Therefore, to avoid missed detections of the root system, in this embodiment, the current slice and adjacent slices are merged, as shown below:
[0126]
[0127] And the merged root point cloud Clustering is performed using the same method as described in this embodiment to obtain a merged clustered point cloud. and merged cluster centers ,in, This indicates the number of merged cluster point clouds and the number of merged cluster centers. At this point, if the current slice's cluster point cloud... Clustering point cloud with adjacent slices They belong to the same merged cluster point cloud Then connect the cluster centers of the current slice. Cluster centers with adjacent slices This completes the initial root point cloud, resulting in the root point cloud.
[0128] The root point cloud skeleton extraction and completion method in this embodiment not only takes into account the large differences in root inclination angles or the false detection of skeletons between neighboring roots, but also takes into account the missed detection problem caused by the bending or bifurcation of adjacent roots through root system completion. Therefore, the method in this embodiment has a wider range of applications and the extracted root skeleton is more accurate and complete.
[0129] Example 2:
[0130] A root point cloud skeleton missing detection and completion system, such as Figure 2 As shown, it includes:
[0131] The point cloud computing module 100 obtains the root system point cloud and slices it to obtain several slices, each slice containing several root system truncations, and then obtains the cluster point cloud and cluster centers of the root system truncations. It calculates the distance between the pairwise cluster centers of the current slice and the adjacent slices, and obtains the corresponding sequence index set by sorting.
[0132] The distance calculation module 200 projects the cluster point cloud of the current slice and the cluster point cloud corresponding to the sequence index onto a plane perpendicular to the line connecting the cluster centers to obtain the projected point cloud and the distance between all projected points. The distance threshold is obtained through the number of slices and the root point cloud. The distance is judged based on the distance threshold to obtain the projected distance.
[0133] The point cloud partitioning module 300 constructs a point cloud cube based on the cluster center of the current slice, the cluster center corresponding to the sequence index, the spacing, and the projection distance. It then partitions the point cloud cube based on the number of points within it, thereby obtaining the corresponding point cloud threshold for the point cloud cube.
[0134] The missed detection judgment module 400, if the number of point clouds meets the point cloud threshold, obtains the initial root system skeleton based on the cluster center of the current slice and the cluster center corresponding to the sequence index; otherwise, there is a missed detection of the root system skeleton.
[0135] The skeleton completion module 500, if there are any missed detections, merges the current slice with the adjacent slices, and obtains the merged cluster point cloud and the merged cluster center through clustering operation, and then completes the initial root system skeleton to obtain the root system skeleton.
[0136] Various changes and modifications made without departing from the spirit and scope of this invention, and all equivalent technical solutions, also fall within the scope of this invention.
[0137] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.
[0138] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, apparatus, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0139] This invention is described with reference to flowchart illustrations and / or block diagrams of the method, terminal device (system), and computer program product according to the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing terminal device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal device, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0140] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0141] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal equipment, causing a series of operational steps to be performed on the computer or other programmable terminal equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable terminal equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0142] It should be noted that:
[0143] The phrase "an embodiment" or "an embodiment" used in this specification means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. Therefore, the phrase "an embodiment" or "an embodiment" appearing in various places throughout the specification does not necessarily refer to the same embodiment.
[0144] Furthermore, it should be noted that the shapes and names of the parts and components described in the specific embodiments described in this specification may differ. All equivalent or simple variations made to the structure, features, and principles described in this patent concept are included within the protection scope of this patent. Those skilled in the art to which this invention pertains may make various modifications or additions to the described specific embodiments or use similar methods to replace them, as long as they do not depart from the structure of this invention or exceed the scope defined in these claims, they should all fall within the protection scope of this invention.
Claims
1. A method for detecting and completing missing data in root point cloud skeletons, characterized in that, Includes the following steps: Obtain the root system point cloud and slice it to get several slices, each slice containing several root system truncations, and then obtain the cluster point cloud and cluster centers of the root system truncations. Calculate the distance between the pairwise cluster centers of the current slice and the adjacent slices, and obtain the corresponding sequence index set by sorting. Project the cluster point cloud of the current slice and the cluster point cloud corresponding to the sequence index onto a plane perpendicular to the line connecting the cluster centers to obtain the projected point cloud and the spacing between all projected points. Obtain the spacing threshold by the number of slices and the root point cloud, and judge the spacing based on the spacing threshold to obtain the projection distance. Based on the cluster center of the current slice, the cluster center corresponding to the sequence index, the spacing and the projection distance, a point cloud cube is constructed. The point cloud cube is divided into points based on the number of points in the point cloud cube, and the corresponding point cloud threshold of the point cloud cube is obtained. The projection distance is obtained through the following steps: Project the cluster point cloud corresponding to the cluster center of the current slice and the cluster point cloud corresponding to the sequence index onto a plane perpendicular to the line connecting the corresponding cluster centers to obtain the corresponding projected point cloud. Obtain the spacing between all projected points in the projected point cloud, and get the maximum value of the spacing; The spacing threshold is obtained based on the depth direction value range of the root point cloud and the number of slices; Determine the maximum value of the spacing Does it meet the spacing threshold? Then the maximum value of the spacing Projection distance; The spacing threshold is expressed as: , Indicates the spacing threshold. This indicates the range of values in the depth direction of the root point cloud. Indicates the number of slices; The point cloud threshold is obtained through the following steps: A preset partitioning threshold is used to partition the point cloud cube, resulting in a root voxel mesh set. The scaling factor is obtained based on the division threshold and projection distance; The volumes of the root voxel mesh and the point cloud cube are obtained separately to get the voxel mesh volume and the point cloud cube volume; The point cloud threshold corresponding to the point cloud cube is obtained by using the scaling factor, voxel mesh volume, and point cloud cube volume. The proportionality coefficient is expressed as: The volume of a point cloud cube is represented as: The volume of the voxel mesh is represented as: Point cloud threshold, expressed as: ; This represents the proportionality coefficient. Indicates the threshold for division. Indicates the projection distance. Represents the volume of a point cloud cube. Represents the volume of the voxel mesh. Indicates the first The cluster centers and the first Sequence Index The spacing between the corresponding cluster centers Indicates the point cloud threshold. Indicates the first A sequence index, Indicates the number of sequence indices. This represents the index of the cluster center in the current slice. Represents a point cloud cube; If the number of point clouds is greater than the point cloud threshold, the initial root system skeleton is obtained based on the cluster center of the current slice and the cluster center corresponding to the sequence index; otherwise, there is a missed detection of the root system skeleton. Specifically: Obtain the number of points within the point cloud cube, and based on the sequence index corresponding to the maximum number of points, obtain the maximum sequence index, as shown below: in, Indicates the maximum sequence index. Indicates the number of point clouds. Indicates the first The number of cluster centers in each slice Represents a sequence index. Indicates the number of sequence indices. Indicates the th slice in the current slice Cluster centers; If the number of point clouds corresponding to the maximum sequence index is greater than the point cloud threshold, then connect the cluster center corresponding to the current slice with the cluster center corresponding to the maximum sequence index to obtain the initial root system skeleton; If there are missed detections, the current slice is merged with the adjacent slices, and the merged cluster point cloud and the merged cluster center are obtained through clustering operations. Then, the initial root system skeleton is completed to obtain the root system skeleton.
2. The method for detecting and completing missing root point cloud skeletons according to claim 1, characterized in that, The root-truncation cluster point cloud and cluster centers are obtained through the following steps: Initialize the clustering seed points in the slice and obtain the neighboring points of the clustering seed points to obtain the seed neighbor point set; Calculate the centroid of the seed neighborhood point set, calculate the covariance matrix in combination with the seed neighborhood point set, and obtain the normal vector of the clustering seed point by performing eigenvalue decomposition on the covariance matrix. Obtain the normal vectors of all seed neighbor points in the seed neighbor point set to obtain the neighborhood normal vector set. Obtain the angle between the neighborhood normal vectors and the normal vectors of the clustering seed points to obtain the normal angle. A preset normal angle threshold is set. If the normal angle is less than the normal angle threshold, the corresponding seed neighborhood point is added to the region of the cluster seed point to obtain the initial cluster point cloud. Obtain the centroid of the initial cluster point cloud and use it as the new cluster seed point. Iterate through the calculation until convergence to obtain the cluster point cloud. Obtain the corresponding cluster center from the cluster point cloud. Convergence means that the cluster seed point and the initial cluster point cloud no longer change.
3. The method for detecting and completing missing root point cloud skeletons according to claim 1, characterized in that, The process of calculating the distance between the cluster centers of the current slice and its adjacent slices, and obtaining the corresponding sequence index set by sorting, includes the following steps: The distances between the cluster centers of the current slice and the cluster centers of the adjacent slices are obtained and sorted to form a distance set; Obtain the indices of cluster centers in adjacent slices corresponding to the spacing set, and form a sequence index set based on the indices, as shown below: in, Indicates the first The cluster centers and the first Sequence Index The spacing between the corresponding cluster centers Indicates the first The cluster centers and the first Sequence Index The spacing between the corresponding cluster centers Represents a sequence index set. Indicates the first A sequence index, Indicates the first A sequence index, Indicates the number of sequence indices. Indicates the first The number of cluster centers in each slice.
4. The method for detecting and completing missing root point cloud skeletons according to claim 1, characterized in that, The process of constructing a point cloud cube based on the cluster centers of the current slice, the cluster centers corresponding to the sequence index, the spacing, and the projection distance includes the following steps: Using the cluster center of the current slice and the cluster center corresponding to the sequence index as the center of the square respectively, and using the projection distance as the side length of the square, construct two squares; Construct a point cloud cube by using two squares as the two bases and the spacing between them as the distance between the two bases, as shown below: in, Represents a point cloud cube. Indicates the first The first slice Cluster centers, Indicates the first Sequence index of slices The corresponding cluster centers, Indicates the first The cluster centers and the first Sequence Index The spacing between the corresponding cluster centers Indicates the projection distance. Indicates the first A sequence index, Indicates the number of sequence indices.
5. The method for detecting and completing missing root point cloud skeletons according to claim 1, characterized in that, The process of completing the initial root system framework to obtain the root system framework includes the following steps: Determine whether the cluster point cloud of the current slice and the cluster point clouds of adjacent slices belong to the same merged cluster point cloud; If it belongs to the cluster, the cluster center of the current slice is connected with the cluster center of the adjacent slice, and the root system skeleton is obtained by combining the initial root system skeleton.
6. A root system point cloud skeleton missing detection and completion system, characterized in that, include: The point cloud computing module obtains the root system point cloud and slices it, resulting in several slices, each slice containing several root system truncations. This leads to the cluster point cloud and cluster centers of the root system truncations. The distance between the pairwise cluster centers of the current slice and its adjacent slices is calculated, and the corresponding sequence index set is obtained by sorting. The distance calculation module projects the cluster point cloud of the current slice and the cluster point cloud corresponding to the sequence index onto a plane perpendicular to the line connecting the cluster centers to obtain the projected point cloud and the distance between all projected points. The distance threshold is obtained by using the number of slices and the root point cloud. The projection distance is obtained by judging the distance based on the distance threshold. The point cloud partitioning module constructs a point cloud cube based on the cluster center of the current slice, the cluster center corresponding to the sequence index, the spacing, and the projection distance. It then partitions the point cloud cube based on the number of points within it, obtaining the corresponding point cloud threshold for the point cloud cube. The projection distance is obtained through the following steps: Project the cluster point cloud corresponding to the cluster center of the current slice and the cluster point cloud corresponding to the sequence index onto a plane perpendicular to the line connecting the corresponding cluster centers to obtain the corresponding projected point cloud. Obtain the spacing between all projected points in the projected point cloud, and get the maximum value of the spacing; The spacing threshold is obtained based on the depth direction value range of the root point cloud and the number of slices; Determine the maximum value of the spacing Does it meet the spacing threshold? Then the maximum value of the spacing Projection distance; The spacing threshold is expressed as: , Indicates the spacing threshold. This indicates the range of values in the depth direction of the root point cloud. Indicates the number of slices; The point cloud threshold is obtained through the following steps: A preset partitioning threshold is used to partition the point cloud cube, resulting in a root voxel mesh set. The scaling factor is obtained based on the division threshold and projection distance; The volumes of the root voxel mesh and the point cloud cube are obtained separately to get the voxel mesh volume and the point cloud cube volume; The point cloud threshold corresponding to the point cloud cube is obtained by using the scaling factor, voxel mesh volume, and point cloud cube volume. The proportionality coefficient is expressed as: The volume of a point cloud cube is represented as: The volume of the voxel mesh is represented as: Point cloud threshold, expressed as: ; This represents the proportionality coefficient. Indicates the threshold for division. Indicates the projection distance. Represents the volume of a point cloud cube. Represents the volume of the voxel mesh. Indicates the first The cluster centers and the first Sequence Index The spacing between the corresponding cluster centers Indicates the point cloud threshold. Indicates the first A sequence index, Indicates the number of sequence indices. This represents the index of the cluster center in the current slice. Represents a point cloud cube; The missed detection judgment module obtains the initial root system skeleton based on the cluster center of the current slice and the cluster center corresponding to the sequence index if the number of point clouds is greater than the point cloud threshold; otherwise, there is a missed detection of the root system skeleton. Specifically: Obtain the number of points within the point cloud cube, and based on the sequence index corresponding to the maximum number of points, obtain the maximum sequence index, as shown below: in, Indicates the maximum sequence index. Indicates the number of point clouds. Indicates the first The number of cluster centers in each slice Represents a sequence index. Indicates the number of sequence indices. Indicates the th slice in the current slice Cluster centers; If the number of point clouds corresponding to the maximum sequence index is greater than the point cloud threshold, then connect the cluster center corresponding to the current slice with the cluster center corresponding to the maximum sequence index to obtain the initial root system skeleton; If there are any missed detections, the skeleton completion module merges the current slice with the adjacent slices and obtains the merged cluster point cloud and the merged cluster center through clustering operations. Then, it completes the initial root system skeleton to obtain the root system skeleton.
7. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 5.
8. A root point cloud skeleton omission detection and completion device, comprising a memory, a processor, and a computer program stored in the memory and running on the processor, characterized in that, When the processor executes the computer program, it implements the method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Laser point cloud building contour progressive optimization method based on multi-dimensional features
CN116824379A
Method, system and device for extracting point cloud skeleton of root system
CN118628754A