Skip to content
Back to skills

Evaluation And Mapping

ASecurity

"Run and interpret Gaussian-SLAM trajectory, rendering, Replica

  • 247 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 8, 2026
businesspythonrustbashapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 7 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill evaluation-and-mapping --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Evaluation And Mapping?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Evaluation And Mapping
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-evaluation-and-mapping/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-evaluation-and-mapping)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: evaluation-and-mapping
description: "Run and interpret Gaussian-SLAM trajectory, rendering, Replica
  mesh, global-map, and ScanNet++ novel-view evaluation from a completed
  checkpoint; verify artifact contracts, preserve partial-stage evidence, and
  recover common CUDA/Open3D/data failures."
disable-model-invocation: true
metadata:
  disco-role: operating
license: MIT
---

# Evaluation and mapping

Use this sub-skill when a Gaussian-SLAM run already has a checkpoint and the
Researcher needs metrics, a Replica reconstruction, or a refined global map.
It covers `run_evaluation.py` and the `Evaluator` lifecycle. It does **not**
train or resume SLAM, download datasets, repair checkpoints, or claim that a
partial metric set is a complete evaluation.

Read the focused reference before acting:

- [api-reference.md](references/api-reference.md): public entry points,
  checkpoint schema, stage behavior, and implementation defaults.
- [workflows.md](references/workflows.md): preflight, command, stage, and
  recovery procedures.
- [outputs-and-metrics.md](references/outputs-and-metrics.md): artifact and
  metric interpretation, including dataset gates and units.
- [troubleshooting.md](references/troubleshooting.md): failure diagnosis and
  safe recovery.

## Operating contract

### Inputs

Require all of the following before an expensive run:

1. A completed or intentionally partial checkpoint directory.
2. `config.yaml` in that directory, or an explicit compatible config path.
3. `estimated_c2w.ckpt` and a `submaps/` directory containing numbered
   submap checkpoints. Each submap should contain `gaussian_params` and
   `submap_keyframes` as produced by Gaussian-SLAM.
4. The dataset named by the config and its ground-truth assets at the paths
   resolved by that config.
5. A CUDA-capable runtime for the `Evaluator`: rendering, Replica mesh
   reconstruction, and global-map merging/refinement all use CUDA-bound model
   and rasterizer/FAISS code. A CPU-only trajectory helper check is useful
   support validation, but is not a substitute for a full evaluation.

Treat checkpoint files as untrusted inputs. Do not overwrite, prune, rewrite,
move, or repair them unless the user explicitly requests a separate operation.
The repository evaluator writes results *inside* the checkpoint directory;
make a copy or select a disposable output tree when preserving the source run
matters.

### Safe preflight

Run the bundled scripts before importing the repository evaluator:

```bash
python skills/disco/gaussian-slam/sub-skills/evaluation-and-mapping/scripts/check_cli.py \
  --checkpoint /path/to/checkpoint
python skills/disco/gaussian-slam/sub-skills/evaluation-and-mapping/scripts/validate_checkpoint.py \
  --checkpoint /path/to/checkpoint
```

These scripts are read-only, do not import PyTorch/Open3D, do not access the
network, do not open GUI windows, and do not write a report. They check paths,
configuration text, and the file-level schema only; they cannot prove that a
serialized tensor can be loaded on CUDA. Use `--json` for machine-readable
output. Fix missing required artifacts before starting `run_evaluation.py`.

### Standard invocation

From the repository root, with the project environment active:

```bash
python run_evaluation.py \
  --checkpoint_path /path/to/checkpoint \
  --config_path /path/to/checkpoint/config.yaml
```

If `--config_path` is omitted, the wrapper uses
`<checkpoint_path>/config.yaml`. The evaluator has no dry-run flag and no
separate output directory option. `save_render` is false in this wrapper, but
JSON, plots, meshes, and NVS images are still written under the checkpoint.
Do not run the command merely to test `--help` or schema validity.

### Lifecycle and stage interpretation

`Evaluator.__init__` loads the merged config, seeds the run, constructs the
configured dataset, fixes `device="cuda"`, reads `estimated_c2w.ckpt`, and
discovers submaps. It then runs these independent stages:

1. **Trajectory** — compares estimated and ground-truth camera translations,
   writes raw and Horn-aligned ATE, and plots trajectories.
2. **Rendering** — loads every `*.ckpt` submap and renders its keyframes for
   PSNR, LPIPS, SSIM, and train-view depth L1.
3. **Reconstruction** — only for `dataset_name: replica`; integrates rendered
   RGB-D frames into a mesh and evaluates it against Replica assets.
4. **Global map** — merges and deduplicates submap points, refines a Gaussian
   map for 10,000 iterations, saves a PLY, and, only for
   `dataset_name: scannetpp`, renders test-split NVS images and reports NVS
   PSNR to stdout.

Each call in `Evaluator.run()` is wrapped in its own broad exception handler.
A later stage can therefore succeed after an earlier stage fails. Always
inspect the output files and logs stage by stage; a process that reaches the
end is not proof that all four stages completed. Conversely, constructor
failures happen before those per-stage catches and prevent the run entirely.

### Required distinctions

- Reconstruction is explicitly skipped for every non-Replica dataset.
- Global-map creation is attempted for all datasets, but NVS evaluation is
  explicitly supported only for ScanNet++ (`dataset_name: scannetpp`).
- `depth_L1` in the reconstruction result is not the same as rendering
  `depth_l1_train_view`. The former needs Replica ground-truth mesh and unseen
  points plus headless Open3D; the latter is a rendered training-view average.
- Headless Open3D and the `evaluate_3d_reconstruction` package are required for
  the full Replica reconstruction path. A CPU trajectory result alone cannot
  validate those dependencies.
- CUDA is required for rendering/global-map paths. Do not silently downgrade
  them to CPU and report success.

## Procedure

1. Identify the dataset, scene, checkpoint provenance, and whether preserving
   the source checkpoint is required.
2. Run both read-only preflight scripts and record warnings.
3. Check that the configured input dataset and, for Replica reconstruction,
   `data/Replica-SLAM/cull_replica/<scene>.ply` plus
   `<scene>_pc_unseen.npy` are present. Do not download missing assets in this
   sub-skill.
4. Confirm CUDA, the differential Gaussian rasterizer, FAISS GPU, Open3D, and
   `evaluate_3d_reconstruction` in the intended environment. Use the
   environment contract in [workflows.md](references/workflows.md).
5. Run the standard command once. Do not concurrently evaluate the same
   checkpoint because stages write shared files.
6. Record which stage files exist, which stages printed exceptions, and which
   metrics are absent or `null`. Preserve traceback text for recovery.
7. Interpret values using [outputs-and-metrics.md](references/outputs-and-metrics.md),
   retaining dataset gates and implementation caveats.
8. If a stage fails, apply the smallest non-mutating recovery in
   [troubleshooting.md](references/troubleshooting.md). Re-run against a copy
   if the original output must remain reproducible.
9. Report complete, partial, skipped, and unverified stages separately.

## Safe scripting rules

Bundled scripts must remain read-only by default. They must not run the
expensive evaluator, import heavy CUDA/Open3D modules, open Open3D windows,
download weights or datasets, or mutate user checkpoints. Keep review logs and
verification cases outside this runtime skill directory.

Files in this skill

  • SKILL.md7.2 KB
  • references/api-reference.md6.3 KB
  • references/outputs-and-metrics.md5.3 KB
  • references/troubleshooting.md7.4 KB
  • references/workflows.md5.9 KB
  • scripts/check_cli.py4 KB
  • scripts/validate_checkpoint.py4.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.