RukawaY/gs_scenes
A High-Fidelity Navigation Simulator with Dynamic Gaussian SplattingECCV 2026 Ziyuan Xia • Jingyi Xu • Chong Cui • Yuanhong Yu • Jiazhao Zhang • Qingsong Yan • Tao Ni Junbo Chen • Xiaowei Zhou • Hujun Bao • Ruizhen Hu • Sida Peng 🤗 About This Dataset This is the official GS dataset for Habitat-GS, a high-fidelity embodied navigation simulator built on 3D Gaussian Splatting and dynamic gaussian avatars. The dataset contains… See the full description on the dataset page: https://huggingface.co/datasets/RukawaY/gs_scenes.
<div align="center">
<div align="center"> <img src="assets/logo_white.png" alt="Habitat-GS" width="50%"> <h1>A High-Fidelity Navigation Simulator with Dynamic Gaussian Splatting<br><br>ECCV 2026</h1> </div>
<div align="center"> <a href="https://arxiv.org/abs/2604.12626"><img src='https://img.shields.io/badge/arXiv-Habitat--GS-red' alt='Paper PDF'></a> <a href='https://zju3dv.github.io/habitat-gs/'><img src='https://img.shields.io/badge/Project_Page-Habitat--GS-green' alt='Project Page'></a> <a href="https://github.com/zju3dv/habitat-gs"><img src='https://img.shields.io/badge/GitHub-Code-blue?logo=github' alt='GitHub'></a> </div>
<p align="center"> <a href="https://ziyuan-xia.com">Ziyuan Xia</a> • <a href="https://github.com/echo636">Jingyi Xu</a> • <a href="https://github.com/Kinchite17">Chong Cui</a> • <a href="https://yuanhongyu.xyz">Yuanhong Yu</a> • <a href="https://jzhzhang.github.io">Jiazhao Zhang</a> • <a href="https://yanqswhu.top">Qingsong Yan</a> • <a href="https://orcid.org/0000-0002-8676-6546">Tao Ni</a> <br> <a href="https://scholar.google.com/citations?user=4YOIYGwAAAAJ&hl=en">Junbo Chen</a> • <a href="https://xzhou.me">Xiaowei Zhou</a> • <a href="http://www.cad.zju.edu.cn/home/bao/">Hujun Bao</a> • <a href="https://csse.szu.edu.cn/staff/ruizhenhu/">Ruizhen Hu</a> • <a href="https://pengsida.net/">Sida Peng</a> </p>
</div>
🤗 About This Dataset
This is the official GS dataset for Habitat-GS, a high-fidelity embodied navigation simulator built on 3D Gaussian Splatting and dynamic gaussian avatars. The dataset contains 129 indoor/outdoor 3DGS scenes, along with 6 gaussian avatar assets, pre-generated navigation episodes, dynamic-navigation data and VLN trajectory data for StreamVLN and Uni-NaVid — everything needed to train and evaluate embodied navigation agents in high-fidelity Gaussian Splatting environments!
Key statistics:
Each self-reconstructed scene (scene01–scene65) comes with a 3DGS render asset (<scene>.gs.ply), a collision mesh (<scene>.mesh.ply), and a navigation mesh (<scene>.navmesh). Each [InteriorGS](https://huggingface.co/datasets/spatialverse/InteriorGS) scene (interior_*) only ships 3DGS and navmesh — <scene>.gs.ply + <scene>.navmesh. The dataset also includes 6 gaussian avatars exported from AnimatableGaussians, with SMPL/SMPL-X body models for motion driving.
Note: Due to license constraints, SMPL and SMPL-X body models are not included in this dataset. To use the dynamic avatars, please register and accept the licenses, then download and unzip the models into avatars/{smpl,smplx}/:
- SMPL-X — register at <https://smpl-x.is.tue.mpg.de>, download models_smplx_v1_1.zip
- SMPL — register at <https://smpl.is.tue.mpg.de>, download SMPL_python_v.1.1.0.zip
🏛️ Dataset Layout
The dataset is organized into six independent categories that can be downloaded separately:
Dataset layout:
.
├── train.scene_dataset_config.json # Habitat scene dataset config (train)
├── val.scene_dataset_config.json # Habitat scene dataset config (val)
│
├── train/ # [Category 1] 110 training GS scenes (~24 GB)
│ ├── scene01/ # self-reconstructed (full assets)
│ │ ├── scene01.gs.ply # 3DGS render asset
│ │ ├── scene01.mesh.ply # collision mesh
│ │ └── scene01.navmesh # navigation mesh
│ ├── scene02/ ... scene55/ # 55 self-reconstructed scenes total
│ ├── interior_0007_840137/ # InteriorGS (only 3DGS and navmesh)
│ │ ├── interior_0007_840137.gs.ply # 3DGS render asset
│ │ └── interior_0007_840137.navmesh # navigation mesh
│ └── interior_0022_840117/ ... ×55 # 55 InteriorGS scenes total
│
├── val/ # [Category 1] 19 evaluation GS scenes (~3.3 GB)
│ ├── scene56/ ... scene65/ # 10 self-reconstructed val scenes
│ └── interior_0516_840045/ ... ×9 # 9 InteriorGS val scenes
│
├── avatars/ # [Category 2] Gaussian avatar assets (~3.1 GB)
│ ├── README.md # how to obtain the SMPL/SMPL-X body models (see below)
│ ├── avatar1/ # canonical gaussians of gaussian avatars
│ │ └── canonical_gs.npz
│ ├── avatar2/ ... avatar8/
│ ├── smpl/ # SMPL body models — NOT included (license); download yourself
│ │ └── SMPL_{NEUTRAL,MALE,FEMALE}.pkl
│ └── smplx/ # SMPL-X body models — NOT included (license); download yourself
│ └── SMPLX_{NEUTRAL,MALE,FEMALE}.{npz,pkl}
│
├── configs/ # [Category 3, 4, 5 & 6] Hydra YAML configs (~64 KB)
│ ├── ddppo_pointnav_gs_{train,eval}.yaml
│ ├── ddppo_imagenav_gs_{train,eval}.yaml
│ ├── ddppo_objectnav_gs_{train,eval}.yaml
│ ├── ddppo_dynamic_track_gs_{train,eval}.yaml # dynamic nav: human tracking
│ ├── ddppo_dynamic_avoid_gs_{train,eval}.yaml # dynamic nav: PointNav + avoidance
│ ├── ddppo_dynamic_avoid_imagenav_gs_{train,eval}.yaml # dynamic nav: ImageNav + avoidance
│ ├── ddppo_dynamic_avoid_objectnav_gs_{train,eval}.yaml # dynamic nav: ObjectNav + avoidance
│ ├── vln_gs_eval.yaml # StreamVLN eval config (hfov=79, turn=15)
│ └── vln_uninavid_gs_eval.yaml # Uni-NaVid eval config (hfov=120, turn=30)
│
├── episodes/ # [Category 3, 4 & 5] Navigation episodes (~80 MB)
│ ├── pointnav/{train,val}/ # PointNav: 110,000 train + 1,900 val
│ ├── imagenav/{train,val}/ # ImageNav: 110,000 train + 1,900 val
│ ├── objectnav/{train,val}/ # ObjectNav: 110,000 train + 1,900 val
│ └── vln/{train,val}/ # VLN: 22,000 train + 950 val
│
├── dynamic_nav/ # [Category 6] Dynamic navigation data (~25 MB)
│ ├── dynamic_nav.scene_dataset_config.json # Habitat scene dataset config (10 dynamic scenes)
│ ├── scenes/ # scene_instance.json per scene: stage + navmesh +
│ │ └── <scene>.scene_instance.json # gaussian_avatars wiring (avatar, offset_y, scale)
│ ├── stages/ # GS stage templates
│ │ └── <scene>.stage_config.json
│ ├── trajectories/ # GAMMA-generated avatar walks (joint_mats + proxy_capsules)
│ │ └── <scene>.driver.pkl # one walking avatar per scene, scene01–scene10
│ ├── episodes/{train,val}/ # PointNav format: 1,000 train + 100 val; agent spawns
│ │ # near the avatar (shared by avoid/imagenav/tracking)
│ └── episodes_objectnav/{train,val}/ # ObjectNav format: 1,000 train + 100 val
│
└── trajectory_data/ # [Category 4 & 5] VLN trajectory data
├── vln/ # StreamVLN trajectories (~40 GB)
│ ├── annotations.json # action sequences + instructions (train)
│ ├── annotations_val.json # action sequences + instructions (val)
│ └── images/ # per-scene tar archives (extract before use)
│ ├── scene01.tar # scene01 trajectories
│ ├── interior_0007_840137.tar # interior_0007 trajectories
│ └── ... # 129 per-scene archives, 22,950 trajectories total
└── uninavid/ # Uni-NaVid trajectories (~25 GB)
├── nav_gs_train.json # conversation-format annotations (train)
├── nav_gs_val.json # conversation-format annotations (val)
└── nav_videos/ # per-scene tar archives of .mp4 videos
├── scene01.tar # scene01 videos
├── interior_0007_840137.tar # interior_0007 videos
└── ... # 129 per-scene archives, 22,950 videos total🎒 Selective Download
You can download one or more categories using huggingface_hub's allow_patterns / ignore_patterns:
from huggingface_hub import snapshot_download
REPO = "RukawaY/gs_scenes"
LOCAL = "data/scene_datasets/gs_scenes"
# ── Download only GS scenes ──
snapshot_download(REPO, local_dir=LOCAL,
allow_patterns=["train/**", "val/**", "*.scene_dataset_config.json"])
# ── Download GS scenes + avatars ──
snapshot_download(REPO, local_dir=LOCAL,
allow_patterns=["train/**", "val/**", "*.scene_dataset_config.json", "avatars/**"])
# ── Download everything for Habitat-Lab navigation tasks ──
snapshot_download(REPO, local_dir=LOCAL,
ignore_patterns=["trajectory_data/**", "avatars/**", "episodes/vln/**"])
# ── Download everything for StreamVLN ──
snapshot_download(REPO, local_dir=LOCAL,
ignore_patterns=["avatars/**", "episodes/pointnav/**", "episodes/imagenav/**",
"episodes/objectnav/**", "trajectory_data/uninavid/**"])
# ── Download everything for Uni-NaVid ──
snapshot_download(REPO, local_dir=LOCAL,
ignore_patterns=["avatars/**", "episodes/pointnav/**", "episodes/imagenav/**",
"episodes/objectnav/**", "trajectory_data/vln/**"])
# ── Download everything for dynamic navigation ──
# needs the 10 scenes (scene01–scene10) + avatars + dynamic_nav data + configs
snapshot_download(REPO, local_dir=LOCAL,
allow_patterns=["train/scene0*/**", "train/scene10/**", "*.scene_dataset_config.json",
"avatars/**", "dynamic_nav/**", "configs/**"])
# ── Download a few specific scenes' trajectories (StreamVLN) ──
snapshot_download(REPO, local_dir=LOCAL,
allow_patterns=["trajectory_data/vln/annotations*.json",
"trajectory_data/vln/images/scene01.tar",
"trajectory_data/vln/images/interior_0007_840137.tar"])
# ── Download a few specific scenes' trajectories (Uni-NaVid) ──
snapshot_download(REPO, local_dir=LOCAL,
allow_patterns=["trajectory_data/uninavid/nav_gs_*.json",
"trajectory_data/uninavid/nav_videos/scene01.tar",
"trajectory_data/uninavid/nav_videos/interior_0007_840137.tar"])
# ── Download everything (~95 GB) ──
snapshot_download(REPO, local_dir=LOCAL)After downloading trajectory archives, extract per-scene trajectories in place:
# StreamVLN trajectories
cd data/scene_datasets/gs_scenes/trajectory_data/vln/images
for f in *.tar; do tar xf "$f" && rm "$f"; done
# Uni-NaVid trajectories
cd data/scene_datasets/gs_scenes/trajectory_data/uninavid/nav_videos
for f in *.tar; do tar xf "$f" && rm "$f"; done🚖 Placement
Place the downloaded data under habitat-gs/data/scene_datasets/gs_scenes/ so that the directory structure matches the layout above. The Habitat configs and training/evaluation scripts in Habitat-GS expect this exact path. See the Habitat-GS README for full setup and usage instructions.
📙 Citation
If you find Habitat-GS useful in your research, please consider citing:
@inproceedings{xia2026habitat,
title={Habitat-gs: A high-fidelity navigation simulator with dynamic gaussian splatting},
author={Xia, Ziyuan and Xu, Jingyi and Cui, Chong and Yu, Yuanhong and Zhang, Jiazhao and Yan, Qingsong and Ni, Tao and Chen, Junbo and Zhou, Xiaowei and Bao, Hujun and others},
booktitle={European Conference on Computer Vision},
pages={306--323},
year={2026},
organization={Springer}
}