cmevs-code / README.md
anon-cmevs-2026's picture
Finalize team code attribution, release integrity and smoke-test correctness
4b8c78e verified
|
Raw History Blame Contribute Delete
5.91 kB
metadata
license: mit
language:
  - en
tags:
  - code
  - evaluation
  - computer-vision
  - 3d
  - view-selection
  - equirectangular
  - panorama
datasets:
  - CM-EVS-Dataset/cmevs-erp-eval

CM-EVS Code Release

Public code accompanying CM-EVS: Sparse Panoramic RGB-D-Pose Data for Coverage-Oriented Scene Observation, NeurIPS 2026 Evaluations and Datasets Track.

This team release incorporates the public collaborator snapshot ManfredC/cmevs-code@f797f2bd6271be562ff3b466e3bb94d754d1f40f, followed by the fixes documented in PROVENANCE.md. Author attribution is retained in CITATION.cff and LICENSE.

Entry points and scope

Purpose Command What it checks or runs
No-data smoke test bash scripts/run_tiny.sh Synthetic metadata, greedy set selection, simulated image/depth files, file checks and example metrics
Release integrity python3 scripts/check_release.py Published code hashes and release metadata
Regression checks python3 -m unittest discover -s tests -v Invalid inputs, corrupt files and hash-tool behavior
Blender scene discovery DRY_RUN=1 BLENDER=/path/to/blender INPUT_DIR=/path/to/blend_scenes bash scripts/run_blender_indoor.sh Lists intended runs without rendering
Blender pipeline BLENDER=/path/to/blender INPUT_DIR=/path/to/blend_scenes bash scripts/run_blender_indoor.sh Runs the available asset-based export pipeline

The smoke test uses synthetic covered-cell annotations and simulated renders. It does not reproduce paper-scale coverage, oracle diagnostics or ERP-NVS numbers. The full Blender pipeline is a separate implementation path; see RELEASE_SCOPE.md for its scoring and export conventions and the experimental components not included in this release.

Environment

The smoke test and release checks use Python 3.10+ and Bash, with no GPU or third-party Python packages required. Full pipelines use optional rendering and scientific dependencies:

conda env create -f environment.yml
conda activate cmevs

Or install the dependencies into your own environment:

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Blender is an external executable. Scene assets and optional Depth Pro weights must be obtained separately under their original terms; this repository does not redistribute them. The full rendering/training environment has not been validated by the no-data test.

Minimal run

bash scripts/run_tiny.sh

The generated metadata, simulated renders, and computed example CSVs are under outputs/tiny/. These are local test outputs, not released paper experiment results. Use PYTHON=/path/to/python to select an interpreter; an optional first argument selects another output directory.

Blender-indoor path

Mount local .blend assets and inspect the planned scene list first:

DRY_RUN=1 \
BLENDER=/path/to/blender \
INPUT_DIR=/path/to/blend_scenes \
OUTPUT_ROOT=outputs/blender_indoor \
bash scripts/run_blender_indoor.sh

Remove DRY_RUN=1 to render. Exported selected_frames.json can be summarized with:

python3 scripts/summarize_blender_indoor_run.py \
  --output-root outputs/blender_indoor \
  --output outputs/blender_indoor/summary.csv

The default command uses the currently shipped pipeline defaults, not a claim that all paper protocols are implemented. Native production output and the normalized tiny-test metadata have different layouts; they are described in README_REPRODUCE.md.

Repository layout

  • pipelines/: Blender/mesh/point-cloud pipelines.
  • scripts/: metadata example, metrics, summaries, smoke and release checks.
  • core/, tools/, utils/: projection, depth, geometry and integrity helpers.
  • configs/: recorded defaults and source configurations.
  • examples/, metadata_examples/: synthetic example and its JSON schemas.
  • dataset_metadata/croissant.json: exact dataset metadata 1.0.2 snapshot.
  • dataset_metadata/manifests_h100/: historical hash inventories; not current public download manifests.
  • tests/: small deterministic regression tests.

Dataset and metadata

The companion dataset directly publishes 13,631 Blender indoor RGB/depth/pose triples across 374 scene instances. Paper-wide totals additionally include licensed local regeneration and are not the directly downloadable frame count. The current public pose JSONs declare cam_to_world, scalar-first rotation_quaternion, and absolute scene coordinates. Do not interpret them as world-to-camera rotations or offsets from the first frame without an explicit conversion.

The bundled Croissant describes a pinned dataset snapshot. It does not describe the code archive, promise undistributed selection logs, or turn the historical H100 inventories into downloadable archives. See the dataset card for actual hosted resources and source-specific access terms.

Integrity and citation

python3 scripts/check_release.py
bash tools/make_sha256sums.sh verify

Generated outputs, caches, local environments, and historical H100 inventories are excluded from the code checksum list. H100 inventory digests are recorded separately in their directory. Maintainers refresh the code list after source changes with bash tools/make_sha256sums.sh generate, review the diff, then rerun the checks.

Use CITATION.cff for the final paper title and authors. Code is MIT-licensed. Data and upstream assets remain governed by their own terms.