A method of identifying fruit tree shoot types

CN120876724BActive Publication Date: 2026-09-15INST OF REMOTE SENSING APPL SICHUAN ACAD OF AGRI SCI
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510989013.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-17
Publication Date
2026-09-15
Estimated Expiration
2045-03-17

AI Technical Summary

Technical Problem

但仍缺乏从三维数据中准确识别果树各类功能枝干的方法,导致果树数字模型的枝干类型信息难与园艺栽培管理定义的枝干功能对齐

Benefits of technology

[0012] The method for identifying the three-dimensional structural branch types of fruit trees disclosed in this application may have beneficial effects including, but not limited to:

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120876724B_ABST
    Figure CN120876724B_ABST
Patent Text Reader

Abstract

The application discloses a method for identifying fruit tree fruiting branch type, comprising the following steps: using fruit tree three-dimensional structure data to construct a directed graph expressing branch topological structure; identifying nodes contained in fruiting branches; the fruit tree three-dimensional structure data is a kind of data set using cylinder set to fit branch surface, including cylinder radius, length, starting position, direction vector and adjacency relationship; the construction of the directed graph expressing branch topological structure includes: using cylinder set as the node of the directed graph, creating the edge of the directed graph according to the adjacency relationship; creating node attributes, storing cylinder radius, length, starting position, direction vector, node type.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Case Analysis

[0002] This application is a divisional application of Chinese application filed on March 17, 2025, with application number 202510309374.X and invention title "A method for identifying the branch types of a three-dimensional structure of a fruit tree". Technical Field

[0003] This invention relates to the field of digital modeling and growth monitoring of fruit trees, specifically to a method for identifying the type of fruit-bearing branches in fruit trees. Background Technology

[0004] Modern standardized fruit tree cultivation involves regular pruning and shaping of branches throughout the production cycle to create a rational combination of branches in terms of quantity, length, and proportion of branches with different functions. This achieves the goals of controlling tree growth, canopy light penetration, flowering and fruiting, and the rational distribution of nutrients, ultimately resulting in high-quality and high-yield fruit production. Identifying the types and functional attributes of fruit tree branches, extracting their quantity and spatial distribution information, and constructing a digital model of the fruit tree are crucial for accurately assessing cultivation management effectiveness and predicting the number of flowers and fruits. The main branch types constituting a standard tree shape include the trunk, main branches, and fruiting branches. Some more complex tree shapes further divide the branches connecting to the main branches into sub-main branches and lateral branches, each type of branch having a corresponding primary function.

[0005] Currently, in fruit tree cultivation and management practices, the identification of branch and trunk functional types mainly relies on manual observation and identification based on experience, lacking automated identification and judgment methods. With the development of smart agriculture, the demand for collecting precise information on branch and trunk structure and functional attributes using new digital and information technologies is constantly increasing. Technologies and models related to fruit tree digitization are being developed, such as techniques for reconstructing the three-dimensional structure of fruit tree surfaces using point cloud data obtained by laser scanners and quantitative structural models of trees. However, methods for accurately identifying various functional branches and trunks of fruit trees from three-dimensional data still lack, making it difficult to align the branch and trunk type information in the fruit tree digital model with the branch and trunk functions defined in horticultural cultivation and management. Summary of the Invention

[0006] A method for identifying the type of fruit-bearing branches in fruit trees, characterized by comprising the following steps:

[0007] A directed graph representing the branch and trunk topology was constructed using three-dimensional structural data of fruit trees;

[0008] The nodes contained in the identified branches;

[0009] The three-dimensional structural data of the fruit tree is a dataset that uses a set of cylinders to fit the surface of the branches and trunks, including the radius, length, starting position, direction vector and adjacency relationship of the cylinders;

[0010] The construction of a directed graph expressing the branch topology includes: using a set of cylinders as nodes of the directed graph, creating edges of the directed graph based on adjacency relationships; creating node attributes to store cylinder radius, length, starting position, direction vector, and node type;

[0011] The nodes included in the identified result branch include: starting from the node with an out-degree of 0 in the directed graph, i.e. the endpoint, querying the path from the endpoint to the nearest first branch point, where the first branch point is a node with an out-degree > 1, the node adjacent to the branch point is the starting point of the result branch, the nodes included in the path are the nodes included in the result branch, updating the node type to result branch, and completing the result branch identification.

[0012] The method for identifying the three-dimensional structural branch types of fruit trees disclosed in this application may have beneficial effects including, but not limited to:

