Skip to content

ECCV 2026 · Malmö, Sweden

MaRS: Markov-Renewal Single-Photon LiDAR Simulator

Accurate, efficient single-photon LiDAR simulation — even under detector dead time.

Weijian Zhang · Prateek Chennuri · Hashan K. Weerasooriya · Bole Ma · Stanley H. Chan

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

    Three simulated photon-count cubes side by side. A Poisson simulator finishes in 0.2 seconds per cube but is physically wrong. The sequential gold standard is physically correct but takes 16.1 seconds per cube. MaRS is physically correct in 0.3 seconds per cube.
    Fast, or physically correct — until now, not both.

    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.

    Correct, but it does not scale — the measured cost of both simulators as the image grows, from 1×1 to 512×512 pixels on the same workload. The sequential gold standard is correct at every point on that curve; it simply examines every photon. This is the resolution sweep, a separate benchmark from the single 128×128×1024 cube timed in the Simulator band — read it for the shape of the two curves rather than for an absolute number of seconds.

    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.

    A conventional simulator draws photon arrivals one at a time and tests each one against the detector’s dead time before it can build a single histogram. MaRS instead treats a histogram as a photon count multiplied by a temporal shape: a statistical engine supplies the count distribution and the temporal PDF, and the histogram is sampled directly from them.
    Histogram = count × shape. Prior work solved the shape. The count was the open problem, and it is what sets the histogram’s scale.

    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
    Read the derivation ↓

    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
    Try the demo lab →

    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

    Detections arrive at irregular times. An embedded Markov chain describes where the next detection lands within the laser period, and a holding time describes how long the wait was on the absolute clock. Across many realizations the average holding time settles to a constant, so the total elapsed time grows linearly in the number of detections, and inverting that relation makes the photon count itself Gaussian.
    Registration as a Markov-renewal process. The average wait between detections settles to a constant, elapsed time grows linearly in the number of detections, and inverting that gives a Gaussian law for the count.
    The photon count N of t converges to a normal distribution whose mean is t divided by mu and whose variance is t times sigma squared divided by mu cubed.

    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.

    Counting is the inverse of waiting — a cursor sweeps the exposure, and the count distribution it reads off widens as √t, with the closed form landing on the Monte Carlo at every exposure.

    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.

    Divergence of each count model’s predicted photon-count distribution from ground truth. Lower is better.
    Count model KL to ground truth Wasserstein distance
    Poisson24.2087966.130
    Renewal18.821207.565
    Zhang et al.0.4092.337
    MaRS0.0130.309
    Distance from the true photon-count distribution; lower is better in both columns. The mean and the variance come apart: MaRS differs from ground truth by 0.269 in the mean and 1.588 in the variance, against 0.282 and 64.558 for Zhang et al. The mean was already close. The variance was not.

    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.

    Three stages in sequence for one full histogram cube: a batched lookup of the count and shape statistics, a temporal alignment that applies each pixel's delay, then a multinomial sample that fills the histogram. The three add up to about a second, against about forty for the sequential gold standard.
    Three stages, each vectorized across all pixels at once: batched lookup, temporal alignment, multinomial sampling. Nothing in the path visits an individual photon.

    Animation coming soon A cube being built stage by stage, from batched lookup to sampled histogram.

    Three stages, no per-photon loop — batched lookup, then a circular temporal shift, then one multinomial draw per pixel: 0.020 s, 0.144 s and 0.849 s, summing to the 1.013 s cube.

    Results

    Does it deliver in practice?

    Runtime stays nearly flat as flux, realizations, and pixel count scale up — the sequential simulator does not.

    Runtime plotted against laser cycles, against number of realizations, and against pixel count. On all three axes MaRS stays almost flat across five orders of magnitude, while the sequential simulator's runtime is flat at first and then turns sharply upward, ending one to three orders of magnitude above MaRS.
    Runtime against flux, against realizations and against pixel count. MaRS stays nearly flat across five orders of magnitude on all three axes; the sequential curve is flat until the workload gets real, then turns sharply upward.
    Runtime against pixel count, enlarged. At a single pixel the sequential simulator is the quicker of the two. By a quarter of a million pixels MaRS has barely lifted off the axis while the sequential simulator has climbed to the top of the chart.
    The pixel-count panel, enlarged. At one pixel the sequential simulator is the quicker of the two — MaRS pays for its table up front. By a quarter of a million pixels MaRS has barely left the axis and the sequential curve has run off the top of the chart. The seconds annotated here belong to this resolution sweep, which is a separate benchmark from the single 128×128×1024 cube in the Table tab; the two are not the same run and their timings should not be read against each other.

    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.

    Which simulators get the count mean, the count variance and the temporal PDF right, and which can be precomputed into a lookup table.
    Simulator Mean μ Variance σ² Temporal PDF π Precomputable
    Poissonnononoyes
    Renewalnonoyesyes, enabled by our lookup-table construction
    Zhang et al.yesnoyesyes, enabled by our lookup-table construction
    Gold standardyesyesyesno
    MaRSyesyesyesyes
    The gold-standard row is the argument. It is right on all three statistics — it is the reference the other four are measured against — and the one thing it cannot do is be precomputed, because it works by Monte Carlo rejection sampling, one photon at a time. MaRS matches those same statistics; what it adds is that they fit in a table. Precomputability for the renewal and Zhang et al. rows is enabled by our LUT construction.

    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.