ECCV 2026 · Malmö, Sweden
MaRS: Markov-Renewal Single-Photon LiDAR Simulator
Accurate, efficient single-photon LiDAR simulation — even under detector dead time.
Elmore Family School of ECE, Purdue University
Headline results
- 30× closer to true count law
- 1000× smaller lookup table
- 40× faster than gold standard
- +17dB better downstream reconstruction
The tradeoff MaRS removes
Motivation
Why fast, accurate simulation is hard
Training networks needs abundant histogram cubes. The sequential gold standard examines every photon with Monte Carlo rejection sampling, then repeats that per pixel and per random realization — it cannot scale in flux, resolution, or dataset size.
Animation coming soon This frame is a placeholder until the animation is published.
Our approach
An analytical simulator
The temporal shape of a registered histogram was already solved. We solve the missing piece — the photon count — in closed form, enabling direct synthesis across every pixel at once.
Our contributions
The theory
The first analytic photon-count law under dead time.
- Registration modeled as a Markov-renewal process
- Closed-form mean and variance via a CLT
- Spectral truncation makes the variance cheap
The simulator
MaRS turns the theory into a 40× faster tool.
- Delay invariance shrinks the lookup table 1000×
- Pixel-parallel cube generation, no per-photon loop
- Trained networks transfer to gold-standard physics
Theory
Theory
Dead time is not a nuisance — it destroys independence between detections, which is why the registered photon count is not Poisson and why standard renewal theory does not rescue it. Treating registration as a Markov-renewal process is what makes the count tractable again.
Method
Counting is the inverse of waiting
Over an exposure of length t, the registered count converges to a Gaussian. Its mean is the exposure divided by the average wait between registrations; its variance follows from how that wait varies. Both have closed forms, and that is what makes a precomputed table possible at all.
The embedded Markov chain says where the next detection lands; the holding time says when it happens on the absolute clock. Because the chain mixes quickly, the total elapsed time obeys a central limit theorem — and counting is the inverse of waiting, so the count inherits a Gaussian law with closed-form mean and variance.
Animation coming soon Waiting times accumulating into a count, and the count settling into a Gaussian.
Consecutive waits are correlated, so the variance carries a long tail of covariance terms. The tail decays geometrically — but the decay pattern swings with signal, background and dead time, so no fixed cutoff works. A spectral truncation rule sums the remainder instead, reaching a mean absolute error of 10.00 against 125.91 for the best fixed cutoff: 12× closer.
Animation coming soon Why the covariance tail cannot be cut at a fixed lag, and how the spectral rule sums it instead.
Results
Does the theory hold up?
KL to ground truth: Poisson 24.208, Renewal 18.821, Zhang 0.409, MaRS 0.013 — 30× closer than the best prior model.
| Count model | KL to ground truth | Wasserstein distance |
|---|---|---|
| Poisson | 24.208 | 7966.130 |
| Renewal | 18.821 | 207.565 |
| Zhang et al. | 0.409 | 2.337 |
| MaRS | 0.013 | 0.309 |
Registered count distributions at low and at high flux, including the variance failure mode of the best prior model.
Validated on a real SPAD: 85 ns dead time, 7.5 MHz laser, TV distance 0.065 (bright) and 0.060 (dark) against measured histograms.
Simulator
Simulator
A count law only pays off if a full histogram cube can be rendered from it. MaRS precomputes the closed forms into a lookup table, then samples every pixel of a cube at once — no per-photon loop anywhere in the path.
Method
From closed-form equations to a rendered cube
Batched lookup, temporal alignment, then multinomial sampling — fully vectorized across every pixel, with no per-photon loop.
Animation coming soon A cube being built stage by stage, from batched lookup to sampled histogram.
A table too big to store — until now
A naive lookup table over signal, background, and depth is 108 GB. Delay invariance removes depth entirely: 105 MB.
The invariance holds at a fixed signal and background level: with those held, moving the delay leaves the count’s mean and variance untouched and only shifts the temporal shape around the laser period. So one table is built per sensor configuration — laser period, bin count, pulse width and dead time — and then reused for every pixel and every depth. The tables behind this page’s model figures use a simulation grid at 75 ns dead time.
Animation coming soon Why a table over signal, background and depth cannot be stored, and how delay invariance removes an axis.
Results
Does it deliver in practice?
Runtime stays nearly flat as flux, realizations, and pixel count scale up — the sequential simulator does not.
1.013 s ± 0.071 s per cube versus 40.831 s ± 8.045 s for the gold standard, on a 128×128×1024 histogram cube — a measured 40×.
| Simulator | Seconds per cube |
|---|---|
| Sequential gold standard | 40.831 ± 8.045 |
| MaRS | 1.013 ± 0.071 |
Utility
Utility: accurate counts, better depth and reflectivity recovery
Two things follow from getting the count right. The first is the precomputability test: several simulators are individually accurate, but only one is both accurate and precomputable into a table fast enough to train on. The second is count-model isolation: pair the same proven temporal shape with different count models and the count model is the only thing left varying, so whatever happens downstream can only be coming from it.
Correct statistics, or practical speed — until now, not both
A capability matrix across five simulators shows which ones get the mean, variance, and temporal PDF right, and which ones can be precomputed into a lookup table fast enough for training. MaRS is the only row with every checkmark.
| Simulator | Mean μ | Variance σ² | Temporal PDF π | Precomputable |
|---|---|---|---|---|
| Poisson | no | no | no | yes |
| Renewal | no | no | yes | yes, enabled by our lookup-table construction |
| Zhang et al. | yes | no | yes | yes, enabled by our lookup-table construction |
| Gold standard | yes | yes | yes | no |
| MaRS | yes | yes | yes | yes |
Does the count model alone make the difference?
Pairing an accurate temporal PDF with different count models isolates the effect of the count model itself on unbiased estimation and transfer to gold-standard test data.
The renewal and Zhang et al. rows below carry the same accurate temporal shape and differ only in their count model, so the distance between a row’s two columns can only be coming from the count model.
| Training simulator | Reflectivity PSNR, val (dB) | Reflectivity PSNR, test (dB) | Depth RMSE, val (m) | Depth RMSE, test (m) |
|---|---|---|---|---|
| Poisson | 36.49 | 7.02 | 0.072 | 1.654 |
| Renewal | 29.72 | 12.12 | 0.054 | 0.096 |
| Zhang et al. | 22.74 | 22.54 | 0.053 | 0.082 |
| MaRS | 24.03 | 24.25 | 0.053 | 0.074 |
Seeing the difference
Reflectivity and depth reconstructions across simulators, side by side, for both training tasks.
Limitations
Assumes a nonparalyzable detector and negligible afterpulsing. Paralyzable detectors, timing jitter, and afterpulsing are left for future work.
The Markov-renewal framework itself applies to any known transient arrival rate whose induced chain mixes, so non-Gaussian pulses and multiple returns are in scope in principle.