For the complete documentation index, see llms.txt. This page is also available as Markdown.

Gaussian Splat

Use Gaussian Splat reconstructions as input for Multiset VPS.

Multiset now supports Gaussian Splats as input for building a VPS map. Instead of uploading a point cloud (e57), you can upload a trained Gaussian Splat reconstruction together with the camera poses used to train it, and Multiset will use that as the source of truth for localization.

What you need to upload

A single .zip containing two files:

  1. <name>.ply, the Gaussian Splat file exported from your reconstruction tool.

  2. poses.json, the camera poses (position and rotation) associated with the training frames, in the format shown below.

Both files must be at the root of the zip (no nested folders).

poses.json format

{
  "poses": [
    {
      "ts": "1776075484.516121864",
      "T": [0.000021, 0.000021, 0.000008],
      "R": [0.707448, -0.706765, 0.001143, 0.000027],
      "RGB": null
    }
  ]
}

Fields:

  • ts, timestamp (string).

  • T, camera position in world coordinates, [x, y, z].

  • R, camera to world rotation quaternion in [w, x, y, z] order, camera looking down +Z (OpenCV convention).

  • RGB, optional, can be null.

T and R must be in the same frame as the .ply itself. Poses are subsampled to roughly one per metre during processing, so a dense list is fine.

Requirements

  • Metric scale is required. The Gaussian Splat must be in real-world metric scale for VPS to work.

  • Right-handed, Z up. The splat and its camera poses must be in a right-handed coordinate system with +Z up, which is what Xgrids Lixel CyberColor writes. Output from any other tool has to be converted into that frame first, splat and poses together. See Splats from Other Tools.

  • Indoor or outdoor. You specify this at upload time, and selecting the correct mode improves VPS accuracy.

  • poses.json is required. The splat cannot be localized against without the training poses, and every camera position used to train it should have an entry.

Supported pipelines

Currently supported Gaussian Splat export sources:

  • Xgrids (Lixel CyberColor), all Xgrids scanners (K1, K2, PortalCam, L2 Pro, L3 Pro) via the Lixel CyberColor reconstruction app. Its output is already right-handed Z up and metric, so nothing needs converting.

More providers will be added as they ship metric-scaled Gaussian Splat exports. A splat from any other trainer can still be uploaded today, as long as you convert it and its poses to right-handed Z up, keep it metric, and supply a poses.json. See Splats from Other Tools.

Upload flow

On the Multiset developer portal, choose Upload Existing Map, select your scanner provider (e.g. XGRIDS), then pick Gaussian Splat (ply and poses.json compressed in same zip) as the file format. You will be asked to confirm:

  • Whether the Gaussian Splat is metric-scaled (must be Yes for VPS).

  • Whether the capture is indoor or outdoor.

  • Whether the zip includes poses.json (required).

Upload Existing Map: select XGRIDS and Gaussian Splat file format.
Gaussian Splat configuration: confirm scale, indoor or outdoor, and poses.json.

Last updated

Was this helpful?