Jingqiao-ucsc's picture
Upload WiSER private archive chunk: code_snapshots
13a1c10 verified
|
Raw
History Blame Contribute Delete
4.96 kB
# Radiomap Compare Baselines
This directory stores external comparison baselines for the `radiomapvggt`
project.
Paths:
- code root: `/data/jing_code/wl/radiomap_compare`
- env root: `/data/conda_envs`
- dataset roots used for adaptation:
- `/data/jing_dataset/processed/wireless/scannetpp`
- `/data/jing_dataset/processed/3D/scannetpp`
## Paper fixed compare protocol
A fixed paper-facing comparison slice now lives under:
- [paper_fixed5_compare](/data/jing_code/wl/radiomap_compare/paper_fixed5_compare)
It defines:
- fixed `5` scenes
- fixed centered train/test `TX`
- fixed centered `z` order
- reusable scripts for:
- `A06` fixed-case evaluation
- cross-method metric tables
## Current status
### 1. NeRF2
- repo: [NeRF2](/data/jing_code/wl/radiomap_compare/NeRF2)
- upstream: `https://github.com/XPengZhao/NeRF2.git`
- local env: `/data/conda_envs/nerf2_compare`
- env status:
- created
- imports verified: `torch`, `yaml`, `imageio`, `pandas`, `skimage`, `einops`
- local notes:
- [readme_compare.md](/data/jing_code/wl/radiomap_compare/NeRF2/readme_compare.md)
- current ScanNet++ adaptation status:
- one real scene export validated:
- `e0d1ed2159`
- exported BLE-format dataset path:
- `/data/jing_code/wl/radiomap_compare/NeRF2/data/scannetpp_ble/e0d1ed2159`
- dataset load verified through upstream `BLE_dataset`
- compare scripts/configs added under:
- `/data/jing_code/wl/radiomap_compare/NeRF2/configs`
- `/data/jing_code/wl/radiomap_compare/NeRF2/scripts`
- current no-Slurm compare setup also supports:
- `3` aligned scenes on `GPU 5-7`
- automatic train/test postprocess plots
### 2. Second external baseline repo
### 2. RF-3DGS
- repo: [RF-3DGS](/data/jing_code/wl/radiomap_compare/RF-3DGS)
- upstream: `https://github.com/SunLab-UGA/RF-3DGS.git`
- local env: `/data/conda_envs/rf3dgs_compare`
- env status:
- created as a dedicated clone of our known-good `gaussian_splatting` env
- verified:
- `torch`
- `torchvision`
- `diff_gaussian_rasterization`
- repo entry `train.py -h`
- local notes:
- [readme_compare.md](/data/jing_code/wl/radiomap_compare/RF-3DGS/readme_compare.md)
- current ScanNet++ adaptation status:
- direct wireless-grid supervision is **not** plug-and-play
- repo expects:
- `images/`
- `sparse/0/cameras.txt`
- `sparse/0/images.txt`
- `sparse/0/points3D.ply`
- `train_index.txt`
- `test_index.txt`
- local exporters now cover both:
- visual RGB path:
- `/data/jing_code/wl/radiomap_compare/RF-3DGS/dataset_tools/export_scannetpp_visual_to_rf3dgs.py`
- radiomap pseudo-image path:
- `/data/jing_code/wl/radiomap_compare/RF-3DGS/dataset_tools/export_scannetpp_radiomap_to_rf3dgs.py`
- current RF compare now has two modes:
- visual-only scene fitting
- radiomap pseudo-image fitting
- current no-Slurm compare setup also supports a fixed aligned `5`-scene run on
`GPU 0-4`, with automatic train/test rendering and overview plotting
- training-length policy has been updated to match original 3DGS visual training:
- default `iterations = 30000`
## Comparison strategy
These external baselines are not scene-generalization models like `radiomapvggt`.
They should be used as **single-scene fitting baselines**.
Recommended protocol:
- choose one scene from the canonical `small100 + val10` split
- train one baseline only on that scene
- use the same canonical wireless subset:
- `27` TX from the centered `3x3x3` subset
- `3` centered RX z-planes: `[4, 5, 6]`
- use the remaining scene-local unused data as held-out evaluation when the
baseline structure allows it
- compare against `radiomapvggt` on the same scene
## Canonical split reference
Scene split and subset protocol are recorded at the dataset roots:
- [wireless README](/data/jing_dataset/processed/wireless/scannetpp/README.md)
- [3D README](/data/jing_dataset/processed/3D/scannetpp/README.md)
## Notes
- `NeRF2` already includes an internal non-neural baseline:
- [mri.py](/data/jing_code/wl/radiomap_compare/NeRF2/baseline/mri.py)
- [baseline readme_compare.md](/data/jing_code/wl/radiomap_compare/NeRF2/baseline/readme_compare.md)
- so even before a second external repo is added, we already have:
- one neural baseline: `NeRF2`
- one simple analytic baseline: `MRI`
- `RF-3DGS` is structurally different from both of the above:
- stage 1 is standard 3DGS visual reconstruction from camera images
- stage 2 expects RF supervision in an **image-like / spectrum-like** camera frame
- our current processed wireless dataset is a TX/RX scalar-grid dataset, so RF-3DGS
needs an explicit modality conversion layer instead of a direct loader swap
- the new local radiomap path is exactly that bridge:
- it exports radiomap slices as pseudo-images
- it keeps the original 3DGS trainer unchanged
- it should be interpreted as a forced single-scene fitting baseline