- High-accuracy crown volume estimation
- Parameter-free
- Automated 3D modeling from LiDAR/point clouds
- Cross-section analysis & projection mapping
- Low VRAM usage & fast processing
- Training-free for all tree species
- Requires PyTorch ≥2.0 (versions below 2.0 not supported)
- Requires PyTorch3D ==0.7.5
Run xyz2ply under the tools directory to convert your XYZ point cloud file (first three columns as XYZ coordinates) to a PLY file with normal vectors.
Execute get_mesh_number.py in tools/get_mesh_num/. You must modify the path to your target folder. Note this is a modified version of Adtree - if execution fails, please recompile. The original Adtree cannot retrieve face counts.
Run convex_hull_batch.py after:
- Setting your target folder path
- Specifying your face count CSV file path
- Compiling Manifold (Robust Watertight Manifold Software) under the
codedirectory
Run simulate.py with these configurable options:
- Multi-threading support: Set the number of parallel processes per device
- Multi-GPU support: Configure the number of GPUs to utilize
- Progress notifications: Enable and configure notification settings as needed
For optimal performance:
- Adjust thread/GPU counts according to your hardware specifications
- Allocate sufficient memory for large datasets
- Monitor system resources during execution
| Method | Real-world Dataset (3,000+ trees) | ForInstance-999 Dataset | Synthetic Dataset (Include True Label) |
|---|---|---|---|
| Point2Tree | ✅smallest | ✅ smallest | ✅ Best |
| Voxel-based | - | - | - |
| Graham Slicing | - | - | - |
| Convex Hull | - | - | - |
Key: ✅ = Our method performs better than the baseline approaches in both volume estimation and projection area calculation
| Method | Volume Estimation | Projection Area |
|---|---|---|
| Point2Tree | ✅ smallest | ✅ smallest |
| Voxel-based | - | - |
| Graham Slicing | - | - |
| Convex Hull | - | - |
Note: Demonstrated superior performance across all test datasets (3,000+ real trees, ForInstance-999, and synthetic Blender models) compared to traditional methods
I. GPU Memory Usage Comparison

Point2Tree reduces GPU memory consumption by 50% compared to Point2Mesh .
II. Processing Time Comparison

Point2Tree achieves 2× faster processing speed .
This work builds upon two foundational papers. We sincerely thank the authors for their outstanding contributions that made this research possible:
@article{,
title = {QMesh4Point: Using Segformer and Self-Prior Learning to Calculate High-Precision Crown Volume and Projection Area Based on LiDAR Point Cloud Measurements},
author = {Zhong Wang,Zhixiang Xu,Ruishan Geng,Jiaxin Zhong Shan Yang},
year = {2025},
}@article{Hanocka2020p2m,
title = {Point2Mesh: A Self-Prior for Deformable Meshes},
author = {Hanocka, Rana and Metzer, Gal and Giryes, Raja and Cohen-Or, Daniel},
journal = {ACM Transactions on Graphics},
volume = {39},
number = {4},
pages = {Article 86},
year = {2020},
doi = {10.1145/3386569.3392415}
}@article{du2019adtree,
title = {AdTree: Accurate, Detailed, and Automatic Modelling of Laser-Scanned Trees},
author = {Du, Shenglan and Lindenbergh, Roderik and Ledoux, Hugo and Stoter, Jantien and Nan, Liangliang},
journal = {Remote Sensing},
volume = {11},
number = {18},
pages = {2074},
year = {2019},
doi = {10.3390/rs11182074}
}