Skip to content

Public Livox full-pipeline acceleration evidence

The measured change reuses decoded records, invariant cloud statistics and source planes within one candidate/probe evaluation, then discards that context. It also batches the same 27 voxel neighbors and both Hamilton products of the coordinate transform. Checked sparse integer encodings replace structured-key comparisons; complete voxel coordinates are still checked on every match. Huge extent products use structured lookup, and no dense grid is allocated. No process-wide cache, reduced input population, fewer probes, changed gate or approximate nearest-neighbor search is used.

Full fresh-process wall medians are 53.535174 → 14.244674 s (3.76x). All ten complete normalized result payloads are exactly equal, including all 24 known-bad controls, native ICP diagnostics, Open3D GICP results, metrics, reason strings and quality grades. The final quality remains fail and native comparison remains inconclusive; successful benchmark trials mean execution and parity.

Scope and source binding

Implementation commit: 8c760c7d0859133934a26c26c1f788f95aa2ffaa. Baseline Livox modules: c6fd98b7b5af73be41fa01b5e4938773f4696fb1. The baseline loader substitutes only data/livox.py and evaluation/lidar.py using their archived exact Git bytes. Everything else, including both native ICP solvers, optional Open3D adapter, pipeline and writers, uses the same implementation checkout. Each worker records its resolved module filenames; the parent checks those bindings and freezes source/config/input bytes and HEAD. run.git_commit in the complete result identifies that shared checkout, while benchmark method provenance identifies the two substituted baseline modules.

Wall includes fresh interpreter and imports, config loading, dataset inspection, all PCD reads, the candidate and 24 rotational/translational controls, native point/plane ICP with all diagnostics, Open3D GICP, NDT availability check, quality evaluation, result YAML, HTML/Markdown/JSON report and artifact saves. It also includes the worker's measurement JSON write. Parent validation/comparison and benchmark aggregation are outside wall. pipeline_seconds starts at the public run_calibration API and ends after its artifact writes; it is a subset of wall. The unchanged config caps registration inputs at 500 voxel centroids; candidate evaluation still uses every finite raw point (23,921 source / 23,666 target). Fresh workers call the public calibration Python API. Calibrex CLI argument dispatch is excluded; the worker's measurement JSON write is included in wall.

The official Livox calibration sample contains two PCD captures. Inputs are downloaded by tools/download_public_dataset.py livox_horizon_horizon_pcd_sample and remain external. Their file SHA256 values are 19b3864cbee76b785d207fcb3fe48f6f506d142d8233f842d0a87fe4330fe407 and 61a74eb8b8ff4eeba4ca0ff824a4046ae220e947e8156f27d93da452538f5b6f. The target header declares 23,786 records; the unchanged reader excludes 120 nonfinite positions. This single pair is limited geometry evidence, without independent temporal calibration validation or ground-truth recovery claims.

Repetitions

Five repetitions use fresh subprocesses, reverse method order every other repetition, and have no separate warmup. OS caches persist. Unrelated user work continues on the shared Windows host. OMP_NUM_THREADS=1 is set only in child environments for both methods to fix the Open3D parallel reduction setting; host settings and user processes are untouched. Python 3.12.10, NumPy 2.3.4, SciPy 1.17.1 and Open3D 0.19.0; no GPU is used by this change.

Repeat Baseline wall (s) Batched wall (s) Baseline pipeline (s) Batched pipeline (s)
1 53.535174 12.577426 50.853829 10.140637
2 48.473362 11.892567 46.004257 9.657413
3 54.858395 16.256048 52.124112 13.082981
4 77.499665 21.934240 73.788006 18.552510
5 52.687805 14.244674 49.503751 11.610806
Median 53.535174 14.244674 50.853829 11.610806

Pipeline medians improve 4.38x. Wall ranges are 48.473362–77.499665 s baseline and 11.892567–21.934240 s batched. Pipeline ranges are 46.004257–73.788006 and 9.657413–18.552510 s. No outliers are dropped. Ratios describe these repeated captures and shared-host timings, without a portable speed guarantee or confidence claim. Bootstrap fields are schema summaries only. Prior ICP-only gains must not be multiplied by these ratios.

Numerical contract and retained evidence

The same lexicographic 27-neighbor order resolves ties. A nearest voxel without a normal still rejects a correspondence. Residual multiply/add/sqrt ordering, Hamilton product ordering, input-order sums, population denominators and scalar exception behavior are preserved. Query chunks materialize at most 4,096 × 27 associations. Very large keys and unsupported coordinates use the original scalar path. Every evaluation invocation constructs a new context and observes fresh inputs; reused geometry is confined to that invocation.

pipeline.definition.json and pipeline.benchmark.json retain all ten timings, all complete result strings and their canonical output SHA256 values. Raw result file and every written artifact's digests are separate and remain recorded. Parity normalizes only run ID, creation/generation timestamps, destination paths and Windows path separators. All numeric and diagnostic fields remain present. The four JSON reports validate against standard benchmark schemas, and both aggregates are recomputed exactly from their published definitions.

pilot.pipeline.* retains the two earlier full-pipeline trials: 61.149350 s baseline and 26.448565 s candidate, with exact within-pilot result parity. That uncommitted candidate preceded batched coordinate transforms and is not bound to the final implementation commit. No pilot timing enters the final medians. pilot-import-failure.log.txt retains an earlier launcher import-order failure; it produced no calibration trial. The corrected loader uses normal package initialization order. Source/archive digests and the publication/profiling launchers remain available. Published measured/baseline sources are exact Git blobs; original working-byte hashes and original report hashes are recorded separately.

A baseline cProfile investigation measured 174.301498 s with profiling overhead; 166.427 s lay in candidate/control evaluation. Its nested cumulative costs included 47.052 s neighborhood residuals, 37.463 s PCD decoding, 27.730 s repeated geometry coverage and 27.679 s repeated coordinate transforms. These are overlapping profiling costs, not formal wall timings or additional speedups. The profiling launcher and baseline sources bind that investigation; its instrumented timing does not enter any benchmark median.

Reproduction

python tools/download_public_dataset.py livox_horizon_horizon_pcd_sample
python tools/benchmark_livox_evaluation.py \
  --output-dir outputs/public-livox-evaluation-v2 --repetitions 5 --omp-threads 1

The output directory must be new or empty. Public tests cover exact residual and transform bits, ties, normal-less nearest voxels, neighbor bounds, chunk bounds, malformed/extra files, large keys, original exceptions, all 24 controls and fresh reads across invocations. The external checkpoint-loading experiments are not part of this implementation or its measured gain.

The intermediate structured-lookup evidence retains all ten executions of commit 41455b1de39394891c4d659af553e12b663261e7, which measured 82.582993 → 35.090965 s wall medians (2.35x) before integer lookup. Its source archives and timings remain separate. No intermediate or pilot timing enters the final medians. There are 22 distinct recorded calibration executions: ten final, ten intermediate and two pilot; the pilot reports are duplicated in both evidence folders for completeness.