YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
license: apache-2.0 pipeline_tag: image-segmentation tags:
remote-sensing
semantic-segmentation
rooftop-segmentation
boundary-aware
sam2
dinov2
FDS-UNeXT
Checkpoints for "Boundary-Aware Adaptation of Frozen Foundation Models for Fine-Grained Rooftop Segmentation" (submitted to Remote Sensing).
FDS-UNeXT adapts two frozen foundation models, the SAM 2.1 Hiera-L encoder and
DINOv2 ViT-L/14, to four-class rooftop material segmentation with 6.97 M
trainable parameters (1.33 % of 523.1 M). Code:
https://github.com/Jim-myoenk/FDS-UNeXT.
Format: trainable tensors only
A full checkpoint is 2.0 GB, but 516.2 M of its 523.1 M parameters are the frozen trunks and are identical to the public SAM 2.1 and DINOv2 weights. Each file here stores only the 6.97 M tensors that training updated, which makes it 26.7 MB. The round trip is exact: merging reproduces every tensor of the original file.
You still need the two public trunks:
wget -P weights https://dl.fbaipublicfiles.com/segment_anything_2/092824/sam2.1_hiera_large.pt
wget -P weights https://dl.fbaipublicfiles.com/dinov2/dinov2_vitl14/dinov2_vitl14_pretrain.pth
Files
| File | Trained on | Used for |
|---|---|---|
lrmd-fold0.pth … lrmd-fold4.pth |
LRMD, 0.14 m, five folds | Table 3, Figure 10 |
potsdam-seed42.pth, potsdam-seed3407.pth |
ISPRS Potsdam, 0.05 m | Table 4, Figure 11 |
egcs-seed42.pth, egcs-seed3407.pth, egcs-seed666.pth |
E-GCS, 0.3 m | Table 4, Figures 9 and 11 |
Usage
huggingface-cli download Jim-myoenk/FDS-UNeXT lrmd-fold0.pth --local-dir deltas
python tools/merge_trainable.py \
--delta deltas/lrmd-fold0.pth \
--hiera_path weights/sam2.1_hiera_large.pt \
--dinov2_path weights/dinov2_vitl14_pretrain.pth \
--out runs/fold0/FDS-UNeXT-best.pth
python eval.py \
--hiera_path weights/sam2.1_hiera_large.pt \
--dinov2_path weights/dinov2_vitl14_pretrain.pth \
--checkpoint runs/fold0/FDS-UNeXT-best.pth \
--split_path dataset/roof_dataset_v2/split_fold0.json --split test \
--num_classes 4 --bf_tolerance 8 --dy_edge_offset 6 \
--class_names background,high-albedo-steel,low-albedo-steel,tile
Classes: 0 background (concrete roofs, asphalt, soil, vegetation, roads,
water, vehicles), 1 high-albedo color-coated steel, 2 low-albedo
color-coated steel, 3 tile.
Results
| Dataset | mIoU (%) | Boundary F-score (%) |
|---|---|---|
| LRMD, five folds | 70.00 ± 6.58 | 72.92 ± 3.69 |
| Potsdam, two seeds | 75.56 ± 0.49 | 72.67 ± 0.67 |
| E-GCS, three seeds | 95.15 ± 0.37 | 75.67 ± 1.14 |
The boundary F-score uses an 8-pixel tolerance. Metrics skip classes that are absent from the reference tile.
Citation
@article{zhao2026fdsunext,
title = {Boundary-Aware Adaptation of Frozen Foundation Models for
Fine-Grained Rooftop Segmentation},
author = {Zhao, Yuancheng and Wang, Jie and Li, Faguo and Liu, Erte and
Meng, Xiangying and Chen, Yueyue},
journal = {Remote Sensing},
year = {2026},
note = {Under review}
}
License: Apache-2.0 for this model and for the two upstream trunks.