/open-cd

A Change Detection Repo Standing on the Shoulders of Giants

Primary LanguagePythonApache License 2.0Apache-2.0


Introduction

Open-CD is an open source change detection toolbox based on a series of open source general vision task tools.

News

  • 7/23/2024 - Open-CD Technical Report v1.0 is released on arXiv, thanks to all contributors! Feel free to join us! 💥💥💥
  • 6/29/2024 - ChangeStar and FarSeg are supported.
  • 6/20/2024 - We launch the Open-CD Technical Report Plan, don't hesitate to join us!!! 💥💥💥
  • 6/17/2024 - CGNet is supported.
  • 2/10/2024 - Open-CD is upgraded to v1.1.0. BAN, TTP and LightCDNet is supported. The inference API is added.
  • 4/21/2023 - Open-CD v1.0.0 is released in 1.x branch, based on OpenMMLab 2.0 ! PyTorch 2.0 is also supported ! Enjoy it !
  • 3/14/2023 - Open-CD is upgraded to v0.0.3. Semantic Change Detection (SCD) is supported !
  • 11/17/2022 - Open-CD is upgraded to v0.0.2, requiring a higher version of the MMSegmentation dependency.
  • 9/28/2022 - The code, pre-trained models and logs of ChangerEx are available. 😋
  • 9/20/2022 - Our paper Changer: Feature Interaction is What You Need for Change Detection is available!
  • 7/30/2022 - Open-CD is publicly available!

Benchmark and model zoo

Supported toolboxes:

Supported change detection model: (The code of some models are borrowed directly from their official repositories.)

Supported datasets: | Descriptions

Usage

Docs

Please refer to get_started.md in mmseg.

A Colab tutorial is also provided. You may directly run on Colab. (thanks to @Agustin for this demo) Colab

Install

# Install OpenMMLab Toolkits as Python packages
pip install -U openmim
mim install mmengine
mim install "mmcv>=2.0.0"
mim install "mmpretrain>=1.0.0rc7"
pip install "mmsegmentation>=1.2.2"
pip install "mmdet>=3.0.0"
git clone https://github.com/likyoo/open-cd.git
cd open-cd
pip install -v -e .

For more details, please see here.

Train

python tools/train.py configs/changer/changer_ex_r18_512x512_40k_levircd.py --work-dir ./changer_r18_levir_workdir

Test

# get .png results
python tools/test.py configs/changer/changer_ex_r18_512x512_40k_levircd.py changer_r18_levir_workdir/latest.pth --show-dir tmp_infer
# get metrics
python tools/test.py configs/changer/changer_ex_r18_512x512_40k_levircd.py changer_r18_levir_workdir/latest.pth

Infer

Please refer inference doc.

Citation

If you find this project useful in your research, please cite:

@article{opencd,
  title   = {{Open-CD}: A Comprehensive Toolbox for Change Detection},
  author  = {Li, Kaiyu and Jiang, Jiawei and Codegoni, Andrea and Han, Chengxi and Deng, Yupeng and Chen, Keyan and Zheng, Zhuo and
             Chen, Hao and Zou, Zhengxia and Shi, Zhenwei and Fang, Sheng and Meng, Deyu and Wang, Zhi and Cao, Xiangyong},
  journal= {arXiv preprint arXiv:2407.15317},
  year={2024}
}

You might also consider citing:

@ARTICLE{10438490,
  author={Li, Kaiyu and Cao, Xiangyong and Meng, Deyu},
  journal={IEEE Transactions on Geoscience and Remote Sensing}, 
  title={A New Learning Paradigm for Foundation Model-based Remote Sensing Change Detection}, 
  year={2024},
  volume={},
  number={},
  pages={1-1},
  keywords={Adaptation models;Task analysis;Data models;Computational modeling;Feature extraction;Transformers;Tuning;Change detection;foundation model;visual tuning;remote sensing image processing;deep learning},
  doi={10.1109/TGRS.2024.3365825}}

@ARTICLE{10129139,
  author={Fang, Sheng and Li, Kaiyu and Li, Zhe},
  journal={IEEE Transactions on Geoscience and Remote Sensing}, 
  title={Changer: Feature Interaction is What You Need for Change Detection}, 
  year={2023},
  volume={61},
  number={},
  pages={1-11},
  doi={10.1109/TGRS.2023.3277496}}

License

Open-CD is released under the Apache 2.0 license.