This is the code of X. Zhang and H. Huang “Unifying semantic segmentation and change detection in urban villages: The ZY-UV benchmark and MutualTemp framework,” ISPRS Journal of Photogrammetry and Remote Sensing, 2026.
| Resource | Link | Extraction Code |
|---|---|---|
| Pre-trained Checkpoints | https://pan.baidu.com/s/129aIpeXRsJ9ezWEUe9WjkQ | sbay |
| ZY-UV Test Dataset | https://pan.baidu.com/s/1sAwkHO8i7W-5SXH7veKpFg | 49sk |
Please download the checkpoints and the ZY-UV test dataset before running the evaluation scripts.
Put the ZYUV test data under:
data/ZYUV/
The test split files should be under:
splits/ZYUV/cd_splits/{city}/test.txt
Put the trained checkpoint under:
checkpoints/ZYUV/
The checkpoint name should match the settings in configs/zyuv_config_scd.py.
For example, with:
self.arch_name = "DPT_DINOv2_Base_SCD"
self.cities = ["xian", "wuhan", "beijing", "nanchang", "harbin"]
self.method = "joint-dt"
self.lamda = 0.01the checkpoint should be:
checkpoints/ZYUV/DPT_DINOv2_Base_SCD_xian+wuhan+beijing+nanchang+harbin_joint-dt_best_lamda-0.01.pth
Edit configs/zyuv_config_scd.py:
self.dataset = "ZYUV"
self.data_dir = {
city: f"./data_org/{self.dataset}/{city}"
for city in self.cities
}
self.split_dir = {
city: f"./splits/{self.dataset}/cd_splits/{city}"
for city in self.cities
}
self.arch_name = "DPT_DINOv2_Base_SCD"
self.method = "joint-dt"
self.lamda = 0.01Run:
python test_scd.py --config zyuv_config_scd --test_set test