Next Article in Journal
Acknowledgment to the Reviewers of Drones in 2022
Previous Article in Journal
Multimodal Few-Shot Target Detection Based on Uncertainty Analysis in Time-Series Images
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Tree Branch Skeleton Extraction from Drone-Based Photogrammetric Point Cloud

1
Information Department, Beijing University of Technology, Beijing 100022, China
2
Graduate School of Agricultural and Life Sciences, The University of Tokyo, Tokyo 188-0002, Japan
3
Faculty of Food and Agricultural Sciences, Fukushima University, Fukushima 960-1296, Japan
*
Authors to whom correspondence should be addressed.
Drones 2023, 7(2), 65; https://doi.org/10.3390/drones7020065
Submission received: 18 December 2022 / Revised: 6 January 2023 / Accepted: 8 January 2023 / Published: 17 January 2023

Abstract

:
Calculating the complex 3D traits of trees such as branch structure using drones/unmanned aerial vehicles (UAVs) with onboard RGB cameras is challenging because extracting branch skeletons from such image-generated sparse point clouds remains difficult. This paper proposes a skeleton extraction algorithm for the sparse point cloud generated by UAV RGB images with photogrammetry. We conducted a comparison experiment by flying a UAV from two altitudes (50 m and 20 m) above a university orchard with several fruit tree species and developed three metrics, namely the F1-score of bifurcation point (FBP), the F1-score of end point (FEP), and the Hausdorff distance (HD) to evaluate the performance of the proposed algorithm. The results show that the average values of FBP, FEP, and HD for the point cloud of fruit tree branches collected at 50 m altitude were 64.15%, 69.94%, and 0.0699, respectively, and those at 20 m were 83.24%, 84.66%, and 0.0474, respectively. This paper provides a branch skeleton extraction method for low-cost 3D digital management of orchards, which can effectively extract the main skeleton from the sparse fruit tree branch point cloud, can assist in analyzing the growth state of different types of fruit trees, and has certain practical application value in the management of orchards.

1. Introduction

Point cloud data are commonly used to describe the 3D structure of objects and have important applications in 3D reconstruction, engineering measurement, and morphological analysis, among other applications. With the widespread use of agricultural automation technology, the demands for point cloud analysis for high-throughput orchard phenotyping and growth modeling, such as plant shape, canopy structure, organ morphology, and stress response, are gradually increasing. Skeletonization is one of the essential steps in point cloud analysis in which a three-dimensional skeleton of a tree point cloud is obtained. This step makes it easier to calculate tree height, branch length, and angle, which comprise useful information for precise fruit tree growth management.
In the existing research on tree skeleton extraction, algorithms usually consist of two stages: firstly, skeleton points from the tree point cloud are extracted, and then skeleton topology connections are formed from the skeleton points. The skeleton points extraction is the fundamental step of the whole process. Current research approaches to skeleton point extraction can be broadly divided into three categories:
Graph structure-based [1,2,3,4]: a graph structure is a discrete structure consisting of vertices and edges connecting the vertices. The skeleton of a tree-like point cloud can be regarded as a combination of vertices and edges in a graph structure. The point cloud is converted into a graph structure, the shortest distance from the root node to each point in the point cloud is calculated to determine the skeleton points, and adjacent skeleton points are connected to form the branch skeleton. This method designs a skeleton point extraction algorithm for point clouds with a tree-like structure, which conforms to the structure of tree branches and has a good skeleton extraction effect. However, this method needs to calculate the shortest path on the finely constructed graph structure, which causes high computational costs.
Generic point cloud skeleton extraction algorithms-based [5,6,7,8,9,10,11,12,13,14]: generic point cloud skeleton extraction algorithms mainly include generalized rotationally symmetric axis (ROSA), L1-median and Laplace-based contraction (LBC). Many researchers have used this class of algorithms for tree branch skeleton extraction. Since these algorithms have no specific requirements on the structure of point cloud objects, they are adapted to a wider range of point cloud skeleton extraction tasks and can be easily used for skeleton extraction of point clouds of many types of tree branches. However, such methods were not designed for tree point clouds, such algorithms may extract structures such as annular or detached skeletons from point clouds, but these structures do not exist in natural tree branches, which may not guarantee the accuracy of tree skeleton extraction.
Other point cloud skeleton extraction algorithms [15,16]: other tree skeleton extraction methods are based on nearest neighbor shrinkage or clustering to extract the skeleton, and the skeleton points are obtained by the result of nearest neighbor shrinkage or clustering and connected to form the dendritic skeleton, and this kind of methods get better skeleton extraction results on the point cloud model with regular shape. However, these methods require high quality of point clouds, and the algorithms are sensitive to parameters, which need to be finely set to obtain better skeleton extraction results.
In general, point cloud acquisition for branch skeleton extraction uses laser scanning, multi-view reconstruction, and virtual model construction. Tree point clouds acquired using terrestrial laser scanning (TLS) or scanners have high accuracy [1,2,3,4,7,8,9,10,11,12,13,14], but this approach is expensive for large scale data acquisition for scenarios such as orchards and is not suitable for actual orchard production. Although the use of unmanned aerial vehicle (UAV) laser scanning (ULS) to acquire point cloud has the advantages of large acquisition range and high speed, the acquisition process is affected by airframe shaking, which makes it difficult to align into higher quality point cloud, and if the same quality of point cloud as TLS is to be acquired, the cost of the acquisition equipment will increase significantly. Although the point cloud acquisition using photogrammetry [15,16] reduces the cost of laser scanning, the spatial information of tree objects needs to be strictly calibrated when acquiring tree point cloud, and the process requires a relatively stable data acquisition environment, which limits its application in complex environmental scenarios such as orchards. The construction of point cloud from virtual 3D models [14,17,18] is not affected by the actual acquisition environment, but the virtual point cloud often does not represent the real 3D spatial structure of a fruit tree. In recent years, with the development of UAV aerial photography technology, the use of UAV equipped with RGB cameras to generate point clouds has been widely used, which combines the advantages of ULS while significantly reducing the equipment cost [19,20,21]. However, due to the limitation of the resolution of RGB cameras, the point clouds collected by this method are sparse and irregularly distributed in space, which makes fruit tree skeleton extraction challenging. Therefore, an extraction algorithm for sparse RGB point cloud is needed to complete the fruit tree skeleton extraction task.
Meanwhile, reasonable evaluation metrics are important for verifying the performance of the tree point cloud skeleton extraction algorithms. In fruit tree growth management, parameters such as tree height, branch length, and branch angle need to be accurately calculated, and the fruit tree branch skeleton is an important basis for calculating these parameters. Therefore, setting reasonable metrics to evaluate the performance of the skeleton extraction algorithm is of great significance for the extension of the tree skeleton extraction algorithm for use in scenarios such as orchards. In the evaluation work on tree point cloud skeleton extraction, Bucksch et al. [4] graded the branches of tree branches by length, counted the number of extracted tree branch skeletons and real branch skeletons under different length gradations, and evaluated the effectiveness of the skeleton extraction algorithm by calculating the correlation coefficient R2 between the two. This approach evaluates the performance of skeleton extraction only in terms of quantity, ignoring the spatial information of branches. Li et al. [14] manually measured the real parameters of tree branches and calculated the F1 value (F1-Score), correlation coefficient (R2), and root mean square error (RMSE) between the extracted tree branch skeleton parameters and the real measured parameters to evaluate the branch skeleton structure parameters for accuracy. Fu et al. [18] proposed a quantitative evaluation of the skeleton extraction effect, where the point cloud was generated from a virtual branch skeleton and the evaluation of the skeleton extraction effect relied on the pre-existing virtual tree skeleton. However, the tree branch skeleton is a combination of a series of spatial curves, and drawing the curves in 3D space by hand is often inaccurate and subjective, which affects the reliability of the evaluation results. Therefore, this evaluation method is not applicable to the skeleton extraction evaluation task of a real tree point cloud. We observed that there is no unified standard for the evaluation of skeleton extraction algorithms at this stage, and there is a need for evaluation metrics to verify the performance of actual tree point cloud skeleton extraction algorithms.
In summary, in this paper, we propose a branch skeleton extraction algorithm for UAV and photogrammetry-generated sparse RGB fruit tree point cloud and suggest evaluation metrics for tree branch point cloud to verify the performance of the algorithm proposed in this paper. The overall aims of the research were as follows.
(1)
To address the problem of low accuracy of existing algorithms in skeleton extraction for sparse point cloud data. In this paper, a spatial density-based regional point cloud aggregation algorithm is designed to aggregate sparse tree point cloud before skeleton point extraction, and the aggregated point cloud can describe the 3D skeleton morphology of branches, which can effectively improve the accuracy of subsequent skeleton point extraction.
(2)
To address the problem that the generic point cloud skeleton extraction algorithm is prone to broken branches and self-loops when the skeleton topology is connected, which leads to unrealistic tree point cloud skeleton extraction results. In this paper, we propose a skeleton topology connection method with spherical shrinkage from the outside to the root node, which can better adapt to the bifurcated tree structure, effectively avoiding the appearance of non-tree branch structure, and can effectively extract the initial skeleton of tree branches.
(3)
To objectively evaluate the skeleton extraction algorithm and thus verify the performance of the skeleton extraction algorithm on real tree branch point cloud. In this paper, based on the consideration of the characteristics of tree branch structure morphology, the metrics for evaluating the accuracy of skeleton morphology: FBP (F1-score of bifurcation point), FEP (F1-score of end point) and the metric for evaluating the accuracy of skeleton topology: HD (Hausdorff distance) were designed, which can reasonably evaluate the skeleton extraction performance of the algorithm.
(4)
To release an easy-to-use software application that helps the community to test the proposed algorithm and use it for other related applications.

2. Materials and Methods

2.1. Data Acquisition

The data set used in this experiment were acquired by an onboard RGB camera (1 inch CMOS, lens FOV 84 degrees, focus length 8.8 mm, Max image size 5472 × 3648 pixels) mounted on a low-cost industrial level UAV (DJI Phantom 4 RTK, DJI, Shenzhen, China). The flight altitude was set to 50 m and 20 m, and both the front and side overlap in between photos were set to 80%. Synthesis of RGB point cloud was performed using DJI Terra. All the flights were conducted at an orchard of the Institute for Sustainable Agro-ecosystem Services (ISAS), University of Tokyo Orchard (Tokyo, Japan) (35°44′16.0″ N, 139°32′20.9″ E) on the following dates: 13 January 2022, 14 February 2022, and 4 March 2022 (as shown in Figure 1a). There are multiple types of fruit trees growing in the orchard. In this paper, peach trees, persimmon trees, chestnut trees, and plum trees were selected as experimental objects, and five fruit trees were randomly selected from each type of fruit tree to tag and conduct comparative experiments (as shown in the white dashed box in Figure 1b). More details of the orchard are provided in Table 1.

2.2. General Architecture of the Algorithm

