| <!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 & 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> |
|
|