English | 简体中文 | English | CSDN Blog
📄 This is the official implementation of the paper:
SegChange-R1: LLM-Augmented Remote Sensing Change Detection
Fei Zhou
Neusoft Institute Guangdong, China & Airace Technology Co.,Ltd., China
If you like SegChange-R1, please give us a ⭐!
Remote sensing change detection is used in urban planning, terrain analysis, and environmental monitoring by analyzing feature changes in the same area over time. In this paper, we propose a large language model (LLM) augmented inference approach (SegChange-R1), which enhances the detection capability by integrating textual descriptive information and guides the model to focus on relevant change regions, accelerating convergence. We designed a linear attention-based spatial transformation module (BEV) to address modal misalignment by unifying features from different times into a BEV space. Furthermore, we introduce DVCD, a novel dataset for building change detection from UAV viewpoints. Experiments on four widely-used datasets demonstrate significant improvements over existing method.
- ✅ [2024.06.01] Open source code
- ✅ [2025.06.22] Upload to arXiv。
- Python 3.12
- CUDA + PyTorch
- HuggingFace
- Stable network connection
- High-quality proxy IPs (important)
conda create -n segchange python=3.12 -y
conda activate segchangepip install -r requirements.txtvim ~/.bashrc
export HF_ENDPOINT="https://hf-mirror.com"
source ~/.bashrcTwo dataset structure formats are supported:
The structure of the dataset is as follows:
data/
├── train/
│ ├── A/ # First phase training image
│ ├── B/ # Second phase training image
│ ├── label/ # Training Label (Change Mask)
│ └── prompts.txt # The training set text describes the prompt
├── val/
│ ├── A/
│ ├── B/
│ ├── label/
│ └── prompts.txt
└── test/
├── A/
├── B/
├── label/
└── prompts.txt
Change the data_format parameter file configs to default.
The structure of the dataset is as follows:
data/
├── A/ # First phase training image
│── B/ # Second phase training image
│── label/ # Label (Change Mask)
│── list # List file
│ ├── train.txt # A list of training sets
│ ├── val.txt # A list of validation sets
│ └── test.txt # A list of test sets
└── prompts.txt # Text description prompts
Change the data_format parameter file configs to custom.
Use Text Generation and change the 'desc_embs' parameter file configs to 'None' to execute the script.
python ./examples/text_gen.py -c ./configs/config.yamlIf you want to detect changes in multiple categories, you need to manually label the category description text.
python train.py -c ./configs/config.yamlpython test.py -c ./configs/config.yamlpython infer.py -c ./configs/config.yamlcd examples/gradio_app
chmod +x ./run.sh
bash run.shSubmit issues and code improvements. Make sure to follow the project's code style and contribution guidelines.
This project uses Apache License 2.0
If you use RT-FINE in your research, please cite:
bibtex
@article{zhou2025segchange-r1,
title={SegChange-R1: LLM-Augmented Remote Sensing Change Detection},
author={Zhou, Fei},
journal={arXiv preprint arXiv:2506.17944},
year={2025},
eprint={/2506.17944},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
