SPARC / index.html
Setoka's picture
Link SPARC-UQ package release and executed visual notebook
b21ff56 verified
Raw
History Blame Contribute Delete
8.12 kB
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="An illustrated explanation of SPARC: structured motion uncertainty with analytic Bayesian scaling and marginal conformal calibration.">
<title>SPARC | Structured Motion Uncertainty</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<div class="identity">
<h1>SPARC</h1>
<p class="venue">ECCV 2026 Spotlight</p>
</div>
<p class="paper-title">Single-Pass Scaling for Motion Forecasting<br class="desktop-break"> with Conformal Bayesian Last Layers</p>
<p class="authors">Sakif Hossain* · Julian Teusch* · Jörg P. Müller</p>
<p class="affiliation">TU Clausthal · *Equal contribution</p>
<nav aria-label="Research resources">
<a href="https://arxiv.org/abs/2608.20802" target="_blank" rel="noopener">Paper on arXiv ↗</a>
<a href="https://github.com/julianteusch/sparc-uq" target="_blank" rel="noopener" title="Reusable SPARC core for point estimators; not the full benchmark implementation">Code · SPARC-UQ ↗</a>
<a href="https://github.com/julianteusch/sparc-uq/releases/tag/v0.1.0" target="_blank" rel="noopener" title="Initial alpha package on GitHub; PyPI publication pending">Python package · v0.1.0 ↗</a>
<a href="https://github.com/julianteusch/sparc-uq/blob/main/notebooks/01_forecasts_and_diagnostics.ipynb" target="_blank" rel="noopener" title="Executed synthetic example with six visualizations and reusable plotting helpers">Visual notebook ↗</a>
<a href="https://julianteusch.github.io/projects/sparc/" target="_blank" rel="noopener">Project &amp; presentations ↗</a>
<a href="#citation">Citation</a>
</nav>
</header>
<main>
<section class="explainer" aria-labelledby="explainer-title">
<div class="section-heading">
<h2 id="explainer-title">Structure, scale, calibration.</h2>
<span class="status">Illustration, not live inference</span>
</div>
<div class="tabs" role="tablist" aria-label="Method illustrations">
<button type="button" role="tab" aria-selected="true" aria-controls="overview" id="tab-overview" data-panel="overview">Overview</button>
<button type="button" role="tab" aria-selected="false" aria-controls="motion" id="tab-motion" data-panel="motion" tabindex="-1">Motion ambiguity</button>
<button type="button" role="tab" aria-selected="false" aria-controls="structure" id="tab-structure" data-panel="structure" tabindex="-1">Structured uncertainty</button>
<button type="button" role="tab" aria-selected="false" aria-controls="calibration" id="tab-calibration" data-panel="calibration" tabindex="-1">Calibration</button>
</div>
<div class="panel" role="tabpanel" id="overview" aria-labelledby="tab-overview" tabindex="0">
<figure>
<img src="assets/overview.png" width="1600" height="900" alt="SPARC schematic. Structured covariance models related motion errors. Analytic feature-dependent scaling preserves correlations in the scalar conjugate core. Held-out calibration supplies marginal prediction intervals under exchangeable scores.">
<figcaption>Scalar conjugate core. The full deployment recipe adds temporal stabilization and CP-specific joint scaling.</figcaption>
</figure>
</div>
<div class="panel" role="tabpanel" id="motion" aria-labelledby="tab-motion" tabindex="0" hidden>
<figure>
<video controls loop muted playsinline preload="metadata" poster="assets/motion.png" aria-label="Schematic observed motion and alternative futures"><source src="assets/motion.mp4" type="video/mp4"></video>
<figcaption>One observed motion prefix can admit several plausible futures. The shaded alternatives are schematic, not a calibrated set or SPARC-generated samples.</figcaption>
</figure>
</div>
<div class="panel" role="tabpanel" id="structure" aria-labelledby="tab-structure" tabindex="0" hidden>
<figure>
<video controls loop muted playsinline preload="metadata" poster="assets/structure.png" aria-label="Schematic uncertainty with coupling across time and joints"><source src="assets/structure.mp4" type="video/mp4"></video>
<figcaption>Errors can be related across joints and future steps. Structured covariance captures these dependencies; analytic scaling adapts their magnitude. This is an explanation, not experimental data.</figcaption>
</figure>
</div>
<div class="panel" role="tabpanel" id="calibration" aria-labelledby="tab-calibration" tabindex="0" hidden>
<figure>
<video controls muted playsinline preload="metadata" poster="assets/calibration.png" aria-label="Schematic residual-score histogram and calibration quantile"><source src="assets/calibration.mp4" type="video/mp4"></video>
<figcaption>A quantile of held-out residual scores sets interval widths without retraining the model. The guarantee is marginal under exchangeable scores, not whole-trajectory coverage.</figcaption>
</figure>
</div>
<p class="key-message">One network forward pass + analytic calculations. No repeated stochastic inference loop.</p>
</section>
<section class="method" aria-label="Method explained">
<article><h3>Keep the forecast</h3><p>Start with a trained deterministic motion predictor. Retain its mean forecast and fit a structured covariance to the residuals.</p></article>
<article><h3>Adapt the scale</h3><p>The Bayesian last-layer factor <span class="math">κ<sub>t</sub>(x)</span> depends on training-feature leverage. It rescales uncertainty, but is not a universal OOD detector.</p></article>
<article><h3>Calibrate separately</h3><p>Use held-out scores to calibrate marginal intervals. Feature statistics and network parameters stay fixed during this step.</p></article>
</section>
<section class="evidence" aria-labelledby="results-title">
<div><h2 id="results-title">Reported results</h2><p>Nine dataset/protocol blocks. Mean ranks, lower is better. Point accuracy is competitive, not uniformly best.</p></div>
<table><caption>SPARC mean ranks from the paper</caption><thead><tr><th scope="col">Metric</th><th scope="col">Mean rank</th></tr></thead><tbody>
<tr><th scope="row">NLL</th><td>1.00</td></tr>
<tr><th scope="row">MPJPE + NLL</th><td>2.69</td></tr>
<tr><th scope="row">Calibrated interval width W95(CP)</th><td>2.50</td></tr>
<tr><th scope="row">MPJPE</th><td>4.39</td></tr>
</tbody></table>
</section>
<section class="scope" aria-labelledby="scope-title"><h2 id="scope-title">What the guarantee does not say</h2><p>Validity is marginal for the induced score distribution under exchangeability. Coordinate pooling targets the reported mean marginal coverage metric. This is not simultaneous coverage of an entire trajectory, a guarantee under arbitrary distribution shift, or evidence of safe robot deployment.</p><p>This Space contains explanatory media only. It does not run a checkpoint, accept motion uploads or generate new predictions.</p></section>
<section id="citation" aria-labelledby="citation-title"><div class="section-heading"><h2 id="citation-title">Cite SPARC</h2><button type="button" id="copy-citation">Copy BibTeX</button></div>
<pre id="bibtex">@misc{hossain2026sparc,
title = {{SPARC}: Single-Pass Scaling for Motion Forecasting with Conformal Bayesian Last Layers},
author = {Hossain, Sakif and Teusch, Julian and M{\"u}ller, J{\"o}rg P.},
year = {2026},
eprint = {2608.20802},
archivePrefix = {arXiv},
url = {https://arxiv.org/abs/2608.20802}
}</pre><p id="copy-status" role="status" aria-live="polite"></p>
</section>
</main>
<footer>SPARC · Single-Pass Adaptive Risk Calibration · <a href="https://julianteusch.github.io/projects/sparc/" target="_blank" rel="noopener">Project page ↗</a></footer>
<script src="app.js"></script>
</body>
</html>