3D Branch Point Cloud Completion for Robotic Pruning in Apple Orchards
<|reference_start|>3D Branch Point Cloud Completion for Robotic Pruning in Apple Orchards: Robotic branch pruning is a significantly growing research area to cope with the shortage of labor force in the context of agriculture. One fundamental requirement in robotic pruning is the perception of detailed geometry and topology of branches. However, the point clouds obtained in agricultural settings often exhibit incompleteness due to several constraints, thereby restricting the accuracy of downstream robotic pruning. In this work, we addressed the issue of point cloud quality through a simulation-based deep neural network, leveraging a Real-to-Simulation (Real2Sim) data generation pipeline that not only eliminates the need for manual parameterization but also guarantees the realism of simulated data. The simulation-based neural network was applied to jointly perform point cloud completion and skeletonization on real-world partial branches, without additional real-world training. The Sim2Real qualitative completion and skeletonization results showed the model's remarkable capability for geometry reconstruction and topology prediction. Additionally, we quantitatively evaluated the Sim2Real performance by comparing branch-level trait characterization errors using raw incomplete data and complete data. The Mean Absolute Error (MAE) reduced by 75% and 8% for branch diameter and branch angle estimation, respectively, using the best complete data, which indicates the effectiveness of the Real2Sim data in a zero-shot generalization setting. The characterization improvements contributed to the precision and efficacy of robotic branch pruning.<|reference_end|>
@article{qiu20243d,
    title={3D Branch Point Cloud Completion for Robotic Pruning in Apple Orchards},
    author={Tian Qiu, Alan Zoubi, Nikolai Spine, Lailiang Cheng, and Yu Jiang},
    journal={arXiv preprint arXiv:2404.05953},
    year={2024},
    archivePrefix={arXiv},
    eprint={2404.05953},
    primaryClass={cs.RO}
}