Laser scanning is an effective tool for acquiring geometric attributes of trees and vegetation,
which lays a solid foundation for 3-dimensional tree modelling. Existing studies on tree modelling
from laser scanning data are vast. However, some works cannot guarantee sufficient modelling
accuracy, while some other works are mainly rule-based and therefore highly depend on user inputs.
In this paper, we propose a novel method to accurately and automatically reconstruct detailed 3D
tree models from laser scans. We first extract an initial tree skeleton from the input point cloud by
establishing a minimum spanning tree using the Dijkstra shortest-path algorithm. Then, the initial tree
skeleton is pruned by iteratively removing redundant components. After that, an optimization-based
approach is performed to fit a sequence of cylinders to approximate the geometry of the tree branches.
Experiments on various types of trees from different data sources demonstrate the effectiveness and
robustness of our method. The overall fitting error (i.e., the distance between the input points and the
output model) is less than 10 cm. The reconstructed tree models can be further applied in the precise
estimation of tree attributes, urban landscape visualization, etc. The source code of this work is freely
available at https://github.com/tudelft3d/adtree