[0013] The data processed by this invention quantitatively describes the distribution of the main trunk, main branches, fruiting branches, and sub-main branches of fruit trees, as well as the adjacency and inclusion relationships among the branches. The final result reflects the quantity, distribution, and topological relationships of various types of branches in fruit trees, achieving accurate and efficient automatic acquisition of functional information of fruit tree branches.

[0014] By combining knowledge of fruit tree cultivation and management with branch type identification, further mining of the three-dimensional structural data of fruit tree branches was achieved, enriching the semantic information of the three-dimensional structural data of fruit trees, and helping to better carry out fruit tree breeding and cultivation management using three-dimensional data.

[0015] Compared with existing point cloud data for reconstructing the three-dimensional structure of fruit trees, the method of this invention further achieves precise quantitative expression of the structural and functional information of fruit tree branches. This invention exhibits better adaptability to fruit trees under standardized management and achieves stable recognition results for the three-dimensional structural data of deciduous fruit tree branches from dormancy to before budding and flowering. Attached Figure Description

[0016] Figure 1 This is a flowchart of a fruit tree branch type identification method according to an embodiment of the present invention;

[0017] Figure 2 This is a schematic diagram illustrating the principle of fruit tree branch type recognition according to an embodiment of the present invention;

[0018] Figure 3 This is a schematic diagram of the three-dimensional structure of a fruit tree branch trunk according to an embodiment of the present invention.

[0019] Figure 4 This is a directed graph of the topological structure of fruit tree branches according to an embodiment of the present invention;

[0020] Figure 5This is a schematic diagram illustrating the identification effect of fruit tree fruiting branches, trunk, main branches, and sub-main branches according to an embodiment of the present invention. Detailed Implementation

[0021] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0022] Conversely, this application covers any substitutions, modifications, equivalent methods, and schemes made within the spirit and scope of this application as defined in the claims. Furthermore, to provide the public with a better understanding of this application, certain specific details are described in detail below. However, this application can be fully understood by those skilled in the art even without these detailed descriptions.

[0023] The following will provide a detailed description of a method for identifying the branch types of a three-dimensional fruit tree structure, as described in the embodiments of this application. Figure 1 As shown, a method for identifying the branch types of a fruit tree's three-dimensional structure includes the following steps:

[0024] Step 1: Construct a directed graph representing the branch topology using the three-dimensional structure data of the fruit tree. The three-dimensional structure data set of the fruit tree includes the cylinder's index Sn, radius r, length l, starting position start(x,y,z), direction vector direction(x,y,z), and adjacency relationship P; create a directed graph G, add nodes (G.add_node(Sn, r, l, start(x,y,z),direction(x,y,z), node_type)), and store the corresponding cylinder's radius, length, starting position, direction vector, and node type in the attributes of each node; add edges between nodes according to P (G.add_edge()).

[0025] Step 2, identify the nodes contained in the result branches, including: finding the nodes with an out-degree of 0 in the directed graph G (G.node(out_degree(node)==0)) to obtain the list of endpoints, querying the parent nodes of each node starting from the endpoint one by one (G.predecessors(node)), determining the out-degree of the parent node, and stopping if the out-degree is greater than 1 (branching point). The nodes contained in the path from the endpoint to the branching point are the nodes contained in the result branches. Update the node type to result branch (node_type=3) to complete the result branch identification.

[0026] Step 3: Identify the nodes contained in the main branch. First, find the node with an in-degree of 0 in the directed graph G (G.node(in_degree(node)==0)) as the first node of the main branch; then find its child nodes (children = list(G.neighbors(current_node))). If there are several child nodes, select the non-resulting branch nodes G.nodes(node_type!=3) according to the node type, and calculate the similarity between the parent node and each child node based on the combined radius and direction vector. ), where radius similarity Use formulas ( Calculate directional similarity. Cosine similarity is used for calculation, and the values ​​are linearly transformed to the range of 0 to 1; a1 and a2 are the weights for different similarities. Further, based on similarity, it is determined whether a child node belongs to the main branch: if one child node has a similarity greater than the threshold, it is identified as a main branch node; if two or more child nodes have a similarity greater than the threshold with their parent node, the node with the highest similarity is selected as the main branch node; the node type is updated to main branch (node_type=0), and the search continues for the next main branch node using this node; if the similarity between all child nodes and their parent node is less than the threshold, it is determined that no child node belongs to the main branch, thus completing the main branch node identification.

[0027] Step 4: Identify the main branches and their contained nodes, including: first, finding nodes whose node type is the main branch and whose out-degree is greater than 1 (G.nodes[(node_type==0) and out_degree(node)>1)]); then finding the child nodes of the nodes (children = list(G.neighbors(current_node))), selecting the nodes whose node type is not the main branch and not a resultant branch (G.nodes[(node_type!=0) and (node_type!=3)]) as the starting point of the main branch, using the z value of start(x,y,z) in the node to calculate the distance between each child node and the root node, and sorting them in ascending order of distance from smallest to largest; according to the main branch sorting, calculating the comprehensive similarity of the diameter and direction vector of the parent and child nodes one by one from the starting point, and identifying the main branch nodes and marking the main branch type (node_type==1) based on the condition that the similarity is greater than the threshold or the similarity is the largest and the node type is not a resultant branch;

