DINOv3 building segmenter, by dataset version
Building instance segmentation from aerial imagery: a frozen DINOv3 encoder and a small trained decoder, whose building interiors and outlines a watershed turns into instances.
Each model is trained on a version of LundAISociety/hot-building-segmentation, and has its own folder with the weights, config.json (how it was trained) and metrics.json.
Run one with generate-predictions of the training code (below).
Latest: v1.0, trained on dataset v1.0 and validated on the held-out HOT Verified tiles (PQ 0.558 with its published postprocessing: min area 25 + the keep rule fitted on training tiles; 0.551 at plain min area 25, see v1.0/postprocess.json).
Models
| model | category | released | what it is |
|---|---|---|---|
| v0.0 | Lund AI Society | 2026-10-10 | Dataset v0.0; the first model and recipe. |
| v0.1 | Lund AI Society | 2026-10-11 | Dataset v0.1; same model and recipe as v0.0. |
| v0.2-contact | Lund AI Society | 2026-10-13 | Dataset v0.2; the decoder separates touching buildings with contact dams. |
| v0.2-depth | Lund AI Society | 2026-10-13 | Dataset v0.2; the decoder separates touching buildings with a depth map. |
| v0.2-vector | Lund AI Society | 2026-10-13 | Dataset v0.2; the decoder separates touching buildings with a vector towards the building centre. |
| v0.3 | Lund AI Society | 2026-10-14 | Dataset v0.3 and a new recipe: windowed augmentation, project weights, all splits, sharper images. |
| v0.3-vitb16 | Lund AI Society | 2026-10-15 | v0.3 with a ViT-B/16 encoder. |
| v0.3-vitl16 | Lund AI Society | 2026-10-15 | v0.3 with a web-pretrained ViT-L/16 encoder. |
| v0.3-vitl16-sat | Lund AI Society | 2026-10-15 | v0.3 with a satellite-pretrained ViT-L/16 encoder. |
| v0.4 | Lund AI Society | 2026-10-15 | Dataset v0.4, with ignore areas where labels may be missing. |
| v0.4-lr | Lund AI Society | 2026-10-16 | v0.4 with a learning-rate schedule. |
| v0.4-lr-wide | Lund AI Society | 2026-10-16 | v0.4 with a learning-rate schedule and a wider decoder. |
| v0.4.1-distilled | Lund AI Society | 2026-11-05 | The v0.4.1-lr-wide decoder on a distilled 6-block ViT-S student encoder. |
| v0.4.1-fast-distilled | Lund AI Society | 2026-11-05 | The v0.4.1-vit320-lite decoder on a distilled 6-block ViT-S student encoder. |
| v0.4.1-lr-wide | Lund AI Society | 2026-10-16 | Dataset v0.4.1 (cleaned validation split), wide decoder, the v0.3 recipe. |
| v0.4.1-lr-wide-h256-wd01 | Lund AI Society | 2026-10-21 | v0.4.1-lr-wide with a wider trunk and weight decay 0.01. |
| v0.4.1-lr-wide-h256-wd02 | Lund AI Society | 2026-10-21 | v0.4.1-lr-wide with a wider trunk and weight decay 0.02. |
| v0.4.1-lr-wide-vitl16-z19 | Lund AI Society | 2026-10-18 | v0.4.1-lr-wide without the sharp z20 images, ViT-L/16. |
| v0.4.1-lr-wide-z19 | Lund AI Society | 2026-10-18 | v0.4.1-lr-wide without the sharp z20 images, ViT-S/16. |
| v0.4.1-vit320-lite | Lund AI Society | 2026-10-22 | v0.4.1-lr-wide with the ViT at 320 px and a light decoder. |
| v1.0 | Lund AI Society | 2026-11-03 | Dataset v1.0. |
| v1.0-a | Lund AI Society | 2026-11-05 | Dataset v1.0 with a ViT-L/16 encoder on the native 256 px tile (no upscaling), decoder output 256 px. |
| v1.0-b | Lund AI Society | 2026-11-05 | Dataset v1.0 with a border loss that forgives 4 px offsets and counts eight poorly labelled projects less; 14 of 15 epochs (stopped by the cost limit). |
| v1.0-c | Lund AI Society | 2026-11-05 | Dataset v1.0 with a DINOv3 ConvNeXt-L encoder on the native 256 px tile (no upscaling), decoder output 256 px. |
| asym | Reference | 2026-10-04 | Frozen DINOv3 ViT-S/16 with a decoder trained with the relaxed asymmetric loss (LundAISociety/dinov3-asymmetric-building-segmenter). |
| hotv5 | Reference | 2026-05-31 | dinov3-hot v5: frozen DINOv3-L/16 + UperNet, trained on hotosm/vhr-building-segmentation train; a different architecture. |
| unet | Reference | 2026-10-04 | U-Net with an EfficientNet-B4 encoder and three heads (mask, distance, boundary), nilsho01/unet-effb4-dist3-buildings. |
Also in this repo: an onnx/ folder in the models that have browser builds (model_fp32, model_fp16, model_int8, model_int8conv), and fair/ (a build for HOT's fAIr).
Training code: lundaisociety/dataset-hot. Weights: Apache-2.0. Imagery and labels derive from OpenAerialMap and OpenStreetMap (ODbL).