A text-conditioned diffusion model and a globally-sourced, physically-grounded benchmark for simulating how shade moves through cities across the day. 34 cities · 6 continents · 137k samples · 77 GB.
Drag the slider to sweep solar azimuth from sunrise to sunset. Each frame is a DeepShade prediction conditioned on the satellite tile and the time-of-day prompt.
From desert (Aswan, Phoenix) to tropical (Lagos, Mumbai) to dense European cores (Paris, Rome, Madrid), ShadeBench spans the urban forms where shade matters most for public health.
Drag the divider to compare raw satellite imagery against the model's predicted shade mask for the same tile.
Every sample in ShadeBench ships with spatially-registered satellite imagery, building masks, source/target shade pairs, and a 3-D geometry grid — enabling generation, segmentation, and reconstruction in one place.
Full DeepShade (RGB + Canny edges + InfoNCE temporal loss) against ablations. Lower is better for MSE/LPIPS; higher is better for SSIM/mIoU/B-IoU.
| Configuration | SSIM ↑ | mIoU ↑ | B-IoU ↑ | MSE ↓ | LPIPS ↓ |
|---|---|---|---|---|---|
| Vanilla ControlNet | 0.9421 | 0.2104 | 0.0883 | 27.31 | 0.4012 |
| + Canny edges | 0.9583 | 0.2517 | 0.1041 | 21.46 | 0.3421 |
| + InfoNCE (temporal) | 0.9641 | 0.2748 | 0.1168 | 19.28 | 0.3185 |
| DeepShade (Full) | 0.9692 | 0.2903 | 0.1240 | 18.17 | 0.3024 |
Training converged 3× faster than vanilla ControlNet at 512×512 resolution.
datasetsfrom datasets import load_dataset
ds = load_dataset("DARL-ASU/ShadeBench")
print(ds["train"][0])
from huggingface_hub import hf_hub_download
path = hf_hub_download(
repo_id="DARL-ASU/ShadeBench",
filename="phoenix.zip",
repo_type="dataset",
)
@inproceedings{da2025deepshade,
title = {DeepShade: Enable Shade Simulation by
Text-conditioned Image Generation},
author = {Da, Longchao and Liu, Xiangrui and
Shivakoti, Mithun and Kutralingam, T.P. and
Yang, Yezhou and Wei, Hua},
booktitle = {IJCAI},
year = {2025}
}