π Mamba-FCS
Joint Spatio-Frequency Feature Fusion with Change-Guided Attention and SeK Loss
π Current Best-Performing Algorithm for Semantic Change Detection π
Visual State Space backbone fused with explicit spatioβfrequency cues, bidirectional change guidance, and class-imbalance-aware lossβdelivering robust, precise semantic change detection under tough illumination/seasonal shifts and severe long-tail labels.
π₯ Updates β’ π Overview β’ β¨ Why SpatioβFrequency? β’ π§ Method β’ β‘ Quick Start β’ π Data β’ π Train & Eval β’ π§ͺ Interactive Notebook β’ π Results β’ π Acknowledgements β’ π Cite
π₯π₯ Updates
- Mar 2026 - Weights + Notebook Released β Official Mamba-FCS checkpoints are now available on Hugging Face: https://huggingface.co/buddhi19/MambaFCS/tree/main, and the interactive evaluation/annotation notebook is available at
annotations/MambaFCS.ipynb - Feb 2026 - Paper Published β IEEE JSTARS (Official DOI: https://doi.org/10.1109/JSTARS.2026.3663066)
- Jan 2026 - Accepted β IEEE JSTARS (Camera-ready version submitted)
- Jan 2026 - Code Released β Full training pipeline with structured YAML configurations is now available
- Aug 2025 - Preprint Released β Preprint available on arXiv: https://arxiv.org/abs/2508.08232
Ready to push the boundaries of change detection? Let's go.
π Overview
Semantic Change Detection in remote sensing is tough: seasonal shifts, lighting variations, and severe class imbalance constantly trip up traditional methods.
Mamba-FCS changes the game:
- VMamba backbone β linear-time long-range modeling (no more transformer VRAM nightmares)
- JSF spatioβfrequency fusion β injects FFT log-amplitude cues into spatial features for appearance invariance + sharper boundaries
- CGA module β change probabilities actively guide semantic refinement (and vice versa)
- SeK Loss β finally treats rare classes with the respect they deserve
β¨ Why SpatioβFrequency Matters
Remote sensing change detection suffers from appearance shifts (illumination, seasonal phenology, atmospheric effects).
Purely spatial feature fusion can overfit to texture/color changes, while frequency-domain cues capture structure and boundaries more consistently.
Mamba-FCS explicitly combines:
- Spatial modeling (VMamba / state-space) for long-range context
- Frequency cues (FFT log-amplitude) for appearance robustness
- Change-guided cross-task attention to tighten BCD β SCD synergy
This spatioβfrequency + change-guided design is a key reason for strong rare-class performance and cleaner semantic boundaries.
π§ Method in ~30 Seconds
Feed in bi-temporal images T1 and T2:
- VMamba encoder extracts rich multi-scale features from both timestamps
- JSF injects frequency-domain log-amplitude (FFT) into spatial features β stronger invariance to illumination/seasonal shifts
- CGA leverages change cues to tighten BCD β SCD synergy
- Lightweight decoder predicts the final semantic change map
- SeK Loss drives balanced optimization, even when changed pixels are scarce
Simple. Smart. Superior.
β‘ Quick Start
1. Download Released Mamba-FCS Weights
Pretrained Mamba-FCS checkpoints are now hosted on Hugging Face: buddhi19/MambaFCS.
Use these weights directly for inference and evaluation, or keep them alongside your experiment checkpoints for quick benchmarking.
2. Grab Pre-trained VMamba Weights
| Model | Links |
|---|---|
| VMamba-Tiny | Zenodo β’ GDrive β’ BaiduYun |
| VMamba-Small | Zenodo β’ GDrive β’ BaiduYun |
| VMamba-Base | Zenodo β’ GDrive β’ BaiduYun |
Set pretrained_weight_path in your YAML to the downloaded .pth.
3. Install
git clone https://github.com/Buddhi19/MambaFCS.git
cd MambaFCS
conda create -n mambafcs python=3.10 -y
conda activate mambafcs
pip install --upgrade pip
pip install -r requirements.txt
pip install pyyaml
4. Build Selective Scan Kernel (Critical Step)
cd kernels/selective_scan
pip install .
cd ../../..
(Pro tip: match your torch CUDA version with nvcc/GCC if you hit issues.)
π Data Preparation
Plug-and-play support for SECOND and Landsat-SCD.
SECOND Layout
/path/to/SECOND/
βββ train/
β βββ A/ # T1 images
β βββ B/ # T2 images
β βββ labelA/ # T1 class IDs (single-channel)
β βββ labelB/ # T2 class IDs
βββ test/
β βββ A/
β βββ B/
β βββ labelA/
β βββ labelB/
βββ train.txt
βββ test.txt
Landsat-SCD
Same idea, with train_list.txt, val_list.txt, test_list.txt.
Must-do: Use integer class maps (not RGB). Convert palettes first.
π Train & Evaluation
YAML-driven β clean and flexible.
Edit paths in
configs/train_LANDSAT.yamlorconfigs/train_SECOND.yamlFire it up:
# Landsat-SCD
python train.py --config configs/train_LANDSAT.yaml
# SECOND
python train.py --config configs/train_SECOND.yaml
Checkpoints + TensorBoard logs land in saved_models/<your_name>/.
Resume runs? Just flip resume: true and point to optimizer/scheduler states.
π§ͺ Interactive Evaluation & Annotation
For an interactive workflow, use the notebook annotations/MambaFCS.ipynb.
It is set up for users who want to:
- run evaluations interactively
- inspect predictions and qualitative outputs
- perform annotation and review in a notebook-driven workflow
Pair it with the released checkpoints on Hugging Face for fast experimentation without retraining.
π Results
Straight from the paper β reproducible out of the box:
| Method | Dataset | OA (%) | FSCD (%) | mIoU (%) | SeK (%) |
|---|---|---|---|---|---|
| Mamba-FCS | SECOND | 88.62 | 65.78 | 74.07 | 25.50 |
| Mamba-FCS | Landsat-SCD | 96.25 | 89.27 | 88.81 | 60.26 |
Visuals speak louder: expect dramatically cleaner boundaries and far better rare-class detection.
π Acknowledgements
This work is strongly influenced by prior advances in state-space vision backbones and Mamba-based change detection. In particular, we acknowledge:
- VMamba (Visual State Space Models for Vision) β backbone inspiration: https://github.com/MzeroMiko/VMamba
- ChangeMamba β Mamba-style change detection inspiration: https://github.com/ChenHongruixuan/ChangeMamba.git
π Citation
If Mamba-FCS fuels your research, please cite:
@ARTICLE{mambafcs,
author={Wijenayake, Buddhi and Ratnayake, Athulya and Sumanasekara, Praveen and Godaliyadda, Roshan and Ekanayake, Parakrama and Herath, Vijitha and Wasalathilaka, Nichula},
journal={IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing},
title={Mamba-FCS: Joint Spatio-Frequency Feature Fusion, Change-Guided Attention, and Sek Inspired Loss for Enhanced Semantic Change Detection in Remote Sensing},
year={2026},
volume={},
number={},
pages={1-19},
keywords={Remote sensing imagery;semantic change detection;separated kappa;spatialβfrequency fusion;state-space models},
doi={10.1109/JSTARS.2026.3663066}
}
You might consider citing:
@misc{wijenayake2025precisionspatiotemporalfeaturefusion,
title={Precision Spatio-Temporal Feature Fusion for Robust Remote Sensing Change Detection},
author={Buddhi Wijenayake and Athulya Ratnayake and Praveen Sumanasekara and Nichula Wasalathilaka and Mathivathanan Piratheepan and Roshan Godaliyadda and Mervyn Ekanayake and Vijitha Herath},
year={2025},
eprint={2507.11523},
archivePrefix={arXiv},
primaryClass={eess.IV},
url={https://arxiv.org/abs/2507.11523},
}
@INPROCEEDINGS{11217111,
author={Ratnayake, R.M.A.M.B. and Wijenayake, W.M.B.S.K. and Sumanasekara, D.M.U.P. and Godaliyadda, G.M.R.I. and Herath, H.M.V.R. and Ekanayake, M.P.B.},
booktitle={2025 Moratuwa Engineering Research Conference (MERCon)},
title={Enhanced SCanNet with CBAM and Dice Loss for Semantic Change Detection},
year={2025},
volume={},
number={},
pages={84-89},
keywords={Training;Accuracy;Attention mechanisms;Sensitivity;Semantics;Refining;Feature extraction;Transformers;Power capacitors;Remote sensing},
doi={10.1109/MERCon67903.2025.11217111}}