[0028] Step 5: Identify the sub-branch order and its contained nodes, including: finding nodes whose node type is a main branch and whose out-degree is greater than 1 (G.nodes[(node_type==1) and out_degree(node)>1)]), and finding the child nodes of the nodes; then select the nodes whose node type is neither a main branch nor a resultant branch (G.nodes[(node_type!=1) and (node_type!=3) ]) as the starting point of the sub-branch, use the z value of start(x,y,z) in the node to calculate the distance from each child node to the starting point of the main branch, and sort them in ascending order of distance from smallest to largest; starting from the starting point of the sub-branch, identify the sub-branch nodes according to the comprehensive similarity of the diameter and direction vector of the parent and child nodes, and identify the sub-branch nodes according to the condition that the similarity is greater than the threshold or the similarity is the largest and the node type is not a resultant branch, and mark the sub-branch type (node_type==2).

[0029] The following is an explanation using a specific embodiment as an example:

[0030] After three-dimensional surface reconstruction, the point cloud data of Y-shaped peach trees under standardized cultivation management yielded a series of cylinders with different radii, lengths, starting positions, and direction vectors, as well as the serial numbers of adjacent cylinders. This embodiment uses this data [ , , , , , [This represents the three-dimensional structure of a fruit tree; see attached image for effect.] Figure 3 To achieve three-dimensional structure branch type identification of fruit trees, based on... Figure 2 The principle of branch type recognition is to use graph theory algorithms and similarity algorithms to process the data of each cylinder in the three-dimensional structure of the fruit tree. Based on the discrimination conditions for different branch types, the Node_type information of each cylinder is obtained, ultimately resulting in a dataset containing the branch type recognition results. , , , , , , ].

[0031] Step 1: Construct a directed graph G representing the branch topology using the 3D structural data of the fruit tree. Each cylinder serves as a node in the directed graph. Add edges between nodes based on the parent node information displayed by P in the data. The visualization of the nodes and edges in the directed graph G can be found in [link to visualization]. Figure 4 ;

[0032] Step 2: Identify the nodes contained in the resulting branches. Select the nodes with an out-degree of 0 in the directed graph G. Query the parent node of each node from the endpoint, and determine the out-degree of the parent node. If the out-degree is greater than 1, meaning the parent node has other branches, stop. The nodes contained in the path from the endpoint to the branch point are the nodes contained in the resulting branches. Update the node (node_type=3). The distribution of the resulting branch nodes is shown in [link to documentation]. Figure 5 The red part in the image;

[0033] Step 3: Identify the nodes contained in the backbone. Find the node with an in-degree of 0 in the directed graph G as the first parent node of the backbone, and then find its child nodes. Calculate the similarity between the parent node and each child node based on their combined radius and direction vectors. Further determine whether a child node belongs to the backbone based on the similarity: if one child node has a similarity greater than a threshold, it is identified as a backbone node; if two or more child nodes have a similarity greater than a threshold with their parent node, the node with the highest similarity is selected as the backbone node; continue searching for the next backbone node using this node; if the similarity between all child nodes and their parent nodes is less than a threshold, it is determined that no child node belongs to the backbone. See [link to backbone node identification results]. Figure 5 The blue part in the middle;

[0034] Step 4: Identify the main branches and their contained nodes. First, find nodes whose type is a trunk and whose out-degree is greater than 1. Then, find the child nodes of these nodes, selecting those whose type is neither a trunk nor a resultant branch as the starting point of the main branch. Calculate the distance between each child node and the root node, sorting them in ascending order of distance. Based on the main branch sorting, calculate the combined similarity of the diameter and direction vector of the parent and child nodes one by one, starting from the starting point. Identify the main branch nodes based on the condition that the similarity is greater than a threshold or that the node with the highest similarity is not a resultant branch. (See attached image for results.) Figure 5 The green part in the text;

