Skip to content

ICME 2023: Compact Intertemporal Coupling Network for Remote Sensing Change Detection

Notifications You must be signed in to change notification settings

ZhengJianwei2/CICNet

Repository files navigation

CICNet

Papers

  • Compact Intertemporal Coupling Network for Remote Sensing Change Detection (ICME 2023)

model

LIA

FAM

illustration

1. Environment setup

This code has been tested on on the workstation with Intel Xeon CPU E5-2690 v4 cores and two GPUs of NVIDIA TITAN V with a single 12G of video memory, Python 3.6, pytorch 1.9, CUDA 10.0, cuDNN 7.6. Please install related libraries before running this code:

pip install -r requirements.txt

2. Download the datesets:

and put them into datasets directory. The directory should be organized as follows:

"""
Change detection data set with pixel-level binary labels;
├─A
├─B
├─label
└─list
"""

A: images of t1 phase;

B:images of t2 phase;

label: label maps;

list: contains train.txt, val.txt and test.txt, each file records the image names (XXX.png) in the change detection dataset.

And change the root_dir in the data_config.py file.

3. Download the models (loading models):

Download the pretrained 'ResNet18' model and put it into pretrained directory.

And the pretrained models of CICNet on four CD datasets are as follows:

and put them into checkpoints directory.

4. Train

You can find the training script run_cd.sh in the folder scripts. You can run the script file by sh scripts/run_cd.sh in the command environment.

The detailed script file run_cd.sh is as follows:

gpus=0
checkpoint_root=checkpoints 
data_name=LEVIR  # dataset name 

img_size=256
batch_size=8
lr=0.01
max_epochs=200  #training epochs
net_G=CICNet # model name
lr_policy=linear

split=train  # training txt
split_val=val  # validation txt
project_name=${net_G}-${data_name}

python main_cd.py --img_size ${img_size} --checkpoint_root ${checkpoint_root} --lr_policy ${lr_policy} --split ${split} --split_val ${split_val} --net_G ${net_G} --gpu_ids ${gpus} --max_epochs ${max_epochs} --project_name ${project_name} --batch_size ${batch_size} --data_name ${data_name}  --lr ${lr}

5. Evaluate

You can find the evaluation script eval.sh in the folder scripts. You can run the script file by sh scripts/eval.sh in the command environment.

The detailed script file eval.sh is as follows:

gpus=0
data_name=LEVIR # dataset name
net_G=CICNet # model name 
split=test # test.txt
project_name=${net_G}-${data_name} # the name of the subfolder in the checkpoints folder 
checkpoint_name=best_ckpt.pt # the name of evaluated model file 

python eval_cd.py --split ${split} --net_G ${net_G} --checkpoint_name ${checkpoint_name} --gpu_ids ${gpus} --project_name ${project_name} --data_name ${data_name}

6. Results

result

result2

vis-LEVIR

vis-WHU

vis-GZ

vis-SYSU

License

Code is released for non-commercial and research purposes only. For commercial purposes, please contact the authors.

  • Plane Text:

    Y. Feng, H. Xu, J. Jiang and J. Zheng, "Compact Intertemporal Coupling Network for Remote Sensing Change Detection," in IEEE International Conference on Multimedia & Expo (ICME 2023).

    Y. Feng, J. Jiang, H. Xu and J. Zheng, "Change Detection on Remote Sensing Images using Dual-branch Multi-level Inter-temporal Network," in IEEE Transactions on Geoscience and Remote Sensing, doi: 10.1109/TGRS.2023.3241257.

    Y. Feng, H. Xu, J. Jiang, H. Liu and J. Zheng, "ICIF-Net: Intra-Scale Cross-Interaction and Inter-Scale Feature Fusion Network for Bitemporal Remote Sensing Images Change Detection," in IEEE Transactions on Geoscience and Remote Sensing, vol. 60, pp. 1-13, 2022, Art no. 4410213, doi: 10.1109/TGRS.2022.3168331.

About

ICME 2023: Compact Intertemporal Coupling Network for Remote Sensing Change Detection

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published