<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="2.3" xml:lang="EN">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Plant Sci.</journal-id>
<journal-title>Frontiers in Plant Science</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Plant Sci.</abbrev-journal-title>
<issn pub-type="epub">1664-462X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fpls.2025.1616611</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Plant Science</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>BranchMatch: point cloud registration for individual apple trees with limited overlap based on local structure characteristics</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Wang</surname>
<given-names>Ning</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Cao</surname>
<given-names>Yuheng</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zhang</surname>
<given-names>Kai</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Xu</surname>
<given-names>Shuting</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Dong</surname>
<given-names>Ruifang</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Kang</surname>
<given-names>Feng</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2013757/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zhang</surname>
<given-names>Man</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/337569/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Chi</surname>
<given-names>Bojia</given-names>
</name>
<xref ref-type="aff" rid="aff4">
<sup>4</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Miao</surname>
<given-names>Yanlong</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="author-notes" rid="fn001">
<sup>*</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/3043440/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Wang</surname>
<given-names>Yaxiong</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="author-notes" rid="fn001">
<sup>*</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Key Lab of State Forestry and Grassland Administration for Forestry Equipment and Automation, School of Technology, Beijing Forestry University</institution>, <addr-line>Beijing</addr-line>,&#xa0;<country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>State Key Laboratory of Efficient Production of Forest Resources, School of Technology, Beijing Forestry University</institution>, <addr-line>Beijing</addr-line>,&#xa0;<country>China</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>Key Lab of Smart Agriculture System Integration, Ministry of Education, China Agricultural University</institution>, <addr-line>Beijing</addr-line>,&#xa0;<country>China</country>
</aff>
<aff id="aff4">
<sup>4</sup>
<institution>Beijing Miyun District Landscape and Greening Service Center</institution>, <addr-line>Beijing</addr-line>,&#xa0;<country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>Edited by: <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2701471/overview">Wenjuan Shen</ext-link>, Nanjing Forestry University, China</p>
</fn>
<fn fn-type="edited-by">
<p>Reviewed by: <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2755655/overview">Bingxiao Wu</ext-link>, Guangdong Academy of Agricultural Sciences (GDAAS), China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/3194380/overview">Lizhi Jiang</ext-link>, University of Florida, United States</p>
</fn>
<fn fn-type="corresp" id="fn001">
<p>*Correspondence: Yanlong Miao, <email xlink:href="mailto:miao23@bjfu.edu.cn">miao23@bjfu.edu.cn</email>; Yaxiong Wang, <email xlink:href="mailto:yaxiongwang87@bjfu.edu.cn">yaxiongwang87@bjfu.edu.cn</email>
</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>09</day>
<month>10</month>
<year>2025</year>
</pub-date>
<pub-date pub-type="collection">
<year>2025</year>
</pub-date>
<volume>16</volume>
<elocation-id>1616611</elocation-id>
<history>
<date date-type="received">
<day>23</day>
<month>04</month>
<year>2025</year>
</date>
<date date-type="accepted">
<day>19</day>
<month>09</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2025 Wang, Cao, Zhang, Xu, Dong, Kang, Zhang, Chi, Miao and Wang.</copyright-statement>
<copyright-year>2025</copyright-year>
<copyright-holder>Wang, Cao, Zhang, Xu, Dong, Kang, Zhang, Chi, Miao and Wang</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>Point cloud registration is a critical technology for 3D reconstruction and personalized management of fruit trees. While ensuring the accuracy and completeness of 3D point cloud reconstruction, the simplest and most efficient approach is to acquire and register point clouds from two stations separated by 180&#xb0;. For this, we propose BranchMatch, a low-overlap viewpoints acquisition and registration method tailored for tall-spindle individual apple trees during dormancy. The method requires only two point clouds captured from stations 180&#xb0; apart. Then, it leverages key branch segments in a single viewpoint, utilizing their spatial and geometric structure features in combination with a dynamically weighted feature discriminant function to perform feature matching and initial rigid-body transformation under low overlap conditions. Subsequently, an iterative closest point algorithm, enhanced with local feature matching optimization based on the tree-specific point cloud, is applied to refine the registration and prevent over-registration. Experiments conducted on multiple individual apple trees with two low-overlap point clouds (180&#xb0; apart) demonstrate a registration success rate of 90%. Compared to the spherical markers registration method, BranchMatch achieves average rotation and translation errors of 1.93 mrad and 4.33 mm, respectively, with a pointwise error of 2.70 mm. Furthermore, compared to multi-site high-overlap registration methods under similar conditions, BranchMatch significantly reduces computational costs while maintaining registration accuracy and reconstruction completeness, highlighting its efficiency and reliability in individual tree registration.</p>
</abstract>
<kwd-group>
<kwd>individual tree</kwd>
<kwd>key branch segments</kwd>
<kwd>low-overlap</kwd>
<kwd>terrestrial laser scanning</kwd>
<kwd>3D reconstruction</kwd>
</kwd-group>
<counts>
<fig-count count="11"/>
<table-count count="6"/>
<equation-count count="11"/>
<ref-count count="61"/>
<page-count count="19"/>
<word-count count="10610"/>
</counts>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-in-acceptance</meta-name>
<meta-value>Technical Advances in Plant Science</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1" sec-type="intro">
<label>1</label>
<title>Introduction</title>
<p>The apple (<italic>Malus domestica</italic>) is one of the most economically significant and widely cultivated fruit crops globally, making advancements in its orchard management critical to the agricultural economy (<xref ref-type="bibr" rid="B44">Vasylieva and Harvey, 2021</xref>; <xref ref-type="bibr" rid="B45">Wang and Liu, 2022</xref>). In modern apple production, the tall-spindle architecture has become the dominant tree form, as it enables the high-density planting strategies essential for maximizing fruit quality and yield (<xref ref-type="bibr" rid="B37">Robinson et&#xa0;al., 2006</xref>; <xref ref-type="bibr" rid="B20">Karkee et&#xa0;al., 2014</xref>; <xref ref-type="bibr" rid="B19">Ho et&#xa0;al., 2024</xref>). Effective management of these trees relies heavily on a detailed understanding of their underlying branching structure, which informs key operations such as strategic pruning and yield forecasting. The dormancy period offers a unique opportunity for this kind of structural analysis, as the absence of leaves and fruit reveals the complete woody framework of the tree&#x2014;making it the optimal time for both assessment and pruning interventions (<xref ref-type="bibr" rid="B5">Chattopadhyay et&#xa0;al., 2016</xref>; <xref ref-type="bibr" rid="B17">He and Schupp, 2018</xref>; <xref ref-type="bibr" rid="B22">Kolmani&#x10d; et&#xa0;al., 2021</xref>).</p>
<p>To address the need for accurate and efficient structural analysis of apple trees, 3D reconstruction based on Light Detection and Ranging (LiDAR) technology has emerged as a powerful tool (<xref ref-type="bibr" rid="B10">Dassot et&#xa0;al., 2011</xref>; <xref ref-type="bibr" rid="B31">Miller et&#xa0;al., 2015</xref>; <xref ref-type="bibr" rid="B57">Zhang et&#xa0;al., 2023</xref>). While mobile laser scanning (MLS) systems&#x2014;such as UAV-based or backpack-mounted devices&#x2014;are effective for rapid, large-scale orchard mapping, the millimeter-level accuracy required for detailed individual-tree analysis remains challenging to achieve with these systems (<xref ref-type="bibr" rid="B25">Liang et&#xa0;al., 2016</xref>; <xref ref-type="bibr" rid="B4">Calders et&#xa0;al., 2020</xref>; <xref ref-type="bibr" rid="B46">Wang L. et&#xa0;al., 2023</xref>). In contrast, Terrestrial Laser Scanning (TLS) provides superior data fidelity and resolution, making it the most widely accepted and reliable choice for fine-scale, branch-level reconstruction tasks (<xref ref-type="bibr" rid="B42">Shimizu et&#xa0;al., 2022</xref>; <xref ref-type="bibr" rid="B56">Zhang et&#xa0;al., 2024</xref>).</p>
<p>To ensure the accuracy and completeness of 3D reconstruction, it is common practice to register point clouds acquired from different viewpoints (<xref ref-type="bibr" rid="B32">Monji-Azad et&#xa0;al., 2023</xref>). However, the complex orchard environment introduces challenges such as occlusions and structural deformations, making accurate and efficient point cloud registration for fruit trees a persistent challenge.</p>
<p>The most reliable registration method involves marker-based approaches, where spherical markers are manually placed before data acquisition, requiring all viewpoints to capture these markers in their point clouds. Key points are extracted via fitting calculations, and correspondences (e.g., distances, angles) between markers across viewpoints are used for registration (<xref ref-type="bibr" rid="B49">Wilkes et&#xa0;al., 2017</xref>; <xref ref-type="bibr" rid="B59">Zhou et&#xa0;al., 2020</xref>). While accurate, this method increases operational complexity due to manual marker placement.</p>
<p>To mitigate this limitation, marker-free techniques utilize sensors or specially designed platforms to record scan station positions and orientations (<xref ref-type="bibr" rid="B18">Henning and Radtke, 2008</xref>; <xref ref-type="bibr" rid="B52">Yang R. et&#xa0;al., 2020</xref>). These approaches improve efficiency and, can be applied to multitemporal assessments and permanent monitoring of trees within the same plots. Nevertheless, both marker-based and position-based methods increase acquisition burdens.</p>
<p>In scenarios lacking standardized targets or positioning tools, registration must rely on the point cloud data of the scene itself (<xref ref-type="bibr" rid="B7">Cheng et&#xa0;al., 2018</xref>), necessitating robust algorithmic frameworks. One approach involves using point cloud feature descriptors to match key points based on the inherent characteristics of the data. <xref ref-type="bibr" rid="B58">Zhang et&#xa0;al. (2021)</xref> employed the Fast Point Feature Histogram (FPFH) to capture the geometric distinctiveness of individual trees, enabling coarse registration of multi-view point clouds by matching similar feature descriptors across viewpoints. <xref ref-type="bibr" rid="B33">Peng et&#xa0;al. (2023)</xref> further improved FPFH-based registration for airborne and terrestrial point clouds, combining feature correlation scoring with Bhattacharyya distance and employing Random Sample Consensus (RANSAC) to select reliable matching pairs. While these methods are robust and flexible, their performance heavily relies on feature quality, making them sensitive to noise and computationally demanding. Another approach leverages the geometric features of trees combined with spatial information to establish correspondences. <xref ref-type="bibr" rid="B2">Bucksch and Khoshelham (2013)</xref> extracted global skeletons from fruit tree point clouds, using them to map points in the source point cloud to line segments in the target point cloud, followed by transformation estimation through distance minimization. <xref ref-type="bibr" rid="B60">Zhou et&#xa0;al. (2014)</xref> further defined a distance measure and mapping cost function between two skeleton segments, refining them using the Gauss-Newton method to complete the registration. These methods provide a domain-specific strategy for tree point cloud registration, enabling semi-automatic or automatic alignment through skeleton points or lines. That said, they require complete skeleton extraction, which is challenging due to occlusion, density variations, and complex branching structures.</p>
<p>Both approaches eliminate the need for external markers or prior information but require high-quality single-view data and typically depend on multi-view acquisitions with substantial overlap (&#x2265;3 viewpoints). These approaches utilize geometric or textural features from overlapping regions to establish correspondences and merge partial scans into complete models (<xref ref-type="bibr" rid="B54">Yang et&#xa0;al., 2022</xref>). However, in orchard environments, physical obstructions (e.g., irrigation systems, support structures), limited scanner mobility, and operational efficiency demands often hinder multi-view high-overlap data collection (<xref ref-type="bibr" rid="B41">Shao et&#xa0;al., 2020</xref>), necessitating alternative low-overlap registration strategies.</p>
<p>What&#x2019;s more, in recent years, deep learning-based methods have emerged as another powerful paradigm for point cloud registration. These approaches leverage neural networks to learn salient features and correspondences directly from data, often achieving impressive performance on general-purpose benchmarks (<xref ref-type="bibr" rid="B9">Dai et&#xa0;al., 2022</xref>; <xref ref-type="bibr" rid="B8">Cheng et&#xa0;al., 2024</xref>). However, their practical application to the high-fidelity registration of individual trees in orchard environments currently faces several significant limitations. First, these models are highly data-dependent, requiring large-scale, annotated datasets for training that are not readily available for high-resolution, multi-view tree scans (<xref ref-type="bibr" rid="B7">Cheng et&#xa0;al., 2018</xref>; <xref ref-type="bibr" rid="B27">Lv et&#xa0;al., 2024</xref>). Furthermore, their ability to generalize is a key concern; models trained on generic 3D objects may not perform well on the unique and complex geometric structures of dormant trees. This challenge is particularly acute in the extreme low-overlap scenarios addressed by our study (<xref ref-type="bibr" rid="B53">Yang H. et&#xa0;al., 2020</xref>; <xref ref-type="bibr" rid="B48">Wang et&#xa0;al., 2024</xref>). Finally, the high computational costs associated with training, coupled with a lack of sufficient validation in multi-station orchard scenarios (<xref ref-type="bibr" rid="B12">Dong et&#xa0;al., 2020</xref>; <xref ref-type="bibr" rid="B11">Deng et&#xa0;al., 2021</xref>), make classical geometry-based methods a more practical and reliable choice for our specific application at present.</p>
<p>In summary, in terms of field efficiency, the optimal strategy is to capture data from only two diametrically opposed (180&#xb0;) stations. This approach, however, presents the most extreme registration challenge due to minimal data overlap. The difficulty of reliably automating this process has largely prevented the adoption of this otherwise ideal workflow. Overcoming this registration bottleneck is therefore a key step toward making high-precision 3D reconstruction more practical. The inherent limitations of this low-overlap scenario introduce several critical challenges:</p>
<list list-type="order">
<list-item>
<p>A more robust feature extraction and matching method is needed for the geometrically ambiguous branch structures encountered with sparse overlap between diametrically opposed viewpoints.</p>
</list-item>
<list-item>
<p>A novel registration approach is required to minimize reliance on the overlap between viewpoints of tree-shaped point clouds.</p>
</list-item>
<list-item>
<p>A lack of individual tree point cloud datasets hinders registration accuracy evaluation under varying overlap conditions.</p>
</list-item>
</list>
<p>To address these challenges, this study focuses on acquiring high-precision 3D point cloud data of tall-spindle individual apple trees using terrestrial laser scanning (TLS). By leveraging the structural features of key parts of the tree, we aim to achieve marker-free, low-overlap registration for individual apple trees, enabling high-accuracy 3D reconstruction and advancing fruit tree management. The main contributions are as follows:</p>
<list list-type="order">
<list-item>
<p>A feature matching method based on local spatial-geometric branch features, incorporating a dynamically weighted discriminant function to reliably identify corresponding branch segments under low-overlap conditions.</p>
</list-item>
<list-item>
<p>An automatic registration method using structural axes and central points of key tree components, enabling accurate reconstruction from two 180&#xb0; viewpoints.</p>
</list-item>
<list-item>
<p>The Apple-Trees benchmark dataset, comprising 10 trees captured from 40 viewpoints, covering diverse tall-spindle morphologies for registration evaluation.</p>
</list-item>
</list>
</sec>
<sec id="s2">
<label>2</label>
<title>Benchmark dataset</title>
<sec id="s2_1">
<label>2.1</label>
<title>Data acquisition</title>
<p>The Apple-Trees dataset was collected from a commercial orchard in Shunyi District, Beijing, China (40.21&#xb0;N, 116.54&#xb0;E). The orchard features Aztec Fuji apple trees, a tall-spindle variety commonly grown in northern orchards. The 5&#x2013;7 years-old trees, averaging 300&#x2013;350 cm in height, were planted in rows with 1 m spacing between trees and 3 m between rows. Drip irrigation tapes were installed at 0.5 m above the ground to facilitate precise irrigation, as shown in <xref ref-type="fig" rid="f1">
<bold>Figure&#xa0;1</bold>
</xref>.</p>
<fig id="f1" position="float">
<label>Figure&#xa0;1</label>
<caption>
<p>Data acquisition environment and setup. <bold>(A)</bold> Orchard environment and equipment. <bold>(B)</bold> Schematic of station positions. In <bold>(A)</bold>, (1), (2), and (3) represent the drip irrigation tape, TX8 terrestrial LiDAR, and spherical markers, respectively. In <bold>(B)</bold>, the brown objects represent target trees, and the solid dots denote stations. Data collection was performed using interval selection and station reuse, ensuring that each tree was captured from four viewpoints, with opposite viewpoints separated by 180&#xb0;.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-16-1616611-g001.tif">
<alt-text content-type="machine-generated">Panel A shows a winter orchard with bare trees aligned in rows. Highlighted in red are a mounted device on a tripod, and two objects attached to the trees. Panel B is a diagram illustrating a sensor layout in a grid formation, marked with points S1 to S4, depicting distances of one meter, two meters, and three meters between sensors among tree icons.</alt-text>
</graphic>
</fig>
<p>Data acquisition was conducted in March 2024 during the dormancy period to avoid interference from fruits and dense foliage (<xref ref-type="fig" rid="f1">
<bold>Figure&#xa0;1A</bold>
</xref>). The Trimble TX8 terrestrial LiDAR was selected as the data acquisition device for the experiment, as similar terrestrial LiDAR systems are widely recognized as effective and precise tools for acquiring point cloud data during high-precision 3D reconstruction (<xref ref-type="bibr" rid="B16">Guan et&#xa0;al., 2020</xref>; <xref ref-type="bibr" rid="B43">Sun et&#xa0;al., 2021</xref>). The device has a 360&#xb0; &#xd7; 317&#xb0;field of view, a measurement range of 0.6&#x2013;120 m, and an accuracy of up to 2 mm. Double leveling was achieved using both external and built-in electronic leveling bubbles.</p>
<p>To compile the dataset, 10 apple trees were randomly selected from three rows using interval selection (<xref ref-type="fig" rid="f1">
<bold>Figure&#xa0;1B</bold>
</xref>). For each selected tree, data were collected from four stations positioned in a rectangular arrangement around the tree. Stations were positioned approximately 2 m from the tree rows and 2.3 m from the selected trees, considering the orchard layout. Station pairs S1-S4 and S2-S3 provided low-overlap 180&#xb0; viewpoints, while S1-S2 and S1-S3 offered high-overlap viewpoints for algorithm evaluation.</p>
<p>The raw data collected by the instrument was processed using Trimble RealWorks software, where point clouds were extracted via spatial sampling at a 2 mm resolution. Since the collected raw data included multiple trees, extensive ground areas, and other environmental features, it was necessary to manually extract the regional point cloud of each target tree to enable a fair and independent evaluation of the algorithm&#x2019;s performance on the tree structure itself. To minimize the impact on the practical application process, this manual step was limited to a simple regional segmentation to obtain all points within the single fruit tree&#x2019;s area (including the ground points). Additionally, to ensure the evaluation focused solely on the tree&#x2019;s complex geometry and to enhance the method&#x2019;s generalizability, the geometrically simple and distinct drip tape point clouds were also manually removed.</p>
<p>Following obtaining the point cloud of the experimental region (<xref ref-type="fig" rid="f2">
<bold>Figure&#xa0;2A</bold>
</xref>), a series of automated preprocessing steps are sequentially applied to prepare the data for the core matching algorithm, as illustrated in <xref ref-type="fig" rid="f2">
<bold>Figure&#xa0;2</bold>
</xref>. The first and most critical step is to establish a consistent spatial reference by fitting a ground plane using the RANSAC method (<xref ref-type="bibr" rid="B13">Fischler and Bolles, 1981</xref>). This plane serves as the basis for all subsequent height-dependent feature calculations.</p>
<fig id="f2" position="float">
<label>Figure&#xa0;2</label>
<caption>
<p>Point cloud preprocessing. <bold>(A)</bold> Raw point. <bold>(B)</bold> Ground plane fitted and removed. <bold>(C)</bold> Statistical filtering. <bold>(D)</bold> Voxel filtering.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-16-1616611-g002.tif">
<alt-text content-type="machine-generated">Sequential illustrations labeled A to D depict the process of point cloud filtering to isolate tree structures. A shows initial data with ground and tree. B focuses on removing ground. C applies statistical filtering. D uses voxel filtering. Each step further refines the representation, enhancing the clarity of tree branches.</alt-text>
</graphic>
</fig>
<p>Once this coordinate system is established, the ground points are removed to reduce computational load and focus the analysis on the tree&#x2019;s structure (<xref ref-type="fig" rid="f2">
<bold>Figure&#xa0;2B</bold>
</xref>). Subsequently, a statistical outlier removal filter is applied to eliminate sparse noise points that may have resulted from sensor errors or environmental factors. The filter was configured with a number of neighbors k = 5 and a standard deviation multiplier of 0.1 (<xref ref-type="fig" rid="f2">
<bold>Figure&#xa0;2C</bold>
</xref>). Finally, to enhance computational efficiency for the subsequent registration steps, the point cloud is downsampled using a voxel grid filter with a voxel size of 8 mm, which standardizes the point density while preserving the essential geometric details of the trunk and branches (<xref ref-type="fig" rid="f2">
<bold>Figure&#xa0;2D</bold>
</xref>).</p>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>Ground truth</title>
<p>To establish baseline alignment data, spherical markers were additionally deployed as a ground truth method for point cloud registration (<xref ref-type="bibr" rid="B24">Liang et&#xa0;al., 2018</xref>). Specifically, markers were arranged to cover the region of interest (<xref ref-type="fig" rid="f1">
<bold>Figure&#xa0;1A</bold>
</xref>), and precisely leveled LiDAR scans captured all scene elements, including the markers. The collected point clouds were imported into Trimble RealWorks, where spherical markers were automatically identified, and their centers were fitted to establish correspondences. The software calculated an optimal transformation matrix (rotation and translation) by minimizing alignment errors, producing a ground truth dataset with an average distance error of 0.59 mm. This accuracy serves as the benchmark for subsequent experimental evaluations.</p>
<p>What&#x2019;s more, the complete point clouds, registered from all four stations using this ground truth method, also serve as the baseline reference for deriving the structural parameters of each sample tree. <xref ref-type="table" rid="T1">
<bold>Table&#xa0;1</bold>
</xref> provides detailed information for each tree in the Apple-Trees dataset, including statistics on the point clouds and these key structural parameters.</p>
<table-wrap id="T1" position="float">
<label>Table&#xa0;1</label>
<caption>
<p>Statistics on the Apple-Trees benchmark dataset.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" rowspan="2" align="center">Tree ID</th>
<th valign="middle" rowspan="2" align="center">Tree height (cm)</th>
<th valign="middle" rowspan="2" align="center">Basal trunk diameter (cm)</th>
<th valign="middle" rowspan="2" align="center">No. of primary branches</th>
<th valign="middle" rowspan="2" align="center">Max. branch diameter (cm)</th>
<th valign="middle" rowspan="2" align="center">Avg. branch diameter (cm)</th>
<th valign="middle" colspan="4" align="center">Number of points of each scan (excluding ground points)</th>
</tr>
<tr>
<th valign="middle" align="center">S1</th>
<th valign="middle" align="center">S2</th>
<th valign="middle" align="center">S3</th>
<th valign="middle" align="center">S4</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" align="center">#1</td>
<td valign="middle" align="center">351</td>
<td valign="middle" align="center">6.3</td>
<td valign="middle" align="center">14</td>
<td valign="middle" align="center">3.1</td>
<td valign="middle" align="center">2.1</td>
<td valign="middle" align="center">255,180</td>
<td valign="middle" align="center">264,954</td>
<td valign="middle" align="center">265,352</td>
<td valign="middle" align="center">278,387</td>
</tr>
<tr>
<td valign="middle" align="center">#2</td>
<td valign="middle" align="center">353</td>
<td valign="middle" align="center">7.9</td>
<td valign="middle" align="center">11</td>
<td valign="middle" align="center">3.3</td>
<td valign="middle" align="center">2.0</td>
<td valign="middle" align="center">311,608</td>
<td valign="middle" align="center">335,566</td>
<td valign="middle" align="center">310,395</td>
<td valign="middle" align="center">290,280</td>
</tr>
<tr>
<td valign="middle" align="center">#3</td>
<td valign="middle" align="center">314</td>
<td valign="middle" align="center">6.4</td>
<td valign="middle" align="center">18</td>
<td valign="middle" align="center">2.5</td>
<td valign="middle" align="center">1.7</td>
<td valign="middle" align="center">211,552</td>
<td valign="middle" align="center">231,864</td>
<td valign="middle" align="center">253,044</td>
<td valign="middle" align="center">246,309</td>
</tr>
<tr>
<td valign="middle" align="center">#4</td>
<td valign="middle" align="center">336</td>
<td valign="middle" align="center">5.1</td>
<td valign="middle" align="center">11</td>
<td valign="middle" align="center">2.7</td>
<td valign="middle" align="center">1.8</td>
<td valign="middle" align="center">253,859</td>
<td valign="middle" align="center">289,802</td>
<td valign="middle" align="center">258,970</td>
<td valign="middle" align="center">232,020</td>
</tr>
<tr>
<td valign="middle" align="center">#5</td>
<td valign="middle" align="center">327</td>
<td valign="middle" align="center">6.2</td>
<td valign="middle" align="center">9</td>
<td valign="middle" align="center">1.7</td>
<td valign="middle" align="center">1.4</td>
<td valign="middle" align="center">185,871</td>
<td valign="middle" align="center">164,238</td>
<td valign="middle" align="center">188,364</td>
<td valign="middle" align="center">161,512</td>
</tr>
<tr>
<td valign="middle" align="center">#6</td>
<td valign="middle" align="center">368</td>
<td valign="middle" align="center">6.3</td>
<td valign="middle" align="center">9</td>
<td valign="middle" align="center">2.5</td>
<td valign="middle" align="center">1.8</td>
<td valign="middle" align="center">200,625</td>
<td valign="middle" align="center">233,390</td>
<td valign="middle" align="center">208,178</td>
<td valign="middle" align="center">162,251</td>
</tr>
<tr>
<td valign="middle" align="center">#7</td>
<td valign="middle" align="center">366</td>
<td valign="middle" align="center">5.6</td>
<td valign="middle" align="center">11</td>
<td valign="middle" align="center">2.6</td>
<td valign="middle" align="center">1.8</td>
<td valign="middle" align="center">240,547</td>
<td valign="middle" align="center">242,450</td>
<td valign="middle" align="center">289,745</td>
<td valign="middle" align="center">293,047</td>
</tr>
<tr>
<td valign="middle" align="center">#8</td>
<td valign="middle" align="center">247</td>
<td valign="middle" align="center">5.7</td>
<td valign="middle" align="center">8</td>
<td valign="middle" align="center">2.8</td>
<td valign="middle" align="center">1.7</td>
<td valign="middle" align="center">104,469</td>
<td valign="middle" align="center">109,095</td>
<td valign="middle" align="center">136,006</td>
<td valign="middle" align="center">115,101</td>
</tr>
<tr>
<td valign="middle" align="center">#9</td>
<td valign="middle" align="center">287</td>
<td valign="middle" align="center">7.3</td>
<td valign="middle" align="center">10</td>
<td valign="middle" align="center">2.2</td>
<td valign="middle" align="center">1.6</td>
<td valign="middle" align="center">192,990</td>
<td valign="middle" align="center">207,089</td>
<td valign="middle" align="center">204,775</td>
<td valign="middle" align="center">214,273</td>
</tr>
<tr>
<td valign="middle" align="center">#10</td>
<td valign="middle" align="center">334</td>
<td valign="middle" align="center">6.3</td>
<td valign="middle" align="center">10</td>
<td valign="middle" align="center">3.0</td>
<td valign="middle" align="center">1.8</td>
<td valign="middle" align="center">273,238</td>
<td valign="middle" align="center">273,121</td>
<td valign="middle" align="center">268,062</td>
<td valign="middle" align="center">306,510</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>Basal Trunk Diameter was determined from a horizontal cross-section at a height of 0.25 m above the fitted ground plane; Primary branches were defined and counted as first-order branches with a basal diameter &gt; 1cm; Avg. Branch Diameter is the average of these measured basal diameters.</p>
</fn>
</table-wrap-foot>
</table-wrap>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>Methodology</title>
<p>The BranchMatch method requires two 180&#xb0;-separated point clouds of an individual tree as input and outputs a rigid-body transformation matrix for registration, enabling 3D reconstruction. The process consists of three main steps: branch matching, coarse registration, and fine registration. The overall procedure is illustrated in <xref ref-type="fig" rid="f3">
<bold>Figure&#xa0;3</bold>
</xref>.</p>
<fig id="f3" position="float">
<label>Figure&#xa0;3</label>
<caption>
<p>Workflow of the BranchMatch method. The process includes <bold>(a)</bold> Data acquisition, <bold>(b)</bold> Data preprocessing, <bold>(c)</bold> Branch matching, <bold>(d)</bold> Coarse registration, <bold>(e)</bold> Fine registration and <bold>(f)</bold> Registration results. The transformation matrix is computed through steps a.-e., and the final results aligns the source and target point clouds <bold>(f)</bold>.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-16-1616611-g003.tif">
<alt-text content-type="machine-generated">Diagram illustrating a digital tree registration process. Steps include data acquisition, preprocessing, branch matching, coarse and fine registration, and results. Images show blue and orange 3D tree models and equipment setup in a cycle, with transformation matrix applied to align models. The process flows from data acquisition through various stages to final registration results.</alt-text>
</graphic>
</fig>
<sec id="s3_1">
<label>3.1</label>
<title>Branch matching</title>
<p>Point cloud registration typically relies on identifying correspondences within overlapping regions (<xref ref-type="bibr" rid="B26">Liu et&#xa0;al., 2017</xref>). However, in diametrically opposed 180&#xb0; scans, these regions are confined to sparse transitional boundaries&#x2014;narrow zones where front and rear projections partially intersect. These sparse common points in such boundaries exhibit feature ambiguity due to occlusion and geometric complexity, limiting the effectiveness of both conventional methods (e.g., FPFH) and learning-based approaches (<xref ref-type="bibr" rid="B14">Fu et&#xa0;al., 2023</xref>).</p>
<p>To address this, the proposed method eliminates dependency on explicit overlap by leveraging the structural consistency of trees. By focusing on these anatomically consistent components, such as trunks and primary branches, which are typically observable from both views despite low overlap, the algorithm locates corresponding structural parts in each point cloud and constructs robust initial alignments under challenging low-overlap conditions.</p>
<p>For the trunk, the same parts across viewpoints can be identified using height above ground. However, relying solely on the trunk often fails to meet 3D registration requirements. Therefore, branch morphological and spatial distribution characteristics are utilized to assist registration. Branches exhibit significant morphological differences and distinctive spatial distributions, providing a critical basis for matching point clouds from different perspectives.</p>
<p>Describing trunks and branches typically requires referencing the ground as a baseline and employing 2D circular or 3D cylindrical fitting to extract structural information (<xref ref-type="bibr" rid="B34">Pfeifer et&#xa0;al., 2004</xref>; <xref ref-type="bibr" rid="B50">Xu et&#xa0;al., 2022</xref>). However, trunks and branches often appear as ellipses or irregular shapes in thin cross-sections, and noise complicates precise differentiation. While 2D circle fitting is computationally intensive and error-prone, cylindrical fitting, which incorporates multi-layer information, improves stability and accuracy, outperforming single-layer fitting (<xref ref-type="bibr" rid="B36">Raumonen et&#xa0;al., 2013</xref>; <xref ref-type="bibr" rid="B23">Li et&#xa0;al., 2022</xref>). Thus, this paper adopts cylindrical fitting for better localization.</p>
<p>Here we detail the branch matching process, covering the segmentation of key branch segments, the filtering of potential pairing branches, and the final selection of the best match.</p>
<p>Firstly, branch segments in the same key region of both point clouds are segmented. This initial step is designed to simplify the complex matching problem by focusing on short, geometrically simple segments rather than the entire intricate branching structure. Specifically, we isolate the tree&#x2019;s middle-lower sections based on height above the ground (<xref ref-type="fig" rid="f4">
<bold>Figure&#xa0;4A</bold>
</xref>), where the trunk and branches are thicker and less affected by wind, and the trunk reflects the tree&#x2019;s overall growth trend. Given the trunk&#x2019;s larger radius, we can use RANSAC to fit a cylinder (<xref ref-type="bibr" rid="B13">Fischler and Bolles, 1981</xref>) and identify the trunk, obtaining its axis. This axis then serves as a reference to segment the branch segments within a specific distance (<xref ref-type="fig" rid="f4">
<bold>Figure&#xa0;4B</bold>
</xref>).</p>
<fig id="f4" position="float">
<label>Figure&#xa0;4</label>
<caption>
<p>Segmenting and filtering potential pairing branches. <bold>(A)</bold> Mid-to-lower point cloud extraction. <bold>(B)</bold> Fitting the mid-to-lower trunk and segmenting branchs by distance from the cylinder axis. <bold>(C)</bold> Filtering potential pairs using cluster size and inlier ratio. The chain lines represents the axis line obtained by fitting.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-16-1616611-g004.tif">
<alt-text content-type="machine-generated">Illustration of a tree in three stages labeled A, B, and C. A shows the initial tree structure. B depicts the process of fitting the trunk and segmenting branches, indicated by dark lines on the trunk. C illustrates clustering segments and filtering clusters, highlighting selected branches and segments with dashed lines.</alt-text>
</graphic>
</fig>
<p>To define the area of branch segments suitable for robust matching, we conducted field measurements and statistical analysis on the 5&#x2013;7-year-old tall-spindle apple trees used in our study. Our analysis indicated that while branch-trunk junction shapes vary significantly in the region up to 0.07 m from the trunk, the zone between 0.07 m and 0.14 m is optimal. Within this region, branches consistently display more pronounced cylindrical characteristics with fewer secondary branches, which reduces geometric ambiguity for our matching algorithm. In addition, as these segments are located closer to the trunk, they are less susceptible to wind-induced motion, further improving their geometric stability. This region is also more likely to contain branches segments that are both visible from both opposing viewpoints, thereby reducing mismatches due to single-view visibility in the 180&#xb0; setup. Meanwhile, the standardized tall-spindle horticultural system, through continuous pruning, ensures that this key structural geometry remains highly consistent across the representative age range of our subjects and is less influenced by species-specific variations. Consequently, this region is identified as the key branch area for registration.</p>
<p>Secondly, potential pairing branches are filtered among the key branch segments obtained earlier. For the initial screening, the Euclidean clustering method (<xref ref-type="bibr" rid="B30">Miao et&#xa0;al., 2023</xref>) was employed to filter clusters based on point count. Larger clusters, which likely contain curved branch segments or secondary branch junctions, and smaller clusters, typically representing thinner branches or incomplete point clouds, were both excluded due to their poor conformity to cylindrical shapes. Next, cylindrical fitting was performed on clusters of moderate size, and the quality of the fit was evaluated by the proportion of inliers (<xref ref-type="bibr" rid="B40">Salehi et&#xa0;al., 2022</xref>; <xref ref-type="bibr" rid="B29">Mart&#xed;nez-Otzeta et&#xa0;al., 2023</xref>). Clusters with an inlier ratio below 30% were discarded, while those exceeding the threshold were labeled as &#x201c;potential pairing branches.&#x201d; Thus, we filtered potential pairing branches <inline-formula>
<mml:math display="inline" id="im1">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo>{</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> from the source point cloud and <inline-formula>
<mml:math display="inline" id="im2">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo>{</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> from the target point cloud, as illustrated in <xref ref-type="fig" rid="f4">
<bold>Figure&#xa0;4C</bold>
</xref>. At this stage, there are <inline-formula>
<mml:math display="inline" id="im3">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> possible pairing combinations between <inline-formula>
<mml:math display="inline" id="im4">
<mml:mi>S</mml:mi>
</mml:math>
</inline-formula> and <inline-formula>
<mml:math display="inline" id="im5">
<mml:mi>T</mml:mi>
</mml:math>
</inline-formula>.</p>
<p>Finally, the best match is selected from the possible pairing combinations. To identify structural correspondences under low-overlap conditions, we introduce a branch matching strategy based on local geometric attributes. Specifically, three key features are extracted and quantified for each candidate branch segment: the radius <inline-formula>
<mml:math display="inline" id="im6">
<mml:mi>r</mml:mi>
</mml:math>
</inline-formula> of the fitted branch cylinder, the angle <inline-formula>
<mml:math display="inline" id="im7">
<mml:mi>&#x3b8;</mml:mi>
</mml:math>
</inline-formula> between its axis and the trunk cylinder axis, and the height <inline-formula>
<mml:math display="inline" id="im8">
<mml:mi>h</mml:mi>
</mml:math>
</inline-formula> of its centroid above the ground, as shown in <xref ref-type="fig" rid="f5">
<bold>Figure&#xa0;5</bold>
</xref>. These features jointly characterize the spatial and morphological properties of each branch, offering sufficient distinctiveness and consistency across viewpoints.</p>
<fig id="f5" position="float">
<label>Figure&#xa0;5</label>
<caption>
<p>The best match. <bold>(A)</bold> Target point cloud branch parameters. <bold>(B)</bold> Source point cloud branch parameters. Branch segments are characterized using three feature parameters: <inline-formula>
<mml:math display="inline" id="im9">
<mml:mi>r</mml:mi>
</mml:math>
</inline-formula>, <inline-formula>
<mml:math display="inline" id="im10">
<mml:mi>&#x3b8;</mml:mi>
</mml:math>
</inline-formula>, and <inline-formula>
<mml:math display="inline" id="im11">
<mml:mi>h</mml:mi>
</mml:math>
</inline-formula>.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-16-1616611-g005.tif">
<alt-text content-type="machine-generated">Illustration showing two stylized trees, one in red and the other in blue, labeled as &#x201c;A&#x201d; and &#x201c;B&#x201d; respectively. Both trees have branches extending outward. Measurements labeled \(r_t\), \(r_s\), \(h_t\), \(h_s\), \(\theta_t\), and \(\theta_s\) depict angles and distances on the trees. A key indicates red for &#x201c;target&#x201d; and blue for &#x201c;source."</alt-text>
</graphic>
</fig>
<p>Due to inherent fitting errors arising from occlusions, noise, and viewpoint differences, residual discrepancies frequently exist between the feature values of truly corresponding branches. To account for this, we first compute the differences in radius, angle, and height for all <inline-formula>
<mml:math display="inline" id="im12">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> possible pairing combinations, and compare them against empirically determined thresholds (<inline-formula>
<mml:math display="inline" id="im13">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>r</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> = 5 mm, <inline-formula>
<mml:math display="inline" id="im14">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>&#x3b8;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> = 15&#xb0;, <inline-formula>
<mml:math display="inline" id="im15">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> = 50 mm). These thresholds were established through data-informed tuning on a representative subset of manually annotated branch pairs. They are conservatively chosen to accommodate noise and fitting uncertainty while effectively eliminating structurally implausible matches. Only pairs satisfying all three threshold conditions are retained for further evaluation.</p>
<p>Although threshold-based filtering eliminates most implausible matches, finer ambiguities may still arise when multiple source branches fall within the threshold bounds of the same target branch. To resolve such cases, enforce one-to-one correspondence, and account for the differing sensitivities of the three features, we introduce a feature discriminant function with dynamic weights to compute a fused residual (<xref ref-type="disp-formula" rid="eq1">Equation 1</xref>):</p>
<disp-formula id="eq1">
<label>(1)</label>
<mml:math display="block" id="M1">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>r</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>&#x3b8;</mml:mi>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>&#x3b8;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <inline-formula>
<mml:math display="inline" id="im16">
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula>
<mml:math display="inline" id="im17">
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula>
<mml:math display="inline" id="im18">
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represent the residuals of the radius, angle, and height, respectively, such as <inline-formula>
<mml:math display="inline" id="im19">
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>r</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo>|</mml:mo>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>|</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> for radius residual. The corresponding weighting factors are <inline-formula>
<mml:math display="inline" id="im20">
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula>
<mml:math display="inline" id="im21">
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>&#x3b8;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula>
<mml:math display="inline" id="im22">
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, calculated as follows <xref ref-type="disp-formula" rid="eq2">Equation 2</xref>:</p>
<disp-formula id="eq2">
<label>(2)</label>
<mml:math display="block" id="M2">
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable equalrows="true" equalcolumns="true">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mi>ln</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>r</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>&#x3b8;</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mi>ln</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>&#x3b8;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mi>ln</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>ln</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>r</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>ln</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>&#x3b8;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>ln</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x394;</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
<p>The core idea of this dynamic weighting strategy is to assign higher weights to features with smaller residual, thereby emphasizing the contribution of geometrically consistent features to similarity assessment. Unlike static weighting, this adaptive strategy adjusts feature importance based on different structural configurations, enabling more effective differentiation between correct and false matches. Specifically, a normalized dynamic weighting strategy is employed using a negative logarithmic function. Each feature&#x2019;s residual is normalized by dividing by its predefined threshold, and the negative logarithm of the normalized residual is applied to compute dynamic weights. The final score, which indicates fused residual of multiple features, is calculated using these weights, where lower scores correspond to smaller residual and higher similarity. Ultimately, for each branch in the target point cloud, only the source point cloud pairing with the smallest score is retained, ensuring a high-confidence one-to-one match.</p>
<p>As a final validation step, the quality of the cylindrical fit is used as a global confidence measure. Among all candidate pairs retained after scoring, the pair with the highest number of inlier points in its fitted cylinder is selected. This tie-breaking criterion ensures that the final correspondence used for transformation estimation is based on structurally robust and reliably measurable segments, adding an additional layer of stability to the matching process.</p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Coarse registration</title>
<p>The essence of point cloud registration is solving the transformation matrix <inline-formula>
<mml:math display="inline" id="im23">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>T</mml:mi>
</mml:mstyle>
</mml:math>
</inline-formula> that aligns the source point cloud <inline-formula>
<mml:math display="inline" id="im24">
<mml:mrow>
<mml:mtext mathvariant="bold">&#x1d4ab;</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>p</mml:mi>
</mml:mstyle>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> with the target point cloud <inline-formula>
<mml:math display="inline" id="im25">
<mml:mrow>
<mml:mtext mathvariant="bold">&#x1d4ac;</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>q</mml:mi>
</mml:mstyle>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mi>q</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. This process can be expressed by <xref ref-type="disp-formula" rid="eq3">Equation 3</xref>:</p>
<disp-formula id="eq3">
<label>(3)</label>
<mml:math display="block" id="M3">
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable equalrows="true" equalcolumns="true">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>q</mml:mi>
</mml:mstyle>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
<mml:mo>=</mml:mo>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>T</mml:mi>
</mml:mstyle>
<mml:mo>[</mml:mo>
<mml:mtable equalrows="true" equalcolumns="true">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>p</mml:mi>
</mml:mstyle>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <inline-formula>
<mml:math display="inline" id="im26">
<mml:mrow>
<mml:msubsup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>p</mml:mi>
</mml:mstyle>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula>
<mml:math display="inline" id="im27">
<mml:mrow>
<mml:msubsup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>q</mml:mi>
</mml:mstyle>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represent the coordinates of the <italic>i-</italic>th point in the source and target point clouds, respectively. <inline-formula>
<mml:math display="inline" id="im28">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>T</mml:mi>
</mml:mstyle>
</mml:math>
</inline-formula>, as a rigid-body transformation in space, is typically considered 6 degrees of freedom (DoF) transformation, consisting of 3-DoF for rotation and 3-DoF for translation.</p>
<disp-formula id="eq4">
<label>(4)</label>
<mml:math display="block" id="M4">
<mml:mrow>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>T</mml:mi>
</mml:mstyle>
<mml:mo>=</mml:mo>
<mml:mo>[</mml:mo>
<mml:mtable equalrows="true" equalcolumns="true">
<mml:mtr>
<mml:mtd>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>R</mml:mi>
</mml:mstyle>
</mml:mtd>
<mml:mtd>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>t</mml:mi>
</mml:mstyle>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>[</mml:mo>
<mml:mtable equalrows="true" equalcolumns="true">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mn>11</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mn>12</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mn>13</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mn>21</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mn>22</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mn>23</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mn>31</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mn>32</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mn>33</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>z</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Since most TLS devices, including the TLS used in this study, provide high accuracy in the horizontal direction (<xref ref-type="bibr" rid="B3">Cai et&#xa0;al., 2019</xref>; <xref ref-type="bibr" rid="B55">Zang et&#xa0;al., 2021</xref>), rotations around the X and Y axes can be neglected during the matrix solution, and the matrix <inline-formula>
<mml:math display="inline" id="im29">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>T</mml:mi>
</mml:mstyle>
</mml:math>
</inline-formula> simplifies to <inline-formula>
<mml:math display="inline" id="im30">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>T</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula> (<xref ref-type="disp-formula" rid="eq5">Equation 5</xref>):</p>
<disp-formula id="eq5">
<label>(5)</label>
<mml:math display="block" id="M5">
<mml:mrow>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>T</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mstyle>
<mml:mo>=</mml:mo>
<mml:mo>[</mml:mo>
<mml:mtable equalrows="true" equalcolumns="true">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>R</mml:mi>
</mml:mstyle>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>&#x3d5;</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>t</mml:mi>
</mml:mstyle>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>[</mml:mo>
<mml:mtable equalrows="true" equalcolumns="true">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>sin</mml:mi>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>sin</mml:mi>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>z</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>The simplified matrix <inline-formula>
<mml:math display="inline" id="im31">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>T</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula> is a 4-DoF problem, and <xref ref-type="bibr" rid="B47">Wang X. et&#xa0;al. (2023)</xref> have also compared 6-DoF and 4-DoF estimation methods for TLS point cloud registration, with the latter demonstrating significantly higher accuracy. The transformation matrix <inline-formula>
<mml:math display="inline" id="im32">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>T</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula> can be further decomposed into a 1-DoF rotation around the vertical axis and a 3-DoF translation in space. Specifically, rotational alignment in the XOY plane is achieved using the best matching branch, followed by translational alignment in 3D space using trunk information.</p>
<p>The first step is rotation in the XOY plane, i.e., around the vertical axis. In low-overlap viewpoints, the structural information of matched branches and trunks exhibits higher consistency. To leverage this, cylinders are fitted to the best matching branch, and their axes are extracted. These axes are then projected onto the XOY plane, with their intersection point denoted as <inline-formula>
<mml:math display="inline" id="im33">
<mml:mrow>
<mml:mi>O</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>o</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>o</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. The angle between the projected axes determines the required rotation angle <inline-formula>
<mml:math display="inline" id="im34">
<mml:mi>&#x3b1;</mml:mi>
</mml:math>
</inline-formula>. Specifically, the center of rotation is first shifted from the origin to <inline-formula>
<mml:math display="inline" id="im35">
<mml:mi>O</mml:mi>
</mml:math>
</inline-formula>. The source point cloud is then rotated around <inline-formula>
<mml:math display="inline" id="im36">
<mml:mi>O</mml:mi>
</mml:math>
</inline-formula>, after which the rotated point cloud is translated back to the origin. Through this series of combined transformations, the transformation matrix can be calculated (<xref ref-type="disp-formula" rid="eq6">Equation 6</xref>). As shown in <xref ref-type="fig" rid="f6">
<bold>Figure&#xa0;6</bold>
</xref>, this step aligns the two point clouds by rotation.</p>
<fig id="f6" position="float">
<label>Figure&#xa0;6</label>
<caption>
<p>Coarse registration rotation. <bold>(A)</bold> Projection of the axes of matched branch segments. <bold>(B)</bold> Rotation to align the axes.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-16-1616611-g006.tif">
<alt-text content-type="machine-generated">Diagram showing two figures labeled A and B. Figure A displays blue and red branching structures labeled &#x201c;source&#x201d; and &#x201c;target,&#x201d; respectively, with a yellow line indicating angle alpha, originating from point O (x&#x2080;, y&#x2080;, 0). Figure B shows the same structures rotated and overlapping. An arrow indicates rotation. A legend differentiates the colors.</alt-text>
</graphic>
</fig>
<disp-formula id="eq6">
<label>(6)</label>
<mml:math display="block" id="M6">
<mml:mrow>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>T</mml:mi>
</mml:mstyle>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mn>1</mml:mn>
</mml:mstyle>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>[</mml:mo>
<mml:mtable equalrows="true" equalcolumns="true">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>sin</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>o</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>cos</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>o</mml:mi>
</mml:msub>
<mml:mi>sin</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>sin</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>o</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>cos</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>o</mml:mi>
</mml:msub>
<mml:mi>sin</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>The next step is a straightforward translation operation, aligning corresponding points after rotational alignment. Given that the basal trunk generally lacks lateral branches, has a larger diameter, retains more complete point clouds, and approximates a cylinder, its structural center is selected as the reference for translation. Specifically, a trunk section at the same height is extracted from both viewpoints&#x2014;at a height between 0.20 m and 0.30 m above the ground plane, a range chosen to avoid irregularities near the root collar while remaining below the first major branches&#x2014;approximating different observations of the same bottom trunk. And then a cylindrical model is fitted to this section by RANSAC, and from its resulting axis, the geometric center of this trunk segment is computed, denoted as <inline-formula>
<mml:math display="inline" id="im37">
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> in the source point cloud and <inline-formula>
<mml:math display="inline" id="im38">
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> in the target point cloud (<xref ref-type="fig" rid="f7">
<bold>Figure&#xa0;7</bold>
</xref>). These centers serve as the corresponding points for translation. At this stage, the coordinate difference between the corresponding points represents the translation component of the transformation matrix, which can then be obtained (<xref ref-type="disp-formula" rid="eq7">Equation 7</xref>):</p>
<fig id="f7" position="float">
<label>Figure&#xa0;7</label>
<caption>
<p>Coarse registration translation. <bold>(A)</bold> Center points of matched trunk segments. <bold>(B)</bold> Translation to align the center points. <italic>G<sub>src</sub>
</italic> and <italic>G<sub>tgt&#x200b;</sub>
</italic> denote the geometric centers of the matched basal trunk segments for the source and target point clouds, respectively.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-16-1616611-g007.tif">
<alt-text content-type="machine-generated">Two diagrams labeled A and B show 3D point clouds of tree structures, with red indicating target and blue indicating source. Diagram A shows separate target and source trees, while diagram B shows them aligned through translation. A black arrow labeled &#x201c;Translation&#x201d; points from A to B.</alt-text>
</graphic>
</fig>
<disp-formula id="eq7">
<label>(7)</label>
<mml:math display="block" id="M7">
<mml:mrow>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>T</mml:mi>
</mml:mstyle>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mn>2</mml:mn>
</mml:mstyle>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>[</mml:mo>
<mml:mtable equalrows="true" equalcolumns="true">
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>With this, the complete rotation translation matrix for coarse registration can be constructed as <inline-formula>
<mml:math display="inline" id="im39">
<mml:mrow>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>T</mml:mi>
</mml:mstyle>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>T</mml:mi>
</mml:mstyle>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>T</mml:mi>
</mml:mstyle>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Fine registration</title>
<p>To further improve the registration accuracy and quality, fine registration is performed using the point-to-point iterative closest point (ICP) algorithm (<xref ref-type="bibr" rid="B1">Besl and McKay, 1992</xref>), which minimizes the Euclidean distance between corresponding points to iteratively achieve optimal alignment. However, we observed that in practice, excessive pursuit of local minimization can lead to overfitting, a phenomenon we term &#x201c;over-registration.&#x201d; This issue may cause the final alignment deviating from the true geometric structure (<xref ref-type="bibr" rid="B21">Kelbe et&#xa0;al., 2016</xref>), as illustrated in <xref ref-type="fig" rid="f8">
<bold>Figure&#xa0;8</bold>
</xref>.</p>
<fig id="f8" position="float">
<label>Figure&#xa0;8</label>
<caption>
<p>Over-registration illustration. <bold>(A)</bold> Normal registration (top view). <bold>(B)</bold> Excessive translation (top view). <bold>(C)</bold> Excessive rotation (top view).</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-16-1616611-g008.tif">
<alt-text content-type="machine-generated">Diagram with three panels labeled A, B, and C. Panel A shows a pink triangle labeled &#x201c;Target&#x201d; and a blue triangle labeled &#x201c;Source&#x201d; with an overlapping circular shape labeled &#x201c;Q&#x201d; and &#x201c;P&#x201d;. Panel B shows the overlapped triangles with arrows pointing towards &#x201c;Q&#x201d; and &#x201c;P&#x201d; on a circle. Panel C shows similar elements as B with arrow directions reversed.</alt-text>
</graphic>
</fig>
<p>To address this issue and ensure the alignment is focused on the key structural features, our primary strategy is to exclude the ground and trunk point clouds from the ICP process, which are more prone to causing local minima convergence, and use only the remaining branch point clouds for registration. This is because these geometrically simple structures constitute a dominant portion of the total point cloud, and their high consistency between scans can dominate the registration&#x2019;s error metric, masking misalignments in the more complex branching architecture. In contrast, the morphology of branches is more complex and diverse, making them better representations of local features from different viewpoints of the same tree. These features provide independent constraints, helping to prevent convergence to local minima, while enhancing registration stability and accuracy in low-overlap scenarios.</p>
<p>Additionally, to further refine this process and improve stability, we introduce the &#x201c;theoretical overlap ratio&#x201d; parameter from the CloudCompare core library. In our branch-only ICP process, we empirically set this value to 90%. This directs the algorithm to, in each iteration, effectively filter out the 10% of point-pair correspondences with the largest Euclidean distances. This supplementary measure further reduces the influence of potentially unreliable correspondences, ensuring the registration is robust against residual noise or minor misalignments. This two-step process ensures that the final alignment is determined by the most reliable correspondences on the tree&#x2019;s branching structure, yielding a high-fidelity result. By using this ICP algorithm optimized for low-overlap cases, we obtain the transformation matrix <inline-formula>
<mml:math display="inline" id="im40">
<mml:mrow>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>T</mml:mi>
</mml:mstyle>
<mml:mi>f</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> for fine registration. This allows us to compute the overall rotation-translation matrix for point cloud registration as <inline-formula>
<mml:math display="inline" id="im41">
<mml:mrow>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>T</mml:mi>
</mml:mstyle>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>T</mml:mi>
</mml:mstyle>
<mml:mi>f</mml:mi>
</mml:msub>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>T</mml:mi>
</mml:mstyle>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. And then ultimately align the source and target point clouds according to <xref ref-type="disp-formula" rid="eq3">Equation 3</xref>, completing the 3D reconstruction of the apple tree point cloud.</p>
<p>In summary, by optimizing the processing flow and strategies, the proposed method achieves marker-free, automated registration of low-overlap point clouds for individual apple trees. Designed specifically for low-overlap scenarios, this method utilizes local matching of the trunk and branches to effectively address the challenges of feature extraction and registration from different viewpoints, thereby completing the 3D reconstruction of point clouds.</p>
</sec>
<sec id="s3_4">
<label>3.4</label>
<title>Evaluation metrics</title>
<p>We tested our proposed registration algorithm on the Apple-Trees dataset and quantitatively evaluated the registration results using the ground truth. Based on the overall workflow and the intermediate values and results that may arise during the process, we use the following three evaluation metrics:</p>
<list list-type="bullet">
<list-item>
<p>Success rate (<xref ref-type="bibr" rid="B47">Wang X. et&#xa0;al., 2023</xref>). The overall success of our registration pipeline hinges on the coarse registration&#x2019;s ability to establish the correct initial alignment. We therefore define a successful trial based on a direct measure of our core contribution: a registration is considered a &#x201c;success&#x201d; if the best matching branch identified by our BranchMatch algorithm matches the manually annotated ground-truth correspondence. This approach provides a meaningful evaluation of our method&#x2019;s matching robustness. The final success rate is then calculated as the number of successful registrations divided by the total number of trials.</p>
</list-item>
<list-item>
<p>Matrix-based errors (<xref ref-type="bibr" rid="B51">Yang et&#xa0;al., 2016</xref>). To evaluate the accuracy of the estimated transformation, we compare the transformation matrix obtained by our BranchMatch algorithm with the ground truth. As expressed in <xref ref-type="disp-formula" rid="eq4">Equation 4</xref>, each transformation matrix can be decomposed into a rotation matrix <inline-formula>
<mml:math display="inline" id="im42">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>R</mml:mi>
</mml:mstyle>
</mml:math>
</inline-formula> and a translation vector <inline-formula>
<mml:math display="inline" id="im43">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>t</mml:mi>
</mml:mstyle>
</mml:math>
</inline-formula>. Based on this, we define two error metrics:</p>
</list-item>
<list-item>
<p>Rotation error is computed using the axis-angle representation. <xref ref-type="disp-formula" rid="eq8">Equation 8</xref> gives the rotation angle <inline-formula>
<mml:math display="inline" id="im44">
<mml:mi>&#x3b2;</mml:mi>
</mml:math>
</inline-formula> of a single rotation matrix <inline-formula>
<mml:math display="inline" id="im45">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>R</mml:mi>
</mml:mstyle>
</mml:math>
</inline-formula>, while <xref ref-type="disp-formula" rid="eq9">Equation 9</xref> calculates the angular difference between the estimated rotation <inline-formula>
<mml:math display="inline" id="im46">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>R</mml:mi>
</mml:mstyle>
</mml:math>
</inline-formula> and the ground truth rotation <inline-formula>
<mml:math display="inline" id="im47">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>R</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula>. Both are derived using Rodrigues&#x2019; formula:</p>
</list-item>
</list>
<disp-formula id="eq8">
<label>(8)</label>
<mml:math display="block" id="M8">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>arccos</mml:mi>
<mml:mo>(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mtext>tr</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>R</mml:mi>
</mml:mstyle>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="eq9">
<label>(9)</label>
<mml:math display="block" id="M9">
<mml:mrow>
<mml:msub>
<mml:mi>e</mml:mi>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>R</mml:mi>
</mml:mstyle>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>arccos</mml:mi>
<mml:mtable equalrows="true" equalcolumns="true">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mtext>tr</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>R</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mstyle>
<mml:msup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>R</mml:mi>
</mml:mstyle>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>T</mml:mi>
</mml:mstyle>
</mml:msup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <inline-formula>
<mml:math display="inline" id="im48">
<mml:mrow>
<mml:mtext>tr</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>R</mml:mi>
</mml:mstyle>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is the trace of matrix <inline-formula>
<mml:math display="inline" id="im49">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>R</mml:mi>
</mml:mstyle>
</mml:math>
</inline-formula>.</p>
<list list-type="bullet">
<list-item>
<p>Translation error is defined as the Euclidean distance between the estimated translation vector <inline-formula>
<mml:math display="inline" id="im50">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>t</mml:mi>
</mml:mstyle>
</mml:math>
</inline-formula> and the ground-truth translation <inline-formula>
<mml:math display="inline" id="im51">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula> (<xref ref-type="disp-formula" rid="eq10">Equation 10</xref>):</p>
</list-item>
</list>
<disp-formula id="eq10">
<label>(10)</label>
<mml:math display="block" id="M10">
<mml:mrow>
<mml:msub>
<mml:mi>e</mml:mi>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>t</mml:mi>
</mml:mstyle>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>&#x2225;</mml:mo>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>t</mml:mi>
</mml:mstyle>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mstyle>
<mml:mo>&#x2225;</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<list list-type="bullet">
<list-item>
<p>Pointwise error (<xref ref-type="bibr" rid="B6">Chen et&#xa0;al., 2020</xref>). This metric reflects the registration accuracy at the point level. It is calculated as the average Euclidean distance between the transformed coordinates in our method and the coordinates transformed by the ground truth for all points in the source point cloud, as shown in <xref ref-type="disp-formula" rid="eq11">Equation 11</xref>:</p>
</list-item>
</list>
<disp-formula id="eq11">
<label>(11)</label>
<mml:math display="block" id="M11">
<mml:mrow>
<mml:msub>
<mml:mi>e</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mi>p</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mi>p</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:munderover>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>R</mml:mi>
</mml:mstyle>
<mml:msubsup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>p</mml:mi>
</mml:mstyle>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>t</mml:mi>
</mml:mstyle>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>R</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mstyle>
<mml:msubsup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>p</mml:mi>
</mml:mstyle>
<mml:mi>i</mml:mi>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mo>*</mml:mo>
</mml:mstyle>
</mml:msubsup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mo>+</mml:mo>
<mml:mover accent="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mstyle>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>&#x2225;</mml:mo>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <inline-formula>
<mml:math display="inline" id="im52">
<mml:mrow>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mi>p</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the number of points in the source point cloud, and <inline-formula>
<mml:math display="inline" id="im53">
<mml:mrow>
<mml:msubsup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>p</mml:mi>
</mml:mstyle>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the <italic>i</italic>-th point.</p>
</sec>
</sec>
<sec id="s4" sec-type="results">
<label>4</label>
<title>Results and discussion</title>
<p>Our algorithm was implemented in C++ using the Point Cloud Library (<xref ref-type="bibr" rid="B39">Rusu and Cousins, 2011</xref>) and CCCoreLib (<xref ref-type="bibr" rid="B15">Girardeau-Montaut, 2006</xref>). All operations were performed on a computer equipped with an Intel Core i5 CPU (16 threads) and 32 GB RAM.</p>
<sec id="s4_1">
<label>4.1</label>
<title>Registration results</title>
<p>This study aims to register two 180&#xb0;-separated, low-overlap point clouds. The algorithm is tested on the Apple-Trees dataset under these conditions. Due to its symmetry in source-target selection, registration results are analyzed in two configurations: S1 (target) with S4 (source) and S2 (target) with S3 (source).</p>
<sec id="s4_1_1">
<label>4.1.1</label>
<title>Coarse registration results</title>
<p>Coarse registration, a critical step, provides an initial alignment for fine registration. <xref ref-type="fig" rid="f9">
<bold>Figure&#xa0;9</bold>
</xref> shows the coarse registration results under S1-S4 and S2-S3 conditions. In S2-S3, Tree #3 and Tree #6 failed to match branches, resulting in an 18/20 success rate (90%).</p>
<fig id="f9" position="float">
<label>Figure&#xa0;9</label>
<caption>
<p>Coarse registration results. <bold>(A)</bold> S4 (blue) to S1 (red) for Trees #1-#10. <bold>(B)</bold> S3 (green) to S2 (yellow) for Trees #1-#10; registration failed for Tree #3 and Tree #6.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-16-1616611-g009.tif">
<alt-text content-type="machine-generated">Two sets of comparative diagrams labeled A and B, each with ten images of trees. Set A shows trees with blue and orange lines, indicating source and target points respectively. Set B displays trees with green and orange lines, also representing source and target points. Both sets use a scale of 0.5 meters. Each figure is numbered, demonstrating variations in the alignment or growth patterns of the trees.</alt-text>
</graphic>
</fig>
<p>
<xref ref-type="fig" rid="f9">
<bold>Figure&#xa0;9</bold>
</xref> reveals that despite coarse registration, local misalignments remain, primarily as slight rotational deviations. However, the ground and trunk sections align almost perfectly, confirming their high overlap across viewpoints. In contrast, branches exhibit greater morphological variation, better capturing local features. As a result, visual errors are smaller in trees with thicker branches and clearer point clouds.</p>
<p>In addition to success rate, coarse registration requires accuracy. For the proposed method, rotation plays a decisive role (<xref ref-type="fig" rid="f9">
<bold>Figure&#xa0;9</bold>
</xref>), with rotational error indicating correct branch matching. Translation error, primarily from trunk cylinder center point inaccuracies due to ground and trunk fitting, has minimal impact. Pointwise error, reflecting distances between corresponding points, is a key metric for registration accuracy. Thus, <xref ref-type="table" rid="T2">
<bold>Table&#xa0;2</bold>
</xref> summarizes rotational and pointwise errors for each tree under both alignment conditions.</p>
<table-wrap id="T2" position="float">
<label>Table&#xa0;2</label>
<caption>
<p>Statistics on coarse registration error.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" rowspan="2" align="center">Tree ID</th>
<th valign="middle" colspan="2" align="center">
<italic>e</italic>
<sub>
<italic>R</italic>
</sub> (mrad)</th>
<th valign="middle" colspan="2" align="center">
<italic>e</italic>
<sub>
<italic>p</italic>
</sub> (mm)</th>
</tr>
<tr>
<th valign="middle" align="center">S1-S4</th>
<th valign="middle" align="center">S2-S3</th>
<th valign="middle" align="center">S1-S4</th>
<th valign="middle" align="center">S2-S3</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" align="center">#1</td>
<td valign="middle" align="center">143.58</td>
<td valign="middle" align="center">131.44</td>
<td valign="middle" align="center">54.07</td>
<td valign="middle" align="center">53.13</td>
</tr>
<tr>
<td valign="middle" align="center">#2</td>
<td valign="middle" align="center">106.27</td>
<td valign="middle" align="center">27.40</td>
<td valign="middle" align="center">47.15</td>
<td valign="middle" align="center">17.14</td>
</tr>
<tr>
<td valign="middle" align="center">#3</td>
<td valign="middle" align="center">24.53</td>
<td valign="middle" align="center">&#x2013;</td>
<td valign="middle" align="center">15.45</td>
<td valign="middle" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="middle" align="center">#4</td>
<td valign="middle" align="center">54.43</td>
<td valign="middle" align="center">41.79</td>
<td valign="middle" align="center">26.92</td>
<td valign="middle" align="center">13.89</td>
</tr>
<tr>
<td valign="middle" align="center">#5</td>
<td valign="middle" align="center">221.32</td>
<td valign="middle" align="center">469.19</td>
<td valign="middle" align="center">57.47</td>
<td valign="middle" align="center">113.47</td>
</tr>
<tr>
<td valign="middle" align="center">#6</td>
<td valign="middle" align="center">11.35</td>
<td valign="middle" align="center">&#x2013;</td>
<td valign="middle" align="center">11.79</td>
<td valign="middle" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="middle" align="center">#7</td>
<td valign="middle" align="center">81.94</td>
<td valign="middle" align="center">48.10</td>
<td valign="middle" align="center">29.56</td>
<td valign="middle" align="center">18.05</td>
</tr>
<tr>
<td valign="middle" align="center">#8</td>
<td valign="middle" align="center">35.59</td>
<td valign="middle" align="center">21.09</td>
<td valign="middle" align="center">14.63</td>
<td valign="middle" align="center">9.47</td>
</tr>
<tr>
<td valign="middle" align="center">#9</td>
<td valign="middle" align="center">106.74</td>
<td valign="middle" align="center">18.20</td>
<td valign="middle" align="center">28.86</td>
<td valign="middle" align="center">6.30</td>
</tr>
<tr>
<td valign="middle" align="center">#10</td>
<td valign="middle" align="center">120.84</td>
<td valign="middle" align="center">214.13</td>
<td valign="middle" align="center">47.12</td>
<td valign="middle" align="center">65.46</td>
</tr>
<tr>
<td valign="middle" align="center">Average</td>
<td valign="middle" colspan="2" align="center">104.33</td>
<td valign="middle" colspan="2" align="center">35.00</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>
<italic>e</italic>
<sub>
<italic>R</italic>
</sub> represents the rotation error of matrix-based errors, while <italic>e</italic>
<sub>
<italic>p</italic>
</sub> denotes the pointwise error.</p>
</fn>
<fn>
<p>&#x201c;-&#x201d; denotes registration failure.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>Analyzing the data, the coarse registration achieved an average rotation error of 104.33 mrad (~5.98&#xb0;) and a pointwise error of 35.00 mm for 180&#xb0;-separated viewpoints, satisfying ICP algorithm requirements. Tree #6 (S1-S4) and Tree #9 (S2-S3) exhibited the lowest errors, indicating the most accurate registration and aligning with visual results in <xref ref-type="fig" rid="f9">
<bold>Figure&#xa0;9</bold>
</xref>. In contrast, Tree #5 showed the highest errors in both configurations. Despite correct branch matching, its registration accuracy is lower due to the challenge of fitting its thin branches&#x2014;as shown in <xref ref-type="table" rid="T1">
<bold>Table&#xa0;1</bold>
</xref>, its maximum and average basal branch diameters are only 1.7 cm and 1.4 cm, respectively, the lowest in the dataset&#x2014;leading to higher errors.</p>
<p>Moreover, a failure analysis of the S2-S3 configuration provides further insight into the algorithm&#x2019;s mechanics. The two failures, Tree #3 and Tree #6, occurred for different, viewpoint-dependent reasons. For Tree #3, its failure can be attributed to its extreme structural complexity; with the highest branch count (18), the S2-S3 perspective resulted in severe inter-branch occlusion. For Tree #6, the challenge was structural ambiguity; several of its primary branches had highly similar geometric features, a result of deviating from standard pruning guidelines. This ambiguity, combined with its small crown width, created a geometrically confusing profile from the S2-S3 perspective, leading to matching failure. Crucially, the success of both trees in the S1-S4 configuration validates our design philosophy. It demonstrates that our algorithm&#x2019;s success is not dependent on overlap percentage, but on its ability to leverage the holistic architectural information provided by a given viewpoint. When a perspective like S1-S4 provides clear, unambiguous structural cues&#x2014;even for a dense or atypical tree&#x2014;BranchMatch can robustly and efficiently succeed under challenging low-overlap conditions.</p>
</sec>
<sec id="s4_1_2">
<label>4.1.2</label>
<title>Fine registration results</title>
<p>Following coarse registration, ICP-based optimization was applied for branch-focused fine registration. <xref ref-type="fig" rid="f10">
<bold>Figure&#xa0;10</bold>
</xref> shows the results: missing point clouds from single viewpoints were filled, revealing finer tree details, with remaining gaps due to external occlusions like drip irrigation tapes. A local zoom-in of side and top views at various heights shows a near &#x201c;perfectly halved&#x201d; distribution in low-overlap regions. This confirms that the proposed method effectively mitigates over-registration while achieving high-accuracy alignment.</p>
<fig id="f10" position="float">
<label>Figure&#xa0;10</label>
<caption>
<p>Fine registration results. <bold>(A)</bold> S4 (blue) to S1 (red) for Trees #1-#10. <bold>(B)</bold> S3 (green) to S2 (yellow) for Trees #1-#10; registration failed for Tree #3 and Tree #6.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-16-1616611-g010.tif">
<alt-text content-type="machine-generated">Panel A shows ten point cloud images of a tree, with red indicating the target and blue the source. Detailed insets highlight sections of the tree. Panel B displays eight additional tree point clouds, using orange for the target and green for the source. Each image includes a 0.5-meter scale indicator.</alt-text>
</graphic>
</fig>
<p>Beyond visual assessment, quantifying fine registration errors is essential. Matrix-based errors evaluate rotation and translation performance, while pointwise errors measure Euclidean distance discrepancies between corresponding points. <xref ref-type="table" rid="T3">
<bold>Table&#xa0;3</bold>
</xref> presents fine registration errors for both S1-S4 and S2-S3 conditions.</p>
<table-wrap id="T3" position="float">
<label>Table&#xa0;3</label>
<caption>
<p>Statistics on fine registration error.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" rowspan="2" align="center">Case</th>
<th valign="middle" rowspan="2" align="center">Tree ID</th>
<th valign="middle" colspan="2" align="center">Matrix-based errors</th>
<th valign="middle" colspan="4" align="center">Pointwise errors</th>
</tr>
<tr>
<th valign="middle" align="center">
<italic>e</italic>
<sub>
<italic>R</italic>
</sub> (mrad)</th>
<th valign="middle" align="center">
<italic>e</italic>
<sub>
<italic>t</italic>
</sub> (mm)</th>
<th valign="middle" align="center">
<italic>e</italic>
<sub>
<italic>p</italic>
</sub>-x (mm)</th>
<th valign="middle" align="center">
<italic>e</italic>
<sub>
<italic>p</italic>
</sub>-y (mm)</th>
<th valign="middle" align="center">
<italic>e</italic>
<sub>
<italic>p</italic>
</sub>-z (mm)</th>
<th valign="middle" align="center">
<italic>e</italic>
<sub>
<italic>p</italic>
</sub> (mm)</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" rowspan="10" align="center">S1-S4</td>
<td valign="middle" align="center">#1</td>
<td valign="middle" align="center">0.97</td>
<td valign="middle" align="center">3.53</td>
<td valign="middle" align="center">2.08</td>
<td valign="middle" align="center">1.37</td>
<td valign="middle" align="center">0.22</td>
<td valign="middle" align="center">2.52</td>
</tr>
<tr>
<td valign="middle" align="center">#2</td>
<td valign="middle" align="center">1.74</td>
<td valign="middle" align="center">3.93</td>
<td valign="middle" align="center">2.26</td>
<td valign="middle" align="center">0.45</td>
<td valign="middle" align="center">0.44</td>
<td valign="middle" align="center">2.38</td>
</tr>
<tr>
<td valign="middle" align="center">#3</td>
<td valign="middle" align="center">1.30</td>
<td valign="middle" align="center">3.11</td>
<td valign="middle" align="center">2.56</td>
<td valign="middle" align="center">0.32</td>
<td valign="middle" align="center">0.27</td>
<td valign="middle" align="center">2.62</td>
</tr>
<tr>
<td valign="middle" align="center">#4</td>
<td valign="middle" align="center">3.58</td>
<td valign="middle" align="center">6.08</td>
<td valign="middle" align="center">3.21</td>
<td valign="middle" align="center">1.71</td>
<td valign="middle" align="center">1.61</td>
<td valign="middle" align="center">4.14</td>
</tr>
<tr>
<td valign="middle" align="center">#5</td>
<td valign="middle" align="center">1.65</td>
<td valign="middle" align="center">4.77</td>
<td valign="middle" align="center">1.35</td>
<td valign="middle" align="center">0.43</td>
<td valign="middle" align="center">1.21</td>
<td valign="middle" align="center">1.90</td>
</tr>
<tr>
<td valign="middle" align="center">#6</td>
<td valign="middle" align="center">1.74</td>
<td valign="middle" align="center">3.13</td>
<td valign="middle" align="center">0.67</td>
<td valign="middle" align="center">1.42</td>
<td valign="middle" align="center">1.61</td>
<td valign="middle" align="center">2.41</td>
</tr>
<tr>
<td valign="middle" align="center">#7</td>
<td valign="middle" align="center">1.31</td>
<td valign="middle" align="center">3.84</td>
<td valign="middle" align="center">1.55</td>
<td valign="middle" align="center">1.12</td>
<td valign="middle" align="center">0.20</td>
<td valign="middle" align="center">2.01</td>
</tr>
<tr>
<td valign="middle" align="center">#8</td>
<td valign="middle" align="center">1.30</td>
<td valign="middle" align="center">1.15</td>
<td valign="middle" align="center">2.24</td>
<td valign="middle" align="center">0.80</td>
<td valign="middle" align="center">1.10</td>
<td valign="middle" align="center">2.65</td>
</tr>
<tr>
<td valign="middle" align="center">#9</td>
<td valign="middle" align="center">2.68</td>
<td valign="middle" align="center">6.04</td>
<td valign="middle" align="center">1.78</td>
<td valign="middle" align="center">0.47</td>
<td valign="middle" align="center">0.55</td>
<td valign="middle" align="center">2.06</td>
</tr>
<tr>
<td valign="middle" align="center">#10</td>
<td valign="middle" align="center">1.48</td>
<td valign="middle" align="center">4.64</td>
<td valign="middle" align="center">1.30</td>
<td valign="middle" align="center">0.96</td>
<td valign="middle" align="center">2.52</td>
<td valign="middle" align="center">3.04</td>
</tr>
<tr>
<td valign="middle" rowspan="10" align="center">S2-S3</td>
<td valign="middle" align="center">#1</td>
<td valign="middle" align="center">1.54</td>
<td valign="middle" align="center">3.30</td>
<td valign="middle" align="center">1.90</td>
<td valign="middle" align="center">1.69</td>
<td valign="middle" align="center">0.40</td>
<td valign="middle" align="center">2.59</td>
</tr>
<tr>
<td valign="middle" align="center">#2</td>
<td valign="middle" align="center">3.00</td>
<td valign="middle" align="center">7.94</td>
<td valign="middle" align="center">2.99</td>
<td valign="middle" align="center">2.64</td>
<td valign="middle" align="center">1.00</td>
<td valign="middle" align="center">4.20</td>
</tr>
<tr>
<td valign="middle" align="center">#3</td>
<td valign="middle" align="center">&#x2013;</td>
<td valign="middle" align="center">&#x2013;</td>
<td valign="middle" align="center">&#x2013;</td>
<td valign="middle" align="center">&#x2013;</td>
<td valign="middle" align="center">&#x2013;</td>
<td valign="middle" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="middle" align="center">#4</td>
<td valign="middle" align="center">1.54</td>
<td valign="middle" align="center">1.46</td>
<td valign="middle" align="center">0.63</td>
<td valign="middle" align="center">1.46</td>
<td valign="middle" align="center">1.20</td>
<td valign="middle" align="center">2.09</td>
</tr>
<tr>
<td valign="middle" align="center">#5</td>
<td valign="middle" align="center">0.86</td>
<td valign="middle" align="center">3.85</td>
<td valign="middle" align="center">3.23</td>
<td valign="middle" align="center">0.45</td>
<td valign="middle" align="center">0.59</td>
<td valign="middle" align="center">3.33</td>
</tr>
<tr>
<td valign="middle" align="center">#6</td>
<td valign="middle" align="center">&#x2013;</td>
<td valign="middle" align="center">&#x2013;</td>
<td valign="middle" align="center">&#x2013;</td>
<td valign="middle" align="center">&#x2013;</td>
<td valign="middle" align="center">&#x2013;</td>
<td valign="middle" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="middle" align="center">#7</td>
<td valign="middle" align="center">2.43</td>
<td valign="middle" align="center">6.44</td>
<td valign="middle" align="center">0.89</td>
<td valign="middle" align="center">1.41</td>
<td valign="middle" align="center">1.82</td>
<td valign="middle" align="center">2.69</td>
</tr>
<tr>
<td valign="middle" align="center">#8</td>
<td valign="middle" align="center">1.37</td>
<td valign="middle" align="center">2.84</td>
<td valign="middle" align="center">0.20</td>
<td valign="middle" align="center">0.44</td>
<td valign="middle" align="center">0.95</td>
<td valign="middle" align="center">1.11</td>
</tr>
<tr>
<td valign="middle" align="center">#9</td>
<td valign="middle" align="center">3.27</td>
<td valign="middle" align="center">7.30</td>
<td valign="middle" align="center">2.83</td>
<td valign="middle" align="center">1.85</td>
<td valign="middle" align="center">0.78</td>
<td valign="middle" align="center">3.55</td>
</tr>
<tr>
<td valign="middle" align="center">#10</td>
<td valign="middle" align="center">2.90</td>
<td valign="middle" align="center">4.53</td>
<td valign="middle" align="center">1.05</td>
<td valign="middle" align="center">2.09</td>
<td valign="middle" align="center">2.04</td>
<td valign="middle" align="center">3.35</td>
</tr>
<tr>
<td valign="middle" colspan="2" align="center">Average</td>
<td valign="middle" align="center">1.93</td>
<td valign="middle" align="center">4.33</td>
<td valign="middle" align="center">1.82</td>
<td valign="middle" align="center">1.17</td>
<td valign="middle" align="center">1.03</td>
<td valign="middle" align="center">2.70</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>
<italic>e</italic>
<sub>
<italic>R</italic>
</sub> and <italic>e</italic>
<sub>
<italic>t</italic>
</sub> represent the rotation and translation errors, respectively.</p>
<p>
<italic>e</italic>
<sub>
<italic>p</italic>
</sub>-x, <italic>e</italic>
<sub>
<italic>p</italic>
</sub>-y, and <italic>e</italic>
<sub>
<italic>p</italic>
</sub>-z represent the pointwise error in each direction, i.e., the error in the coordinates of the points along the x, y, and z axes. while <italic>e</italic>
<sub>
<italic>p</italic>
</sub> denotes the pointwise error.</p>
</fn>
<fn>
<p>&#x201c;-&#x201d; denotes registration failure.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>As shown in <xref ref-type="table" rid="T3">
<bold>Table&#xa0;3</bold>
</xref>, the algorithm achieves high accuracy in registering low-overlap apple tree point clouds 180&#xb0; apart. The average rotation error is just 1.93 mrad (~0.11&#xb0;), ensuring precise alignment without distortion or significant misalignment. The average translation error is 4.33 mm, demonstrating millimeter-level precision despite orchard complexities and intricate branching. The average pointwise error is 2.70 mm, with errors of 1.82 mm, 1.17 mm, and 1.03 mm in the X, Y, and Z directions, respectively, indicating a uniform distribution without significant bias. Notably, the pointwise error magnitude reflects local alignment quality. In complex branch structures, the reduced pointwise error (variance: 0.59 mm) indicates the algorithm&#x2019;s strong adaptability to high-complexity scenarios.</p>
<p>Further analysis of individual tree registration results reveals that Tree #2 during the S2-S3 alignment exhibits the highest pointwise error, reaching 4.20 mm, significantly above average. This is due to its intricate branching and low-overlap affecting alignment accuracy. Nevertheless, as shown in <xref ref-type="fig" rid="f10">
<bold>Figure&#xa0;10B</bold>
</xref>, the overall error remains within an acceptable range. Visual assessment confirms well-aligned global structure and local details, with no significant geometric distortions, demonstrating the algorithm&#x2019;s robustness in error control under complex conditions. In simpler scenarios, accuracy improves further. For example, Tree #8 achieves a pointwise error of just 1.11 mm in the S2-S3 alignment, demonstrating the algorithm&#x2019;s superior performance when registering trees with distinct features in less complex environments.</p>
<p>The results confirm the effectiveness and robustness of the proposed algorithm in handling complex, low-overlap point clouds. Error analysis highlights its capability to manage challenges from intricate structures and local occlusions, demonstrating its potential to replace traditional marker-based methods. Overall, the algorithm achieves high-precision two-station registration for apple tree point clouds, enabling 3D reconstruction.</p>
</sec>
<sec id="s4_1_3">
<label>4.1.3</label>
<title>Evaluation of reconstructed model utility</title>
<p>To quantitatively evaluate the practical utility of the 3D models generated by our two-station method, we compared them against the more complete four-station ground-truth reconstructions. The data for both models underwent identical preprocessing steps before we assessed both the geometric completeness and the accuracy of key extracted structural parameters. For the completeness metric, we used a point-to-point nearest neighbor distance; a point in the ground-truth model was considered &#x201c;covered&#x201d; if its nearest neighbor in the two-station model was within a 5 mm threshold. This threshold was chosen as a reasonable tolerance, as it is slightly larger than the scanner&#x2019;s instrumental accuracy (up to 2 mm) and our method&#x2019;s average pointwise registration error (2.70 mm). For the accuracy of the key structural parameters, we assessed the Absolute Error (AE) for each individual sample, calculated against its ground-truth value.</p>
<p>The results, summarized in <xref ref-type="table" rid="T4">
<bold>Table&#xa0;4</bold>
</xref>, confirm that our efficient approach yields high-fidelity models suitable for subsequent phenotyping tasks. Specifically, in terms of completeness, the two-station models achieved an average coverage rate of 95.6%, indicating that the vast majority of the tree&#x2019;s structure is successfully captured. Furthermore, the accuracy of the extracted parameters is exceptionally high. The Mean Absolute Error (MAE) for tree height was only 0.03 cm (RMSE 0.04 cm), for basal trunk diameter it was 0.11 cm (RMSE 0.14 cm), and for the maximum primary branch diameter, the MAE was just 0.17 cm (RMSE 0.18 cm). The close agreement between the MAE and RMSE values is particularly noteworthy, as it indicates a uniform error distribution without significant outliers, which speaks to the stability and reliability of the proposed method.</p>
<table-wrap id="T4" position="float">
<label>Table&#xa0;4</label>
<caption>
<p>Comparison of key structural parameters extracted from the two-station model vs. the four-station ground-truth model.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" rowspan="2" align="center">Tree ID</th>
<th valign="middle" colspan="2" align="center">Completeness (%)</th>
<th valign="middle" colspan="2" align="center">AE. Tree height (cm)</th>
<th valign="middle" colspan="2" align="center">AE. Basal Trunk Diameter (cm)</th>
<th valign="middle" colspan="2" align="center">AE. Max. Branch Diameter (cm)</th>
</tr>
<tr>
<th valign="middle" align="center">S1-S4</th>
<th valign="middle" align="center">S2-S3</th>
<th valign="middle" align="center">S1-S4</th>
<th valign="middle" align="center">S2-S3</th>
<th valign="middle" align="center">S1-S4</th>
<th valign="middle" align="center">S2-S3</th>
<th valign="middle" align="center">S1-S4</th>
<th valign="middle" align="center">S2-S3</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" align="center">#1</td>
<td valign="middle" align="center">95.88</td>
<td valign="middle" align="center">96.59</td>
<td valign="middle" align="center">0.02</td>
<td valign="middle" align="center">0.05</td>
<td valign="middle" align="center">0.16</td>
<td valign="middle" align="center">0.18</td>
<td valign="middle" align="center">0.21</td>
<td valign="middle" align="center">0.20</td>
</tr>
<tr>
<td valign="middle" align="center">#2</td>
<td valign="middle" align="center">94.87</td>
<td valign="middle" align="center">96.29</td>
<td valign="middle" align="center">0.06</td>
<td valign="middle" align="center">0.03</td>
<td valign="middle" align="center">0.10</td>
<td valign="middle" align="center">0.25</td>
<td valign="middle" align="center">0.27</td>
<td valign="middle" align="center">0.23</td>
</tr>
<tr>
<td valign="middle" align="center">#3</td>
<td valign="middle" align="center">94.76</td>
<td valign="middle" align="center">&#x2013;</td>
<td valign="middle" align="center">0.07</td>
<td valign="middle" align="center">&#x2013;</td>
<td valign="middle" align="center">0.09</td>
<td valign="middle" align="center">&#x2013;</td>
<td valign="middle" align="center">0.12</td>
<td valign="middle" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="middle" align="center">#4</td>
<td valign="middle" align="center">96.14</td>
<td valign="middle" align="center">95.09</td>
<td valign="middle" align="center">0.04</td>
<td valign="middle" align="center">0.01</td>
<td valign="middle" align="center">0.13</td>
<td valign="middle" align="center">0.20</td>
<td valign="middle" align="center">0.15</td>
<td valign="middle" align="center">0.11</td>
</tr>
<tr>
<td valign="middle" align="center">#5</td>
<td valign="middle" align="center">98.38</td>
<td valign="middle" align="center">96.76</td>
<td valign="middle" align="center">0.04</td>
<td valign="middle" align="center">0.05</td>
<td valign="middle" align="center">0.28</td>
<td valign="middle" align="center">0.01</td>
<td valign="middle" align="center">0.06</td>
<td valign="middle" align="center">0.31</td>
</tr>
<tr>
<td valign="middle" align="center">#6</td>
<td valign="middle" align="center">92.97</td>
<td valign="middle" align="center">&#x2013;</td>
<td valign="middle" align="center">0.05</td>
<td valign="middle" align="center">&#x2013;</td>
<td valign="middle" align="center">0.06</td>
<td valign="middle" align="center">&#x2013;</td>
<td valign="middle" align="center">0.11</td>
<td valign="middle" align="center">&#x2013;</td>
</tr>
<tr>
<td valign="middle" align="center">#7</td>
<td valign="middle" align="center">95.63</td>
<td valign="middle" align="center">96.58</td>
<td valign="middle" align="center">0.01</td>
<td valign="middle" align="center">0.05</td>
<td valign="middle" align="center">0.08</td>
<td valign="middle" align="center">0.06</td>
<td valign="middle" align="center">0.24</td>
<td valign="middle" align="center">0.11</td>
</tr>
<tr>
<td valign="middle" align="center">#8</td>
<td valign="middle" align="center">95.36</td>
<td valign="middle" align="center">96.86</td>
<td valign="middle" align="center">0.02</td>
<td valign="middle" align="center">0.03</td>
<td valign="middle" align="center">0.03</td>
<td valign="middle" align="center">0.04</td>
<td valign="middle" align="center">0.13</td>
<td valign="middle" align="center">0.05</td>
</tr>
<tr>
<td valign="middle" align="center">#9</td>
<td valign="middle" align="center">96.01</td>
<td valign="middle" align="center">93.22</td>
<td valign="middle" align="center">0.03</td>
<td valign="middle" align="center">0.04</td>
<td valign="middle" align="center">0.11</td>
<td valign="middle" align="center">0.18</td>
<td valign="middle" align="center">0.18</td>
<td valign="middle" align="center">0.16</td>
</tr>
<tr>
<td valign="middle" align="center">#10</td>
<td valign="middle" align="center">94.69</td>
<td valign="middle" align="center">94.31</td>
<td valign="middle" align="center">0.04</td>
<td valign="middle" align="center">0.03</td>
<td valign="middle" align="center">0.08</td>
<td valign="middle" align="center">0.07</td>
<td valign="middle" align="center">0.19</td>
<td valign="middle" align="center">0.21</td>
</tr>
<tr>
<td valign="middle" align="center">Avg</td>
<td valign="middle" colspan="2" align="center">95.58</td>
<td valign="middle" colspan="2" align="center">0.03</td>
<td valign="middle" colspan="2" align="center">0.11</td>
<td valign="middle" colspan="2" align="center">0.17</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>AE stands for Absolute Error, calculated as the absolute difference between the two-station and four-station model values. The &#x201c;Avg&#x201d; row represents the Mean Absolute Error (MAE) for structural parameters of all successful registrations. &#x201c;-&#x201d; denotes registration failure.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>These results provide strong quantitative evidence that the models produced by our proposed method successfully balance acquisition efficiency with reconstruction accuracy, making them highly valuable for practical applications in precision agriculture.</p>
</sec>
</sec>
<sec id="s4_2">
<label>4.2</label>
<title>Comparison with alternative strategies and methods</title>
<p>To comprehensively validate the effectiveness of low-overlap point cloud registration for two stations 180&#xb0; apart, we compare its results with those of high-overlap multi-station registration and other registration algorithms.</p>
<sec id="s4_2_1">
<label>4.2.1</label>
<title>High-overlap multi-station registration</title>
<p>For multi-station high-overlap registration, we employ a cumulative registration strategy. As shown in <xref ref-type="fig" rid="f11">
<bold>Figure&#xa0;11</bold>
</xref>, for three-station registration, using S1 as the target, S3 and S4 are sequentially aligned: first, S3 to S1; then, S4 to the combined S1+S3&#x2019; (transformed S3). Similarly, four-station registration aligns S2-S3-S4 to S1 sequentially. This strategy starts with small-angle viewpoints and progressively accumulates aligned point clouds, ensuring high overlap.</p>
<fig id="f11" position="float">
<label>Figure&#xa0;11</label>
<caption>
<p>Registration results for Tree #4. <bold>(A)</bold> Two-station. <bold>(B)</bold> Three-station. <bold>(C)</bold> Four-station.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-16-1616611-g011.tif">
<alt-text content-type="machine-generated">Three diagrams labeled A, B, and C, each showing a 3D model of a tree with points colored to indicate different sources and targets. Diagrams compare the perspectives from different sensors, labeled S1, S2, S3, and S4. Each main image includes a legend indicating target (orange) and source (blue, green, orange). Insets below show separate views from each sensor. Scale bar indicates 0.5 meters.</alt-text>
</graphic>
</fig>
<p>Tree #4 is used as an example to visually compare the results of two-, three-, and four-station registrations (<xref ref-type="fig" rid="f11">
<bold>Figure&#xa0;11</bold>
</xref>). While multi-station registration slightly reduces errors and improves point cloud completeness, the improvement is minimal. In practical orchard settings, the two-station registration already captures nearly all parts of the tree, including detailed features, and is sufficient for various subsequent analyses.</p>
<p>Additionally, a comparison is made between two-station registration and cumulative registration with three- and four-station for all 10 trees in the dataset. <xref ref-type="table" rid="T5">
<bold>Table&#xa0;5</bold>
</xref> presents the recorded results for three key alignment quality metrics, along with the average total time required for the entire process (including all registration steps):</p>
<table-wrap id="T5" position="float">
<label>Table&#xa0;5</label>
<caption>
<p>Comparison of two-station low overlap registration and multi-station high overlap registration results.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" rowspan="2" align="center">Experiment setup</th>
<th valign="middle" rowspan="2" align="center">Success rate</th>
<th valign="middle" colspan="2" align="center">Avg. matrix-based errors</th>
<th valign="middle" align="center">Avg. pointwise error</th>
<th valign="middle" align="center">Avg. time</th>
</tr>
<tr>
<th valign="middle" align="center">
<italic>e</italic>
<sub>
<italic>R</italic>
</sub> (mrad)</th>
<th valign="middle" align="center">
<italic>e</italic>
<sub>
<italic>t</italic>
</sub> (mm)</th>
<th valign="middle" align="center">
<italic>e</italic>
<sub>
<italic>p</italic>
</sub> (mm)</th>
<th valign="middle" align="center">t (s)</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" align="center">two-station</td>
<td valign="middle" align="center">90.00%</td>
<td valign="middle" align="center">1.93</td>
<td valign="middle" align="center">4.33</td>
<td valign="middle" align="center">2.70</td>
<td valign="middle" align="center">165.18</td>
</tr>
<tr>
<td valign="middle" align="center">three- station</td>
<td valign="middle" align="center">90.00%</td>
<td valign="middle" align="center">1.72</td>
<td valign="middle" align="center">3.76</td>
<td valign="middle" align="center">2.29</td>
<td valign="middle" align="center">380.04</td>
</tr>
<tr>
<td valign="middle" align="center">four-station</td>
<td valign="middle" align="center">80.00%</td>
<td valign="middle" align="center">2.07</td>
<td valign="middle" align="center">4.64</td>
<td valign="middle" align="center">2.31</td>
<td valign="middle" align="center">586.91</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>When calculating the average values for all metrics, failed cases are excluded. <italic>e</italic>
<sub>
<italic>R</italic>
</sub>, <italic>e</italic>
<sub>
<italic>t</italic>
</sub>, and <italic>e</italic>
<sub>
<italic>p</italic>
</sub> represent the average rotation error, translation error, and pointwise error, respectively.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>As shown in <xref ref-type="table" rid="T5">
<bold>Table&#xa0;5</bold>
</xref>, three- and four-station registrations reduce pointwise errors by only 0.41 mm and 0.39 mm compared to two-station registration. The success rate remains unchanged for the three-station setup, while it even decreases for the four-station configuration. Meanwhile, registration time nearly doubles, highlighting the significant computational complexity and time cost escalation with increasing input point clouds.</p>
<p>In theory, adding stations with smaller angular differences can increase local overlap and substantially improve registration performance. However, in our experiments, such improvements were minimal. This is primarily due to the robustness of the proposed BranchMatch algorithm under low-overlap conditions. By leveraging structurally stable features&#x2014;particularly the trunk and key branch segments&#x2014;the method achieves reliable matching even with two diametrically opposed scans, enabling accurate transformation estimation. Under such conditions, the structural benefits gained from additional viewpoints are significantly reduced, which further demonstrates the efficiency of the two-station strategy. In addition, further analysis shows that multi-station registration, while benefiting from higher overlap, introduces cumulative errors. As the number of stations increases, early-stage errors are amplified, potentially disrupting branch matching and lowering the overall success rate. In this study, errors and failures were most frequently observed at the final station, further highlighting the negative impact of cumulative errors. Therefore, while multi-station registration improves point cloud completeness, its accuracy gains are limited or even diminished, with increased computational costs and reduced robustness.</p>
<p>In summary, the proposed method achieves high success rates by matching structural features, even with high-overlap data, demonstrating adaptability to varying overlap conditions. Besides, given the 90% success rate and higher time costs of multi-station registration, two-station registration offers a better efficiency-accuracy balance.</p>
</sec>
<sec id="s4_2_2">
<label>4.2.2</label>
<title>Other registration algorithms</title>
<p>To further validate the performance of our method, we conducted a direct comparison with several state-of-the-art (SOTA) registration algorithms on our Apple-Trees dataset. This was necessary due to the lack of publicly available point cloud datasets of trees captured from opposing, low-overlap viewpoints. We selected two representative deep learning-based methods, GCNet (a SOTA method on the 3DMatch dataset) (<xref ref-type="bibr" rid="B61">Zhu et&#xa0;al., 2022</xref>) and GeoTransformer (a SOTA method on the 3DLoMatch dataset) (<xref ref-type="bibr" rid="B35">Qin et&#xa0;al., 2022</xref>), as well as a robust traditional baseline, SAC-IA + ICP (using a standard ICP algorithm) (<xref ref-type="bibr" rid="B38">Rusu et&#xa0;al., 2009</xref>).</p>
<p>For GCNet, we used the official 3DMatch pre-trained model. The model employs a 4-layer KPConv encoder. It was trained for 40 epochs with a batch size of 1, using a voxel downsampling size of 1 cm and 256 sampled key points per fragment. A multi-stage GNN with 256-dimensional intermediate features and a cross-attention module is used to perform fine-grained correspondence estimation. For GeoTransformer, we also used its official 3DMatch pre-trained model. This model utilizes a 4-stage KPConv-FPN backbone with a 2.5 cm voxel size to extract 256-dimensional superpoint features. It was trained for 40 epochs using an Adam optimizer with an exponential decay learning rate schedule (&#x3b3; = 0.05). GeoTransformer performs coarse-to-fine matching via a global transformer with geometry-invariant structural embeddings, followed by local refinement. As a traditional baseline, we implemented SAC-IA + ICP. For this method, the point cloud was downsampled with a 1 cm voxel size, normals were estimated with a 2 cm radius, and the FPFH feature radius was set to 5 cm. All methods used the same preprocessed data to ensure a fair comparison, and the results are summarized in <xref ref-type="table" rid="T6">
<bold>Table&#xa0;6</bold>
</xref>.</p>
<table-wrap id="T6" position="float">
<label>Table&#xa0;6</label>
<caption>
<p>Comparison with SOTA registration methods on the Apple-Trees dataset.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" rowspan="2" align="center">Method</th>
<th valign="middle" colspan="2" align="center">Avg. matrix-based errors</th>
<th valign="middle" align="center">Avg. pointwise error</th>
</tr>
<tr>
<th valign="middle" align="center">
<italic>e</italic>
<sub>
<italic>R</italic>
</sub> (mrad)</th>
<th valign="middle" align="center">
<italic>e</italic>
<sub>
<italic>t</italic>
</sub> (mm)</th>
<th valign="middle" align="center">
<italic>e</italic>
<sub>
<italic>p</italic>
</sub> (mm)</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" align="center">GCNet</td>
<td valign="middle" align="center">21.77</td>
<td valign="middle" align="center">48.17</td>
<td valign="middle" align="center">20.05</td>
</tr>
<tr>
<td valign="middle" align="center">GeoTransformer</td>
<td valign="middle" align="center">9.54</td>
<td valign="middle" align="center">18.63</td>
<td valign="middle" align="center">7.48</td>
</tr>
<tr>
<td valign="middle" align="center">SAC-IA + ICP(original)</td>
<td valign="middle" align="center">9.50</td>
<td valign="middle" align="center">27.65</td>
<td valign="middle" align="center">16.78</td>
</tr>
<tr>
<td valign="middle" align="center">BranchMatch(ours)</td>
<td valign="middle" align="center">
<bold>1.93</bold>
</td>
<td valign="middle" align="center">
<bold>4.33</bold>
</td>
<td valign="middle" align="center">
<bold>2.70</bold>
</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>Bold values denote the best result among all compared methods for the corresponding metric.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>The results clearly demonstrate the superior accuracy of BranchMatch in the specific domain of single-tree, low-overlap registration. The deep learning methods, particularly GCNet which is trained primarily on high-overlap indoor scenes, exhibited the largest errors. GeoTransformer, which includes optimizations for low-overlap scenarios, performed best among the learning-based approaches. The traditional SAC-IA method, while not requiring large-scale training data, still showed a significant accuracy gap compared to BranchMatch. This performance gap can be attributed to a fundamental difference in approach that BranchMatch leverages domain-specific structural knowledge, whereas the SOTA methods are general-purpose feature matchers.</p>
<p>The deep learning methods, trained on generic datasets, and SAC-IA, which relies on local FPFH features, both struggle in this challenging low-overlap scenario. This is because the severe viewpoint change between 180&#xb0; scans results in very few repeatable local geometric patterns, and the inherent self-similarity of branches creates significant matching ambiguity for these general-purpose descriptors. This underscores the effectiveness of our structure-based feature matching strategy in achieving high-precision alignment where other general-purpose methods struggle.</p>
<p>What&#x2019;s more, due to the limitation of parameter sensitivity, we also compare our results directly with those SOTA methods target the tree point cloud registration methods reported in existing literature.</p>
<p>
<xref ref-type="bibr" rid="B28">Ma et&#xa0;al. (2021)</xref> developed a 3D reconstruction platform using two depth cameras, generating high-quality single-view point clouds based on recorded poses. Their automatic registration method, leveraging global skeleton extraction, achieved sub-1 mm pointwise errors for 55&#xb0;-separated point clouds across various weather conditions. However, multi-station data were still required for complete tree reconstruction. For 180&#xb0;-separated point clouds, their method achieved an average error of 2.61 mm (variance: 4.40 mm), while our method achieved 2.70 mm (variance: 0.59 mm), demonstrating superior robustness. Unlike their global skeleton extraction, BranchMatch focuses on key segment extraction, improving efficiency and accuracy. This design excels in complex branching scenarios, avoiding global extraction errors and enhancing robustness. Additionally, BranchMatch requires no specialized equipment or positional data, offering greater flexibility in data collection.</p>
<p>We further compared our method with the forest plot-scale registration approach of <xref ref-type="bibr" rid="B47">Wang X. et&#xa0;al. (2023)</xref> to highlight the different design trade-offs for distinct applications. Their stem-map-based method is optimized for plot-scale efficiency, achieving high computational speed with a corresponding accuracy of approximately 10 mm, which is well-suited for large-area inventory. In contrast, our BranchMatch algorithm is tailored for single-tree fidelity, intentionally prioritizing millimeter-level accuracy (~2.7 mm) for precision tasks like robotic pruning, where per-tree detail is critical. Furthermore, our method&#x2019;s demonstrated success in registering point clouds with low overlap and in complex branching scenarios significantly expands the applicability of high-precision, single-tree registration, providing the superior accuracy and adaptability required for advanced precision applications.</p>
</sec>
</sec>
<sec id="s4_3">
<label>4.3</label>
<title>Limitations</title>
<p>A potential limitation, common to registration methods that rely on fitting geometric primitives to real-world data, is their theoretical susceptibility to error propagation. In our approach, for instance, minor viewpoint-dependent variations&#x2014;such as those introduced by topographic inconsistencies&#x2014;may result in small discrepancies in the estimated ground plane across scans. These initial deviations can propagate through subsequent steps, potentially affecting the localization of trunks and key branches. Such propagation may influence feature-based thresholding, thereby increasing the risk of branch matching failures under certain conditions.</p>
<p>Additionally, the BranchMatch method employs several empirical thresholds (e.g., for cylindrical fitting and branch features) tailored to the standardized architectural properties of tall-spindle apple trees. Although these values were determined through data-informed tuning and conservatively selected to accommodate noise and natural variation, their optimality may still vary with different data quality or sensor characteristics. This represents a common limitation of parameter-dependent methods, and future work could thus explore adaptive thresholding strategies to enhance the method&#x2019;s robustness and generalizability across diverse scenarios.</p>
</sec>
</sec>
<sec id="s5" sec-type="conclusions">
<label>5</label>
<title>Conclusion</title>
<p>This paper introduces BranchMatch, a high-precision and rapid 3D point cloud reconstruction method tailored for individual tall-spindle apple trees during their dormant period. The method focuses on marker-free point cloud registration in low-overlap scenarios. The core of this research lies in the accurate identification and utilization of critical geometric structural features of the apple tree. By employing a structure features-based strategy and incorporating a dynamic weighted feature discrimination function, BranchMatch enables precise matching of key point cloud features, even in cases of complex tree trunks and branches with low overlap. Furthermore, an ICP algorithm optimized for low-overlap registration enhances both efficiency and accuracy, preventing over-registration and further boosting the method&#x2019;s robustness.</p>
<p>Experimental results demonstrate the outstanding performance of BranchMatch in terms of both accuracy and efficiency. Compared to traditional marker-based registration methods, BranchMatch achieves an average pointwise error of 2.70 mm with a variance of 0.59 mm. In terms of computational efficiency, the method only requires two point clouds captured 180&#xb0; apart to reconstruct a nearly complete tree model, outperforming traditional multi-view, high-overlap registration methods. This makes it highly suitable for large-scale orchard applications. Testing on the Apple-Trees dataset further confirms the method&#x2019;s adaptability and robustness, laying a strong foundation for the future deployment of automated orchard management systems.</p>
<p>In conclusion, BranchMatch provides a promising solution for accurate 3D modeling of dormant, tall-spindle apple trees in complex agricultural environments. By reducing the number of measurement stations and overcoming the challenges posed by low-overlap views, the method significantly improves data acquisition and processing efficiency. Future work will focus on broadening the applicability of the proposed method to include registration tasks involving multiple types of individual fruit trees, entire orchard-scale or forest-plots datasets, assessing its robustness across a wider range of conditions, and validating its adaptability across data acquired from sensors with different precision levels. Additionally, when integrated with dynamic orchard management monitoring, this approach could provide extensive data support and technical solutions for smart agriculture and forestry.</p>
</sec>
</body>
<back>
<sec id="s6" sec-type="data-availability">
<title>Data availability statement</title>
<p>The datasets presented in this study can be found in online repositories. The names of the repository/repositories and accession number(s) can be found below: <uri xlink:href="https://github.com/NingWang1999/BranchMatch">https://github.com/NingWang1999/BranchMatch</uri>.</p>
</sec>
<sec id="s7" sec-type="author-contributions">
<title>Author contributions</title>
<p>NW: Software, Investigation, Writing &#x2013; original draft, Data curation, Visualization, Conceptualization, Formal analysis, Methodology. YC: Data curation, Validation, Formal analysis, Writing &#x2013; original draft, Methodology. KZ: Writing &#x2013; original draft, Data curation, Software, Investigation, Visualization. SX: Formal analysis, Writing &#x2013; review &amp; editing, Validation. RD: Formal analysis, Writing &#x2013; review &amp; editing, Funding acquisition. FK: Writing &#x2013; review &amp; editing, Supervision, Funding acquisition. MZ: Resources, Writing &#x2013; review &amp; editing, Supervision. BC: Writing &#x2013; review &amp; editing, Project administration, Resources. YM: Funding acquisition, Supervision, Writing &#x2013; review &amp; editing. YW: Supervision, Writing &#x2013; review &amp; editing, Funding acquisition.</p>
</sec>
<sec id="s8" sec-type="funding-information">
<title>Funding</title>
<p>The author(s) declare financial support was received for the research and/or publication of this article. This research was supported by the National Natural Science Foundation of China (No. 62203059), the Project of the Science and Technology Plan of Inner Mongolia Autonomous Region (No. 2025YFDZ0112), the Fundamental Research Funds for the Central Universities (BLX202339) and the Sub-project of the National Key Research and Development Program of China (2018YFD0700603-2).</p>
</sec>
<ack>
<title>Acknowledgments</title>
<p>The authors would like to thank their schools and colleges, as well as the funding of the project. All support and assistance are sincerely appreciated. Additionally, the authors sincerely appreciate the work of the editor and the reviewers of the present paper.</p>
</ack>
<sec id="s9" sec-type="COI-statement">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec id="s10" sec-type="ai-statement">
<title>Generative AI statement</title>
<p>The author(s) declare that no Generative AI was used in the creation of this manuscript.</p>
<p>Any alternative text (alt text) provided alongside figures in this article has been generated by Frontiers with the support of artificial intelligence and reasonable efforts have been made to ensure accuracy, including review by the authors wherever possible. If&#xa0;you identify any issues, please contact us.</p>
</sec>
<sec id="s11" sec-type="disclaimer">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Besl</surname> <given-names>P. J.</given-names>
</name>
<name>
<surname>McKay</surname> <given-names>N. D.</given-names>
</name>
</person-group> (<year>1992</year>). <article-title>A method for registration of 3-d shapes</article-title>. <source>IEEE Trans. Pattern Anal. Mach. Intell.</source> <volume>14</volume>, <fpage>239</fpage>&#x2013;<lpage>256</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/34.121791</pub-id>
</citation></ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bucksch</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Khoshelham</surname> <given-names>K.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Localized registration of point clouds of botanic trees</article-title>. <source>IEEE Geosci. Remote Sens. Lett.</source> <volume>10</volume>, <fpage>631</fpage>&#x2013;<lpage>635</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/LGRS.2012.2216251</pub-id>
</citation></ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cai</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Chin</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Bustos</surname> <given-names>A. P.</given-names>
</name>
<name>
<surname>Schindler</surname> <given-names>K.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Practical optimal registration of terrestrial lidar scan pairs</article-title>. <source>Isprs-J. Photogramm. Remote Sens.</source> <volume>147</volume>, <fpage>118</fpage>&#x2013;<lpage>131</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.isprsjprs.2018.11.016</pub-id>
</citation></ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Calders</surname> <given-names>K.</given-names>
</name>
<name>
<surname>Adams</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Armston</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Bartholomeus</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Bauwens</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Bentley</surname> <given-names>L. P.</given-names>
</name>
<etal/>
</person-group>. (<year>2020</year>). <article-title>Terrestrial laser scanning in forest ecology: expanding the horizon</article-title>. <source>Remote Sens. Environ.</source> <volume>251</volume>, <elocation-id>112102</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.rse.2020.112102</pub-id>
</citation></ref>
<ref id="B5">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Chattopadhyay</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Akbar</surname> <given-names>S. A.</given-names>
</name>
<name>
<surname>Elfiky</surname> <given-names>N. M.</given-names>
</name>
<name>
<surname>Medeiros</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Kak</surname> <given-names>A.</given-names>
</name>
</person-group> (<year>2016</year>). &#x201c;<article-title>Measuring and modeling apple trees using time-of-flight data for automation of dormant pruning applications</article-title>,&#x201d; in <source>2016 IEEE Winter Conference on Applications of Computer Vision (WACV)</source> (<publisher-name>Lake Placid</publisher-name>, <publisher-loc>NY, USA</publisher-loc>), <fpage>1</fpage>&#x2013;<lpage>9</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/WACV.2016.7477596</pub-id>
</citation></ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Nan</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Xia</surname> <given-names>R.</given-names>
</name>
<name>
<surname>Zhao</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Wonka</surname> <given-names>P.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Plade: a plane-based descriptor for point cloud registration with small overlap</article-title>. <source>IEEE Trans. Geosci. Remote Sens.</source> <volume>58</volume>, <fpage>2530</fpage>&#x2013;<lpage>2540</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/TGRS.2019.2952086</pub-id>
</citation></ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cheng</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Chen</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Liu</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Xu</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Wu</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>M.</given-names>
</name>
<etal/>
</person-group>. (<year>2018</year>). <article-title>Registration of laser scanning point clouds: a review</article-title>. <source>Sensors</source> <volume>18</volume>, <elocation-id>1641</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.3390/s18051641</pub-id>, PMID: <pub-id pub-id-type="pmid">29883397</pub-id></citation></ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cheng</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Liu</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Zhou</surname> <given-names>W.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Deep learning-based point cloud registration: a comprehensive investigation</article-title>. <source>Int. J. Remote Sens.</source> <volume>45</volume>, <fpage>3412</fpage>&#x2013;<lpage>3442</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1080/01431161.2024.2343434</pub-id>
</citation></ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dai</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Kan</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Tan</surname> <given-names>R.</given-names>
</name>
<name>
<surname>Yang</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Guan</surname> <given-names>Q.</given-names>
</name>
<name>
<surname>Zhu</surname> <given-names>N.</given-names>
</name>
<etal/>
</person-group>. (<year>2022</year>). <article-title>Multisource forest point cloud registration with semantic-guided keypoints and robust ransac mechanisms</article-title>. <source>Int. J. Appl. Earth Obs. Geoinf.</source> <volume>115</volume>, <elocation-id>103105</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.jag.2022.103105</pub-id>
</citation></ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dassot</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Constant</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Fournier</surname> <given-names>M.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>The use of terrestrial lidar technology in forest science: application fields, benefits and challenges</article-title>. <source>Ann. For. Sci.</source> <volume>68</volume>, <fpage>959</fpage>&#x2013;<lpage>974</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1007/s13595-011-0102-2</pub-id>
</citation></ref>
<ref id="B11">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Deng</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Yao</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Deng</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>J.</given-names>
</name>
</person-group> (<year>2021</year>). &#x201c;<article-title>A robust loss for point cloud registration</article-title>,&#x201d; in <source>Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)</source> (<publisher-loc>Montreal, QC, Canada</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>6118</fpage>&#x2013;<lpage>6127</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/ICCV48922.2021.00608</pub-id>
</citation></ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dong</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Liang</surname> <given-names>F.</given-names>
</name>
<name>
<surname>Yang</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Xu</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Zang</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>J.</given-names>
</name>
<etal/>
</person-group>. (<year>2020</year>). <article-title>Registration of large-scale terrestrial laser scanner point clouds: a review and benchmark</article-title>. <source>Isprs-J. Photogramm. Remote Sens.</source> <volume>163</volume>, <fpage>327</fpage>&#x2013;<lpage>342</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.isprsjprs.2020.03.013</pub-id>
</citation></ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Fischler</surname> <given-names>M. A.</given-names>
</name>
<name>
<surname>Bolles</surname> <given-names>R. C.</given-names>
</name>
</person-group> (<year>1981</year>). <article-title>Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography</article-title>. <source>Commun. ACM</source> <volume>24</volume>, <fpage>381</fpage>&#x2013;<lpage>395</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1145/358669.358692</pub-id>
</citation></ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Fu</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Xia</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Fu</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Fu</surname> <given-names>W.</given-names>
</name>
<etal/>
</person-group>. (<year>2023</year>). <article-title>Skeleton extraction and pruning point identification of jujube tree for dormant pruning using space colonization algorithm</article-title>. <source>Front. Plant Sci.</source> <volume>13</volume>, <elocation-id>1103794</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.3389/fpls.2022.1103794</pub-id>, PMID: <pub-id pub-id-type="pmid">36743548</pub-id></citation></ref>
<ref id="B15">
<citation citation-type="thesis">
<person-group person-group-type="author">
<name>
<surname>Girardeau-Montaut</surname> <given-names>D.</given-names>
</name>
</person-group> (<year>2006</year>). <source>D&#xe9;tection de Changement sur des Donn&#xe9;es g&#xe9;om&#xe9;triques Tridimensionnelles</source>. <publisher-name>Doctoral Dissertation, T&#xe9;l&#xe9;com ParisTech</publisher-name>, <publisher-loc>Palaiseau, France</publisher-loc>.</citation></ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Guan</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Su</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Sun</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Xu</surname> <given-names>G.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Ma</surname> <given-names>Q.</given-names>
</name>
<etal/>
</person-group>. (<year>2020</year>). <article-title>A marker-free method for registering multi-scan terrestrial laser scanning data in forest environments</article-title>. <source>Isprs-J. Photogramm. Remote Sens.</source> <volume>166</volume>, <fpage>82</fpage>&#x2013;<lpage>94</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.isprsjprs.2020.06.002</pub-id>
</citation></ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>He</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Schupp</surname> <given-names>J.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Sensing and automation in pruning of apple trees: a review</article-title>. <source>Agronomy</source> <volume>8</volume>, <elocation-id>211</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.3390/agronomy8100211</pub-id>
</citation></ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Henning</surname> <given-names>J. G.</given-names>
</name>
<name>
<surname>Radtke</surname> <given-names>P. J.</given-names>
</name>
</person-group> (<year>2008</year>). <article-title>Multiview range-image registration for forested scenes using explicitly-matched tie points estimated from natural surfaces</article-title>. <source>Isprs-J. Photogramm. Remote Sens.</source> <volume>63</volume>, <fpage>68</fpage>&#x2013;<lpage>83</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.isprsjprs.2007.07.006</pub-id>
</citation></ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ho</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Nieto</surname> <given-names>L. G.</given-names>
</name>
<name>
<surname>Rickard</surname> <given-names>B. J.</given-names>
</name>
<name>
<surname>Reig</surname> <given-names>G.</given-names>
</name>
<name>
<surname>Lordan</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Lawrence</surname> <given-names>B. T.</given-names>
</name>
<etal/>
</person-group>. (<year>2024</year>). <article-title>Effects of cultivar, planting density and rootstock on long-term economic performance of apple orchards in the northeastern u.s</article-title>. <source>Sci. Hortic.</source> <volume>332</volume>, <elocation-id>113194</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.scienta.2024.113194</pub-id>
</citation></ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Karkee</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Adhikari</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Amatya</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>Q.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Identification of pruning branches in tall spindle apple trees for automated pruning</article-title>. <source>Comput. Electron. Agric.</source> <volume>103</volume>, <fpage>127</fpage>&#x2013;<lpage>135</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.compag.2014.02.013</pub-id>
</citation></ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kelbe</surname> <given-names>D.</given-names>
</name>
<name>
<surname>van Aardt</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Romanczyk</surname> <given-names>P.</given-names>
</name>
<name>
<surname>van Leeuwen</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Cawse-Nicholson</surname> <given-names>K.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Marker-free registration of forest terrestrial laser scanner data pairs with embedded confidence metrics</article-title>. <source>IEEE Trans. Geosci. Remote Sens.</source> <volume>54</volume>, <fpage>4314</fpage>&#x2013;<lpage>4330</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/TGRS.2016.2539219</pub-id>
</citation></ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kolmani&#x10d;</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Strnad</surname> <given-names>D.</given-names>
</name>
<name>
<surname>Kohek</surname> <given-names>&#x160;.</given-names>
</name>
<name>
<surname>Benes</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Hirst</surname> <given-names>P.</given-names>
</name>
<name>
<surname>&#x17d;alik</surname> <given-names>B.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>An algorithm for automatic dormant tree pruning</article-title>. <source>Appl. Soft Comput.</source> <volume>99</volume>, <elocation-id>106931</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.asoc.2020.106931</pub-id>
</citation></ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Wu</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Xiao</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Lu</surname> <given-names>H.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>3d modeling of laser-scanned trees based on skeleton refined extraction</article-title>. <source>Int. J. Appl. Earth Obs. Geoinf.</source> <volume>112</volume>, <elocation-id>102943</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.jag.2022.102943</pub-id>
</citation></ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liang</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Hyypp&#xe4;</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Kaartinen</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Lehtom&#xe4;ki</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Py&#xf6;r&#xe4;l&#xe4;</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Pfeifer</surname> <given-names>N.</given-names>
</name>
<etal/>
</person-group>. (<year>2018</year>). <article-title>International benchmarking of terrestrial laser scanning approaches for forest inventories</article-title>. <source>Isprs-J. Photogramm. Remote Sens.</source> <volume>144</volume>, <fpage>137</fpage>&#x2013;<lpage>179</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.isprsjprs.2018.06.021</pub-id>
</citation></ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liang</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Kankare</surname> <given-names>V.</given-names>
</name>
<name>
<surname>Hyypp&#xe4;</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Kukko</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Haggr&#xe9;n</surname> <given-names>H.</given-names>
</name>
<etal/>
</person-group>. (<year>2016</year>). <article-title>Terrestrial laser scanning in forest inventories</article-title>. <source>Isprs-J. Photogramm. Remote Sens.</source> <volume>115</volume>, <fpage>63</fpage>&#x2013;<lpage>77</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.isprsjprs.2016.01.006</pub-id>
</citation></ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Liang</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Hyypp&#xe4;</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Yu</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Lehtom&#xe4;ki</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Py&#xf6;r&#xe4;l&#xe4;</surname> <given-names>J.</given-names>
</name>
<etal/>
</person-group>. (<year>2017</year>). <article-title>Automated matching of multiple terrestrial laser scans for stem mapping without the use of artificial references</article-title>. <source>Int. J. Appl. Earth Obs. Geoinf.</source> <volume>56</volume>, <fpage>13</fpage>&#x2013;<lpage>23</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.jag.2016.11.003</pub-id>
</citation></ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lv</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Gao</surname> <given-names>H.</given-names>
</name>
<name>
<surname>He</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Lv</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Zhangzhong</surname> <given-names>L.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>When crops meet machine vision: a review and development framework for a low-cost nondestructive online monitoring technology in agricultural production</article-title>. <source>Agric. Commun.</source> <volume>2</volume>, <elocation-id>100029</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.agrcom.2024.100029</pub-id>
</citation></ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ma</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Du</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Jiang</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Zhou</surname> <given-names>M.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Automatic branch detection of jujube trees based on 3d reconstruction for dormant pruning using the deep learning-based method</article-title>. <source>Comput. Electron. Agric.</source> <volume>190</volume>, <elocation-id>106484</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.compag.2021.106484</pub-id>
</citation></ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mart&#xed;nez-Otzeta</surname> <given-names>J. M.</given-names>
</name>
<name>
<surname>Rodr&#xed;guez-Moreno</surname> <given-names>I.</given-names>
</name>
<name>
<surname>Mendialdua</surname> <given-names>I.</given-names>
</name>
<name>
<surname>Sierra</surname> <given-names>B.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Ransac for robotic applications: a survey</article-title>. <source>Sensors</source> <volume>23</volume> (<issue>1</issue>), <fpage>327</fpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.3390/s23010327</pub-id>, PMID: <pub-id pub-id-type="pmid">36616922</pub-id></citation></ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Miao</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Qiu</surname> <given-names>R.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>M.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>A single plant segmentation method of maize point cloud based on euclidean clustering and k-means clustering</article-title>. <source>Comput. Electron. Agric.</source> <volume>210</volume>, <elocation-id>107951</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.compag.2023.107951</pub-id>
</citation></ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Miller</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Morgenroth</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Gomez</surname> <given-names>C.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>3d modelling of individual trees using a handheld camera: accuracy of height, diameter and volume estimates</article-title>. <source>Urban For. Urban Green.</source> <volume>14</volume>, <fpage>932</fpage>&#x2013;<lpage>940</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.ufug.2015.09.001</pub-id>
</citation></ref>
<ref id="B32">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Monji-Azad</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Hesser</surname> <given-names>J.</given-names>
</name>
<name>
<surname>L&#xf6;w</surname> <given-names>N.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>A review of non-rigid transformations and learning-based 3d point cloud registration methods</article-title>. <source>Isprs-J. Photogramm. Remote Sens.</source> <volume>196</volume>, <fpage>58</fpage>&#x2013;<lpage>72</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.isprsjprs.2022.12.023</pub-id>
</citation></ref>
<ref id="B33">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Peng</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Lin</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Wu</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Cao</surname> <given-names>G.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Point cloud registration based on fast point feature histogram descriptors for 3d reconstruction of trees</article-title>. <source>Remote Sens.</source> <volume>15</volume> (<issue>15</issue>), <elocation-id>3775</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.3390/rs15153775</pub-id>
</citation></ref>
<ref id="B34">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pfeifer</surname> <given-names>N.</given-names>
</name>
<name>
<surname>Gorte</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Winterhalder</surname> <given-names>D.</given-names>
</name>
</person-group> (<year>2004</year>). &#x201c;<article-title>Automatic reconstruction of single trees from terrestrial laser scanner data</article-title>.&#x201d; In: <source>Proceedings of the 20th ISPRS Congress</source> (<publisher-name>Princeton, NJ, USA</publisher-name>: <publisher-name>Citeseer</publisher-name>), <fpage>114</fpage>&#x2013;<lpage>119</lpage>.</citation></ref>
<ref id="B35">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Qin</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Yu</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>C.</given-names>
</name>
<name>
<surname>Guo</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Peng</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Xu</surname> <given-names>K.</given-names>
</name>
<etal/>
</person-group>. (<year>2022</year>). &#x201c;<article-title>Geometric transformer for fast and robust point cloud registration</article-title>,&#x201d; In: <source>Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)</source> (<publisher-loc>New Orleans, LA, USA</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>11163</fpage>&#x2013;<lpage>11172</lpage>. doi: <pub-id pub-id-type="doi">10.1109/CVPR52688.2022.01086</pub-id>
</citation></ref>
<ref id="B36">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Raumonen</surname> <given-names>P.</given-names>
</name>
<name>
<surname>Kaasalainen</surname> <given-names>M.</given-names>
</name>
<name>
<surname>&#xc5;kerblom</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Kaasalainen</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Kaartinen</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Vastaranta</surname> <given-names>M.</given-names>
</name>
<etal/>
</person-group>. (<year>2013</year>). <article-title>Fast automatic precision tree models from terrestrial laser scanner data</article-title>. <source>Remote Sens.</source> <volume>5</volume>, <fpage>491</fpage>&#x2013;<lpage>520</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.3390/rs5020491</pub-id>
</citation></ref>
<ref id="B37">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Robinson</surname> <given-names>T. L.</given-names>
</name>
<name>
<surname>Hoying</surname> <given-names>S. A.</given-names>
</name>
<name>
<surname>Reginato</surname> <given-names>G. H.</given-names>
</name>
</person-group> (<year>2006</year>). <article-title>The tall spindle apple production system</article-title>. <source>New York Fruit Q.</source> <volume>14</volume>, <fpage>21</fpage>&#x2013;<lpage>28</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.17660/ActaHortic.2011.903.79</pub-id>
</citation></ref>
<ref id="B38">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Rusu</surname> <given-names>R. B.</given-names>
</name>
<name>
<surname>Blodow</surname> <given-names>N.</given-names>
</name>
<name>
<surname>Beetz</surname> <given-names>M.</given-names>
</name>
</person-group> (<year>2009</year>). &#x201c;<article-title>Fast point feature histograms (FPFH) for 3D registration</article-title>,&#x201d; in <source>Proceedings of the 2009 IEEE International Conference on Robotics and Automation (ICRA)</source> (<publisher-loc>Kobe, Japan</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>3212</fpage>&#x2013;<lpage>3217</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/ROBOT.2009.5152473</pub-id>
</citation></ref>
<ref id="B39">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Rusu</surname> <given-names>R. B.</given-names>
</name>
<name>
<surname>Cousins</surname> <given-names>S.</given-names>
</name>
</person-group> (<year>2011</year>). &#x201c;<article-title>3d is here: point cloud library (pcl)</article-title>,&#x201d; in <source>Proceedings of the 2011 IEEE International Conference on Robotics and Automation (ICRA)</source> (<publisher-loc>Shanghai, China</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>1</fpage>&#x2013;<lpage>4</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/ICRA.2011.5980567</pub-id>
</citation></ref>
<ref id="B40">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Salehi</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Jarahizadeh</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Sarafraz</surname> <given-names>A.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>An improved ransac outlier rejection method for uav-derived point cloud</article-title>. <source>Remote Sens.</source> <volume>14</volume> (<issue>19</issue>), <elocation-id>4917</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.3390/rs14194917</pub-id>
</citation></ref>
<ref id="B41">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shao</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Mellado</surname> <given-names>N.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>N.</given-names>
</name>
<name>
<surname>Jin</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Cai</surname> <given-names>S.</given-names>
</name>
<etal/>
</person-group>. (<year>2020</year>). <article-title>Slam-aided forest plot mapping combining terrestrial and mobile laser scanning</article-title>. <source>Isprs-J. Photogramm. Remote Sens.</source> <volume>163</volume>, <fpage>214</fpage>&#x2013;<lpage>230</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.isprsjprs.2020.03.008</pub-id>
</citation></ref>
<ref id="B42">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shimizu</surname> <given-names>K.</given-names>
</name>
<name>
<surname>Nishizono</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Kitahara</surname> <given-names>F.</given-names>
</name>
<name>
<surname>Fukumoto</surname> <given-names>K.</given-names>
</name>
<name>
<surname>Saito</surname> <given-names>H.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Integrating terrestrial laser scanning and unmanned aerial vehicle photogrammetry to estimate individual tree attributes in managed coniferous forests in Japan</article-title>. <source>Int. J. Appl. Earth Obs. Geoinf.</source> <volume>106</volume>, <elocation-id>102658</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.jag.2021.102658</pub-id>
</citation></ref>
<ref id="B43">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sun</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>C.</given-names>
</name>
<name>
<surname>Chee</surname> <given-names>P. W.</given-names>
</name>
<name>
<surname>Paterson</surname> <given-names>A. H.</given-names>
</name>
<name>
<surname>Meng</surname> <given-names>C.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>J.</given-names>
</name>
<etal/>
</person-group>. (<year>2021</year>). <article-title>High resolution 3d terrestrial lidar for cotton plant main stalk and node detection</article-title>. <source>Comput. Electron. Agric.</source> <volume>187</volume>, <elocation-id>106276</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.compag.2021.106276</pub-id>
</citation></ref>
<ref id="B44">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Vasylieva</surname> <given-names>N.</given-names>
</name>
<name>
<surname>Harvey</surname> <given-names>J.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Production and trade patterns in the world apple market</article-title>. <source>Innovative Marketing</source> <volume>17</volume>, <fpage>16</fpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.21511/im.17(1).2021.02</pub-id>
</citation></ref>
<ref id="B45">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Liu</surname> <given-names>T.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Spatiotemporal evolution and suitability of apple production in China from climate change and land use transfer perspectives</article-title>. <source>Food Energy Secur.</source> <volume>11</volume>, <elocation-id>e386</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1002/fes3.386</pub-id>
</citation></ref>
<ref id="B46">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Miao</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Han</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Peng</surname> <given-names>C.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Extraction of 3d distribution of potato plant cwsi based on thermal infrared image and binocular stereovision system</article-title>. <source>Front. Plant Sci.</source> <volume>13</volume>, <elocation-id>1104390</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.3389/fpls.2022.1104390</pub-id>, PMID: <pub-id pub-id-type="pmid">36762177</pub-id></citation></ref>
<ref id="B47">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Yang</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Cheng</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Stoter</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Xu</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Wu</surname> <given-names>Z.</given-names>
</name>
<etal/>
</person-group>. (<year>2023</year>). <article-title>Globalmatch: registration of forest terrestrial point clouds by global matching of relative stem positions</article-title>. <source>Isprs-J. Photogramm. Remote Sens.</source> <volume>197</volume>, <fpage>71</fpage>&#x2013;<lpage>86</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.isprsjprs.2023.01.013</pub-id>
</citation></ref>
<ref id="B48">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Zhou</surname> <given-names>P.</given-names>
</name>
<name>
<surname>Geng</surname> <given-names>G.</given-names>
</name>
<name>
<surname>An</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>Q.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Low-overlap point cloud registration with transformer</article-title>. <source>IEEE Signal Process. Lett.</source> <volume>31</volume>, <fpage>1469</fpage>&#x2013;<lpage>1473</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/LSP.2024.3399668</pub-id>
</citation></ref>
<ref id="B49">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wilkes</surname> <given-names>P.</given-names>
</name>
<name>
<surname>Lau</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Disney</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Calders</surname> <given-names>K.</given-names>
</name>
<name>
<surname>Burt</surname> <given-names>A.</given-names>
</name>
<name>
<surname>de Tanago</surname> <given-names>J. G.</given-names>
</name>
<etal/>
</person-group>. (<year>2017</year>). <article-title>Data acquisition considerations for terrestrial laser scanning of forest plots</article-title>. <source>Remote Sens. Environ.</source> <volume>196</volume>, <fpage>140</fpage>&#x2013;<lpage>153</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.rse.2017.04.030</pub-id>
</citation></ref>
<ref id="B50">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xu</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>P.</given-names>
</name>
<name>
<surname>Gan</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Sun</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>L.</given-names>
</name>
<etal/>
</person-group>. (<year>2022</year>). <article-title>Automatic marker-free registration of single tree point-cloud data based on rotating projection</article-title>. <source>Artif. Intell. Agric.</source> <volume>6</volume>, <fpage>176</fpage>&#x2013;<lpage>188</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.aiia.2022.09.005</pub-id>
</citation></ref>
<ref id="B51">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Dong</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Liang</surname> <given-names>F.</given-names>
</name>
<name>
<surname>Liu</surname> <given-names>Y.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Automatic registration of large-scale urban scene point clouds based on semantic feature points</article-title>. <source>Isprs-J. Photogramm. Remote Sens.</source> <volume>113</volume>, <fpage>43</fpage>&#x2013;<lpage>58</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.isprsjprs.2015.12.005</pub-id>
</citation></ref>
<ref id="B52">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname> <given-names>R.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Liu</surname> <given-names>Q.</given-names>
</name>
<name>
<surname>Huang</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Yin</surname> <given-names>K.</given-names>
</name>
<name>
<surname>Qiao</surname> <given-names>X.</given-names>
</name>
<etal/>
</person-group>. (<year>2020</year>). <article-title>Gradient-based method for the identification of multi-nodes in sugarcane</article-title>. <source>Inf. Process. Agric.</source> <volume>7</volume>, <fpage>491</fpage>&#x2013;<lpage>499</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.inpa.2020.01.004</pub-id>
</citation></ref>
<ref id="B53">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Shi</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Carlone</surname> <given-names>L.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Teaser: fast and certifiable point cloud registration</article-title>. <source>IEEE Trans. Robotics</source> <volume>37</volume>, <fpage>314</fpage>&#x2013;<lpage>333</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/TRO.2020.3033695</pub-id>
</citation></ref>
<ref id="B54">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Ye</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Zhou</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Xu</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Yin</surname> <given-names>J.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>3d reconstruction method for tree seedlings based on point cloud self-registration</article-title>. <source>Comput. Electron. Agric.</source> <volume>200</volume>, <elocation-id>107210</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.compag.2022.107210</pub-id>
</citation></ref>
<ref id="B55">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zang</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Meng</surname> <given-names>F.</given-names>
</name>
<name>
<surname>Lindenbergh</surname> <given-names>R.</given-names>
</name>
<name>
<surname>Truong-Hong</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>B.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Deep localization of static scans in mobile mapping point clouds</article-title>. <source>Remote Sens.</source> <volume>13</volume>, <elocation-id>219</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.3390/rs13020219</pub-id>
</citation></ref>
<ref id="B56">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname> <given-names>Q.</given-names>
</name>
<name>
<surname>Chen</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Zhou</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Liao</surname> <given-names>Q.</given-names>
</name>
<name>
<surname>Yang</surname> <given-names>C.</given-names>
</name>
<etal/>
</person-group>. (<year>2024</year>). <article-title>3d terrestrial lidar for obtaining phenotypic information of cigar tobacco plants</article-title>. <source>Comput. Electron. Agric.</source> <volume>226</volume>, <elocation-id>109424</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.compag.2024.109424</pub-id>
</citation></ref>
<ref id="B57">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname> <given-names>C.</given-names>
</name>
<name>
<surname>Serra</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Quir&#xf3;s-Vargas</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Sangjan</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Musacchi</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Sankaran</surname> <given-names>S.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Non-invasive sensing techniques to phenotype multiple apple tree architectures</article-title>. <source>Inf. Process. Agric.</source> <volume>10</volume>, <fpage>136</fpage>&#x2013;<lpage>147</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.inpa.2021.02.001</pub-id>
</citation></ref>
<ref id="B58">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Shao</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Jin</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Luo</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Ge</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Peng</surname> <given-names>X.</given-names>
</name>
<etal/>
</person-group>. (<year>2021</year>). <article-title>Automated marker-free registration of multisource forest point clouds using a coarse-to-global adjustment strategy</article-title>. <source>Forests</source> <volume>12</volume>, <elocation-id>269</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.3390/f12030269</pub-id>
</citation></ref>
<ref id="B59">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhou</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Kang</surname> <given-names>F.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Kan</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Zheng</surname> <given-names>Y.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Point cloud registration for agriculture and forestry crops based on calibration balls using kinect v2</article-title>. <source>Int. J. Agric. Biol. Eng.</source> <volume>13</volume>, <fpage>198</fpage>&#x2013;<lpage>205</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.25165/j.ijabe.20201301.5077</pub-id>
</citation></ref>
<ref id="B60">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhou</surname> <given-names>G.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Zhou</surname> <given-names>J.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Automatic registration of tree point clouds from terrestrial lidar scanning for reconstructing the ground scene of vegetated surfaces</article-title>. <source>IEEE Geosci. Remote Sens. Lett.</source> <volume>11</volume>, <fpage>1654</fpage>&#x2013;<lpage>1658</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/LGRS.2014.2314179</pub-id>
</citation></ref>
<ref id="B61">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhu</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Guan</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Lin</surname> <given-names>C.</given-names>
</name>
<name>
<surname>Han</surname> <given-names>R.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Leveraging inlier correspondences proportion for point cloud registration</article-title>. <source>arXiv preprint arXiv:2201.12094</source>.</citation></ref>
</ref-list>
</back>
</article>