CoolFace
Datasetpublic

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.

sourceHugging Faceapache-2.0updated 5d agoView on Hugging Face
7likes28kdownloads
Dataset Card

<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-NaVideverything needed to train and evaluate embodied navigation agents in high-fidelity Gaussian Splatting environments!

Key statistics:

TrainValTotal
Self-reconstructed scenes (scene01scene65)55 (scene01scene55)10 (scene56scene65)65
InteriorGS scenes (interior_*)55964
All scenes11019129
PointNav episodes110,0001,900111,900
ImageNav episodes110,0001,900111,900
ObjectNav episodes110,0001,900111,900
VLN episodes22,00095022,950
Dynamic-nav episodes (on 10 sample scenes, scene01-scene10)1,0001001,100

Each self-reconstructed scene (scene01scene65) 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}/:

🏛️ Dataset Layout

The dataset is organized into six independent categories that can be downloaded separately:

CategorySizeRequired For
1GS Scenes (train/, val/)~27 GBEverything — core scene assets
2Gaussian Avatars (avatars/)~3.1 GBDynamic avatar simulation
3Habitat-Lab Nav Data (configs/, episodes/{pointnav,imagenav,objectnav}/)~30 MBPointNav / ImageNav / ObjectNav training & evaluation
4StreamVLN Data (configs/, episodes/vln/, trajectory_data/vln/)~40 GBVLN training & evaluation (StreamVLN)
5Uni-NaVid Data (configs/, episodes/vln/, trajectory_data/uninavid/)~25 GBVLN training & evaluation (Uni-NaVid)
6Dynamic Nav Data (configs/, dynamic_nav/)~25 MBDynamic navigation — avatar avoidance & tracking

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:

python
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:

bash
# 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:

bibtex
@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}
}