Skip to content

Code for the paper "TreeLearn: A deep learning method for segmenting individual trees from ground-based LiDAR forest point clouds"

License

Notifications You must be signed in to change notification settings

ecker-lab/TreeLearn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TreeLearn: A deep learning method for segmenting individual trees from ground-based LiDAR forest point clouds

methods

Laser-scanned point clouds of forests make it possible to extract valuable information for forest management. To consider single trees, a forest point cloud needs to be segmented into individual tree point clouds. Existing segmentation methods are usually based on hand-crafted algorithms, such as identifying trunks and growing trees from them, and face difficulties in dense forests with overlapping tree crowns. In this study, we propose TreeLearn, a deep learning-based approach for tree instance segmentation of forest point clouds. TreeLearn is trained on already segmented point clouds in a data-driven manner, making it less reliant on predefined features and algorithms. Furthermore, TreeLearn is implemented as a fully automatic pipeline and does not rely on extensive hyperparameter tuning, which makes it easy to use. Additionally, we introduce a new manually segmented benchmark forest dataset containing 156 full trees. The data is generated by mobile laser scanning and contributes to create a larger and more diverse data basis for model development and fine-grained instance segmentation evaluation. We trained TreeLearn on forest point clouds of 6665 trees, labeled using the Lidar360 software. An evaluation on the benchmark dataset shows that TreeLearn performs as well as the algorithm used to generate its training data. Furthermore, the performance can be vastly improved by fine-tuning the model using manually annotated datasets. We evaluate TreeLearn on our benchmark dataset and the Wytham Woods dataset, outperforming the recent SegmentAnyTree, ForAINet and TLS2Trees methods. The TreeLearn code and all datasets that were created in the course of this work are made publicly available.

The paper can be found here. The data associated with the paper can be found here and here.

Updates!! 🚀

  • 【2024/01/16】 Provide a new version of model_weights_diverse_training_data.pth that produces visually more appealing results.
  • 【2024/06/19】 Faster algorithm for propagation of results to original point cloud (speeds up inference⚡).
  • 【2024/12/17】 📊 Updated evaluation script so that the evaluation protocol from the paper can be run with arbitrary methods and forest point clouds.
  • 【2024/12/17】 🆕 Added new model weights that were trained on crops without statistical outlier filtering (speeds up inference⚡).
  • 【2025/01/02】 🆕 Our pipeline now also supports hdbscan for more flexible clustering with only a single hyperparameter.

Demo [Currently non-functional]

For a quick demo of the capabilities of TreeLearn without any manual setup, we prepared a google colab notebook:

Open In Colab

Due to an incompatibility between cuda 12.2 and spconv the colab notebook is currently non-functional.

Installation

To set up the environment we recommend Conda. If Conda is set up and activated, run the following:

source setup/setup.sh

Depending on the specific gpu and cuda version of your system, you might need to adjust the spconv version specified in setup/requirements.txt.

Segmentation pipeline

If you are not interested in training your own models, but only want to use pre-trained weights for forest segmentation, we refer to the segmentation pipeline guide.

Training

If you want to train a custom model for forest segmentation, we refer to the training guide

Evaluation

To evaluate the segmentation results of arbitrary methods on arbitrary benchmark datasets, we refer to the evaluation guide

Acknowledgements

The code is built based on SoftGroup and spconv.

About

Code for the paper "TreeLearn: A deep learning method for segmenting individual trees from ground-based LiDAR forest point clouds"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published