This section describes the general architecture of the algorithm in this paper, and Figure 2 shows the structure of the algorithm. The algorithm consists of the following components.
  • Point cloud pre-processing module: this module first denoises the original branch point cloud data, and then aggregates the sparse branch point clouds using the regional point cloud aggregation method proposed in this study, which can form a dense point cloud that roughly describes the morphology of the branch skeleton and prepares for the subsequent skeleton point extraction.
  • Skeleton point extraction module: this module is based on the octree algorithm to spatially divide the clustered point cloud and extract the branch skeleton points in the divided subspace.
  • Skeleton construction module: this module uses the spherical shrinkage based skeleton topology connection method proposed in this paper to form the thick skeleton of the branch.
  • Branch skeleton morphology optimization module: this module fine-tunes the positioning of key points in the coarse skeleton first, and then smooths the branch coarse skeleton to output the final fine skeleton.

2.3. Point Cloud Pre-Processing Module

To better extract the skeleton points from the original fruit tree branch point cloud, this section first denoises the original branch point cloud and then aggregates the denoised branch point cloud using a regional point cloud aggregation algorithm.
(1) Point cloud denoising processing
In this study, we used the density-based spatial clustering of applications with noise (DBSCAN) algorithm [22] to remove the anomalous points in the original point cloud. The clustering approach is used to remove not only the anomalous outliers generated during the synthesis of point cloud data but also the anomalous point cloud patches (classes of reduced samples within clusters) generated during the reconstruction of point cloud data.
(2) Branch point cloud density enhancement
The branch skeleton is a series of curve combinations describing the centers of fruit tree branches, and the skeleton points are the spatial points constituting these curves [23]. These spatial points are the centers of branch point cloud in a certain segment. Determining the centers of fruit tree branch point cloud in a certain segment of space is the focus of skeleton point extraction. Since the branch point clouds generated by the RGB camera are sparse and not uniform, extracting the skeleton points directly from the denoised point cloud will produce the problem of inaccurate positioning.
If the tree point cloud branches can be aggregated to the centerline region of the branch skeleton (as shown in Figure 3a) in some way to form a higher density point cloud that can describe the 3D curve shape of the skeleton, and then the skeleton points are extracted from it, this can effectively improve the accuracy of skeleton point extraction. Therefore, an algorithm for regional point cloud aggregation is proposed in this paper.
(1) Let the denoised tree branch point cloud be C s = { x 1 , x 2 x i x n   |   x R 3 } , and set the regional aggregation radius r , as shown in Equation (1):
r = i n d i s t x i ,     k i n ,     i 1 ,   n
where k i is the k nearest neighbor point of x i ( k is determined according to the empirical value of the preparatory experiment and adjusted according to different tree species).
(2) Traverse each point x i in the point cloud, set a search region of radius r around x i , set the set of points contained in this search region as O i = { x 1 , x 2 x j x m   |   x R 3 } , take the shape center c i of the point set O i , as shown in Equation (2):
c i = j m x j m ,     j 1 ,   m
As the target location for x i to move, the new point cloud set C a = { c 1 , c 2 c j c n   |   c R 3 } obtained after the point cloud traversal is completed, and Figure 3b shows the process of point cloud aggregation in the region.
(3) Keeping the search radius r constant, n iterations of step (2) are carried out to finally obtain the aggregated branch point cloud C t .
Figure 4 shows the process of branch point cloud aggregation after n iterations n = 8 . With increasing n, the distribution of the fruit tree branch point cloud gradually aggregates toward the center line of the skeleton, and since the number of points of the branch point cloud does not change in the process, the density of the branch point cloud gradually increases in the process of aggregation. After n iterations of iterative aggregation, the spatial distribution of branch point cloud is dense and concentrated near the center line of the branch skeleton, which can already show the three-dimensional morphology of the fruit tree branch skeleton. Extracting the skeleton points subsequently on this basis can effectively improve the accuracy of skeleton point positioning.

2.4. Skeleton Point Extraction Module

Skeleton point extraction involves finding spatial points that can describe the branch skeleton from the branch trunk point cloud. Since the spatial distribution of the aggregated fruit tree branch trunk point cloud can already describe the three-dimensional form of the branch skeleton, the skeleton points can be considered as the concentrated expression of the fruit tree branch trunk point cloud after aggregation in a subdivision space. Therefore, this paper proposes a skeleton point extraction method based on subdivision space point cloud shape center calculation, which first divides the aggregated fruit tree branch trunk point cloud spatially, and then calculates the shape center of the point cloud in the subdivision space as the skeleton point (as the previous preparation for the construction of 2.5 section branch trunk skeleton). The specific implementation steps are as follows.
(1) The octree based spatial partitioning
The octree algorithm [24], as one of the commonly used data structures for 3D spatial partitioning, can accelerate spatial queries and efficiently manage 3D space. In this paper, we first use the spatial octree structure to subspace the aggregated fruit tree branch trunk point cloud, as shown in Figure 5.
S i : smallest subspace divided using octree, O i : geometric center of subspace, c i j : branch point cloud location in subspace, k i : skeleton points in subspace.
(2) Calculation of skeleton points in subspace
The skeleton point of the branch can be regarded as the center of the point cloud geometry of the branch in a certain region. Considering that the center point O i of the subspace may have a large offset compared with the distribution of the point cloud in the space, it could not represent the distribution of the point cloud in the subspace. Therefore, to better reflect the representativeness of the skeleton point to the point cloud in the subspace, this paper adopts the shape center of the point cloud in the subspace as the skeleton point k i , which is defined as shown in Equation (3):
k i = j n c i j n , j 1 , n
where k i denotes the skeleton points calculated in each subspace, n is the number of point clouds contained in each subspace, and c i j is the location of the branch point cloud in each subspace.
Calculating the point cloud shape centers as skeleton points in the subspace of the octree subdivision can ensure that the spatial distribution of its skeleton points can better reflect the fruit tree branch trunk morphology, which is ready for the skeleton construction in Section 2.5. Figure 6a shows the effect of spatial partitioning of the aggregated whole branch trunk point cloud using the octree algorithm; Figure 6b shows the extracted fruit tree branch trunk skeleton points, and the extracted skeleton point distribution can still better reflect the fruit tree skeleton morphology.

2.5. Skeleton Building Module

After extracting the skeleton points of fruit tree branches, the skeleton points need to be topologically connected to form the tree branch skeleton. In previous work, the skeleton of the tree point cloud was usually obtained based on the nearest neighbor or bottom-up topology connection [25], and the number of sub-branches at the bifurcation was not well determined in the case of uneven distribution of skeleton points due to the need to set a reasonable number of nearest neighbor skeleton points, which affects the correctness of the extracted skeleton topology. Since the point cloud data in this paper are obtained from the reconstruction of RGB images collected by an overhead UAV, the point cloud data are sparse and contain less details of branches, which mainly reflect the main branch structure of the fruit trees (e.g., main branches, submain branches, etc.). Therefore, to quickly construct the skeleton topology of the main branches of fruit trees, we designed a spherical shrinkage skeleton topology connection method from the outside to the root node, which can effectively adapt to the bifurcated structure of fruit tree branches, and can extract the key points (end points, bifurcation points) and skeleton segments (end point-bifurcation point, bifurcation point-bifurcation point) of the skeleton while obtaining the main skeleton of fruit tree branches.
Figure 7 shows the spherical contraction topology connection process of the local branch skeleton, and the specific process of the algorithm is as follows.
(1)
Firstly, starting from the farthest skeleton point p 1 , make a ball with the radius of this point and the root node, connect this point with the nearest skeleton point p 3 which is located inside the sphere shell. Following this, select the next far point p 2 as the starting point, make a ball with the radius of this point and the root node, select the nearest skeleton point p 5 which is located inside the sphere shell to connect, and iterate the above process to traverse all skeleton points.
(2)
After all skeleton points are traversed, the d i v of each skeleton point is calculated ( d i v : the number of connections between a skeleton point and other skeleton points around it. In this paper, we define d i v = 1 for end points, d i v = 2 for ordinary branch skeleton points, and d i v > = 3 for bifurcation points) to extract the end points and bifurcation points in the skeleton points, and calculate each skeleton segment of the branch according to the connection status between the skeleton points.
(3)
Due to the possible redundancy of the extracted skeleton points, there may be shorter burr branches (skeleton segments containing fewer skeleton points) in the topologically connected skeleton. Set the threshold value l . If the skeleton segment contains skeleton points greater than l , the skeleton segment is retained, otherwise the skeleton segment is removed.
After the skeleton topology connection, the algorithm obtains the endpoints, bifurcation points, and the set of skeleton segments of the fruit tree branches along with the whole skeleton. Figure 8 shows the coarse skeleton of a tree formed after the spherical shrinkage topology connection, where red dots indicate the fruit tree branch skeleton end points, green dots indicate the fruit tree branch skeleton bifurcation points, and different color connection segments in the figure represent different segments of the fruit tree branch skeleton.
Red dots indicate fruit tree branch skeleton endpoints, green dots indicate fruit tree branch skeleton bifurcation points, and the connected segments of different colors in the figure represent different segments of the fruit tree branch skeleton.

2.6. Skeleton Morphology Optimization Module

In 3D space, the real tree branch skeleton can be considered as a combination of multiple smooth spatial curves, and the two endpoints of the curves are always at the endpoints and bifurcation points of the branch skeleton. Therefore, the positions of the skeleton endpoints and bifurcation points need to be kept from moving during the smoothing process of the skeleton. However, the algorithms commonly used for skeleton smoothing (e.g., polynomial smoothing, B spline fitting smoothing, etc.) are not adapted to the prerequisite of fixed skeleton curve endpoints and bifurcation points. Therefore, to solve this problem, the spatial Bezier curve [26] is chosen in this paper to perform spatial curve smoothing on the extracted skeleton. To ensure the correctness of the optimized skeleton morphology, the key points in the thick skeleton of the branches were first fine-tuned in this paper before the pre-processing of the skeleton smoothing using Bezier curves (see Appendix A: branch skeleton key point adjustment strategy).
In the extracted fruit tree branch skeleton, let a skeleton segment be B H = P 0 ,   P 1 ,   P 2 ,   , P n , ( n is the number of skeleton points contained in the skeleton segment), where P 0 is the end point (or bifurcation point) of the skeleton segment, P n is the bifurcation point of the skeleton segment, and P 0 and P n are used as the starting point and end points, and P 1 ,   P 2 ,   , P n 1 as the control points of the Bezier curve, and the smoothing of this skeleton segment using an m m = n 1 order spatial Bezier curve, the smoothed curve B t of this skeleton segment can be obtained, and the definition of B t is shown in Equation (4):
B t = i = 0 m C m i 1 t m i t i P i   , t 0 ,   1  
In the equation:
C m i = m ! i ! m i !
As shown in Figure 9b, after the smoothing process of the spatial Bezier curve, the segments of the skeleton are smoother and more natural, which can better reflect the three-dimensional spatial shape of the real fruit tree branches.

3. Results

