--- license: mit language: en tags: - domain-adaptation - disaster-assessment - resnet50 - image-classification - unsupervised-domain-adaptation datasets: - abalhomaid/disaster-damage-assessment --- # UDA Disaster Damage Assessment - Model Weights Pre-trained model weights for reproducing the experiments in: > **Unsupervised Domain Adaptation for Rapid Disaster Damage Assessment** These checkpoints reproduce Tables 1-6 in the paper. ## Models Included | Model | Count | Description | |-------|-------|-------------| | ResNet50 (source-only) | 12 | State dict files for all 12 source-target domain pairs | | CDAN | 36 | 12 tasks x 3 seeds (SWD=0) | | CORAL | 36 | 12 tasks x 3 seeds (SWD=0) | | MMD | 36 | 12 tasks x 3 seeds (SWD=0) | | DANN | 36 | 12 tasks x 3 seeds (SWD=0) | | AWDAN (best) | 36 | 12 tasks x 3 seeds (best SWD config per task, selected by max F1) | | **Total** | **192 files** | **~19.8 GB** | ## Domains | Domain | Code | Event | Images | |--------|------|-------|--------| | Ecuador Earthquake | E | 2016 | 1,724 | | Nepal Earthquake | N | 2015 | 19,102 | | Hurricane Matthew | M | 2016 | 333 | | Typhoon Ruby | R | 2014 | 833 | All 12 source-to-target combinations (E2M, E2N, E2R, M2E, M2N, M2R, N2E, N2M, N2R, R2E, R2M, R2N) are evaluated with seeds {2, 32, 128}. ## Download ```bash pip install huggingface_hub huggingface-cli download abalhomaid/disaster-uda-models --local-dir . ``` This places files into the correct directory structure expected by the evaluation scripts. ## File Structure ``` models/resnet50/c4/ {S}_{T}_model_epoch_best_statedict.pth # Source-only baseline (12 files) train_jobs/cdan/logs/{model}/seed_{seed}/ Damage_{S}2{T}_SWD_{swd}_trade_offs_{to}/ checkpoints/best.pth # DA model checkpoint ``` Where `{model}` is one of: `cdan`, `coral`, `mmd`, `dann`. ## Usage Clone the reproduction repository and download the weights: ```bash git clone https://github.com/abalhomaid/disaster-assesment.git cd disaster-assesment git checkout reproducibility # Download model weights huggingface-cli download abalhomaid/disaster-uda-models --local-dir . # Set up evaluation environment conda env create -f tllib_metric.yaml conda activate tllib_metric pip install -e . # Evaluate a model (e.g., DANN E->M, seed=32) PYTHONPATH="$PWD:$PWD/examples/domain_adaptation/image_classification" \ python examples/domain_adaptation/image_classification/dann.py \ data/damage -d Damage -s E -t M -a resnet50 --seed 32 --scratch \ --log train_jobs/cdan/logs/dann/seed_32/Damage_E2M_SWD_0_trade_offs_1 \ --phase test ``` See the [repository README](https://github.com/abalhomaid/disaster-assesment/tree/reproducibility) for full reproduction instructions. ## Expected Results (Table 5 Averages) | Model | Accuracy | Precision | Recall | F1 | |-------|----------|-----------|--------|-----| | Source-only | 75.2 | 84.1 | 70.0 | 75.6 | | CDAN | 81.0 | 83.6 | 83.1 | 83.2 | | CORAL | 79.5 | 82.2 | 81.7 | 81.8 | | MMD | 81.1 | 83.8 | 83.0 | 83.2 | | DANN | 80.6 | 83.9 | 81.9 | 82.7 | | **AWDAN** | **81.9** | 83.9 | **85.0** | **84.2** | ## Architecture All models use ResNet50 backbone with 2-class output (damage / no damage), input size 224x224. - **Source-only**: Standard ResNet50 fine-tuned on source domain only - **DANN/CDAN**: ResNet50 + domain discriminator (adversarial DA) - **CORAL/MMD**: ResNet50 + divergence minimization (domain generalization) - **AWDAN**: DANN + Sliced Wasserstein Distance regularization in label space