NavAble/NeurIPS_2026_BLV_Subset
4 GB stratified preview. Full dataset: NavAble/NeurIPS_2026_BLV. BLV Object Recognition: Synthetic + Real-World A dataset for training and evaluating object recognition and segmentation models on infrastructure relevant to blind and low-vision (BLV) navigation in urban environments. Three configurations plus a flat tree of 3D assets: Config / tree Splits Purpose syn train Photorealistic IsaacSim renders for training / pretraining. real_ours train / validation /… See the full description on the dataset page: https://huggingface.co/datasets/NavAble/NeurIPS_2026_BLV_Subset.
4 GB stratified preview. Full dataset: NavAble/NeurIPS_2026_BLV.
BLV Object Recognition: Synthetic + Real-World
A dataset for training and evaluating object recognition and segmentation models on infrastructure relevant to blind and low-vision (BLV) navigation in urban environments. Three configurations plus a flat tree of 3D assets:
Quick links
- Datasheet for Datasets
- Class index + palette
- Croissant metadata is auto-generated by Hugging Face for this repo (look for the Croissant button on the dataset page).
- Paper: NeurIPS 2026 Datasets & Benchmarks (TBD).
Loading
With datasets
from datasets import load_dataset
syn_train = load_dataset("NavAble/NeurIPS_2026_BLV", "syn", split="train")
ours_train = load_dataset("NavAble/NeurIPS_2026_BLV", "real_ours", split="train")
ours_val = load_dataset("NavAble/NeurIPS_2026_BLV", "real_ours", split="validation")
ours_test = load_dataset("NavAble/NeurIPS_2026_BLV", "real_ours", split="test") # canonical eval
curated_train = load_dataset("NavAble/NeurIPS_2026_BLV", "real_curated", split="train")
row = ours_test[0]
row["image"] # PIL.Image.Image, RGB
row["mask"] # PIL.Image.Image, P-mode (palette) - pixel value == class_idPulling the 3D assets
from huggingface_hub import snapshot_download
# All 3D assets for a single class:
snapshot_download(
repo_id="NavAble/NeurIPS_2026_BLV", repo_type="dataset",
allow_patterns=["synthetic_objects/door_button/**"],
local_dir="./assets",
)With PyTorch directly
from torch.utils.data import Dataset
from datasets import load_dataset
import numpy as np
import torch
import torchvision.transforms.functional as TF
class BLVSegDataset(Dataset):
def __init__(self, config: str, split: str, image_size: int = 512):
self.ds = load_dataset("NavAble/NeurIPS_2026_BLV", config, split=split)
self.image_size = image_size
def __len__(self):
return len(self.ds)
def __getitem__(self, idx):
row = self.ds[idx]
img = TF.resize(row["image"].convert("RGB"), [self.image_size, self.image_size])
mask = TF.resize(row["mask"], [self.image_size, self.image_size],
interpolation=TF.InterpolationMode.NEAREST)
img_t = TF.to_tensor(img)
mask_t = torch.from_numpy(np.array(mask, dtype=np.int64))
return {"image": img_t, "mask": mask_t, "class": row["object_class"]}Splits & sizes
3D asset library (synthetic_objects/): 500 GLB+PLY+USDZ triples across 9 classes.
Class taxonomy
The synthetic-only class turnstile has no real-world examples in this release; report real-world metrics over the 10 shared classes.
Per-class row counts
Mask encoding
Each mask is a single-channel PNG (PIL mode="P") with an embedded palette. Pixel value i corresponds to the i-th entry in class_index.json:
Convert to a numeric label map with np.array(row["mask"]).
Preprocessing
Produced by scripts/build_hf_dataset.py. Synthetic RGB PNGs are hardlinked unchanged from the source tree; the IsaacSim RGBA-encoded semantic masks are converted into single-channel palettized PNGs against a global class index; synthetic 2D bounding-box .npy files are flattened into JSONL columns; the real-world COCO polygon annotations are rasterized to the same palettized PNG format using pycocotools.
Known limitations
- Resolution mismatch. Synthetic frames are 1280×720; real-world frames are 640×360. Models that resize to a common input shape are unaffected.
- Class imbalance in real-world data. Some classes have few real-world examples (e.g.
crosswalk,handrail). Report per-class mIoU alongside any aggregate. - `turnstile` is synthetic-only. Evaluate over the 10 shared classes for real-world metrics.
- Sim-to-real gap. Synthetic textures and lighting may not match real-world distributions perfectly.
Ethical considerations
- The synthetic data contains no personally identifiable information.
- Real-world captures were collected in public spaces (All faces have been blurred.); the dataset is intended for accessibility research.
- The class taxonomy targets infrastructure relevant to blind/low-vision navigation; models trained on this dataset should not be deployed in safety-critical settings without additional validation.
License
Released under CC BY 4.0.
Citation
@inproceedings{navable2026,
title = {NavAble: A Large-Scale Dataset and Synthetic Data Generation Pipeline for Blind Navigation},
author = {Anonymized Authors},
booktitle = {NeurIPS 2026 Datasets and Benchmarks Track},
year = {2026}
}