--- 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. - **Team code repository:** [https://huggingface.co/CM-EVS-Dataset/cmevs-code](https://huggingface.co/CM-EVS-Dataset/cmevs-code) - **Companion dataset:** [https://huggingface.co/datasets/CM-EVS-Dataset/cmevs-erp-eval](https://huggingface.co/datasets/CM-EVS-Dataset/cmevs-erp-eval) - **Paper:** https://openreview.net/forum?id=mSu3YzwW3t This team release incorporates the public collaborator snapshot `ManfredC/cmevs-code@f797f2bd6271be562ff3b466e3bb94d754d1f40f`, followed by the fixes documented in [PROVENANCE.md](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](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: ```bash conda env create -f environment.yml conda activate cmevs ``` Or install the dependencies into your own environment: ```bash 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 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: ```bash 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: ```bash 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](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 ```bash 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.