| --- |
| 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 |
|
|