Damage-TriageFormer (primary crop-mode checkpoint)
Current revision checkpoint. This is the primary crop-mode model reported
in the revised manuscript. It was trained from scratch on the corrected
photo-atomic split, which keeps every tile from a source photo in one fold. It
replaces the previously published tile-mode checkpoint trained on the
superseded tile-level split.
Damage-TriageFormer predicts a five-class building damage typology from a single
post-event RGB image. Each input is a crop centered on one footprint-derived
building instance. The crop includes a 32-pixel context margin and is resized to
224×224 pixels.
| Class | Name |
|---|
| 0 | Undamaged |
| 1 | Partial Roof Damage |
| 2 | Total Roof Damage |
| 3 | Partial Structural Damage |
| 4 | Total Structural Collapse |
Files
best.pth — the primary revised checkpoint, selected by validation macro F1.
It is a PyTorch state_dict containing the full fine-tuned backbone and all
three prediction heads.
config.json — architecture, preprocessing, training, split, and result
metadata for this checkpoint.
Checkpoint SHA-256:
49761e951f52d7ee14eaf9f7f4e4d8a81e5daaaee04d285dd55004076bcf9430.
Architecture
The model fine-tunes a DINOv3 ViT-L/16 backbone end to end. The class-token
embedding feeds three linear heads:
- an any-damage gate;
- a four-way damaged-class leaf head; and
- an auxiliary severity-regression head used only during training.
The five-class probability distribution is formed by combining the gate and
conditional leaf probabilities. Unlike the tile-mode architecture, this
checkpoint does not use a Simple Feature Pyramid or mask pooling. Building
footprints are used to define the input crops before inference.
Preprocessing
- Start from a footprint-derived building bounding box in a 1024×1024 tile.
- Add 32 pixels of context on each side, clipped to the tile boundary.
- Resize the crop to 224×224 pixels.
- Convert to RGB and normalize with ImageNet mean
[0.485, 0.456, 0.406] and
standard deviation [0.229, 0.224, 0.225].
- Exclude labeled footprint fragments smaller than 30 pixels.
Training
- Split: corrected photo-atomic DamageTriage-Bench split
- Epochs: 20
- Optimizer: AdamW
- Learning rate: 3e-5
- Weight decay: 1e-4
- Batch size: 48 on one A100 40 GB GPU
- Schedule: cosine annealing
- Seed: 42
- Augmentation: random horizontal and vertical flips
- Gate loss: binary cross-entropy
- Leaf loss: inverse-square-root class-weighted cross-entropy, weight 2.0,
label smoothing 0.1
- Auxiliary loss: Smooth L1, weight 0.5, targets
[0.0, 0.3, 0.7, 0.5, 1.0]
Results
The checkpoint was selected on the validation fold. The test fold was not used
for optimization or checkpoint selection.
| Metric | Validation | Test |
|---|
| Macro F1 | 0.646 | 0.616 |
| Undamaged F1 | 0.925 | 0.919 |
| Partial Roof Damage F1 | 0.539 | 0.563 |
| Total Roof Damage F1 | 0.338 | 0.272 |
| Partial Structural Damage F1 | 0.581 | 0.480 |
| Total Structural Collapse F1 | 0.848 | 0.845 |
These are single-seed, within-event results. The paper reports substantially
weaker transfer to held-out disasters and discusses the small support and label
ambiguity of the roof-damage classes.
Usage
Use the crop-mode script in the companion code repository:
github.com/YimingXiao98/Damage-TriageFormer.
The script defines the exact model class and preprocessing pipeline used for
this checkpoint.
1git clone https://github.com/YimingXiao98/Damage-TriageFormer.git
2cd Damage-TriageFormer
3
4export DINOV3_RUNS_ROOT=/path/to/runs
5mkdir -p "$DINOV3_RUNS_ROOT/crop_dtf"
6
7hf download Ymx1025/DamageTriageFormer-model best.pth \
8 --local-dir "$DINOV3_RUNS_ROOT/crop_dtf"
9
10python scripts/train_crop.py \
11 --arch dinov3_vitl16 --gated --dump-only \
12 --crops /path/to/prepared/crops \
13 --index-dir instance_index \
14 --splits photo_splits.json \
15 --batch 48 --name crop_dtf
The checkpoint contains a raw PyTorch state dictionary. Loading it requires the
GatedDinoCrop architecture defined in scripts/train_crop.py.
Training data
DamageTriage-Bench
(CC-BY-NC-4.0), using the released photo-atomic split.
Intended use and limitations
This release supports research and reproducibility. It is not a substitute for
engineering inspection and has not been validated for autonomous habitability,
safety, inspection-priority, or resource-allocation decisions. It assumes that
registered building footprints are available. The three study events do not
establish generalization to a new disaster, and all reported configurations use
a single seed. Rare and visually ambiguous roof-damage classes remain the least
reliable.
License
Released under CC-BY-NC-4.0, consistent with DamageTriage-Bench, and subject to
the redistribution terms of the underlying NOAA Emergency Response Imagery and
source building-footprint layers.
Citation
1@misc{xiao2026damagetriageformerfoundationmodelframeworktypologybased,
2 title={Damage-TriageFormer: A Foundation-Model Framework for Typology-Based Building Damage Assessment from Mono-Temporal Imagery},
3 author={Yiming Xiao and Yu-Hsuan Ho and Sanjay Thasma and Junwei Ma and Ali Mostafavi},
4 year={2026},
5 eprint={2606.12248},
6 archivePrefix={arXiv},
7 primaryClass={cs.CV},
8 url={https://arxiv.org/abs/2606.12248},
9}