File size: 8,118 Bytes
764c923
5c1b22b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49185f6
b21ff56
 
5c1b22b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
764c923
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<!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>