# Fotbcd Eval

> Evaluates cross-dataset generalization and geographic domain shift in building change detection models. It measures how well models trained on one geographic region or dataset perform when tested on entirely different datasets, highlighting the impact of training data diversity on remote sensing model transferability. Use when the user wants to benchmark on FOTBCD-Binary, LEVIR-CD+, WHU-CD, or asks about evaluating this task. Reports IoU.

- Skill: `qhjqhj00/fotbcd-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/fotbcd-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/fotbcd-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/fotbcd-eval

---


# fotbcd-eval

> FOTBCD: A Large-Scale Building Change Detection Benchmark from French Orthophotos and Topographic Data — Moubane (2026) (arXiv:2601.22596, 2026)

## What this evaluates

Evaluates cross-dataset generalization and geographic domain shift in building change detection models. It measures how well models trained on one geographic region or dataset perform when tested on entirely different datasets, highlighting the impact of training data diversity on remote sensing model transferability.

## Datasets

- **FOTBCD-Binary** — total ?; splits: test (-1); repo https://github.com/abdelpy/FOTBCD-datasets
- **LEVIR-CD+** — total ?; splits: test (-1)
- **WHU-CD** — total ?; splits: test (-1)

## Metrics

- `IoU` **(primary)** — range: [0, 1]
  - Standard pixel-wise Intersection over Union: |A ∩ B| / |A ∪ B|, where A and B are the predicted and ground truth binary change masks. Handles division by zero by returning 0.0 when the union is empty.

## Input / output format

**Input**: Before and after orthophoto image pairs with corresponding pixel-wise binary change masks.

**Output**: Pixel-wise binary change mask indicating changed (1) or unchanged (0) regions.

## Scoring recipe

```python
import numpy as np
def compute_iou(pred, gold):
    pred = pred.astype(bool)
    gold = gold.astype(bool)
    intersection = np.logical_and(pred, gold).sum()
    union = np.logical_or(pred, gold).sum()
    return intersection / union if union > 0 else 0.0
```

## Common pitfalls

- Models trained on geographically constrained datasets exhibit severe performance degradation when evaluated on national-scale data like FOTBCD-Binary.
- Cross-dataset transfer is highly asymmetric; generalizing from FOTBCD-Binary to constrained datasets is significantly easier than the reverse direction.
- In-domain diagonal performance is much higher than cross-domain scores, so readers must not confuse single-dataset accuracy with generalization capability.

## Evidence (verbatim from paper)

> The primary experiment evaluates cross-dataset generalization under geographic domain shift. Table[4] reports Intersection-over-Union (IoU) scores when training on one dataset and evaluating on another.

## Citation

```bibtex
@misc{moubane2026fotbcd,
  title={FOTBCD: A Large-Scale Building Change Detection Benchmark from French Orthophotos and Topographic Data},
  author={Moubane (2026)},
  year={2026},
  note={arXiv:2601.22596}
}
```

- arXiv: 2601.22596

