Papers › ChangeMamba: Remote Sensing Change Detection With Spatiotemporal State Space Model

ChangeMamba: Remote Sensing Change Detection With Spatiotemporal State Space Model

4 Apr 2024arXiv:2404.03425archive 2025-07-28

Hongruixuan Chen, Jian Song, Chengxi Han, Junshi Xia, Naoto Yokoya

Convolutional neural networks (CNN) and Transformers have made impressive progress in the field of remote sensing change detection (CD). However, both architectures have inherent shortcomings: CNN are constrained by a limited receptive field that may hinder their ability to capture broader spatial contexts, while Transformers are computationally intensive, making them costly to train and deploy on large datasets. Recently, the Mamba architecture, based on state space models, has shown remarkable performance in a series of natural language processing tasks, which can effectively compensate for the shortcomings of the above two architectures. In this paper, we explore for the first time the potential of the Mamba architecture for remote sensing CD tasks. We tailor the corresponding frameworks, called MambaBCD, MambaSCD, and MambaBDA, for binary change detection (BCD), semantic change detection (SCD), and building damage assessment (BDA), respectively. All three frameworks adopt the cutting-edge Visual Mamba architecture as the encoder, which allows full learning of global spatial contextual information from the input images. For the change decoder, which is available in all three architectures, we propose three spatio-temporal relationship modeling mechanisms, which can be naturally combined with the Mamba architecture and fully utilize its attribute to achieve spatio-temporal interaction of multi-temporal features, thereby obtaining accurate change information. On five benchmark datasets, our proposed frameworks outperform current CNN- and Transformer-based approaches without using any complex training strategies or tricks, fully demonstrating the potential of the Mamba architecture in CD tasks. Further experiments show that our architecture is quite robust to degraded data. The source code will be available in https://github.com/ChenHongruixuan/MambaCD

PaperPDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2404.03425")

Code

Syntology Ran 5 of 9 code samples harvested from 1 repository linked to this paper; 4 have no recorded run. Of those that ran: 5 ran with no contract checked.

By repository: official repository: 9 samples from 1 repository, 5 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

chenhongruixuan/mambacd officialmentioned in papermentioned on GitHubApache-2.0 report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

9 samples harvested; 5 ran; 0 honoured the contract we drafted; 4 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

5ran
4unverified

Licence: 0 of the 9 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from chenhongruixuan/mambacd. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

build_head chenhongruixuan/mambacd/changedetection/models/builders.py official repository ran Apache-2.0 (permissive) · e9c3ba9cd1c348a6 · report
extract_model_state_dict chenhongruixuan/mambacd/changedetection/checkpoints.py official repository ran Apache-2.0 (permissive) · 21a17e068ab68253 · report
format_log_block chenhongruixuan/mambacd/changedetection/logging_utils.py official repository ran Apache-2.0 (permissive) · 900d316c3b86d875 · report
format_value chenhongruixuan/mambacd/changedetection/logging_utils.py official repository ran Apache-2.0 (permissive) · 38727dde2f236d95 · report
is_interactive_stream chenhongruixuan/mambacd/changedetection/logging_utils.py official repository ran Apache-2.0 (permissive) · e3e2bdd7e980f0f2 · report
build_backbone chenhongruixuan/mambacd/changedetection/models/builders.py official repository unverified Apache-2.0 (permissive) · f7fca94a333f0a3d · report
load_encoder_pretrained_weights chenhongruixuan/mambacd/changedetection/checkpoints.py official repository unverified Apache-2.0 (permissive) · 81509265e2e1fda9 · report
load_model_weights chenhongruixuan/mambacd/changedetection/checkpoints.py official repository unverified Apache-2.0 (permissive) · c10476d7e491f533 · report
resolve_decoder_components chenhongruixuan/mambacd/changedetection/models/builders.py official repository unverified Apache-2.0 (permissive) · c1a13c7ad7c5f1a9 · report

Tasks

2D Semantic SegmentationAttributeBuilding Damage AssessmentChange DetectionMambaState Space Models

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
2D Semantic Segmentation xBD MambaBDA-Base Classification F1-score 0.7884 #1 of 5 Archive leaderboard report
2D Semantic Segmentation xBD MambaBDA-Base Localization F1-score 0.8141 #1 of 5 Archive leaderboard report
2D Semantic Segmentation xBD MambaBDA-Base Weighted Average F1-score 0.8141 #1 of 5 Archive leaderboard report
Change Detection LEVIR+ ChangeMamba F1 88.39 #1 of 9 Archive leaderboard report
Change Detection LEVIR+ ChangeMamba IoU 79.20 #1 of 9 Archive leaderboard report
Change Detection LEVIR+ ChangeMamba KC 87.91 #1 of 9 Archive leaderboard report
Change Detection LEVIR+ ChangeMamba OA 99.06 #1 of 9 Archive leaderboard report
Change Detection LEVIR+ ChangeMamba Prcision 89.24 #1 of 9 Archive leaderboard report
Change Detection LEVIR+ ChangeMamba Recall 87.57 #1 of 9 Archive leaderboard report
Change Detection SECOND ChangeMamba Fscd 64.03 #1 of 2 Archive leaderboard report
Change Detection SECOND ChangeMamba SeK 24.11 #1 of 2 Archive leaderboard report
Change Detection SECOND ChangeMamba mIoU 73.68 #1 of 2 Archive leaderboard report
Change Detection SYSU-CD ChangeMamba F1 83.11 #3 of 12 Archive leaderboard report
Change Detection SYSU-CD ChangeMamba IoU 71.10 #3 of 12 Archive leaderboard report
Change Detection SYSU-CD ChangeMamba KC 78.13 #3 of 12 Archive leaderboard report
Change Detection SYSU-CD ChangeMamba OA 92.30 #3 of 12 Archive leaderboard report
Change Detection SYSU-CD ChangeMamba Precision 86.11 #3 of 12 Archive leaderboard report
Change Detection SYSU-CD ChangeMamba Recall 80.31 #3 of 12 Archive leaderboard report
Change Detection WHU-CD ChangeMamba F1 94.19 #4 of 22 Archive leaderboard report
Change Detection WHU-CD ChangeMamba IoU 89.02 #4 of 22 Archive leaderboard report
Change Detection WHU-CD ChangeMamba KC 93.98 #4 of 22 Archive leaderboard report
Change Detection WHU-CD ChangeMamba Overall Accuracy 99.58 #4 of 22 Archive leaderboard report
Change Detection WHU-CD ChangeMamba Precision 96.18 #4 of 22 Archive leaderboard report
Change Detection WHU-CD ChangeMamba Recall 92.23 #4 of 22 Archive leaderboard report

Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections