This repository contains pipelines for processing large-scale 3D datasets.
The workflow is divided into three main components:
- Instance Segmentation β 3D building instance segmentation using SoftGroup (separate individual buildings)
- Semantic Segmentation & Clustering β Point cloud classification (ground, building, vegetation) and clustering method to filter building points and detect individual buildings
- Building Height Estimation β Extract building heights from delineated point clouds
Note: This repository is currently organized as separate branches. Each branch contains one module.
instance_segmentation_softgroup/ # Branch for instance segmentation
βββ SoftGroup/
β βββ configs/softgroup/
β β βββ softgroup_clientdata.yaml # Configuration for client data
β βββ dataset/clientdata/
β β βββ prepare_data_clientdata.py # Custom preprocessing
β βββ docs/
β β βββ INSTALLATION_GUIDE.md # Installation instructions
β β βββ RUNPOD_SETUP_GUIDE.md # Cloud setup guide
β β βββ ...
β βββ softgroup/ # Core model implementation
β βββ tools/ # Training & inference scripts
β βββ requirements.txt
βββ README.md
semantic_segmentation_and_clustering/ # Branch for semantic segmentation & clustering
βββ .gitignore
βββ README.md
βββ requirements.txt
βββ Final models/ # Trained model checkpoints
βββ building_delineation/
β βββ clustering/ # DBSCAN, HDBSCAN clustering algorithms
β βββ configs/ # Clustering configuration
β βββ evaluation/ # Validation and visualization
β βββ notebooks/ # Demo notebooks
β βββ README.md
β βββ requirements.txt
βββ semantic_segmentation/
βββ configs/ # Segmentation configuration
βββ data_preprocessing/ # Label remapping, dataset preparation
βββ training/ # Training on STPLS3D, Semantic3D
βββ validation/ # Evaluation scripts
βββ notebooks/ # Experiments and analysis
βββ README.md
βββ requirements.txt
building_height/ # Branch for height estimation
βββ configs/
β βββ height_config.yaml # Height calculation configuration
βββ calculate_building_heights.py # Main height calculation script
βββ compare_gt_vs_inference.py # Ground truth vs inference comparison
βββ requirements.txt
βββ README.md
| Module | Branch Name | Documentation |
|---|---|---|
| Instance Segmentation | instance_segmentation_softgroup |
See README in branch |
| Semantic Segmentation & Clustering | semantic_segmentation_and_clustering |
See README in branch |
| Building Height Estimation | building_height |
See README in branch |
To access a module:
git checkout <branch_name>Each branch contains complete documentation:
README.md- Module-specific guiderequirements.txt- Python dependencies- Configuration files with inline comments
MIT License. See LICENSE file in each branch.
Last Updated: November 6, 2025