ConventionalvsJVS-SLAM
Interactive note · Inostroza & Adams, IJRR 2025

One posterior, not a pipeline: conventional SLAM vs JVS-SLAM

Conventional feature-based SLAM is a relay race: a front-end decides data associations, then a back-end optimizes the graph it was handed. When the baton is dropped — one wrong match — the optimizer polishes a wrong map with full confidence. JVS-SLAM refuses to drop the baton: it keeps trajectory, map and associations inside one joint vector-set posterior, optimizes every plausible explanation, and lets Bayes decide the weights.

Source. F. Inostroza and M. Adams, “Combining the SLAM back and front ends with a joint vector-set distribution,” The International Journal of Robotics Research 44(7), 2025. This page is a pedagogical animation of the paper’s core idea, built to accompany the interactive paper companion. The scenario below is a deliberately simplified 2-D toy problem; numbers are illustrative, not from the paper.

01The same robot, the same data — two philosophies

A robot drives one loop and comes home. Odometry has drifted, and near the start sit two look-alike landmarks (same appearance, different places). At the loop closure the robot gets two measurements: an ambiguous one, and a distant unambiguous one. Step through what each paradigm does with exactly the same evidence.

step 1 / 8

Conventional — decide, then optimize

front-end + back-end pipeline

JVS-SLAM — hypothesize, optimize, reweight

one joint vector-set posterior

Use ← → arrow keys, the dots, or Play all. Steps 1–3 are identical on both sides — the paradigms only diverge once a decision is (or isn’t) made.

Legend. dashed grey = ground-truth path · orange/blue = estimated path · ▲ teal triangles = the two look-alike landmarks m₁, m₂ · ◆ grey diamonds = other mapped landmarks · arrows = loop-closure measurements za (ambiguous) and zb (unambiguous, far corner).

02The reweighting, in your hands

Step 8’s weights are not magic — each hypothesis is scored by how well it explains everything: geometry (least-squares fit), appearance (descriptors), and detection statistics (probability of detection pD, clutter rate λ). Move the sliders and watch probability mass flow between the three explanations.

H₁ true loop → m₁
H₂ swap → m₂
H₃ new landmark
Read it. High pD makes H₃ expensive (a missed detection of m₁ must be explained); high clutter λ makes “it was a false alarm / new thing” cheap again; descriptor agreement arbitrates between the two look-alikes. The conventional pipeline collapses this whole panel into a single hard pick.

03The animation, step by step

The eight steps above, in words — what happens, and why it is the crux of the paper.

    04Side-by-side comparison

    Conventional SLAMJVS-SLAM
    architecturedetect + describe → hard association → one factor graphhypothesis set ⇄ graph optimizer ⇄ Bayes weights, in one posterior
    philosophydecide first, optimize secondsample, optimize and compare jointly
    associationone-shot, local evidence (nearest neighbour / best descriptor); ties broken arbitrarilymulti-scan hypotheses kept as a random variable A₁:ₖ; global consistency arbitrates
    map sizeheuristic map management (spawn / delete rules) outside the estimatormap is a random finite set — landmark count is itself estimated (pD, clutter, birth in the likelihood)
    wrong matchbecomes a confident constraint; optimizer warps the map to satisfy it; residual gets averaged awaysurvives as a low-weight hypothesis (here w≈0.09) and can be revived or killed by later evidence
    uncertaintycovariance of one linearization point — blind to association ambiguitymixture over globally coherent explanations — calibrated, multi-modal
    failure modeconfidently wrong; recovery requires outlier surgery (switchable constraints, RANSAC, …)gracefully uncertain; weights shift as evidence arrives
    The one-line summary. The conventional answer is not absent from JVS-SLAM — it is inside it, as hypothesis H₂, carrying the 9% it deserves.

    05Where this lives in the paper

    JVS-SLAM maintains the joint density over the trajectory (a vector), the map (a labeled random finite set, so the number of landmarks is uncertain too), and the data associations:

    p( X0:k, M, A1:k | Z1:k )  =  ΣA w(A) · p( X0:k, M | A, Z1:k )

    Each association hypothesis A conditions a smooth estimation problem solved by nonlinear least squares (the familiar back-end); its weight w(A) comes from Bayes’ rule and folds in the optimized fit and the set-likelihood terms — detection probability pD, clutter intensity, landmark birth — that conventional pipelines relegate to front-end heuristics. In the animation: step 6 is the “population of hypotheses,” step 7 is the per-hypothesis least squares, step 8 is the reweighting. That is the whole idea: the front-end’s decisions become random variables of the back-end’s posterior.