File size: 6,017 Bytes
26225c5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 | ---
license: mit
datasets:
- heig-vd-geo/GridNet-HD
language:
- en
metrics:
- mean_iou
---
# GridNet-HD Baseline: Super Point Transformer segmentation
## Overview
This repository is a fork of the [SuperPoint Transformer (SPT)](https://github.com/drprojects/superpoint_transformer) proposed by Robert et al., adapted to support training and inference on the **GridNet-HD** dataset.
Our version introduces the following modifications:
- Integration with the **GridNet-HD** dataset structure.
- Support for exporting **softmax logits per class and per point**, used as inputs for the **third fusion baseline** in our NeurIPS submission.
- Support for full resolution inference.
This implementation serves as one of the **official baselines** provided for GridNet-HD.
For more information on the original SPT architecture, training options, model internals and hyperparameters, please refer to the [official SuperPoint Transformer repository](https://github.com/drprojects/superpoint_transformer).
---
## Table of Contents
* [Configuration](#configuration)
* [Environment](#environment)
* [Dataset Structure](#dataset-structure)
* [Installation](#setup--installation)
* [Supported Modes](#supported-modes)
* [Results](#results)
* [Pretrained Weights](#pretrained-weights)
* [Usage Examples](#usage-examples)
* [License](#license)
* [Contact](#contact)
* [Citation](#citation)
---
## Configuration
The modified configuration files for training on GridNet-HD are available in `config/datamodule/semantic` and `config/experiment/semantic` directory. These include:
- dataset paths compatible with GridNet-HD structure,
- number of classes,
- class mappings.
For all other training parameters (optimizer, scheduler, etc.), we use the defaults from the original SPT repo.
---
## Environment
The following environment was used to train and evaluate the baseline model (detailed requirements are provided by the spt repo).
| Component | Details |
| --------------- | -------------------------------- |
| GPU | NVIDIA A40 (48 GB VRAM) |
| CUDA Version | 12.x |
| OS | Ubuntu 22.04 LTS |
| RAM | 256 GB |
---
## Dataset Structure
The [GridNet-HD dataset](https://huggingface.co/datasets/heig-vd-geo/GridNet-HD) dataset must be structured as follows for compatibility with this implementation:
```
project_root/
βββ data/
β βββ raw/
β βββ train/
β β βββ t1z4/
β β β βββ lidar/
β β β βββ t1z4.las
β β βββ t2z5/
β β β βββ lidar/
β β β βββ t2z5.las
β β βββ ...
β βββ val/
β β βββ t1z5b/
β β β βββ lidar/
β β β βββ t1z5b.las
β β βββ ...
β βββ test/
β βββ t1z4/
β β βββ lidar/
β β βββ t1z4.las
β βββ ...
```
---
## Setup & Installation
1. **Clone the repository**:
```bash
git clone https://huggingface.co/heig-vd-geo/SPT_GridNet-HD_baseline
cd SPT_GridNet-HD_baseline
```
2. **Simply run the installation script** to set up the required environment (given by the spt repo):
```bash
bash install.sh
```
---
## Supported Modes
The following modes are supported in this fork:
- Training on GridNet-HD dataset (with official train.py from spt repo)
- Validation using the same split logic (with officiel eval.py from spt.py)
- Inference on selected split (with inference.py)
- Exporting per-point softmax logits (with inference.py)
For additional informations, refer to [the original SPT documentation](https://github.com/drprojects/superpoint_transformer).
---
### Results
The following table summarizes the per-class Intersection over Union (IoU) scores on the test set at 3D level for the best model.
| Class | IoU (Test set) (%)|
|---------------------------|------------|
| Pylon | 92.75 |
| Conductor cable | 91.05 |
| Structural cable | 70.51 |
| Insulator | 80.60 |
| High vegetation | 85.15 |
| Low vegetation | 55.91 |
| Herbaceous vegetation | 84.64 |
| Rock, gravel, soil | 40.63 |
| Impervious soil (Road) | 73.57 |
| Water | 3.69 |
| Building | 57.38 |
| **Mean IoU (mIoU)** | **66.90** |
### Pretrained Weights
π **Pretrained weights** for the best performing model are available for download directly in this repo.
---
## Usage Examples
- Train on GridNet-HD:
```
python src/train.py experiment=semantic/gridnet
```
- Evaluate on GridNet-HD:
```
python src/eval.py experiment=semantic/gridnet ckpt_path=/path/to/your/checkpoint.ckpt
```
- Inference to obtain full-resolution predictions on test point clouds:
```
python inference.py --mode inference --split test --weights path/to/model.ckpt --root_dir /path/to/data/gridnet/raw
```
- Export Softmax Logits for all splits:
```
python inference.py --mode export_log --weights path/to/model.ckpt --root_dir /path/to/data/gridnet/raw
```
This will export .las files with added sof_log0, sof_log1, ..., sof_logN fields representing softmax scores per class and per point to train the 3rd baseline.
---
## License
This project is open-sourced under the MIT License. The original SuperPoint Transformer repository is licensed under the same MIT Licence.
---
## Contact
For questions, issues, or contributions, please open an issue on the repository.
---
## Citation
If you use this repo in research, please cite:
GridNet-HD: A High-Resolution Multi-Modal Dataset for LiDAR-Image Fusion on Power Line Infrastructure
Masked Authors
Submitted to NeurIPS 2025.
|