[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-79994":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":14,"contributorsCount":13,"subscribersCount":13,"size":13,"stars1d":13,"stars7d":15,"stars30d":16,"stars90d":13,"forks30d":13,"starsTrendScore":17,"compositeScore":13,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":18,"hasPages":20,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":13,"starSnapshotCount":13,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},79994,"SpatialBench","Ropedia\u002FSpatialBench","Ropedia","SpatialBench: Is Your Spatial Foundation Model an All-Round Player? ","https:\u002F\u002Fropedia.github.io\u002FSpatialBench\u002F",null,"Python",103,0,1,10,27,5,false,"main",true,[22,23,24],"3d-reconstruction","benchmark","spatial-foundation-model","2026-06-12 02:03:56","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"assets\u002Fsb_logo.png\" alt=\"SpatialBench Logo\" width=\"300\"\u002F>\n\n\u003Ch1>SpatialBench: Is Your Spatial Foundation Model an All-Round Player?\u003C\u002Fh1>\n\n\n\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fpapers\u002F2605.27367\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPaper-SpatialBench-red\" alt=\"Paper\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2605.27367\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-2605.27367-b31b1b\" alt=\"arXiv\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fropedia.github.io\u002FSpatialBench\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FProject_Page-green\" alt=\"Project Page\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fropedia-ai\u002FSpatialBenchmark\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging_Face-Bench-yellow\" alt=\"SpatialBench\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fropedia-ai\u002FDA-Next-5M\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging_Face-Dataset-yellow\" alt=\"DA-Next-5M\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fropedia-ai\u002FDA-Next\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging_Face-Model-yellow\" alt=\"DA-Next\">\u003C\u002Fa>\n\n---\n\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"assets\u002Fteaser.png\" alt=\"SpatialBench Overview\" width=\"800\"\u002F>\n\u003C\u002Fdiv>\n\n## 🔍 Overview\n\n**SpatialBench** is a deterministic, density-aware benchmark for evaluating spatial foundation models across multiple paradigms and various domains. It spans **19 source datasets**, **540+ scenes**, **40+ model variants**, and **six reconstruction paradigms** covering depth, camera pose, trajectory, point-cloud reconstruction, long-sequence streaming, and prior-enhanced tasks.\n\nEvery scene is normalized into RGB \u002F metric depth \u002F camera-to-world pose \u002F intrinsics, and the test frames for each scene are precomputed and pinned, so all users evaluate on exactly the same frames. A unified YAML-config + model-adapter interface lets you drop in a new model with a single `predict()` method.\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"assets\u002Foverview.png\" alt=\"Overview\" width=\"800\"\u002F>\n\u003C\u002Fdiv>\n\nThe leaderboard is reported in [leaderboard.md](leaderboard.md).\n\n## 🔧 Installation\n\n### Setup Environment\n\n```bash\nconda create -n spatialbench python=3.11\nconda activate spatialbench\n\n# 1) PyTorch — pick the CUDA build that matches your driver (must be installed first)\npip install torch==2.7.0 torchvision==0.22.0 torchaudio==2.7.0 --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu128\n\n# 2) Core benchmark harness (no per-model deps yet)\npip install -e .\n```\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Per-model extras\u003C\u002Fb> — click to expand\u003C\u002Fsummary>\n\nModel-specific dependencies are managed via `pip` extras. Install only the ones\nyou need — every extra below pulls in exactly what is required to run the\ncorresponding config under `benchmark\u002Fconfigs\u002F`:\n\n```bash\n# VGGT and most VGGT-family adapters — vggt, vggt_omega, fastvggt, omnivggt, pi3, pi3x,\n# worldmirror, stream3r_{stream,window}, page4d, vggt_long, pi_long, loger, loger_star\npip install -e \".[vggt]\"\n\n# Optimization-based DUSt3R \u002F MASt3R adapters (depends on [vggt] + roma + scikit-learn)\npip install -e \".[optimization]\"\n\n# MAPAnything (depends on [vggt] + hydra-core + uniception)\npip install -e \".[mapanything]\"\n\n# LingbotMap window\u002Fstream adapters (depends on [vggt] + flashinfer-python)\npip install -e \".[lingbot-map]\"\n\n# Depth Anything 3 family — da3_{small,base,large,giant}, da3nested, da3_streaming\npip install -e \".[da3]\"\n\n# Scal3R TTT adapter (depends on [vggt] + numba + pykitti + pypose + rich)\npip install -e \".[scal3r]\"\n\n# ZipMap TTT adapter (depends on [vggt]; source is vendored under benchmark\u002Fmodels\u002Fzipmap)\npip install -e \".[zipmap]\"\n\n# VGG-TTT adapter (depends on [vggt] + hydra-core; source is vendored under benchmark\u002Fmodels\u002Fvgg_ttt)\npip install -e \".[vgg_ttt]\"\n\n# StreamVGGT \u002F InfiniteVGGT (depends on [vggt] + transformers)\npip install -e \".[streaming]\"\n\n# R3 online adapter (vendored under benchmark\u002Fmodels\u002Fr3; depends on DA3 + xformers)\npip install -e \".[r3]\"\n\n# AMB3R benchmark adapter for the README environment above:\n# Python 3.11 + torch==2.7.0+cu128 \u002F torchvision==0.22.0+cu128.\n# Install the CUDA extension wheels first, then install the Python extra.\npip install torch-scatter==2.1.2 -f https:\u002F\u002Fdata.pyg.org\u002Fwhl\u002Ftorch-2.7.0+cu128.html\npip install xformers==0.0.30 --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu128\npip install spconv-cu126==2.3.8\npip install \"git+https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fpytorch3d.git@V0.7.8\" --no-build-isolation\npip install flash-attn==2.7.3 --no-build-isolation\npip install -e \".[amb3r]\"\n\n# Combine multiple at once, for example\npip install -e \".[vggt,optimization,mapanything,lingbot-map,da3,scal3r,zipmap,vgg_ttt,r3]\"\n\n# Install all currently supported model deps\npip install -e \".[all]\"\n```\n\nLingbotMap defaults to FlashInfer attention (`use_sdpa: false`). If your package\nindex cannot resolve a compatible `flashinfer-python` wheel, install FlashInfer\nfrom the wheel index matching your CUDA\u002FPyTorch build, or set `use_sdpa: true`\nin the LingbotMap config to use PyTorch SDPA instead.\n\nDUSt3R \u002F MASt3R vendor CroCo under `benchmark\u002Fmodels\u002F{dust3r_root,mast3r_root}\u002F`.\nCroCo's CUDA RoPE extension is optional; if it is not compiled, the adapters\nfall back to the slower PyTorch RoPE implementation.\n\n### Optional: DA-Next submodule\n\nThe DA-Next variant lives in a separate git submodule. If you only run the\nbenchmark, you can skip this:\n\n```bash\ngit submodule update --init --recursive DA-Next\n```\n\n\u003C\u002Fdetails>\n\n\n\n### Download Datasets\n\nThe benchmark is released on Hugging Face as tar archives — one per sampling\nregime, plus an optional ground-truth point-cloud archive. Pick the regime(s)\nyou need; you do not have to download all archives.\n\n| Archive        | File             | Size     | Recommend |\n|----------------|------------------|----------|---------- |\n| Single         | `single.tar`     | 1.0 GiB  |           |\n| Sparse         | `sparse.tar`     | 5.1 GiB  |   ✅      |\n| Medium         | `medium.tar`     | 19.4 GiB |   ✅      |\n| Dense          | `dense.tar`      | 73.9 GiB |           |\n| Point-cloud GT | `pointcloud.tar` | 1.8 GiB  |   ✅       |\n\nThe `pointcloud.tar` archive is required only if you enable point-cloud\nevaluation metrics. It unpacks into `SpatialBenchmark\u002Fpointcloud\u002F`.\n\n```bash\n# Download the archive(s) you need (here: all four single\u002Fsparse\u002Fmedium\u002Fdense)\nmkdir -p SpatialBenchmark && cd SpatialBenchmark\nfor split in single sparse medium dense; do\n  hf download ropedia-ai\u002FSpatialBenchmark \"${split}.tar\" \\\n    --repo-type dataset --local-dir .\ndone\n\n# Optional: download GT point clouds only when running point-cloud evaluation\nhf download ropedia-ai\u002FSpatialBenchmark pointcloud.tar \\\n  --repo-type dataset --local-dir .\n\n# Extract — each tar unpacks into its own top-level directory (single\u002F, sparse\u002F, ...)\nfor split in single sparse medium dense; do\n  tar -xf \"${split}.tar\" && rm \"${split}.tar\"   # drop the rm if you want to keep the archive\ndone\n\n# Optional: extract GT point clouds for point-cloud evaluation\ntar -xf pointcloud.tar && rm pointcloud.tar\n```\n\n\u003Cdetails>\n\u003Csummary>After downloading, the directory tree should look like this (click to expand)\u003C\u002Fsummary>\n\n```bash\nSpatialBenchmark\n├── _split_log.jsonl\n├── dense\n│   ├── 7scenes\n│   ├── adt\n│   ├── droid\n│   ├── kitti_odometry\n│   ├── nrgbd\n│   ├── omniworld\n│   ├── rlbench\n│   ├── robolab\n│   ├── robotwin\n│   ├── ropedia\n│   ├── scannetpp\n│   ├── tanks_and_temples\n│   ├── tum\n│   ├── vkitti\n│   └── waymo\n├── medium\n│   ├── 7scenes\n│   ├── adt\n│   ├── droid\n│   ├── dtu\n│   ├── eth3d\n│   ├── hiroom\n│   ├── nrgbd\n│   ├── omniworld\n│   ├── rlbench\n│   ├── robolab\n│   ├── robotwin\n│   ├── ropedia\n│   ├── scannetpp\n│   ├── tanks_and_temples\n│   ├── tum\n│   ├── vkitti\n│   └── waymo\n├── pointcloud              # optional, required only for point-cloud evaluation\n│   ├── 7scenes\n│   ├── dtu\n│   ├── hiroom\n│   ├── nrgbd\n│   └── scannetpp\n├── single\n│   ├── 7scenes\n│   ├── adt\n│   ├── droid\n│   ├── dtu\n│   ├── eth3d\n│   ├── hiroom\n│   ├── lingbot\n│   ├── nrgbd\n│   ├── omniworld\n│   ├── rlbench\n│   ├── robolab\n│   ├── robotwin\n│   ├── ropedia\n│   ├── scannetpp\n│   ├── tanks_and_temples\n│   ├── tum\n│   ├── vkitti\n│   └── waymo\n└── sparse\n    ├── 7scenes\n    ├── adt\n    ├── droid\n    ├── dtu\n    ├── eth3d\n    ├── hiroom\n    ├── nrgbd\n    ├── omniworld\n    ├── rlbench\n    ├── robolab\n    ├── robotwin\n    ├── ropedia\n    ├── scannetpp\n    ├── tanks_and_temples\n    ├── tum\n    ├── vkitti\n    └── waymo\n```\n\n\u003C\u002Fdetails>\n\n### Download Model Checkpoints\n\nMost adapters auto-download from the Hugging Face Hub the first time they run (e.g. `facebook\u002FVGGT-1B`, `depth-anything\u002FDA3-GIANT-1.1`, `nvidia\u002Fvgg-ttt`). If you prefer to pre-stage them, set `checkpoint` in each model yaml to your cache directory before running an evaluation.\n\n### Visualize Benchmark Scenes\n\nUse the web viewer to inspect GT RGB, depth, camera poses, point clouds, and\nexported GLB files. The viewer uses the same `benchmark\u002Fdatasets` readers as\nthe evaluation harness, so it expects the current SpatialBenchmark layout:\n\n```text\nSpatialBenchmark\u002F{single,sparse,medium,dense}\u002F{dataset}\u002F{scene_path}\u002F...\n```\n\nStart the viewer from the repository root:\n\n```bash\npython visualize_benchmark_web.py \\\n  --benchmark-root SpatialBenchmark \\\n  --scene-index benchmark\u002Fscene_indices\u002Fall_scenes.json \\\n  --port 8082\n```\n\nThen open `http:\u002F\u002Flocalhost:8082`. If your dataset is stored elsewhere, point\n`--benchmark-root` to that directory. `--scene-index` defaults to\n`benchmark\u002Fscene_indices\u002Fall_scenes.json`, so it only needs to be set when using\na custom scene index.\n\n## 🚀 Quick Start\n\nRun the VGGT baseline on the full benchmark in a single command:\n\n```bash\npython benchmark\u002Fevaluation\u002Frun_benchmark.py \\\n    --config benchmark\u002Fconfigs\u002Fend2end\u002Fvggt_eval.yaml\n```\n\nOverride config fields from the CLI for quick experiments:\n\n```bash\npython benchmark\u002Fevaluation\u002Frun_benchmark.py \\\n    --config benchmark\u002Fconfigs\u002Fend2end\u002Fvggt_eval.yaml \\\n    --tags \"droid+sparse\" --max-scenes 5 --visualize\n```\n\nFor the complete usage, tag-filter syntax, model list, and per-metric details, see [benchmark\u002FREADME.md](benchmark\u002FREADME.md).\n\n### Tag Filter Syntax\n\n| Syntax | Meaning | Example |\n|--------|---------|---------|\n| `dataset` | All scenes from a single dataset | `droid`, `dtu`, `tanks_and_temples` |\n| `tag1+tag2` | AND: matches both | `dtu+dense`, `droid+sparse+indoor` |\n| \u003Ccode>tag1&#124;tag2\u003C\u002Fcode> | OR: matches either | \u003Ccode>sparse&#124;dense\u003C\u002Fcode> |\n| `null` | No filter, all scenes | |\n\nAvailable tag axes (values verified against `benchmark\u002Fscene_indices\u002Fall_scenes.json`):\n\n| Tag axis | Possible values |\n|----------|-----------------|\n| `source_dataset` | `7scenes`, `adt`, `droid`, `dtu`, `eth3d`, `hiroom`, `kitti_odometry`, `lingbot`, `nrgbd`, `omniworld`, `rlbench`, `robolab`, `robotwin`, `ropedia`, `scannetpp`, `tanks_and_temples`, `tum`, `vkitti`, `waymo` |\n| `view_density` | `sparse` \u002F `medium` \u002F `dense` \u002F `single` (1 frame) |\n| `environment` | `indoor` \u002F `outdoor` |\n| `dynamics` | `static` \u002F `dynamic` |\n| `view_type` | `wrist` \u002F `egoview` \u002F `normal` |\n| `data_type` | `real` \u002F `simulation` |\n\n> Scenes tagged `single` contain only one frame, so pose \u002F trajectory \u002F point-cloud metrics are undefined — the evaluation harness auto-restricts `eval_metrics` to `[\"depth\"]` when the tag expression includes `single`.\n\n## 📊 Dataset Coverage\n\nSpatialBench unifies 19 source datasets that span indoor \u002F outdoor, real \u002F simulation, static \u002F dynamic, and a range of embodied view types.\n\n| Dataset | Environment | Type | Notes |\n|---------|-------------|------|-------|\n| DROID | indoor | real \u002F dynamic | Robot manipulation (wrist view) |\n| DTU | indoor | real \u002F static | Multi-view stereo (normal view) |\n| ETH3D | indoor \u002F outdoor | real \u002F static | High-precision MVS (COLMAP format) |\n| 7-Scenes | indoor | real \u002F static | Indoor localization |\n| RLBench | indoor | synthetic | Robot simulation tasks |\n| Ropedia | indoor | real \u002F dynamic | Robot egocentric view |\n| NRGBD | indoor | real \u002F static | Neural RGB-D |\n| RoboTwin | indoor | synthetic | Bimanual robot simulation |\n| Tanks & Temples | outdoor | real \u002F static | Outdoor large scenes (RobustMVD) |\n| TUM | indoor | real \u002F dynamic | RGB-D SLAM |\n| ADT | indoor | real \u002F dynamic | Aria Digital Twin |\n| OmniWorld | outdoor | simulation \u002F dynamic | Game-engine virtual outdoor scenes |\n| Lingbot | indoor \u002F outdoor | real \u002F dynamic | Lingbot robot single-frame scenes |\n| VKITTI | outdoor | simulation \u002F dynamic | Virtual KITTI 2 driving simulation |\n| Waymo | outdoor | real \u002F dynamic | Waymo Open Dataset autonomous driving (LiDAR depth) |\n| RoboLab | indoor | simulation \u002F dynamic | Isaac Sim synthetic (wrist view) |\n| HiRoom | indoor | simulation \u002F static | Synthetic indoor (aliasing_mask filtered) |\n| ScanNet++ | indoor | real \u002F static | iPhone subset (COLMAP + rendered depth) |\n\n\nFull per-dataset reader specs live in [benchmark\u002Fdatasets\u002Fdata_readers.py](benchmark\u002Fdatasets\u002Fdata_readers.py).\n\n\n## 📖 Models\n\nSpatialBench ships adapters for 40+ spatial foundation model variants. Each lives under `benchmark\u002Fevaluation\u002Fmodel_adapters\u002F`. Following the taxonomy used in our main leaderboard, models are grouped into six categories:\n\n- **Optimization-based**: DUSt3R, MASt3R\n- **End-to-End Feed-Forward**: VGGT, VGGT-Omega, Fast3R, FastVGGT, MUSt3R, MAPAnything, OmniVGGT, π³, π³-X, AMB3R, DA3 (Small \u002F Base \u002F Large \u002F Giant), DA3-Nested, WorldMirror\n- **Online**: Spann3R, CUT3R, MonST3R, Point3R, Stream3R (Stream \u002F Window), StreamVGGT, PAGE4D, InfiniteVGGT, WinT3R, LongStream (Batch \u002F Streaming), LingbotMap (Stream \u002F Window)\n- **Chunk-wise**: VGGT-Long, π³-Long, DA3-Streaming\n- **SLAM-based**: MASt3R-SLAM, VGGT-SLAM\n- **Test-Time Training**: TTT3R, Scal3R, LoGeR, LoGeR*, ZipMap, VGG-TTT\n\nSee [benchmark\u002FREADME.md](benchmark\u002FREADME.md#currently-supported-models) for the full table and per-model configs under [benchmark\u002Fconfigs\u002F](benchmark\u002Fconfigs\u002F).\n\n### 🌟 DA-Next (Ours)\n\nDA-Next is our metric-scale extension of [Depth Anything 3](https:\u002F\u002Fgithub.com\u002FByteDance-Seed\u002FDepth-Anything-3) — it adds a scale head, a camera encoder, and ray-based pose decoding. Source and training\u002Finference instructions live in the [`DA-Next\u002F`](DA-Next\u002FREADME.md) submodule.\n\n```bash\n# Fetch the DA-Next submodule (one-time)\ngit submodule update --init --recursive DA-Next\n\n# Evaluate DA-Next via the unified harness\npython benchmark\u002Fevaluation\u002Frun_benchmark.py \\\n    --config benchmark\u002Fconfigs\u002Fend2end\u002Fdanext_eval.yaml\n```\n\n### Integrating a New Model\n\n```python\nfrom benchmark.evaluation.model_adapters import register_adapter\nfrom benchmark.evaluation.model_adapters.base_adapter import ModelAdapter\n\n@register_adapter(\"your_model\")\nclass YourModelAdapter(ModelAdapter):\n    def name(self):\n        return \"YourModel\"\n\n    def load_model(self, checkpoint=None, device=\"cuda\"):\n        ...\n\n    def predict(self, scene):\n        # scene contains images \u002F intrinsic \u002F depth(GT) \u002F extrinsic(GT)\n        # Return any subset of pred_depth \u002F pred_pose \u002F pred_pointcloud \u002F pred_confidence\n        return {\"pred_depth\": ..., \"pred_pose\": ...}\n\n    def supports_metric_depth(self):\n        return False\n```\n\nFull adapter contract: [benchmark\u002FREADME.md#integrating-a-new-model](benchmark\u002FREADME.md#integrating-a-new-model).\n\n\n## 📈 Evaluation Metrics\n\n| Category | Metrics |\n|----------|---------|\n| Depth | `abs_rel`, `sq_rel`, `rmse`, `log_rmse`, `delta_1.03`, `delta_1.05`, `delta_1.10` |\n| Camera pose (pairwise) | `racc_3` \u002F `racc_5`, `tacc_3` \u002F `tacc_5`, `auc_3 \u002F 5 \u002F 15 \u002F 30` |\n| Trajectory (Sim(3) aligned) | ATE, RPE |\n| Point cloud | `chamfer_distance`, `f_score` (τ=0.05) |\n\nPredicted poses are aligned to GT via **Procrustes**, and depth metrics are reported with and without scale alignment (median \u002F lstsq) depending on whether the model is metric. See [benchmark\u002FREADME.md#metric-definitions](benchmark\u002FREADME.md#metric-definitions) for definitions.\n\n## 📝 To-Do List\n\n- ✅ Release technical report on arXiv\n- ✅ Release benchmark dataset on Hugging Face\n- ✅ Release DA-Next training scripts\n- [ ] Release DA-Next Checkpoint\n- [ ] Release DA-Next-5M dataset\n- [ ] Update more model adapter\n\n## 🤝 Citation\n\nIf SpatialBench is useful for your research, please cite:\n\n```bibtex\n@misc{peng2026spatialbench,\n      title={SpatialBench: Is Your Spatial Foundation Model an All-Round Player?}, \n      author={Haosong Peng and Hao Li and Jiaqi Chen and Yuhao Pan and Runmao Yao and Yalun Dai and Fushuo Huo and Fangzhou Hong and Zhaoxi Chen and Haozhao Wang and Dingwen Zhang and Ziwei Liu and Wenchao Xu},\n      year={2026},\n      eprint={2605.27367},\n      archivePrefix={arXiv},\n      primaryClass={cs.CV},\n      url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2605.27367}, \n```\n\n## 📄 License\n\n- **Benchmark code** (this repository): released under the [CC-BY 4.0](https:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby\u002F4.0\u002F).\n- **Dataset assets** (released via Hugging Face `ropedia-ai\u002FDA-Next-5M`): released under the [CC-BY-NC 4.0](https:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby-nc\u002F4.0\u002F).\n\nThird-party model checkpoints and source datasets remain subject to their original upstream licenses.\n\n## 🙏 Acknowledgments\n\nSpatialBench builds on a large body of prior work. We thank the authors of the following projects whose code or data are reused in this benchmark, as well as the maintainers of the 19 source datasets listed above.\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Optimization-based \u003C\u002Fb> — click to expand\u003C\u002Fsummary>\n\n- [DUSt3R](https:\u002F\u002Fgithub.com\u002Fnaver\u002Fdust3r)\n- [MASt3R](https:\u002F\u002Fgithub.com\u002Fnaver\u002Fmast3r)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>End-to-End Feed-Forward \u003C\u002Fb> — click to expand\u003C\u002Fsummary>\n\n- [VGGT](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fvggt)\n- [VGGT-Omega](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fvggt-omega)\n- [Fast3R](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffast3r)\n- [FastVGGT](https:\u002F\u002Fgithub.com\u002Fmystorm16\u002FFastVGGT)\n- [MUSt3R](https:\u002F\u002Fgithub.com\u002Fnaver\u002Fmust3r)\n- [MAPAnything](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmap-anything)\n- [OmniVGGT](https:\u002F\u002Fgithub.com\u002FLivioni\u002FOmniVGGT-official)\n- [π³ (Pi3)](https:\u002F\u002Fgithub.com\u002Fyyfz\u002FPi3)\n- [AMB3R](https:\u002F\u002Fgithub.com\u002FHengyiWang\u002Famb3r)\n- [DA3-Small](https:\u002F\u002Fgithub.com\u002FByteDance-Seed\u002FDepth-Anything-3)\n- [DA3-Base](https:\u002F\u002Fgithub.com\u002FByteDance-Seed\u002FDepth-Anything-3)\n- [DA3-Large](https:\u002F\u002Fgithub.com\u002FByteDance-Seed\u002FDepth-Anything-3)\n- [DA3-Giant](https:\u002F\u002Fgithub.com\u002FByteDance-Seed\u002FDepth-Anything-3)\n- [DA3-Nested](https:\u002F\u002Fgithub.com\u002FByteDance-Seed\u002FDepth-Anything-3)\n- [WorldMirror (HunyuanWorld-Mirror)](https:\u002F\u002Fgithub.com\u002FTencent-Hunyuan\u002FHunyuanWorld-Mirror)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Online\u003C\u002Fb> — click to expand\u003C\u002Fsummary>\n\n- [Spann3R](https:\u002F\u002Fgithub.com\u002FHengyiWang\u002Fspann3r)\n- [CUT3R](https:\u002F\u002Fgithub.com\u002FCUT3R\u002FCUT3R)\n- [MonST3R](https:\u002F\u002Fgithub.com\u002FJunyi42\u002Fmonst3r)\n- [Point3R](https:\u002F\u002Fgithub.com\u002FYkiWu\u002FPoint3R)\n- [Stream3R](https:\u002F\u002Fgithub.com\u002FNIRVANALAN\u002FSTream3R)\n- [StreamVGGT](https:\u002F\u002Fgithub.com\u002Fwzzheng\u002FStreamVGGT)\n- [PAGE4D](https:\u002F\u002Fgithub.com\u002FHarvard-AI-and-Robotics-Lab\u002FPAGE4D)\n- [InfiniteVGGT](https:\u002F\u002Fgithub.com\u002FAutoLab-SAI-SJTU\u002FInfiniteVGGT)\n- [WinT3R](https:\u002F\u002Fgithub.com\u002FLiZizun\u002FWinT3R)\n- [LongStream](https:\u002F\u002Fgithub.com\u002F3DAgentWorld\u002FLongStream)\n- [LingbotMap](https:\u002F\u002Fgithub.com\u002FRobbyant\u002Flingbot-map)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Chunk-wise \u003C\u002Fb> — click to expand\u003C\u002Fsummary>\n\n- [VGGT-Long](https:\u002F\u002Fgithub.com\u002FDengKaiCQ\u002FVGGT-Long)\n- [π³-Long (Pi-Long)](https:\u002F\u002Fgithub.com\u002FDengKaiCQ\u002FPi-Long)\n- [DA3-Streaming](https:\u002F\u002Fgithub.com\u002FByteDance-Seed\u002FDepth-Anything-3\u002Fblob\u002Fmain\u002Fda3_streaming\u002FREADME.md)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>SLAM-based \u003C\u002Fb> — click to expand\u003C\u002Fsummary>\n\n- [MASt3R-SLAM](https:\u002F\u002Fgithub.com\u002Frmurai0610\u002FMASt3R-SLAM)\n- [VGGT-SLAM](https:\u002F\u002Fgithub.com\u002FMIT-SPARK\u002FVGGT-SLAM)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Test-Time Training\u003C\u002Fb> — click to expand\u003C\u002Fsummary>\n\n- [TTT3R](https:\u002F\u002Fgithub.com\u002FInception3D\u002FTTT3R)\n- [Scal3R](https:\u002F\u002Fgithub.com\u002Fzju3dv\u002FScal3R)\n- [LoGeR](https:\u002F\u002Fgithub.com\u002FJunyi42\u002FLoGeR)\n- [ZipMap](https:\u002F\u002Fgithub.com\u002FHaian-Jin\u002FZipMap)\n- [VGG-TTT](https:\u002F\u002Fgithub.com\u002Fnv-dvl\u002Fvgg-ttt)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Prior-enhanced variants\u003C\u002Fb> — click to expand\u003C\u002Fsummary>\n\nConfigurations that condition the same backbone on additional priors (intrinsics \u002F depth \u002F etc.).\n\n- [DA3-Giant w\u002F Prior](https:\u002F\u002Fgithub.com\u002FByteDance-Seed\u002FDepth-Anything-3)\n- [DANext w\u002F Prior](https:\u002F\u002Fgithub.com\u002FByteDance-Seed\u002FDepth-Anything-3)\n- [MAPAnything w\u002F Prior](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmap-anything)\n- [OmniVGGT w\u002F Prior](https:\u002F\u002Fgithub.com\u002FLivioni\u002FOmniVGGT-official)\n- [π³-X w\u002F Prior](https:\u002F\u002Fgithub.com\u002Fyyfz\u002FPi3)\n- [WorldMirror w\u002F Prior](https:\u002F\u002Fgithub.com\u002FTencent-Hunyuan\u002FHunyuanWorld-Mirror)\n\n\u003C\u002Fdetails>\n","SpatialBench 是一个用于评估空间基础模型在多种范式和领域中的性能的基准测试工具。该项目通过提供19个源数据集、540多个场景、40多种模型变体以及六种重建范式（包括深度、相机姿态、轨迹、点云重建、长序列流处理和先验增强任务），来全面评测模型的能力。每个场景都标准化为RGB\u002F度量深度\u002F相机到世界的姿态\u002F内参，并且所有用户的测试帧都是预先计算并固定的，确保了评估的一致性。SpatialBench 采用统一的YAML配置文件加模型适配器接口设计，使得用户只需实现一个`predict()`方法即可轻松集成新模型。此项目特别适合于需要对3D重建或空间感知技术进行深入研究与比较的应用场景。",2,"2026-06-11 03:58:50","CREATED_QUERY"]