O-SCD++: Replay-Free Online Scene Change Detection via Recursive Evidence Fusion
Authors: Chamuditha Jayanga Galappaththige, Jason Lai, Lloyd Windrim, Timothy Patten, Donald G. Dansereau, Niko Suenderhauf, Dimity Miller
Organizations: QUT Centre for Robotics, Queensland University of Technology, Australia · Australian Research Council Research Hub in Intelligent Robotic Systems for Real-Time Asset Management (ARIAM) · Australian Centre for Robotics, The University of Sydney, Australia · Abyss Solutions
Online scene change detection requires an agent to detect what has changed in a previously mapped environment while it is still on site, observing from unconstrained viewpoints and without access to future observations. This causal setting is strictly harder than its offline counterpart, and online methods have consistently trailed offline accuracy. O-SCD closed that gap by treating change as a persistent property of a 3D Gaussian splatting map of the reference scene, surpassing the strongest offline methods in change detection accuracy while operating at over 10 frames per second. O-SCD optimizes a change field over the Gaussians of the reference map, refitting it to all past cue maps at every frame, a step that consumes more than half of the per-frame budget and forces accuracy to be traded against speed. We present a replay-free formulation that eliminates this trade-off. Because the reference map stays fixed, rendering the change field is a linear operation. Each new observation can therefore be carried onto the map's Gaussians directly, by a single backward pass of the renderer, which reduces multi-view fusion to an exact two-scalar recursion per Gaussian. Past observations are never stored or revisited. The self-supervised objective that O-SCD minimizes by descent also determines the decision threshold exactly, by sorting, yielding a label-free per-frame cutoff whose margin provides a selective-prediction signal. On PASLCD, our method improves mean intersection over union from 0.489 to 0.575 and throughput from 11.8 to 25.6 frames per second, even exceeding O-SCD's offline result while remaining strictly causal.
Figures & tables
Fig. 1: The state-of-the-art O-SCD [ 10 ] fuses multi-view evidence by iterative optimization over replayed cue maps, which forces detection quality to be traded against speed (blue, annotated with the per-frame iteration budget). Our novel replay-free formulation (red star) derived in Sec. IV eliminates this trade-off: it is simultaneously more accurate and more than twice as fast. Our formulation surpasses even O-SCD’s offline performance while operating strictly causally.
Fig. 2: The three steps of the change stage in O-SCD [ 10 ] and in O-SCD++. Each iterative step of O-SCD is replaced by a direct computation; the per-frame cost loses its iteration budget n and its dependence on the number t of frames processed.
Fig. 3: Overview of O-SCD++ for one inference frame. The front end, adopted from O-SCD [ 10 ] , registers the inference image against the reference map and computes a change cue. The replay-free change stage transfers the cue onto the reference primitives with one rasterizer backward pass, folds it into a two-scalar state per primitive by an exact recursion, predicts a score for the current view from the updated state and the current cue, and binarizes it with the exact minimizer of a label-free objective, which also yields a per-pixel decision margin. It eliminates the replay-based optimization of O-SCD (dashed).
Fig. 4: Qualitative comparison with O-SCD [ 10 ] on PASLCD [ 5 ] . Each row shows the reference map rendered at the estimated pose of the inference image, the post-change inference image, and the change masks of O-SCD and O-SCD++, colour-coded against the ground truth, with per-frame IoU and F1. O-SCD++ also recovers particularly challenging surface-level changes that barely contrast with their surroundings: a grey cross on a grey chair (Garden), a white laminated sheet on a white table (Meeting room), and a water spill, transparent cup on a table (Lunch room).
Method
LF
PA
MV
mIoU
F1
FPS
O-SCD (offline) [ 10 ]
✓
✓
✓
0.556
0.700
–
ChangeSim (CS) [ 11 ]
–
–
–
0.018
0.034
11.5
CS+CYWS2D [ 4 ]
–
–
–
0.243
0.360
8.2
CS+GeSCF [ 23 ]
✓
–
–
0.181
0.270
< 1
FastGeSCF [ 43 ]
–
–
–
0.122
0.198
1.43
SplatPose [ 32 ]
✓
✓
–
0.173
0.281
< 1
TABLE I: SCD results on PASLCD [ 5 ] , averaged over all 20 instances. LF: label-free; PA: pose-agnostic; MV: multi-view. The offline O-SCD result is included for reference. O-SCD++ achieves the state of the art perform in both accuracy and throughput.
CL-Splats
ChangeSim
Method
mIoU
F1
mIoU
F1
ChangeSim (CS) [ 11 ]
0.010
0.019
0.130
0.212
CS+CYWS2D [ 4 ]
0.372
0.519
0.271
0.408
CS+GeSCF [ 23 ]
0.520
0.630
0.348
0.484
FastGeSCF [ 43 ]
0.183
0.252
0.315
0.458
SplatPose [ 32 ]
0.224
0.320
0.061
0.108
TABLE II: SCD results on CL-Splats [ 52 ] and ChangeSim [ 11 ] , averaged over scenes. O-SCD++ achieves the best change detection accuracy on both.
Variant
mIoU
F1
Current-view prediction ( Sec. IV-E )
Cue only (no fusion)
0.454
0.595
Map only
0.526
0.676
Map and cue (ours)
0.575
0.715
Aggregation weight ( Sec. IV-D )
Unbounded mass, ρg,t=mg,t
0.562
0.701
TABLE III: Ablations of O-SCD++ on PASLCD [ 5 ] . Each block varies one component while the others are fixed. The oracle selects, per frame, the threshold that maximizes IoU against the ground truth and serves as an upper bound.
Indoor
Outdoor
Method
mIoU
F1
mIoU
F1
O-SCD (offline) [ 10 ]
0.555
0.706
0.557
0.694
CS+CYWS2D [ 4 ]
0.167
0.247
0.319
0.448
SplatPose+ [ 45 ]
0.213
0.326
0.260
0.390
O-SCD [ 10 ]
0.484
0.641
0.494
0.645
O-SCD++
0.573
0.718
0.576
0.713
TABLE IV: Indoor and outdoor scenes of PASLCD [ 5 ] for the two strongest online baselines of Table I . O-SCD++ along with O-SCD perform similarly in both indoor and outdoor scenes.
Similar lighting
Different lighting
Method
mIoU
F1
mIoU
F1
O-SCD (offline) [ 10 ]
0.580
0.718
0.532
0.681
CS+CYWS2D [ 4 ]
0.258
0.378
0.229
0.342
SplatPose+ [ 45 ]
0.236
0.357
0.237
0.359
O-SCD [ 10 ]
0.506
0.656
0.472
0.630
O-SCD++
0.602
0.736
0.548
0.694
TABLE V: Results under lighting similar to, and different from, the reference capture, for the two strongest online baselines of Table I on PASLCD [ 5 ] . O-SCD++ achieves the best accuracy under both lighting conditions.
Method
Setting
Extra optimization
mIoU
F1
O-SCD [ 10 ]
online
–
0.489
0.643
O-SCD [ 10 ]
retrospective
none
0.511
0.662
O-SCD [ 10 ]
offline
refinement
0.556
0.700
O-SCD++
online
–
0.575
0.715
O-SCD++
retrospective
none
0.586
0.726
TABLE VI: Online, retrospective and offline inference on PASLCD [ 5 ] . Retrospective inference re-infers every frame from the state reached after the last frame; offline O-SCD instead continues to refine its change representation up to 3000 iterations.
Fig. 5: Retrospective inference with O-SCD++ on PASLCD [ 5 ] . Online masks are emitted when each frame arrives; retrospective masks re-infer the same frames from the state reached after the last frame. The final state suppresses spurious detections that the evidence available online could not yet rule out.
Fig. 6: O-SCD++ with and without predictive photometric uncertainty [ 13 ] on PASLCD [ 5 ] . The rendered uncertainty (blue: low, red: high) is high where the reference map is poorly reconstructed; attenuating the cue there removes false positives caused by rendering artifacts [ 7 ] .
Without
With uncertainty
Dataset
Method
mIoU
F1
mIoU
F1
PASLCD
O-SCD [ 10 ]
0.489
0.643
0.493
0.648
O-SCD++
0.575
0.715
0.602
0.741
CL-Splats
O-SCD [ 10 ]
0.657
0.773
0.688
0.796
O-SCD++
0.703
0.807
0.738
0.831
ChangeSim
O-SCD [ 10 ]
0.404
0.535
0.419
0.553
TABLE VII: Effect of predictive photometric uncertainty [ 13 ] guidance results on PASLCD [ 5 ] , CL-Splats [ 52 ] and ChangeSim [ 11 ] . The rendered uncertainty attenuates the change cue where the reference scene rendering is unreliable, improving the change detection accuracy.
O-SCD [ 10 ]
O-SCD++
Module
ms
%
ms
%
Pose estimation
30.4
36.0%
30.2
77%
Change detection
54.4
64.0%
9.0
23%
Change cue generation
6.1
7.2%
5.9
15.0%
Multi-view fusion
47.8
56.5%
2.1
5.5%
Mask inference
0.5
0.3%
1.0
2.5%
TABLE VIII: Per-frame processing time of each module on PASLCD [ 5 ] , in milliseconds and as a share of the frame, measured on an NVIDIA RTX 4090 at a resolution of about 1008×567 (scene-dependent).
Fig. 7: Sparsification of the online masks of O-SCD (left) and O-SCD++ (right) on PASLCD [ 5 ] . In each frame, a growing fraction of pixels is withheld in the order given, and mIoU is computed on the pixels that remain. For O-SCD, pixels are ranked by their distance to its fixed cutoff of 0.5 ; for O-SCD++, by the decision margin of Eq. 22 . Smaller margins and larger uncertainties are withheld first. AUSE is the area between a curve and the oracle, normalized by the plotted range, so that it equals the mean gap to the oracle; lower is better.
Method
Setting
mIoU
Mask agreement
O-SCD [ 10 ]
online
0.4968±0.0057
0.674
O-SCD [ 10 ]
retrospective
0.5089±0.0019
0.853
O-SCD++
online
0.5767±0.0007
0.883
O-SCD++
retrospective
0.5884±0.0000
0.999
TABLE IX: Sensitivity to the order of the inference frames on PASLCD [ 5 ] , over the incoming order and three random permutations. mIoU is the mean ± standard deviation over the four orderings; mask agreement is the mean per-frame IoU between the masks obtained under each permutation and under the incoming order.
Appendix figures & tables4 assets
Supplementary material from the paper’s appendix.
Appendix
Method
LF
Setting
mIoU
F1
CYWS2D [ 4 ]
–
offline
0.273
0.398
VSCD [ 40 ]
–
offline
0.112
0.186
GeSCF [ 23 ]
✓
offline
0.477
0.611
SplatPose+ [ 45 ]
✓
offline
0.237
0.358
SCAR-3D [ 9 ]
✓
offline
0.191
0.289
3DGS-CD [ 6 ]
✓
offline
0.209
0.339
Appendix
TABLE S-I: Offline SCD methods and O-SCD++ on PASLCD [ 5 ] , averaged over all 20 instances. Offline methods use the complete post-change capture. O-SCD++ is causal in its online setting. LF: label-free.
Method
PSNR ↑
SSIM ↑
LPIPS ↓
Time (s) ↓
3DGS [ 12 ]
22.21
0.756
0.243
550
3DGS-LM [ 72 ]
22.26
0.756
0.242
340
Speedy-Splat [ 71 ]
22.25
0.760
0.262
399
CLNeRF [ 73 ]
22.27
0.624
0.391
451
O-SCD [ 10 ]
23.82
0.790
0.242
49
O-SCD++
23.82
0.792
0.237
43
Appendix
TABLE S-II: Representation update on PASLCD [ 5 ] , evaluated on novel post-change views and averaged over all 20 instances. Results of the first four methods are from [ 10 ] . O-SCD and O-SCD++ use the same update procedure, differ only in the change masks, and are timed end to end with the same script, including mask generation.
Method
Matcher
Ref. points
Posed
mIoU
F1
O-SCD [ 10 ]
XFeat+MNN
triangulated
89%
0.404
0.535
O-SCD [ 10 ]
ALIKED+LG
triangulated
91%
0.435
0.572
O-SCD++
XFeat+MNN
triangulated
89%
0.474
0.605
O-SCD++
ALIKED+LG
triangulated
91%
0.493
0.626
O-SCD [ 10 ]
XFeat+MNN
rendered depth
100%
0.486
0.638
O-SCD [ 10 ]
ALIKED+LG
rendered depth
100%
0.496
0.650
Appendix
TABLE S-III: Pose front end on the synthetic ChangeSim [ 11 ] , averaged over the test warehouses. Reference points are triangulated from matches between reference frames, as in O-SCD, or lifted with depth rendered from the reference map. Posed is the share of inference images that are registered. Inference images that are not registered receive an empty mask, which scores zero IoU and lowers the overall accuracy. The XFeat+MNN rows with triangulated points are those of Table II . MNN: mutual nearest-neighbour matching. LG: LightGlue [ 68 ] .
Selection
Keyframes
mIoU
F1
Speed-up
All (default)
100%
0.575
0.715
–
Uniform
50%
0.574
0.715
+9%
Voxel coverage
58%
0.568
0.708
+6%
Frustum coverage
16%
0.549
0.686
+12%
Pose-space sampling
43%
0.573
0.714
+9%
Appendix
TABLE S-IV: Keyframe selection for retrieval on PASLCD [ 5 ] , averaged over all 20 instances. Keyframes is the share of reference frames selected as keyframes, which retrieval searches. Speed-up is the throughput gain over searching all reference frames, measured in one session. All other settings are those of O-SCD++.
Department of AI Convergence, Gwangju Institute of Science and Technology, Gwangju, Republic of Korea · GIST InnoCORE AI-Nano Convergence Institute for Early Detection of Neurodegenerative Diseases, Gwangju Institute of Science and Technology, 61005 Gwangju, Republic of Korea.