In this section, the proposed tree point cloud skeleton extraction algorithm is evaluated. First, evaluation metrics are designed to verify the effectiveness of the tree point cloud skeleton extraction algorithm, and based on the evaluation metrics, the proposed algorithm in this paper is compared with the L1-medial and the Laplacian based contraction (LBC) algorithm [6,11] for experiments. Section 3.1 introduces the metrics proposed in this paper to evaluate the effectiveness of skeleton extraction, F1-score of bifurcation Point (FBP), F1-score of end Point (FEP), and Hausdorff distance (HD). In Section 3.2, the environment of the comparison experiments and the specific comparison experimental data and results are presented in this paper.

3.1. Evaluation Metrics

We propose FBP and FEP to evaluate the accuracy of skeleton topological connection and HD to evaluate the accuracy of skeleton morphology. Note that the generated branch point cloud and its extracted skeleton of different tree species are normalized in the spatial range prior to evaluation by Equation (5):
P normalization = x x m i n x m a x x m i n ,   y y m i n y m a x y m i n ,   z z m i n z m a x z m i n
where x m i n , x m a x ,   y m i n , y m a x , z m i n , z m a x indicates the spatial range of the real fruit tree point cloud.
The original fruit tree branch point cloud and the extracted branch skeleton are transformed into the normalized 3D space, and the evaluation of skeleton extraction in this paper is carried out in the normalized 3D space.

3.1.1. Skeleton Topology Accuracy Metrics FBP and FEP

Branching angles are usually obtained by calculating the angles between branch bifurcation points and endpoints, while the accuracy of bifurcation point and endpoint positioning affects the topological accuracy of the fruit tree branch skeleton. Therefore, a reasonable evaluation of the accuracy of bifurcation point and endpoint positioning is an important part of the skeleton evaluation work. Since it is simpler to obtain the bifurcation points and endpoints of branches from real branch point cloud and is not easily influenced by subjective judgment, the spatial coordinates of these points in real branch point cloud obtained by manual labeling are used as real values to evaluate the positioning effect of the points of the skeleton extracted by the algorithm.
In this study, FBP is used to evaluate the extraction effect of bifurcation points of the skeleton, and the definition of FBP is shown in Equation (6):
F B P = 2 P B P R B P P B P + R B P
In the equation:
P B P P r e c i s i o n   o f   B i f u r c a t i o n   P o i n t = B P B N
R B P R e c a l l   o f   B i f u r c a t i o n   P o i n t = B P B T
where B P is the number of accurately located skeleton bifurcation points extracted by the algorithm (set the Euclidean distance d between the skeleton bifurcation points extracted by the algorithm and their nearest true skeleton bifurcation points, and if d is less than the set threshold t , the skeleton bifurcation points are considered to be accurately located), B N is the total number of skeleton bifurcation points extracted by the algorithm, and B T is the total number of true branch skeleton bifurcation points.
Similarly, FEP is set in this paper to evaluate the extraction effect of skeleton end points. FEP is defined as shown in Equation (7):
F E P = 2 P E P R E P P E P + R E P
In the equation:
P E P P r e c i s i o n   o f   E n d   P o i n t = E P E N
R E P R e c a l l   o f   E n d   P o i n t = E P E T
where E P is the number of accurately located skeleton endpoints extracted by the algorithm (set the Euclidean distance d between the skeleton endpoints extracted by the algorithm and their nearest real skeleton endpoints, and if d is less than the set threshold t , the skeleton endpoints are considered to be accurately located), E N is the total number of skeleton endpoints extracted by the algorithm, and E T is the total number of real branch skeleton endpoints.

3.1.2. Skeleton Morphological Accuracy Metric HD

To evaluate the accuracy of the skeleton morphology extracted by the algorithm, it is necessary to evaluate the degree of fit between the extracted skeleton and the real fruit tree. However, it is difficult and subjective to annotate the 3D skeleton from the real fruit tree branch point cloud, which will affect the accuracy of the skeleton morphology evaluation results. Therefore, in this paper, we generated a point cloud around the extracted skeleton and measured the morphological accuracy of the extracted skeleton by comparing the similarity between the generated fruit tree branch point cloud and the real fruit tree branch point cloud. The HD is a measure to describe the degree of similarity between two point sets [27], and the smaller the HD, the greater is the degree of similarity between the two point sets; therefore, it can be used to measure the degree of similarity between two point clouds.
To evaluate the morphological accuracy of the fruit tree branch skeleton, we set the real branch point cloud after denoising as C s , generated the point cloud C g around the fruit tree branch skeleton by random sampling, and calculated the average of HD between C s and C g for n times ( n = 10 in this paper) as the final HD between C s and C g , which can reduce the error caused by a single calculation. The HD between C s and C g : H( C s ,   C g ) is calculated as shown in Equation (8):
H C s , C g = i n max h C s , C g , h C g , C s n  
In the equation:
h C s , C g = max P i C s min P j C g P i P j
h C g , C s = max P j C g min P i C s P j P i
Figure 10 shows the generated point cloud C g around the extracted skeleton and the overlap effect with the real point cloud C s .

3.2. Comparison Experiments

In this section, based on the evaluation metrics proposed in Section 3.1, the algorithm proposed in this paper is compared with the L1-medial and the LBC. Section 3.2.1 introduces the comparison experiment environment; Section 3.2.2 introduces the comparison experiment data and results, and the analysis and discussion of the results.

3.2.1. Experimental Environment

The algorithms used for the experiments in this paper are performed on the same computer, which is configured with an AMD Ryzen 7 4800U processor with 1.80 GHz and 16 GB running memory, and the experimental environment is a Windows 10 operating system. This algorithm was run using python 3.7, and the GUI was developed using C++ and the Qt framework.

3.2.2. Comparison Experiments

Currently, the L1-medial and the LBC algorithm, as the most commonly used algorithms in point cloud skeleton extraction work, have been largely applied in fruit tree skeleton extraction tasks [7,8,9,10,11,12,13,14]. Further, the existing tree point cloud skeleton extraction work is also usually carried out based on these two algorithms. In this section, on the point cloud of fruit tree branches generated by UAV images at 50 m and 20 m, the point cloud skeleton extraction algorithm of fruit tree branches proposed in this paper is compared with L1-medial and LBC, and the specific comparison experiments and experimental results are shown in Appendix B Exhibit 2-1.
(1) 50 m altitude comparison experiment
In this study, we first conducted comparative experiments on the point cloud of fruit tree branches collected by UAV at a 50 m altitude to qualitatively evaluate the skeleton extraction effect of fruit tree branches, and quantitatively evaluate the three algorithms in terms of skeleton connection accuracy and skeleton morphology accuracy by combining three metrics, FEP, FBP, and HD.
Figure 11 shows the visualization of the fruit tree branch skeleton extracted by the three algorithms on the point cloud of fruit trees collected at a 50 m altitude (one tree of each fruit tree is selected for display).
From the results of the skeleton extraction in the figure, although the L1-medial and the LBC extracted the skeleton of the fruit tree branches, the skeleton has different degrees of defects (as shown by the orange dashed circles in Figure 11. Using the L1-medial algorithm, when processing the sparser RGB point cloud, the skeleton of some branches could not be connected well. Due to the irregular distribution of the point cloud generated by the RGB images, the LBC extracts a ring-like structure in the branch skeleton of fruit trees, which does not exist in real trees, and affects the realism of the algorithm skeleton extraction effect. In contrast, the proposed algorithm extracts a more complete branch skeleton and correct topological connections, and the final extracted branch skeleton has a smoother and more natural shape due to the smoothing process of the branch skeleton in the algorithm.
From the average values of the metrics in Table 2, the point cloud skeleton extraction algorithm proposed in this paper has higher FBP and FEP than the other two algorithms, reaching 64.15% and 69.94% for the four fruit trees, respectively. Meanwhile, the HD of the extracted skeleton by the algorithm was 0.0699, which is also smaller than those of the other two compared algorithms. Furthermore, from Tables in the Appendix section, the algorithm proposed in this paper performed the best among 47 metrics out of the total 60 metrics for 20 fruit trees. The experimental results show that the algorithm is more accurate in locating the bifurcation points and end points of the skeleton on the point cloud of fruit tree branches collected at a 50 m altitude, and the point cloud generated from the skeleton extracted by the algorithm has higher similarity with the real fruit tree branch point cloud. This suggests that the skeleton of fruit tree branches extracted by the proposed algorithm has better skeleton topology and morphological accuracy, and better reflects the real morphology of fruit tree branches.
To verify the stability of the skeleton extraction algorithm under different acquisition times, acquisition light conditions, and other environments, we collected point clouds of fruit tree branches at a 50 m altitude on 13 January, 24 February, and 4 March 2022, and conducted comparative experiments, and the specific experimental results are shown in the Appendix section following the paper (Appendix C Exhibit 3-1, Exhibit 3-2, Exhibit 3-3). Appendix C Exhibit 3-4 in the Appendix of the paper show the standard deviations of the different algorithms for each metric of the fruit trees in the three comparative experiments mentioned above. Based on the information presented in Appendix C Exhibit 3-4, we can see that the algorithm of this paper has a smaller standard deviation in the experimental metrics compared with the L1-medial and the LBC. This indicates that the data fluctuation of the three 50 m altitude comparison experiments of this paper’s algorithm is lower. Therefore, the algorithm proposed in this paper can maintain a good skeleton extraction effect under different fruit tree branch point cloud acquisition environments.
In summary, combining the effect of fruit tree skeleton extraction and experimental evaluation metrics, it can be seen that in the comparison experiments of RGB point cloud generated from images collected at a 50 m altitude, compared with the other two algorithms, the skeleton of fruit tree branches extracted by the algorithm in this paper has a more realistic 3D structure and has a better performance of evaluation metrics on most of the fruit trees. Further, the proposed algorithm can more effectively and stably extract the point cloud of fruit tree branches from the point cloud of fruit tree branches, and ensure realism of the skeleton. However, we also observed that the experimental metrics of all three algorithms on chestnut and plum trees are poor compared to the results on peach and persimmon trees. To verify the effectiveness of our algorithm on the point cloud of chestnut and plum trees with higher quality of point cloud, we also reduced the altitude of image acquisition to 20 m to generate a higher quality RGB point cloud.
(2) 20 m altitude comparison experiment
Figure 12 shows the visualization of the fruit tree branch skeleton extracted by the three algorithms on the point cloud of fruit trees collected at 20 m altitude (one tree of each fruit tree is selected for display).
The black points are the original fruit tree branch point cloud, the blue curve is the skeleton extracted by the algorithm, the green points are the bifurcation points of the fruit tree branch skeleton, and the red points are the end points of the fruit tree branch skeleton
As shown in the figure, compared with the point cloud of fruit tree branches collected at 50 m, the point cloud collected by the UAV at a flight altitude of 20 m is of higher quality, presenting a larger number of fruit tree branches and a more complex branching structure of fruit trees. The effect of skeleton extraction shows that although the skeletons extracted by the L1-medial and LBC can show the morphology of fruit tree branches, there are still different degrees of broken branches and self-loops (as shown by the orange dashed circles in Figure 12); especially in the peach and persimmon trees with more complex branch structures, the two algorithms show more skeleton topology connection errors, which affect the authenticity of the extracted fruit tree branch skeleton. Compared with the two comparative algorithms, the proposed algorithm extracted more complete branch skeletons and accurate topological connections in terms of the point cloud of fruit tree images captured at an altitude of 20 m with more complex structures, although the proposed algorithm also showed local skeleton linkage errors (as shown in the gray dashed circles in Figure 12).
Based on information provided in Table 2, in the comparison experiments on four fruit trees at 20 m altitude, the average value of FBP for the proposed algorithm is 83.24%, which is 19.87% higher than that of L1-medial and 17.11% higher than that of LBC; the average value of FEP is 84.66%, which is 17.52% higher than that of L1-medial and 28.52% higher than that of LBC; the average value of HD is 0.0474, which is 0.0385 lower than that of L1-medial algorithm and 0.0207 lower than that of LBC, which shows that the proposed model achieved the best values in all three metrics. Based on the information presented in Appendix C Exhibit 3-5 in the Appendix text, the algorithm proposed in this paper performs best in 52 metrics among 60 metrics for 20 fruit trees. It can be seen that in the point cloud of fruit tree branches collected at a 20 m altitude, the skeleton of fruit tree branches extracted by the algorithm proposed in this paper can still maintain better topology and morphological accuracy compared with the L1-medial and LBC. In other words, the skeleton extracted by the proposed algorithm is more realistic in the point cloud of fruit tree branches collected at a 20 m altitude.
(3) Analysis of experimental results at different altitudes
Figure 13 shows the average values of the experiment metrics on all fruit tree branch point clouds generated from images collected at both altitudes, and Table 2 shows the amount of variation in the average values of the metrics for the three algorithms on the four types of fruit trees at both altitudes.
As shown in Figure 13, with a decrease in the fruit tree point cloud collection altitude, the average values of FBP and FEP of the three skeleton extraction algorithms on the four fruit trees showed an increasing trend, and the average values of HD showed a decreasing trend, which showed that the quality of the collected fruit tree branch point cloud was improved with a reduction in the data collection altitude.
From the column of the amount of variation in Table 2, chestnut and plum trees whose metrics performed poorly in the comparison experiment at a 50 m altitude, showed significant improvement in the skeleton extraction results in the comparison experiment with images taken at a 20 m altitude. For chestnut and plum trees with sparse branches, the improvement of fruit tree branch point cloud quality can effectively improve the accuracy of the algorithm in extracting skeleton topology and morphology. The proposed algorithm improved the average values of FBP, FEP, and HD metrics by 34.01%, 35.10%, and 0.0516, respectively, for the five chestnut trees, and improved the average value by 29.67%, 19.46%, and 0.0439, respectively, for the five plum trees. This indicates that the proposed algorithm can improve the skeleton extraction effect to a greater extent with improvement in the quality of fruit tree branch point cloud.
We also noted that the experimental metrics of peach and persimmon trees in the comparison experiment at a 20 m altitude did not improve significantly with the improvement of point cloud quality compared with those of chestnut and plum trees, but deteriorated in some metrics (e.g., the average values of FEP and HD experimental metrics of peach trees). The reason for this is that although the fruit tree branch point clouds collected by lowering the UAV flight altitude to 20 m are of higher quality, the fruit tree branch point cloud of peach and persimmon trees also present a more complex structure, and the fine branches of the fruit tree are more distinct (as shown in Figure 14). These fine branches can easily be ignored in the process of skeleton extraction, which makes the fruit tree branch skeleton extraction more difficult.
From Table 2, although the average value of FEP decreased by 0.29% and the average value of HD increased by 0.0113 for peach trees for the proposed algorithm, the metrics deteriorated less compared to that in the L1-medial and LBC algorithms. The L1-medial algorithm reduced the FBP metric of peach tree by 10.50%, the LBC reduced the FEP metric of persimmon tree by 5.87%, and both algorithms increased the HD metric of persimmon tree by 0.0118 and 0.0058, respectively, which shows that the proposed algorithm can still maintain a better performance in the complex fruit tree branch point cloud skeleton extraction task compared with the two other algorithms.

4. Discussion and Conclusions

In this paper, a branch skeleton extraction algorithm is proposed for the sparse RGB fruit tree point cloud collected by UAV, which can effectively extract the skeleton from the sparse fruit tree branch point cloud, approximate the 3D structure of the original fruit tree, and more realistically reflect the branch morphology of the fruit tree. The algorithm proposed is based on point clouds generated from images captured by UAV RGB cameras. Compared with the method of extracting skeleton points using point cloud data collected by devices such as LiDAR [7,8,12,13,14], the algorithm proposed can effectively reduce the cost of point cloud data collection while maintaining the accuracy of skeleton point extraction, such as evaluate the growth of orchard trees by analyzing the tree morphometry using UAVs [28,29].
Combining the comparison experiments at 50 m and 20 m altitudes, it can be found that the algorithm proposed in this paper has better performance in terms of FBP, FEP and HD metrics compared with L1-medial and LBC. At the same time, the results of comparison experiments at different altitudes show that for fruit trees with sparse branch structure (e.g., chestnut and plum trees), the reduction in UAV flight altitude can improve the quality of the collected fruit tree branch point cloud and improve the skeleton extraction effect of the algorithm. However, for the more complex branch structure (e.g., peach and persimmon trees), with a reduction in flight altitude, the UAV can collect a more complex fruit tree branch point cloud structure, which brings challenges to the skeleton extraction of the algorithm. Therefore, when a more complex fruit tree branch structure is dealt with, whether the skeleton can be effectively extracted from the branch point cloud is an important basis to test the adaptability of the fruit tree point cloud skeleton extraction algorithm. Compared with the L1-medial and LBC, the algorithm proposed in this paper can still maintain good experimental results on more complex fruit tree branch point cloud, indicating that the algorithm proposed in this paper can also adapt to the extraction task of the skeleton of more complex fruit tree branch point cloud (Figure 15).
As a conclusion, after the experiments and discussions in this paper, the proposed method can effectively extract the skeleton from the point cloud of fruit tree branches measured by UAV photogrammetry. It is undeniable that extracting the skeleton from a complex tree branch point cloud is still a challenging task. Unlike conventional objects with clear 3D structures, tree branches have open surfaces and complex branches, and the collected point cloud often fails to clearly represent the tree branch morphology, causing greater difficulties in the subsequent branch skeleton extraction. Therefore, the algorithm proposed in this paper still has areas for improvement:
First, based on the experimental results, it can be found that the algorithm in this paper shows advantages in fruit tree branch point cloud skeleton extraction. However, there are still some problems, such as poor performance in FEP and FBP metrics of some fruit trees in the comparison experiments. The reason for this is that the algorithm in this paper aggregates the fruit tree branch point cloud, and the skeleton point extraction and subsequent skeleton topology connection are performed on the aggregated point cloud, and the deviation of skeleton key point positioning occurs. In future work, optimizing the positioning of skeleton end points by using the search method with direction and the positioning of skeleton bifurcation points by using the local density judgment can be considered.
Second, at this stage, the parameters need to be set manually during skeleton extraction. For example, the number of points and iterations of regional point cloud aggregation will affect the point cloud aggregation and the recurrence depth of spatial octree, and subspace point threshold will affect the extracted skeleton points, among other such issues. The parameters during skeleton extraction need to be adjusted according to the type and height of fruit trees and other attributes, which may require some experience. It is possible to conduct several experiments on branch point clouds of different tree species to acquire empirical values to apply to the needs of different types of fruit trees, and also to try to project reasonable parameter thresholds based on the projected area and space size of fruit trees in the vertical direction.
In the actual work of fruit tree morphological analysis, the extracted fruit tree skeleton can be used to calculate parameters such as branch length and branch angle (e.g., the angle between main and secondary branches, and other parameters, as shown in Figure 16) to achieve the task of automated fruit tree morphological analysis. On the basis of the extracted fruit tree branch skeleton, phenotypic information of fruit tree canopy can be calculated, which can be used in practical applications for tasks such as orchard canopy cover, biomass density and carbon sequestration estimation [30,31,32]. In addition, the real 3D tree branch skeleton is the basis for modeling scenes of orchards and woodlands, and the algorithm proposed in this paper can extract a realistic fruit tree branch skeleton, and the reconstructed tree model on this basis can better restore the real 3D morphology of fruit trees. Therefore, the virtual 3D model of fruit trees can be formed based on the extracted skeleton by regularized programming and mapping in future work (as shown in Figure 17) to meet the demand for 3D visualization display of orchards and other scenes [33,34,35,36].

Author Contributions

W.Z., X.P. and W.G. conceived the ideas and designed the methodology; W.Z., X.P. and W.G. implemented the technical pipeline, conducted the experiments, and analyzed the results; G.C. and H.W. investigated relevant work; D.T. provided the dataset for the experiments; all authors discussed, wrote the manuscript, and gave final approval for publication. All authors have read and agreed to the published version of the manuscript.

Funding

This study was partially supported by the National Natural Science Foundation of China (NSFC) Program 62276009 and Japan Science and Technology Agency (JST) AIP Acceleration Research JPMJCR21U3.

Data Availability Statement

The data and executable files (EasySkeleton) used in this paper will be available upon request here: https://github.com/I3-Laboratory/EasySkeleton, (accessed on 17 December 2022).

Acknowledgments

The authors thank the technical staff of the Institute for Sustainable Agro-ecosystem Services (ISAS), the University of Tokyo for the field management, and Kubota for the fruit tree’s location survey.

Conflicts of Interest

The authors declare that we have no conflict of interest.

Appendix A. Branch and Trunk Skeleton Key Point Adjustment Strategy

Skeleton bifurcation point adjustment: as the point cloud at the bifurcation point of the fruit tree branches is dense, the extracted skeleton bifurcation points may deviate from the bifurcation center of the branch point cloud. As the subsequent optimization of the skeleton morphology needs to be based on the skeleton to accurately locate the bifurcation points of the skeleton and to better assist this process, the bifurcation points of the skeleton need to be adjusted toward the bifurcation center of the branch point cloud by moving the bifurcation points as far as possible toward the parent branch. Since the positioning of the bifurcation points of the skeleton in 3D space cannot be adjusted by simply fitting straight lines of the skeleton segments to find the intersection points (the intersection points of multiple non-coplanar lines cannot be determined in 3D space). Therefore, the following skeleton bifurcation point adjustment strategy is designed in this paper.
As shown in Figure A1, let the initial extracted coarse skeleton bifurcation point be b p , the sub-branch skeleton points neighboring b p be s p _ 1 , s p _ 2 , and the parent branch skeleton point be s p _ f , let the line between s p _ 1 and s p _ f be L 1 , the line between s p _ 2 and s p _ f be L 2 , and the line between b p and s p _ f be L f . Calculate the projection points f 1 and f 2 of b p on L 1 and L 2 , and then calculate the midpoints of the projection points f 1 and f 2 on L f as the new skeleton bifurcation points b p , and update the skeleton segments where they are located, and the adjusted skeleton bifurcation points are more reasonably located.
Figure A1. Schematic diagram of skeleton bifurcation point adjustment. (a) Positioning of skeleton bifurcation points before adjustment. (b) Positioning of skeleton bifurcation points after adjustment.
Figure A1. Schematic diagram of skeleton bifurcation point adjustment. (a) Positioning of skeleton bifurcation points before adjustment. (b) Positioning of skeleton bifurcation points after adjustment.
Drones 07 00065 g0a1
Skeleton end point adjustment: since the skeleton point extraction operation is built on top of the aggregated fruit tree branch point cloud, the extracted skeleton endpoints will naturally move towards the inside of the branch and cannot be positioned to the end of the fruit tree branch. To locate the skeleton endpoints accurately, it is necessary to extend the skeleton as far as possible to the endpoints of the fruit tree branch point cloud in the vicinity of the extracted skeleton endpoints. For this purpose, the following skeleton endpoint adjustment strategy is designed in this paper.
As shown in Figure A2, a spherical region with radius r (empirical value) is set at the end point e p as the center of the sphere O E , and the point set C E in which the point cloud C is in this region after the denoising is searched. The line where the skeleton point s p connected with the end point e p is taken as the normal l , the plane α perpendicular to l and containing the end point e p is calculated, the plane α is used to partition C E , the set A E of points in C E that are on the opposite side from sp are separated and the point in A E which is farthest from ep as the adjusted skeleton endpoint e p is selected, and ep is connected with e p , as the extension of this skeleton segment.
Figure A2. Schematic diagram of skeleton endpoint adjustment. (a) Skeleton endpoint positioning before adjustment. (b) Skeleton endpoint positioning after adjustment.
Figure A2. Schematic diagram of skeleton endpoint adjustment. (a) Skeleton endpoint positioning before adjustment. (b) Skeleton endpoint positioning after adjustment.
Drones 07 00065 g0a2

Appendix B. Overview of Experimental Results

Exhibit 2-1. Comparison experimental contents of fruit tree branch point cloud skeleton extraction.
Comparison ExperimentsExperimental ContentFigures and Tables
(1) 50 m altitude comparison experiment(1-1) Visual analysis of skeleton extraction effect at 50 m altitudeFigure 11
(1-2) Metric analysis of skeleton extraction effect at 50 m altitudeTable 2
Exhibit 1-1
(1-3) Algorithm stability analysis (analysis of three 50 m altitude experimental metrics)Appendix C Exhibit 3-1, 3-2, 3-3 Appendix C Exhibit 3-4
(2) 20 m altitude comparison experiment(2-1) Visual analysis of skeleton extraction effect at 20 m altitudeFigure 12
(2-2) Metric analysis of skeleton extraction effect at 20 m altitudeTable 2
Exhibit 3-1
(3) Analysis of experimental results at different altitudesAnalysis of the change of metrics from 50 m to 20 m experimental resultsTable 2
Figure 13
Figure 14

Appendix C. The Detailed Comparative Experimental Results of This Article

The arrows in the metrics column in the attached table represent the experimental metrics for which the algorithms in this paper performed poorly, and the bold font in each metric represents the value of the metric corresponding to the best algorithm under that metric.
Exhibit 3-1: comparison experimental results of branch point cloud skeleton extraction for fruit trees collected at 50 m altitude (1).
(Comparison experiment time: 13 January 2022.)
Tree_Species_NumberMetricL1-MedialLBCProposed
Tree_Peach_01FBP66.67%58.82%85.71%
FEP42.11%72.73%82.35%
HD0.07900.07560.0631
Tree_Peach_02FBP81.82%76.00%85.71%
FEP87.50%81.25%89.66%
HD0.08970.03990.0353
Tree_Peach_03FBP66.67%47.62%76.19%
FEP86.96%51.67%69.57%
HD0.04950.05840.0432
Tree_Peach_04FBP72.00%50.00%81.48%
FEP82.35%78.57%89.66%
HD0.05020.07340.0394
Tree_Peach_05FBP66.67%55.56%88.89%
FEP69.23%90.91%86.96%
HD0.04100.03980.0354
Average_PeachFBP70.76%57.60%83.60%
FEP73.63%75.02%83.64%
HD0.06470.05740.0433
Tree_Persimmon_01FBP42.86%62.50%80.00%
FEP81.82%92.31%86.49%
HD0.10430.04790.0412
Tree_Persimmon_02FBP58.52%55.17%68.97%
FEP62.50%66.67%87.50%
HD0.08510.07720.0750
Tree_Persimmon_03FBP58.82%66.67%85.71%
FEP53.33%86.96%86.96%
HD0.09630.05350.0461
Tree_Persimmon_04FBP80.00%70.59%78.26%
FEP34.48%55.17%77.42%
HD0.08090.07090.0739
Tree_Persimmon_05FBP50.00%35.71%60.87%
FEP75.86%35.71%88.89%
HD0.07250.06580.0547
Average_PersimmonFBP58.04%58.13%74.76%
FEP61.60%67.36%85.45%
HD0.08780.06300.0582
Tree_Chestnuts_01FBP23.16%31.58%46.15%
FEP40.00%22.22%47.06%
HD0.09090.11320.0647
Tree_Chestnuts_02FBP22.22%12.50%33.33%
FEP47.06%38.10%40.67%
HD0.15820.17430.1406
Tree_Chestnuts_03FBP33.33%55.17%55.17%
FEP34.48%47.62%58.82%
HD0.05910.06050.0807
Tree_Chestnuts_04FBP40.00%12.50%22.22%
FEP53.33%19.05%46.15%
HD0.13250.09530.1023
Tree_Chestnuts_05FBP50.00%40.00%72.73%
FEP37.50%40.00%50.00%
HD0.12500.07280.0662
Average_ChestnutsFBP33.74%30.35%45.92%
FEP42.48%33.40%48.54%
HD0.10940.10320.0909
Tree_Plum_01FBP36.36%28.57%42.86%
FEP70.59%52.17%58.82%
HD0.08450.10230.0818
Tree_Plum_02FBP22.22%54.55%61.54%
FEP66.67%26.67%66.67%
HD0.13650.10360.0770
Tree_Plum_03FBP60.00%26.67%57.14%
FEP30.77%11.11%56.92%
HD0.16110.07730.0993
Tree_Plum_04FBP25.00%9.52%40.00%
FEP71.43%50.00%66.67%
HD0.11540.11470.0683
Tree_Plum_05FBP60.00%42.86%60.00%
FEP61.54%42.11%61.54%
HD0.1290.1360.109
Average_PlumFBP40.72%32.43%52.31%
FEP60.20%36.41%62.12%
HD0.11840.10680.0871
Average_TotalFBP50.82%44.63%64.15%
FEP59.48%53.05%69.94%
HD0.09510.08260.0699
Exhibit 3-2: comparison experimental results of branch point cloud skeleton extraction for fruit trees collected at 50 m altitude (2).
(Comparison experiment time: 14 February 2022).
Tree_Species_NumberMetricL1-MedialLBCProposed
Tree_Peach_01FBP61.54%58.82%85.71%
FEP66.67%72.73%82.35%
HD0.07810.07160.0628
Tree_Peach_02FBP66.67%76.00%85.71%
FEP85.71%81.25%89.66%
HD0.09270.04170.0367
Tree_Peach_03FBP63.16%42.11%72.73%
FEP83.33%51.67%66.67%
HD0.04830.05630.0453
Tree_Peach_04FBP72.00%59.26%88.89%
FEP80.00%81.48%89.66%
HD0.05790.03970.0359
Tree_Peach_05FBP66.67%52.63%88.89%
FEP76.92%90.91%86.96%
HD0.06350.03720.0332
Average_PeachFBP66.01%57.76%84.39%
FEP78.53%75.61%83.06%
HD0.06980.04930.0428
Tree_Persimmon_01FBP60.00%52.94%80.00%
FEP95.00%91.89%89.47%
HD0.11290.05470.0450
Tree_Persimmon_02FBP60.00%46.67%69.57%
FEP68.57%73.33%76.47%
HD0.08050.07980.0703
Tree_Persimmon_03FBP53.33%72.73%66.67%
FEP54.55%86.96%86.96%
HD0.12770.07060.0504
Tree_Persimmon_04FBP78.79%75.86%75.86%
FEP66.67%66.67%90.91%
HD0.07840.06890.0694
Tree_Persimmon_05FBP70.00%34.48%60.87%
FEP81.48%35.71%88.89%
HD0.07100.06460.0503
Average_PersimmonFBP64.42%56.54%70.59%
FEP73.25%70.91%86.54%
HD0.09720.06770.0571
Tree_Chestnuts_01FBP23.16%31.58%46.15%
FEP40.00%22.22%47.06%
HD0.10170.10780.0650
Tree_Chestnuts_02FBP22.22%11.77%33.33%
FEP47.06%42.11%40.67%
HD0.15630.17080.1418
Tree_Chestnuts_03FBP33.33%55.17%55.17%
FEP34.48%47.62%58.82%
HD0.05730.06190.0791
Tree_Chestnuts_04FBP40.00%10.53%22.22%
FEP53.33%17.39%46.15%
HD0.12650.09220.1086
Tree_Chestnuts_05FBP50.00%41.67%50.00%
FEP37.50%40.00%50.00%
HD0.12930.07470.0658
Average_ChestnutsFBP33.74%30.14%41.38%
FEP42.48%33.87%48.54%
HD0.11210.10150.0921
Tree_Plum_01FBP36.36%28.57%42.86%
FEP70.59%52.17%58.82%
HD0.08640.08650.0793
Tree_Plum_02FBP22.22%50.00%76.92%
FEP70.59%37.50%66.67%
HD0.10180.09870.0750
Tree_Plum_03FBP60.00%37.50%57.14%
FEP30.77%11.11%56.92%
HD0.17360.08010.0984
Tree_Plum_04FBP25.00%9.52%36.36%
FEP71.43%50.00%66.67%
HD0.11130.13200.0656
Tree_Plum_05FBP60.00%42.86%60.00%
FEP66.67%42.11%72.34%
HD0.17010.13820.1186
Average_PlumFBP40.72%33.69%54.66%
FEP62.01%38.58%64.28%
HD0.12160.10710.0874
Average_TotalFBP51.22%44.53%62.75%
FEP64.07%54.74%70.61%
HD0.10020.08140.0698
Exhibit 3-3: comparison experimental results of branch point cloud skeleton extraction for fruit trees collected at 50 m altitude (3).
(Comparison experiment time: 4 March 2022).
Tree_Species_NumberMetricL1-MedialLBCProposed
Tree_Peach_01FBP76.92%58.82%85.71%
FEP66.67%63.64%82.35%
HD0.07860.06920.0651
Tree_Peach_02FBP83.33%76.00%88.00%
FEP85.71%81.25%89.66%
HD0.08800.04070.0390
Tree_Peach_03FBP63.16%38.10%76.19%
FEP76.92%51.67%69.57%
HD0.04900.05210.0456
Tree_Peach_04FBP69.57%46.15%81.48%
FEP78.57%85.71%89.66%
HD0.05570.06500.0343
Tree_Peach_05FBP80.00%44.44%88.89%
FEP80.00%90.91%86.96%
HD0.05120.03920.0333
Average_PeachFBP74.60%52.70%84.05%
FEP77.58%74.64%83.64%
HD0.06690.05320.0435
Tree_Persimmon_01FBP53.85%56.25%80.00%
FEP81.82%91.89%89.47%
HD0.05050.05330.0489
Tree_Persimmon_02FBP60.00%57.14%69.57%
FEP62.07%75.00%76.47%
HD0.08170.07970.0723
Tree_Persimmon_03FBP57.14%66.67%66.67%
FEP60.87%86.96%86.96%
HD0.12130.07390.0557
Tree_Persimmon_04FBP78.79%68.97%75.86%
FEP90.91%60.00%90.91%
HD0.09770.06810.0685
Tree_Persimmon_05FBP55.56%31.25%60.87%
FEP62.86%35.71%88.89%
HD0.08000.06880.0422
Average_PersimmonFBP61.07%56.06%70.59%
FEP0.71700.69910.8654
HD0.08620.06870.0575
Tree_Chestnuts_01FBP16.67%40.00%42.86%
FEP33.33%21.05%66.67%
HD0.09210.09040.0625
Tree_Chestnuts_02FBP22.22%11.77%33.33%
FEP47.06%40.00%40.67%
HD0.15130.15420.1458
Tree_Chestnuts_03FBP33.33%55.17%55.17%
FEP34.48%47.62%58.82%
HD0.06560.06850.0776
Tree_Chestnuts_04FBP40.00%9.52%22.22%
FEP53.33%17.39%46.15%
HD0.11890.07900.0977
Tree_Chestnuts_05FBP66.67%41.67%66.67%
FEP50.00%42.86%50.00%
HD0.10360.08700.0669
Average_ChestnutsFBP35.78%31.63%44.05%
FEP43.64%33.78%52.46%
HD0.10390.09580.0901
Tree_Plum_01FBP36.36%26.09%42.86%
FEP68.52%50.00%58.82%
HD0.08670.09730.0810
Tree_Plum_02FBP22.22%50.00%76.92%
FEP66.67%25.00%72.34%
HD0.10600.12520.0609
Tree_Plum_03FBP60.00%31.53%57.14%
FEP30.77%11.11%47.09%
HD0.14120.07930.0870
Tree_Plum_04FBP25.00%9.52%36.36%
FEP71.43%50.00%66.67%
HD0.13410.12420.0976
Tree_Plum_05FBP44.44%28.57%57.14%
FEP66.67%42.11%66.67%
HD0.17940.15180.1018
Average_PlumFBP37.61%29.14%54.09%
FEP60.81%35.64%62.32%
HD0.12950.11550.0857
Average_TotalFBP52.26%42.38%63.20%
FEP63.43%53.49%71.24%
HD0.09660.08330.0692
Exhibit 3-4: standard deviation of the comparison experimental results of branch point cloud skeleton extraction for fruit trees collected at 50 m altitude.
(Comparison experiment time: 4 March 2022).
Tree_Species_NumberMetricL1-MedialLBCProposed
Tree_Peach_01FBP0.07830.00000.0000
FEP0.14180.05250.0000
HD0.00040.00320.0013
Tree_Peach_02FBP0.09220.00000.0132
FEP0.01030.00000.0000
HD0.00240.00090.0019
Tree_Peach_03FBP0.02030.04780.0200
FEP0.05080.00000.0167
HD0.00060.00320.0013
Tree_Peach_04FBP0.01410.06740.0428
FEP0.01910.03590.0000
HD0.00400.01750.0026
Tree_Peach_05FBP0.07700.05760.0000
FEP0.05550.00000.0000
HD0.01120.00140.0012
Average_PeachFBP0.04300.02880.0040
FEP0.02600.00490.0033
HD0.00250.00410.0004
Tree_Persimmon_01FBP0.08680.04850.0000
FEP0.07610.00240.0173
HD0.03380.00360.0039
Tree_Persimmon_02FBP0.00850.05570.0035
FEP0.03640.04410.0637
HD0.00240.00150.0024
Tree_Persimmon_03FBP0.02810.03500.1100
FEP0.04050.00000.0000
HD0.01660.01100.0048
Tree_Persimmon_04FBP0.00700.03610.0139
FEP0.28310.05770.0779
HD0.01050.00150.0029
Tree_Persimmon_05FBP0.10320.02310.0000
FEP0.09550.00000.0000
HD0.00480.00220.0063
Average_PersimmonFBP0.03190.01090.0241
FEP0.06330.01830.0063
HD0.00590.00300.0006
Tree_Chestnuts_01FBP0.03750.04860.0190
FEP0.03850.00670.1132
HD0.00590.01190.0014
Tree_Chestnuts_02FBP0.00000.00420.0000
FEP0.00000.02010.0000
HD0.00350.01080.0027
Tree_Chestnuts_03FBP0.00000.00000.0000
FEP0.00000.00000.0000
HD0.00440.00430.0015
Tree_Chestnuts_04FBP0.00000.01510.0000
FEP0.00000.00960.0000
HD0.00680.00870.0055
Tree_Chestnuts_05FBP0.09620.00960.1177
FEP0.07220.01650.0000
HD0.01380.00770.0005
Average_ChestnutsFBP0.01180.00800.0228
FEP0.00670.00250.0226
HD0.00420.00390.0010
Tree_Plum_01FBP0.00000.01430.0000
FEP0.01190.01260.0000
HD0.00120.00810.0013
Tree_Plum_02FBP0.00000.02620.0888
FEP0.02260.06790.0328
HD0.01890.01410.0088
Tree_Plum_03FBP0.00000.05430.0000
FEP0.00000.00000.0568
HD0.01630.00150.0068
Tree_Plum_04FBP0.00000.00000.0210
FEP0.00000.00000.0000
HD0.01220.00860.0178
Tree_Plum_05FBP0.08980.08250.0165
FEP0.02960.00000.0540
HD0.02700.00860.0084
Average_PlumFBP0.01800.02350.0123
FEP0.00920.01520.0120
HD0.00570.00500.0009
Average_TotalFBP0.00750.01270.0071
FEP0.02490.00880.0065
HD0.00260.00100.0004
Exhibit 3-5: comparison experimental results of branch point cloud skeleton extraction for fruit trees collected at 20 m altitude.
(Comparison experiment time: 4 March 2022).
Tree_Species_NumberMetricL1-MedialLBCProposed
Tree_Peach_01FBP55.56%59.38%82.35%
FEP62.30%62.30%81.69%
HD0.07410.07510.0651
Tree_Peach_02FBP65.71%73.56%81.25%
FEP63.93%65.00%79.25%
HD0.10250.08620.1002
Tree_Peach_03FBP60.61%72.73%83.72%
FEP71.11%71.80%71.11%
HD0.05030.05570.0387
Tree_Peach_04FBP51.52%70.73%92.31%
FEP61.54%62.34%89.58%
HD0.09090.05470.0339
Tree_Peach_05FBP67.93%80.65%91.89%
FEP63.64%65.63%95.12%
HD0.06560.07750.0350
Average_PeachFBP60.26%71.41%86.30%
FEP64.50%65.41%83.35%
HD0.07620.06980.0546
Tree_Persimmon_01FBP75.00%83.08%82.35%
FEP75.00%68.85%88.57%
HD0.08550.06120.0675
Tree_Persimmon_02FBP61.22%70.18%87.50%
FEP55.74%59.26%89.55%
HD0.12630.07130.0589
Tree_Persimmon_03FBP80.00%65.39%79.25%
FEP81.36%46.81%93.55%
HD0.08600.07130.0424
Tree_Persimmon_04FBP63.16%60.47%80.77%
FEP83.64%47.83%89.66%
HD0.09370.08360.0394
Tree_Persimmon_05FBP64.62%80.00%93.98%
FEP57.83%84.71%88.89%
HD0.12050.05670.0554
Average_PersimmonFBP68.80%71.82%84.77%
FEP70.71%61.49%90.04%
HD0.0996 0.0688 0.0527
Tree_Chestnuts_01FBP28.57%66.67%60.00%
FEP38.46%31.58%69.57%
HD0.06590.06860.0532
Tree_Chestnuts_02FBP66.67%62.50%66.67%
FEP34.78%57.14%81.67%
HD0.10040.07010.0321
Tree_Chestnuts_03FBP53.33%70.59%84.12%
FEP66.67%42.11%91.74%
HD0.05540.05320.0336
Tree_Chestnuts_04FBP66.67%50.00%94.74%
FEP47.62%43.48%85.24%
HD0.09670.05600.0291
Tree_Chestnuts_05FBP80.00%35.29%94.12%
FEP90.00%50.00%90.00%
HD0.04050.05210.0483
Average_ChestnutsFBP59.05%57.01%79.93%
FEP55.51%44.86%83.64%
HD0.0708 0.0600 0.0393
Tree_Plum_01FBP66.67%32.00%69.57%
FEP92.31%57.14%88.89%
HD0.12840.06040.0575
Tree_Plum_02FBP57.14%71.43%82.35%
FEP75.00%53.33%77.78%
HD0.04150.05440.0285
Tree_Plum_03FBP58.82%84.21%72.73%
FEP75.00%60.00%75.00%
HD0.11000.10070.0441
Tree_Plum_04FBP70.59%73.68%95.24%
FEP70.00%50.00%78.26%
HD0.11130.06300.0407
Tree_Plum_05FBP73.68%60.00%90.00%
FEP76.92%43.48%88.00%
HD0.06210.08930.0454
Average_PlumFBP65.38%64.26%81.98%
FEP77.85%52.79%81.59%
HD0.0970 0.0736 0.0432
Average_TotalFBP63.37%66.13%83.24%
FEP67.14%56.14%84.66%
HD0.08590.06810.0474

References

  1. Xu, H.; Gossett, N.; Chen, B. Knowledge and heuristic-based modeling of laser-scanned trees. ACM Trans. Graph. (TOG) 2007, 26, 19-es. [Google Scholar] [CrossRef]
  2. Wang, Z.; Zhang, L.; Fang, T.; Mathiopoulos, P.T.; Qu, H.; Chen, D.; Wang, Y. A structure-aware global optimization method for reconstructing 3-D tree models from terrestrial laser scanning data. IEEE Trans. Geosci. Remote Sens. 2014, 52, 5653–5669. [Google Scholar] [CrossRef]
  3. Livny, Y.; Yan, F.; Olson, M.; Chen, B.; Zhang, H.; El-Sana, J. Automatic reconstruction of tree skeletal structures from point clouds. In ACM SIGGRAPH Asia 2010 Papers; Association for Computing Machinery: New York, NY, USA, 2010; pp. 1–8. [Google Scholar]
  4. Alexander, B.; Lindenbergh, R.; Menenti, M. SkelTre. Vis. Comput. 2010, 26, 1283–1300. [Google Scholar]
  5. Andrea, T.; Zhang, H.; Cohen-Or, D. Curve skeleton extraction from incomplete point cloud. In ACM SIGGRAPH 2009 Papers; Association for Computing Machinery: New York, NY, USA, 2009; pp. 1–9. [Google Scholar]
  6. Huang, H.; Wu, S.; Cohen-Or, D.; Gong, M.; Zhang, H.; Li, G.; Chen, B. L1-medial skeleton of point cloud. ACM Trans. Graph. 2013, 32, 1–8. [Google Scholar]
  7. Mei, J.; Zhang, L.; Wu, S.; Wang, Z.; Zhang, L. 3D tree modeling from incomplete point clouds via optimization and L1-MST. Int. J. Geogr. Inf. Sci. 2017, 31, 999–1021. [Google Scholar] [CrossRef]
  8. Song, C.; Pang, Z.; Jing, X.; Xiao, C. Distance field guided $$ L_1 $$ L1-median skeleton extraction. Vis. Comput. 2018, 34, 243–255. [Google Scholar] [CrossRef]
  9. Bin, L.; Wang, Q.; Fan, X. An Optimized L1-Medial Skeleton Extraction Algorithm. In Proceedings of the 2021 IEEE International Conference on Industrial Application of Artificial Intelligence (IAAI), Harbin, China, 24–26 December 2021; IEEE: Piscataway, NJ, USA, 2021. [Google Scholar]
  10. Cao, J.; Tagliasacchi, A.; Olson, M.; Zhang, H.; Su, Z. Point cloud skeletons via laplacian based contraction. In Proceedings of the 2010 Shape Modeling International Conference, mAix-en-Provence, France, 21–23 June 2010; IEEE: Piscataway, NJ, USA, 2010. [Google Scholar]
  11. Su, Z.; Zhao, Y.; Zhao, C.; Guo, X.; Li, Z. Skeleton extraction for tree models. Math. Comp. Model. 2011, 54, 1115–1120. [Google Scholar] [CrossRef]
  12. He, G.Z. The Trees Skeleton Extraction Based on point cloud Contraction. In Applied Mechanics and Materials; Trans Tech Publications Ltd.: Wollerau, Switzerland, 2014; Volume 475. [Google Scholar]
  13. Wu, S.; Wen, W.; Xiao, B.; Guo, X.; Du, J.; Wang, C.; Wang, Y. An accurate skeleton extraction approach from 3D point clouds of maize plants. Front. Plant. Sci. 2019, 10, 248. [Google Scholar] [CrossRef] [Green Version]
  14. Li, Y.; Su, Y.; Zhao, X.; Yang, M.; Hu, T.; Zhang, J.; Liu, J.; Liu, M.; Guo, Q. Retrieval of tree branch architecture attributes from terrestrial laser scan data using a Laplacian algorithm. Agri. Forest Meteor. 2020, 284, 107874. [Google Scholar] [CrossRef]
  15. Jianling, Z.; Liu, J.; Zhang, M. Curve skeleton extraction via k-nearest-neighbors based contraction. Int. J. Appl. Math. Comp. Sci. 2020, 30, 123–132. [Google Scholar]
  16. Lou, L.; Liu, Y.; Shen, M.; Han, J.; Corke, F.; Doonan, J.H. Estimation of branch angle from 3D point cloud of plants. In Proceedings of the 2015 International Conference on 3D Vision, Lyon, France, 19–22 October 2015; IEEE: Piscataway, NJ, USA, 2015. [Google Scholar]
  17. Yinxi, G.; Yang, Y.; Yang, X. Three-dimensional reconstruction of the virtual plant branching structure based on terrestrial lidar technologies and L-system. Int. Arch. Photogram. Remote Sens. Spatial Inf. Sci. 2018, 42, 3. [Google Scholar]
  18. Fu, L.; Liu, J.; Zhou, J.; Zhang, M.; Lin, Y. Tree skeletonization for raw point cloud exploiting cylindrical shape prior. IEEE Access 2020, 8, 27327–27341. [Google Scholar] [CrossRef]
  19. Dell, M.; Stone, C.; Osborn, J.; Glen, M.; McCoull, C.; Rimbawanto, A.; Tjahyono, B.; Mohammed, C. Detection of necrotic foliage in a young Eucalyptus pellita plantation using unmanned aerial vehicle RGB photography–a demonstration of concept. Aust. Forest. 2019, 82, 79–88. [Google Scholar] [CrossRef] [Green Version]
  20. Maimaitijiang, M.; Sagan, V.; Sidike, P.; Maimaitiyiming, M.; Hartling, S.; Peterson, K.T.; Maw, M.J.; Shakoor, N.; Mockler, T.; Fritschi, F.B. Vegetation metric weighted canopy volume model (CVMVI) for soybean biomass estimation from unmanned aerial system-based RGB imagery. ISPRS J. Photogram. Remote Sens. 2019, 151, 27–41. [Google Scholar] [CrossRef]
  21. González-Jaramillo, V.; Fries, A.; Bendix, J. AGB estimation in a tropical mountain forest (TMF) by means of RGB and multispectral images using an unmanned aerial vehicle (UAV). Remote Sens. 2019, 11, 1413. [Google Scholar] [CrossRef] [Green Version]
  22. Ester, M.; Kriegel, H.P.; Sander, J.; Xu, X. A density-based algorithm for discovering clusters in large spatial databases with noise. Inkdd 1996, 96, 226–231. [Google Scholar]
  23. Cornea, N.D.; Silver, D.; Min, P. Curve-skeleton properties, applications, and algorithms. IEEE Trans. Nisual. Comp. Graphics 2007, 13, 530. [Google Scholar] [CrossRef] [Green Version]
  24. Meagher, D. Geometric modeling using octree encoding. Comp. Graphics Image Process. 1982, 19, 129–147. [Google Scholar] [CrossRef]
  25. Francisco, Y.; Silwal, A.; Kantor, G. Visual 3d reconstruction and dynamic simulation of fruit trees for robotic manipulation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops, Seattle, WA, USA, 13–19 June 2020. [Google Scholar]
  26. Josh, H.M.L.; Yam, Y. A skeletonization technique based on delaunay triangulation and piecewise bezier interpolation. In Proceedings of the 2007 6th International Conference on Information, Communications & Signal Processing, Singapore, 10–13 December 2007; IEEE: Piscataway, NJ, USA, 2007. [Google Scholar]
  27. Facundo, M. Gromov-Hausdorff distances in Euclidean spaces. In Proceedings of the 2008 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops, Anchorage, AK, USA, 23–28 June 2008; IEEE: Piscataway, NJ, USA, 2008. [Google Scholar]
  28. Krause, S.; Sanders, T.G.; Mund, J.P.; Greve, K. UAV-based photogrammetric tree height measurement for intensive forest 737 monitoring. Remote Sens. 2019, 11, 758. [Google Scholar] [CrossRef] [Green Version]
  29. Sun, G.; Wang, X.; Yang, H.; Zhang, X. A canopy information measurement method for modern standardized apple orchards 739 based on UAV multimodal information. Sensors 2020, 20, 2985. [Google Scholar] [CrossRef]
  30. Lefsky, M.A.; Cohen, W.B.; Harding, D.J.; Parker, G.G.; Acker, S.A.; Gower, S.T. Lidar remote sensing of above-ground biomass in 741 three biomes. Glob. Ecol. Biogeogr. 2002, 11, 393–399. [Google Scholar] [CrossRef] [Green Version]
  31. Lambert, M.; Ung, C.; Raulier, F. Canadian national tree aboveground biomass equations. Can. J. For. Res. 2005, 35, 1996–2018. [Google Scholar] [CrossRef]
  32. Hilker, T.; van Leeuwen, M.; Coops, N.C.; Wulder, M.A.; Newnham, G.J.; Jupp, D.L.; Culvenor, D.S. Comparing canopy metrics 745 derived from terrestrial and airborne laser scanning in a Douglas-fir dominated forest stand. Trees 2010, 24, 819–832. [Google Scholar] [CrossRef]
  33. Liu, J.; Zhang, X.; Li, H.; Dai, M. Creation of tree models from freehand sketches by building 3D skeleton point cloud. In International Conference on Technologies for E-Learning and Digital Entertainment; Springer: Berlin/Heidelberg, Germany, 2010. [Google Scholar]
  34. Preuksakarn, C.; Boudon, F.; Ferraro, P.; Durand, J.B.; Nikinmaa, E.; Godin, C. Reconstructing plant architecture from 3D laser scanner data. In Proceedings of the 6th International Workshop on Functional-Structural Plant Models, Davis, CA, USA, 12–17 September 2010. [Google Scholar]
  35. Guo, J.; Jiang, H.; Benes, B.; Deussen, O.; Zhang, X.; Lischinski, D.; Huang, H. Inverse procedural modeling of branching structures by inferring L-systems. ACM Trans. Graph. 2020, 39, 1–13. [Google Scholar] [CrossRef]
  36. Dobson, D.; Dong, H.; van der Horst, N.; Langhorst, L.; van der Vaart, J.; Wu, Z. Tree Reconstruction from a Point Cloud Using an L-System. Master’s Thesis, Technische Universiteit Delft, Delft, The Netherlands, 2021. [Google Scholar]
Figure 1. Data acquisition location and orchard point cloud. (a) Point cloud collection location (35°44′16.0″ N, 139°32′20.9″ E). (b) DOM (Digital Orthophoto Map) generated from UAV images, different color points in the map indicate the planting points of different species of fruit trees, and white dashed boxes and symbols in the map indicate the fruit tree objects selected for the experiment. (c) Three-dimensional view of the point cloud of the orchard. (d) Close-up view of the point cloud of the branches of the fruit trees.
Figure 1. Data acquisition location and orchard point cloud. (a) Point cloud collection location (35°44′16.0″ N, 139°32′20.9″ E). (b) DOM (Digital Orthophoto Map) generated from UAV images, different color points in the map indicate the planting points of different species of fruit trees, and white dashed boxes and symbols in the map indicate the fruit tree objects selected for the experiment. (c) Three-dimensional view of the point cloud of the orchard. (d) Close-up view of the point cloud of the branches of the fruit trees.
Drones 07 00065 g001
Figure 2. Functional structure of point cloud skeleton extraction algorithm for fruit tree branches.
Figure 2. Functional structure of point cloud skeleton extraction algorithm for fruit tree branches.
Drones 07 00065 g002
Figure 3. Schematic diagram of regional point cloud aggregation. (a) Branch point cloud aggregation toward the skeleton centerline: the black point is the branch point cloud to be aggregated, the blue dashed line is the assumed skeleton centerline, and the gray arrow is the direction of movement of the point in the aggregation process. (b) Regional point cloud aggregation algorithm: red, orange, and green dashed lines with different colors indicate the search area of x i , blue dot c i is the target location of x i movement.
Figure 3. Schematic diagram of regional point cloud aggregation. (a) Branch point cloud aggregation toward the skeleton centerline: the black point is the branch point cloud to be aggregated, the blue dashed line is the assumed skeleton centerline, and the gray arrow is the direction of movement of the point in the aggregation process. (b) Regional point cloud aggregation algorithm: red, orange, and green dashed lines with different colors indicate the search area of x i , blue dot c i is the target location of x i movement.
Drones 07 00065 g003
Figure 4. Schematic diagram of point cloud iterative aggregation process: (a) Point cloud of fruit tree branches after denoising. (b) Point cloud of fruit tree branches after three iterations of regional point cloud aggregation. (c) Point cloud of fruit tree branches after five iterations of regional point cloud aggregation. (d) Point cloud of fruit tree branches after eight iterations of regional point cloud aggregation.
Figure 4. Schematic diagram of point cloud iterative aggregation process: (a) Point cloud of fruit tree branches after denoising. (b) Point cloud of fruit tree branches after three iterations of regional point cloud aggregation. (c) Point cloud of fruit tree branches after five iterations of regional point cloud aggregation. (d) Point cloud of fruit tree branches after eight iterations of regional point cloud aggregation.
Drones 07 00065 g004
Figure 5. Partitioning of the aggregated branch and stem point cloud using spatial octree.
Figure 5. Partitioning of the aggregated branch and stem point cloud using spatial octree.
Drones 07 00065 g005
Figure 6. Schematic diagram of extraction of skeleton points from a spatial octree. (a) Spatial octree partitioning of the point cloud. The black grid in the figure indicates the subspace where the branch point cloud is located. (b) Skeleton points extracted using the spatial octree.
Figure 6. Schematic diagram of extraction of skeleton points from a spatial octree. (a) Spatial octree partitioning of the point cloud. The black grid in the figure indicates the subspace where the branch point cloud is located. (b) Skeleton points extracted using the spatial octree.
Drones 07 00065 g006
Figure 7. Schematic diagram of spherical contraction for skeleton topology connection. (a) Schematic diagram of the local skeleton of fruit tree branches. (b) Schematic diagram of spherical contraction for topological connection of local skeleton. Red dots are branch end points, green dots are branch bifurcation points, gray arc-shaped dashed lines indicate the spherical shells where the skeleton points are located, and different colored connecting segments indicate each skeleton segment. p 1 p 11 are the skeleton points on each skeleton segment.
Figure 7. Schematic diagram of spherical contraction for skeleton topology connection. (a) Schematic diagram of the local skeleton of fruit tree branches. (b) Schematic diagram of spherical contraction for topological connection of local skeleton. Red dots are branch end points, green dots are branch bifurcation points, gray arc-shaped dashed lines indicate the spherical shells where the skeleton points are located, and different colored connecting segments indicate each skeleton segment. p 1 p 11 are the skeleton points on each skeleton segment.
Drones 07 00065 g007
Figure 8. The coarse skeleton formed after topological connection.
Figure 8. The coarse skeleton formed after topological connection.
Drones 07 00065 g008
Figure 9. Comparison of branch skeleton before and after smoothing. (a) Effect of fruit tree branch skeleton before smoothing. (b) Effect of fruit tree branch skeleton after smoothing.
Figure 9. Comparison of branch skeleton before and after smoothing. (a) Effect of fruit tree branch skeleton before smoothing. (b) Effect of fruit tree branch skeleton after smoothing.
Drones 07 00065 g009
Figure 10. Point cloud generation effect diagram (take a peach tree as an example). (a) Generated point cloud around the fruit tree branch skeleton. (b) Overlap effect of generated point cloud and original point cloud. The blue curve is the fruit tree branch skeleton, the black point is the original branch point cloud C s , and the red point is the generated branch point cloud C g .
Figure 10. Point cloud generation effect diagram (take a peach tree as an example). (a) Generated point cloud around the fruit tree branch skeleton. (b) Overlap effect of generated point cloud and original point cloud. The blue curve is the fruit tree branch skeleton, the black point is the original branch point cloud C s , and the red point is the generated branch point cloud C g .
Drones 07 00065 g010aDrones 07 00065 g010b
Figure 11. The visualization of the fruit tree branch skeleton extracted by the three algorithms on the point cloud of fruit trees collected at a 50 m altitude. The black points are the original fruit tree branch point cloud, the blue curve is the skeleton extracted by the algorithm, the green points are the bifurcation points of the fruit tree branch skeleton, and the red points are the end points of the fruit tree branch skeleton.
Figure 11. The visualization of the fruit tree branch skeleton extracted by the three algorithms on the point cloud of fruit trees collected at a 50 m altitude. The black points are the original fruit tree branch point cloud, the blue curve is the skeleton extracted by the algorithm, the green points are the bifurcation points of the fruit tree branch skeleton, and the red points are the end points of the fruit tree branch skeleton.
Drones 07 00065 g011
Figure 12. The visualization of the fruit tree branch skeleton extracted by the three algorithms on the point cloud of fruit trees collected at 20 m altitude.
Figure 12. The visualization of the fruit tree branch skeleton extracted by the three algorithms on the point cloud of fruit trees collected at 20 m altitude.
Drones 07 00065 g012
Figure 13. The average values of metrics for the three algorithms on all fruit trees. (a) Average FBP (F1-score of bifurcation point) for the different algorithms at 50 m and 20 m. (b) Average FEP (F1-score of end point) for the different algorithms at 50 m and 20 m. (c) Average HD (Hausdorff distance) for the different algorithms at 50 m and 20 m.
Figure 13. The average values of metrics for the three algorithms on all fruit trees. (a) Average FBP (F1-score of bifurcation point) for the different algorithms at 50 m and 20 m. (b) Average FEP (F1-score of end point) for the different algorithms at 50 m and 20 m. (c) Average HD (Hausdorff distance) for the different algorithms at 50 m and 20 m.
Drones 07 00065 g013
Figure 14. Point cloud of branches of the same fruit tree collected at different altitudes. (Tree_Peach_02 is shown as an example). (a) Point cloud of branches collected at 50 m altitude. (b) Point cloud of branches collected at 20 m altitude.
Figure 14. Point cloud of branches of the same fruit tree collected at different altitudes. (Tree_Peach_02 is shown as an example). (a) Point cloud of branches collected at 50 m altitude. (b) Point cloud of branches collected at 20 m altitude.
Drones 07 00065 g014
Figure 15. The effect of the algorithm in extracting the branch skeleton of fruit trees in an orchard plot (the different color curves in the figure indicate the branch skeleton of each fruit tree).
Figure 15. The effect of the algorithm in extracting the branch skeleton of fruit trees in an orchard plot (the different color curves in the figure indicate the branch skeleton of each fruit tree).
Drones 07 00065 g015
Figure 16. Automated calculation of fruit tree branch angles using the skeleton extraction software in this paper.
Figure 16. Automated calculation of fruit tree branch angles using the skeleton extraction software in this paper.
Drones 07 00065 g016
Figure 17. Fruit tree branch reconstruction based on the skeleton extracted by the algorithm in this paper (persimmon tree is shown as an example). (a) Original fruit tree branch point cloud. (b) Fruit tree branch skeleton extracted by this algorithm.
Figure 17. Fruit tree branch reconstruction based on the skeleton extracted by the algorithm in this paper (persimmon tree is shown as an example). (a) Original fruit tree branch point cloud. (b) Fruit tree branch skeleton extracted by this algorithm.
Drones 07 00065 g017
Table 1. Orchard point cloud containing tree species and number of individuals.
Table 1. Orchard point cloud containing tree species and number of individuals.
Tree TypeNumber of Individuals
Apple17
Cherry2
Chestnut86
Citrus25
Kiwifruit15
Loquat5
Peach51
Persimmon95
Plum46
Table 2. The average values and variation of metrics for the skeleton extraction results of the three algorithms on the branch point clouds of the four types of fruit trees generated from images collected at a 50 m and 20 m altitude (t = 0.03).
Table 2. The average values and variation of metrics for the skeleton extraction results of the three algorithms on the branch point clouds of the four types of fruit trees generated from images collected at a 50 m and 20 m altitude (t = 0.03).
50 m20 mVariation
Tree_Species_NumberMetricL1-MedialLBCProposedL1-MedialLBCProposedL1-MedialLBCProposed
Average_PeachFBP70.76%57.60%83.60%60.26%70.41%86.30%−10.50%13.81%2.71%
FEP73.63%75.02%83.64%64.50%65.41%83.35%−9.13%−9.61%−0.29%
HD0.06470.05740.04330.07620.06980.05460.01150.01240.0113
Average_PersimmonFBP58.04%58.13%74.76%68.80%70.82%84.77%10.76%13.69%10.01%
FEP61.60%67.36%85.45%70.71%61.49%90.04%9.11%−5.87%4.59%
HD0.08780.0630.05820.09960.06880.05270.01180.0058−0.0055
Average_ChestnutsFBP33.74%30.35%45.92%59.05%56.01%79.93%25.31%26.66%34.01%
FEP42.48%33.40%48.54%55.51%44.86%83.64%13.03%11.46%35.10%
HD0.10940.10320.09090.07080.060.0393−0.0386−0.0432−0.0516
Average_PlumFBP40.72%32.43%52.31%65.38%63.26%81.98%24.66%31.83%29.67%
FEP60.20%36.41%62.12%77.85%52.79%81.59%17.65%16.38%19.46%
HD0.11840.10680.08710.0970.07360.0432−0.0215−0.0332−0.0439
Average_TotalFBP50.82%44.63%64.15%63.37%61.13%83.24%12.56%21.50%19.10%
FEP59.48%53.05%69.94%67.14%56.14%84.66%7.67%3.09%14.72%
HD0.09510.08260.06990.08590.06810.0474−0.0092−0.0146−0.0224
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Zhang, W.; Peng, X.; Cui, G.; Wang, H.; Takata, D.; Guo, W. Tree Branch Skeleton Extraction from Drone-Based Photogrammetric Point Cloud. Drones 2023, 7, 65. https://doi.org/10.3390/drones7020065

AMA Style

Zhang W, Peng X, Cui G, Wang H, Takata D, Guo W. Tree Branch Skeleton Extraction from Drone-Based Photogrammetric Point Cloud. Drones. 2023; 7(2):65. https://doi.org/10.3390/drones7020065

Chicago/Turabian Style

Zhang, Wenli, Xinyu Peng, Guoqiang Cui, Haozhou Wang, Daisuke Takata, and Wei Guo. 2023. "Tree Branch Skeleton Extraction from Drone-Based Photogrammetric Point Cloud" Drones 7, no. 2: 65. https://doi.org/10.3390/drones7020065

Article Metrics

Back to TopTop