[0035] Step 5: Identify the sub-main branches and their contained nodes. Find nodes whose node type is a main branch and whose out-degree is greater than 1. Find their child nodes, and then select nodes whose node type is neither a main branch nor a resultant branch as the starting point of the sub-main branch. Calculate the distance from each child node to the starting point of its respective main branch, and sort them in ascending order of distance. Starting from the starting point of the sub-main branch, identify the sub-main branch nodes based on the comprehensive similarity of the diameter and direction vector of the parent and child nodes. The identification process is based on the condition that the similarity is greater than a threshold or the node type is the largest and not a resultant branch. See the results for the effect. Figure 5 The yellow part in the image.

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

Claims

1. A method for identifying the type of fruit-bearing branches in fruit trees, characterized in that, Includes the following steps: A directed graph representing the branch and trunk topology was constructed using three-dimensional structural data of fruit trees; where: The three-dimensional structural data of the fruit tree is a dataset that uses a set of cylinders to fit the surface of the branches and trunks, including the radius, length, starting position, direction vector and adjacency relationship of the cylinders; The construction of a directed graph expressing the branch topology includes: using a set of cylinders as nodes of the directed graph, creating edges of the directed graph based on adjacency relationships; creating node attributes to store cylinder radius, length, starting position, direction vector, and node type; The nodes contained in the identified branches; The nodes included in the identified result branch include: starting from the node with an out-degree of 0 in the directed graph, i.e. the endpoint, querying the path from the endpoint to the nearest first branch point, where the first branch point is a node with an out-degree > 1, the node adjacent to the branch point is the starting point of the result branch, the nodes included in the path are the nodes included in the result branch, updating the node type to result branch, and completing the result branch identification. Identify the nodes contained in the trunk; The process of identifying nodes in the main branch includes: taking the root node (the node with an in-degree of 0 in the directed graph) as the first parent node of the main branch; searching for child nodes; selecting nodes whose node type is not a result branch; calculating the similarity between the parent node and each child node using their radius and direction vectors; and determining whether a child node belongs to the main branch based on the similarity: if one child node has a similarity greater than a threshold, it is identified as a main branch node; if two or more child nodes have a similarity greater than a threshold with their parent node, the node with the highest similarity is selected as the main branch node; updating the child node type to "main branch" and continuing to search for and identify the next main branch node; if the similarity between all child nodes and their parent nodes is less than a threshold, it is determined that no child node belongs to the main branch, thus completing the identification of the main branch node.

2. The method for identifying the type of fruit-bearing branches of fruit trees according to claim 1, characterized in that, Calculate similarity using the radius and direction vectors of the parent node and each child node. ,include: ; in: radius similarity Use formulas calculate; Directional similarity Using cosine similarity calculation, the numerical values ​​are linearly transformed to the range of 0 to 1; a1 and a2 are the weights for different similarities, satisfying... ; The radius of the parent node. The radius of the child node.

3. The method for identifying the type of fruit-bearing branches of fruit trees according to claim 1, characterized in that, It also includes identifying the order of each main branch and the nodes it contains; The identification of each main branch and its contained nodes includes: finding nodes whose node type is a trunk and whose out-degree is greater than 1; using these nodes as parent nodes to find their child nodes; then selecting nodes whose node type is neither a trunk nor a resultant branch as the starting point of the main branch; calculating the distance from the starting point of each main branch to the root node; and sorting them in ascending order of distance; identifying the main branch nodes based on the similarity of the diameter and direction vectors of the parent and child nodes starting from the starting point of each main branch; and marking the main branch type based on the condition that the similarity is greater than a threshold or the similarity is the largest and the node type is not a resultant branch.

4. The method for identifying the type of fruit-bearing branches of a fruit tree according to claim 3, characterized in that, It also includes identifying the order of sub-branch on the main branch and the nodes it contains. The identification of the order of sub-branch on the main branch and the nodes it contains includes: finding nodes in each main branch whose node type is a main branch and whose out-degree is greater than 1; finding the child nodes of the node as the parent node; then selecting the nodes whose node type is neither a main branch nor a resultant branch as the starting point of the sub-branch; calculating the distance from each child node to the starting point of its main branch; and sorting them in ascending order of distance; identifying the sub-branch nodes based on the similarity of the diameter and direction vector of the parent and child nodes starting from the starting point of each sub-branch according to the order; and marking the sub-branch type based on the condition that the similarity is greater than a threshold or the similarity is the largest and the node type is not a resultant branch.

Citation Information

Patent Citations

  • Method for measuring single tree branch structure by means of three-dimensional scanning

    CN106204724A

  • Tree branch modeling method and system based on vehicle-mounted laser scanning point cloud

    CN110992473A