Stone-Chern's picture
Link the arXiv preprint (arXiv:2608.26737)
5504235 verified
|
Raw
History Blame Contribute Delete
7.41 kB
---
license: mit
library_name: pytorch
tags:
- semantic-scene-completion
- lidar
- semantickitti
- diffusion
- autonomous-driving
- 3d
---
# GSSC-S2D2 — released checkpoints
Pretrained weights for **S²D² (Structured Source Discrete Diffusion)** and the
PS³ pyramid generator, as released with the paper *Generative Semantic Scene
Completion*. Code, configs, docs and every reproduction command live in the
GitHub repository:
**➡ https://github.com/BillyChern/GSSC-S2D2**
> **Non-commercial.** Although our own contribution is MIT-licensed, every
> checkpoint here was trained on **SemanticKITTI**, which is distributed under
> **CC BY-NC-SA 4.0**. Downstream use of these weights therefore inherits that
> dataset's non-commercial, share-alike and attribution terms. The MIT grant
> does not by itself authorise commercial use. See `LICENSE` in this repo.
## What is in here
18 checkpoint directories, 52 files, **4.91 GB (4.58 GiB)**. Each directory
ships `config.json` (training config, `best_miou`, `global_step`,
`source_sha256`, paper cross-reference), `model.safetensors` (training
weights) and, where the run used EMA, `model_ema.safetensors` (deployment
weights — the paper convention and the default for the inference scripts).
One directory, `bev/bev_s2d2_scpnet/`, additionally ships the pre-conversion
`model.pt`; prefer the `.safetensors` (see *Verify before you load*).
| Directory | What it is |
|---|---|
| `gssc_mf/gssc_31k_mf_step40000/` | **Headline** S²D² model on the frozen SCPNet base |
| `gssc_mf/gssc_57k_mf_step40000/` | Internal 57K multi-frame negative result (in no paper table) |
| `gssc_sf/gssc_{0,10,20,31,57}K_sf_step*/` | Single-frame data-scaling companion sweep |
| `gssc_js3c/gssc_js3c_s2d2_real/` | Cross-base row: JS3C-Net + S²D² |
| `gssc_lmsc/gssc_lmsc_s2d2_real/` | Cross-base row: LMSCNet + S²D² |
| `gssc_timesteps/gssc_{T10,T50,T100skewed}/` | Timestep-schedule ablation (supplement prose, no table) |
| `pyramid/pyramid_s{1,2,3}/` | PS³ pyramid generator stages (32×32×4 → 64×64×8 → 256×256×32) |
| `bev/bev_s2d2_scpnet/` | The BEV secondary-task model |
| `bev/bev_perception_net/` | A 938K-param refinement net. **NOT** the paper's BEV row, and it does not load in the BEV evaluator |
| `bev/bev_direct_l3_deeper/` | Internal BEV-architecture ablation, not tabulated |
| `scpnet_v2_port.pth` | Third-party SCPNet base weights (see licence below) |
| `MANIFEST.txt` | Generated cross-reference: directory → paper label, size, provenance |
| `checksums.txt` | Generated SHA256 of every other file in this repo |
**`MANIFEST.txt` is the authority** on which checkpoint backs which paper
claim, and under which evaluation protocol. It is generated from disk and
from each `config.json`, so it cannot drift from what is actually here. Read
it before quoting any number from these weights — several of them are
internal diagnostics that the paper deliberately does not print, and one
directory (`bev/bev_perception_net/`) has previously been mis-cited as the
paper's BEV model.
Headline result for orientation only: `gssc_mf/gssc_31k_mf_step40000`
reaches **38.54 % val mIoU** on SemanticKITTI sequence 08 (N=1, no TTA,
official `semantic-kitti-api`). The cross-base rows lift their frozen bases
by **+1.6 pp** (JS3C-Net) and **+1.8 pp** (LMSCNet) under the same evaluator.
Full per-row numbers, protocols and commands are in
[`docs/MODEL_ZOO.md`](https://github.com/BillyChern/GSSC-S2D2/blob/main/docs/MODEL_ZOO.md).
## Download
The supported route is the downloader in the code repository, which places
everything where the configs expect it (`data/checkpoints/`):
```bash
git clone https://github.com/BillyChern/GSSC-S2D2
cd GSSC-S2D2
python scripts/download_assets.py --checkpoints # ~4.9 GB
```
Or directly:
```python
from huggingface_hub import snapshot_download
snapshot_download("Stone-Chern/GSSC-S2D2-checkpoints",
repo_type="model", local_dir="data/checkpoints")
```
## Verify before you load
```bash
cd data/checkpoints && sha256sum -c checksums.txt
```
Paths inside `checksums.txt` are relative to that directory, so run it from
**inside** `data/checkpoints/`, not from its parent. Every line must print
`OK` and the command must exit 0.
This matters more than usual here. Of the 52 files, 30 are `.safetensors` -- a
format that cannot carry an executable payload -- but **two are pickles**:
the third-party `scpnet_v2_port.pth`, and `bev/bev_s2d2_scpnet/model.pt` (the
pre-conversion copy of that checkpoint's weights; the `.safetensors` beside it
is the one the evaluator command uses). GSSC-S2D2 loads `.pt` / `.pth`
checkpoints with `torch.load(..., weights_only=False)`, because the saved
state carries optimizer and EMA buffers that `weights_only=True` cannot
represent, so loading a tampered one is equivalent to running
attacker-supplied code. For `scpnet_v2_port.pth` that loader is
`src/gssc/inference/run_scpnet.py`, which `scripts/eval_semanticposs.py`
drives with `--checkpoint data/checkpoints/scpnet_v2_port.pth`. A `FAILED` or
`FAILED open or read` line means **do not load that file**. See
[`SECURITY.md`](https://github.com/BillyChern/GSSC-S2D2/blob/main/SECURITY.md).
## Paper
Generative Semantic Scene Completion — https://arxiv.org/abs/2608.26737
## Related repositories
* **Code** — https://github.com/BillyChern/GSSC-S2D2
* **Datasets** (base-model predictions + rare-class object bank) —
[`Stone-Chern/GSSC-S2D2-datasets`](https://huggingface.co/datasets/Stone-Chern/GSSC-S2D2-datasets)
* **Synthetic pool** — cite
[doi:10.21227/nqgf-9k39](https://dx.doi.org/10.21227/nqgf-9k39) (IEEE
DataPort; downloading from there needs an IEEE DataPort subscription),
download from either that record or the free mirror
[`Stone-Chern/PS3-SemanticKITTI`](https://huggingface.co/datasets/Stone-Chern/PS3-SemanticKITTI),
which holds the identical archives. `docs/DATASET.md` also documents a local
rebuild. The pyramid generator checkpoints in this repo are what that rebuild
runs.
## Licence
* **Our contribution** (the trained weights, manifests and this card): **MIT**
— see the `LICENSE` file in this repository.
* **Upstream data**: all weights were trained on **SemanticKITTI**
([CC BY-NC-SA 4.0](https://semantic-kitti.org/dataset.html)) — non-commercial,
share-alike, attribution required. Credit SemanticKITTI and KITTI when you
use these weights.
* **`scpnet_v2_port.pth`**: third-party **SCPNet** (Xia et al., CVPR 2023)
pretrained weights, carried unmodified -- the "port" in the name is
spconv-2.3 kernel-shape patching applied at load time, not a modified file. SCPNet publishes no upstream licence; this
file is redistributed with the SCPNet authors' explicit permission and with
attribution to them. No licence is asserted on their behalf.
The full notice list is in `LICENSE` here, and in
[`THIRD_PARTY_NOTICES.md`](https://github.com/BillyChern/GSSC-S2D2/blob/main/THIRD_PARTY_NOTICES.md)
in the code repository.
## Citation
```bibtex
@unpublished{chen2026gssc,
title = {Generative Semantic Scene Completion},
author = {Chen, Shi and Ge, Weifeng},
note = {Under review},
year = {2026}
}
```
Please also cite [SemanticKITTI](https://semantic-kitti.org/) as the source
dataset, and the relevant base model (SCPNet, JS3C-Net or LMSCNet) when using
a cross-base checkpoint.