Dinov3 Hot Buildings
Binary building-footprint segmentation from very-high-resolution RGB aerial imagery. Frozen DINOv3-ViT-L/16 (LVD1689M) encoder, terratorch UperNet decoder, multi-task auxiliary heads (boundary + signed distance),...
Model source
- Kind
- Other
- File size
- 209 MB–1.61 GB
- Version
- vDinov3l buildings
- Updated
- Nov 1, 2026
- Source
- Hugging Face
Source description
DINOv3-L + UperNet building segmentation (HOT VHR)
Binary building-footprint segmentation from very-high-resolution RGB aerial imagery.
Frozen DINOv3-ViT-L/16 (LVD1689M) encoder, terratorch UperNet decoder, multi-task
auxiliary heads (boundary + signed distance), watershed instance separation.
Decoder trained on hotosm/vhr-building-segmentation (~58k chips, OAM + OSM, global).
The checkpoint here is the decoder-only state_dict (encoder weights are loaded
fresh from kshitijrajsharma/dinov3 at inference / finetune time, so they are
stripped from this artifact to save bandwidth).
Intended use
Decoder fine-tuning on small downstream OAM + OSM labelled sets (~100-200 chips)
inside the HOTOSM fAIr platform, or
direct inference via the upstream dinov3-hot CLI.
Files
| File | Size | What it is |
|---|---|---|
dinov3l_upernet_hot.ckpt | ~493 MB | PyTorch Lightning checkpoint, decoder + pyramid + aux + main heads. Encoder excluded. |
How it is loaded
The fAIr dinov3_buildings pipeline (in
hotosm/fAIr-models)
re-downloads the DINOv3-ViT-L/16 encoder from
kshitijrajsharma/dinov3 and
loads the decoder state from this checkpoint with strict=False.
Headline results (upstream repo, 2026-05)
| Benchmark | Pixel IoU | Instance F1@0.5 | avg vertices | orthogonality |
|---|---|---|---|---|
| HF global test split (7236 tiles) | 0.441 | 0.262 | 4.91 | 0.71 |
| Banepa, Nepal (1536x1536 OAM scene) | 0.656 | 0.407 | 5.99 | 0.63 |
Shape stats are computed in each region's local UTM zone after the production DP + MBR-safe regularize step.
Architecture
- Encoder: DINOv3-ViT-L/16 (LVD1689M, ~300M params), frozen. Intermediate features
tapped at blocks [5, 11, 17, 23] via
get_intermediate_layers(norm=True, reshape=True, return_class_token=False). - Neck: terratorch
LearnedInterpolateToPyramidal— ConvTranspose-based learned upsampling producing a 4-level pyramid. - Decoder: terratorch
UperNetDecoder,decoder_channels=512,pool_scales=(1, 2, 3, 6). - Heads: 1x1 Conv -> 3 channels (mask logit, boundary logit, signed distance via tanh). Auxiliary FCN head on tap-2 (training-only, dropped at ONNX export).
- Trainable parameters: ~43M (decoder + pyramid + heads).
Native input size 256 x 256. Dataset normalisation
mean=[0.4297, 0.4002, 0.3433], std=[0.2056, 0.1674, 0.1599].
License
Apache-2.0. The DINOv3-L encoder weights are also Apache-2.0 (Facebook Research, arXiv:2508.10104).
Citation
If you use this checkpoint, please cite DINOv3:
@article{oquab2025dinov3,
title={DINOv3},
author={Oquab, Maxime and others},
journal={arXiv preprint arXiv:2508.10104},
year={2025}
}
Sources
1 source
Sources
1 sourceVerified Nov 1
Download files
Model artifacts
4 artifacts
Model artifacts
4 artifactsSource excerpts
2 excerpts
Source excerpts
2 excerpts--- license: apache-2.0 library_name: pytorch tags: - building-segmentation - semantic-segmentation - dinov3 - upernet - geospatial - remote-sensing - openaerialmap - hotosm pipeline_tag: image-segmentation --- # DINOv3-L + UperNet building segmentation (HOT VHR) Binary building-footprint segmentation from very-high-resolution RGB aerial imagery. Frozen DINOv3-ViT-L/16 (LVD1689M) encoder, terratorch UperNet decoder, multi-task auxiliary heads (boundary + signed distance), watershed instance separation. Decoder trained on `hotosm/vhr-building-segmentation` (~58k chips, OAM + OSM, global). The checkpoint here is the **decoder-only state_dict** (encoder weights are loaded fresh from `kshitijrajsharma/dinov3` at inference / finetune time, so they are stripped from this artifact to save bandwidth). ## Intended use Decoder fine-tuning on small downstream OAM + OSM labelled sets (~100-200 chips) inside the [HOTOSM fAIr platform](https://github.com/hotosm/fAIr-models), or direct inference via the upstream `dinov3-hot` CLI. ## Files | File | Size | What it is | | --- | --- | --- | | `dinov3l_upernet_hot.ckpt` | ~493 MB | PyTorch Lightning checkpoint, decoder + pyramid + aux + main heads. Encoder excluded. | ## How it is loaded The fAIr `dinov3_buildings` pipeline (in [hotosm/fAIr-models](https://github.com/hotosm/fAIr-models/tree/main/models/dinov3_buildings)) re-downloads the DINOv3-ViT-L/16 encoder from [`kshitijrajsharma/dinov3`](https://huggingface.co/kshitijrajsharma/dinov3) and loads the decoder state from this checkpoint with `strict=False`. ## Headline results (upstream repo, 2026-05) | Benchmark | Pixel IoU | Instance F1@0.5 | avg vertices | orthogonality | | --- | ---: | ---: | ---: | ---: | | HF global test split (7236 tiles) | 0.441 | 0.262 | 4.91 | 0.71 | | Banepa, Nepal (1536x1536 OAM scene) | 0.656 | 0.407 | 5.99 | 0.63 | Shape stats are computed in each region's local UTM zone after the production DP + MBR-safe regularize step. ## Architecture - **Encoder**: DINOv3-ViT-L/16 (LVD1689M, ~300M params), frozen. Intermediate features tapped at blocks [5, 11, 17, 23] via `get_intermediate_layers(norm=True, reshape=True, return_class_token=False)`. - **Neck**: terratorch `LearnedInterpolateToPyramidal` — ConvTranspose-based learned upsampling producing a 4-level pyramid. - **Decoder**: terratorch `UperNetDecoder`, `decoder_channel...
Source context: 0 downloads · 0 likes · Pipeline image-segmentation · Library pytorch · Repo kshitijrajsharma/dinov3-hot-buildings
