Btc Change Detection
| Entity Passport | |
| Registry ID | gh-tool--blaz-r--btc-change-detection |
| License | MIT |
| Provider | github |
Cite this tool
Academic & Research Attribution
@misc{gh_tool__blaz_r__btc_change_detection,
author = {Blaz R},
title = {Btc Change Detection Tool},
year = {2026},
howpublished = {\url{https://free2aitools.com/tool/gh-tool--blaz-r--btc-change-detection}},
note = {Accessed via Free2AITools Knowledge Fortress}
} π¬Technical Deep Dive
Full Specifications [+]βΎ
Quick Commands
pip install btc-change-detection βοΈ Nexus Index V2.0
π¬ Index Insight
FNI V2.0 for Btc Change Detection: Semantic (S:50), Authority (A:0), Popularity (P:49), Recency (R:74), Quality (Q:50).
Verification Authority
π Specs
- Language
- Python
- License
- MIT
- Version
- 1.0.0
Usage documentation not yet indexed for this tool.
Technical Documentation
BTC - Be The Change
Be the Change You Want to See: Revisiting Remote Sensing Change Detection Practices
BlaΕΎ Rolih, Matic FuΔka, Filip Wolf, Luka Δehovin Zajc
University of Ljubljana, Faculty of Computer and Information Science
Overveiw | Get Started | Results | Reference | Questions
Overview
This repository contains the codebase for BTC (Be The Change) and the accompanying analysis from our paper.
The work systematically investigates the impact of fundamental design choices in deep learning-based change detection, like pretraining strategies, data augmentations, loss functions, and learning rate schedulers. Building on these insights, we introduce BTC, a simple yet strong baseline that leverages these core components to achieve state-of-the-art performance across multiple benchmark datasets.
BTC architecture
Get Started
Environment setup
Create a Python environment and install required packages:
conda create -n btc_env python=3.10
conda activate btc_env
pip install -r requirements.txt
Training and evaluation
Run the training and evaluation with:
python train.py --config configs/exp/BTC-B.yaml
Run evaluation only:
python train.py --config configs/exp/BTC-B.yaml --eval_only --ckpt_path
Checkpoints:
The checkpoints are available on Hugging Face and Google drive.
If you want to use the checkpoints from Huggingface, pass their model id like so: --ckpt_path blaz-r/BTC-B_<dataset_name>", e.g. --ckpt_path blaz-r/BTC-B_oscd96.
Pass the path to downloaded checkpoint if you use .ckpt files, e.g. --ckpt_path /path/to/ckpt_file.ckpt
Data
By default, datasets are automatically downloaded from Hugging Face
and saved into ./datasets directory. We thank Weikang Yu for making these splits publicly available.
Possible already integrated dataset options are: oscd96, levir, sysu, egybcd, clcd, gvlm.
Note: The OSCD dataset cropped into 96x96 tiles is now available on Hugging Face. We also provide zip and HDF5 files here.
Dataset Configuration Options
data.use_hf=True (default): Use HuggingFace datasets.
data.use_hf=False: For custom datasets in directory-based format.
When you have use_hf set to False, you can additionally set the following flags:
data.load_in_mem=None (default): Read images from the disk on-the-fly.
data.load_in_mem="direct": For custom datasets in directory-based format that is read into RAM first.
data.load_in_mem="hdf5": For HDF5-formatted datasets (including our version of OSCD) that is read into RAM first.
Custom directory format
Use the following structure for a custom directory dataset.
data_root/
dataset_name/
train/
A/
0.png
...
B/
0.png
...
label/
0.png
...
test/
A/
B/
label/
val/
A/
B/
label/
Custom HDF5 data
Set data.load_in_mem to "hdf5" and data.use_hf=False if you have the dataset in a format with hdf5 files:
data_root/
dataset_name/
train.h5
test.h5
val.h5
Each HDF5 file must contain the following collections:
- imageA
- imageB
- label
- img_idx
Configuration files
All experiment configurations are available in the configs directory.
The directory also includes configurations for related remote sensing foundation models here
For foundation models, please manually download weights and place them in weights/, or update paths in the config files.
Custom configuration
The config file contains the configuration for the whole setup, including data, architecture and training parameters. Refer to BTC-B config file for more details on each parameter.
You can manually override any argument in the command line without changing the config file. For example, to keep all the parameters from config but change the dataset name, simple do the following.
python train.py --config configs/BTC-B.yaml --data.dataset oscd96
The architecture follows the pipeline:
encoder -> diff -> decoder
Additional modules like in_proc, pre_diff, and out_proc are supported but unused in this work (see models/finetune_framework.py).
Alternatively, you can also list all arguments with:
python train.py -h
Performance benchmarking
The benchmarking code and results are inside the perf directory.
Run model inference speed and efficiency evaluation with:
python perf.py
Slurm
Slurm job scripts are included for both training and evaluation workflows.
Results
All evaluation metrics (F1, Precision, Recall, cIoU) across seeds and methods are stored in the results directory. This includes:
- Design choice analysis
- BTC-T / BTC-B models
- Remote sensing foundation models
- Change detection-specific baselines
Reference
If you found this work useful, consider citing our paper and giving this repo a β π
@ARTICLE{rolih2025btc,
author={Rolih, BlaΕΎ and FuΔka, Matic and Wolf, Filip and Zajc, Luka Δehovin},
journal={IEEE Transactions on Geoscience and Remote Sensing},
title={Be the Change You Want to See: Revisiting Remote Sensing Change Detection Practices},
year={2025},
volume={63},
number={},
pages={1-11},
doi={10.1109/TGRS.2025.3585342}
}
Questions
For issues or questions, please open a GitHub issue or email the author directly.
π Quick Start
conda create -n btc_env python=3.10
conda activate btc_env
pip install -r requirements.txt
Social Proof
AI Summary: Based on GitHub metadata. Not a recommendation.
π‘οΈ Tool Transparency Report
Technical metadata sourced from upstream repositories.
π Identity & Source
- id
- gh-tool--blaz-r--btc-change-detection
- slug
- blaz-r--btc-change-detection
- source
- github
- author
- Blaz R
- license
- MIT
- tags
- btc, change-detection, deep-learning, method, optimization, remote-sensing, pytorch, swin, clcd, huggingface, levir-cd, sysu, tgrs, egy-bcd, gvlm, oscd, python
βοΈ Technical Specs
- architecture
- null
- params billions
- null
- context length
- null
- pipeline tag
- other
π Engagement & Metrics
- downloads
- 0
- stars
- 35
- forks
- 0
- github stars
- 35
Data indexed from public sources. Updated daily.