CoolFace
Datasetpublic

bfz111/STDP-Dataset

STDP Dataset This repository provides the data used to train, validate, and evaluate Signal Temporal Logic-Guided Diffusion Policy (STDP) for UAV Visual Navigation without Global Semantic Maps. Dataset Contents Each trajectory sample combines a temporal-logic navigation instruction, multi-view visual observations, and a reference motion trajectory. Component Contents Intended use Semantic STL specification Object-level temporal and logical constraints… See the full description on the dataset page: https://huggingface.co/datasets/bfz111/STDP-Dataset.

sourceHugging Facemitupdated 7d agoView on Hugging Face
0likes279downloads
Dataset Card

STDP Dataset

This repository provides the data used to train, validate, and evaluate Signal Temporal Logic-Guided Diffusion Policy (STDP) for UAV Visual Navigation without Global Semantic Maps.

Dataset Contents

Each trajectory sample combines a temporal-logic navigation instruction, multi-view visual observations, and a reference motion trajectory.

ComponentContentsIntended use
Semantic STL specificationObject-level temporal and logical constraintsDefines the navigation task presented to the policy
Coordinate-grounded STL specificationThe same specification with object references mapped to XYZ coordinatesSupports supervision, analysis, and geometry-aware evaluation
Multi-view RGB observationsSynchronized front, down, left, and right camera imagesProvides local visual context without a task-level global semantic map
Reference trajectoryCSV records containing absolute XYZ positions, camera yaw, frame indices, and image filenamesSupplies waypoint supervision and synchronizes motion with observations
Split manifestsJSONL records linking instructions, scenes, trajectories, and image directoriesDefines the released training, validation, and evaluation subsets
Trajectory archivesOne tar archive per trajectoryEnables selective downloading while preserving the original directory layout

Scenes and Task Types

The data covers four furnished indoor scenes. world_v1 is the primary scene used by the training, validation, and same-scene evaluation splits. world_v2, world_v3, and world_v4 provide different indoor layouts for cross-layout evaluation.

The released trajectories cover four task families:

Task typeObjective
Reach-AvoidReach a specified target while avoiding constrained regions
Multi-TargetVisit multiple targets under temporal and logical constraints
Either-OrSatisfy one of multiple valid target alternatives
Door PuzzleObey ordered reachability and avoidance requirements

Data Splits

ManifestPurpose
splits/train.jsonlStage 1 policy training in the primary scene
splits/validation.jsonlModel selection and validation in the primary scene
splits/test_same.jsonlEvaluation on held-out trajectories from the primary scene
splits/test_cross.jsonlEvaluation in the three cross-layout scenes

Each line in a split manifest is a JSON object with the following main fields:

FieldDescription
task_typeNavigation task family
stlSemantic STL specification
worldScene identifier
trajectory_nameUnique trajectory name within a scene
trajectory_pathRepository-relative path to the reference CSV after extraction
imagesRepository-relative paths to the four camera directories after extraction

Repository Layout

text
README.md
LICENSE
splits/
  train.jsonl
  validation.jsonl
  test_same.jsonl
  test_cross.jsonl
archives/
  world_v1/<trajectory_name>.tar
  world_v2/<trajectory_name>.tar
  world_v3/<trajectory_name>.tar
  world_v4/<trajectory_name>.tar

Each archive contains the trajectory CSV and all synchronized images using the original repository-relative paths. For example:

text
data/world_v1/trajectory/trajectory_0127_01.csv
data/world_v1/images/trajectory_0127_01/images_front/
data/world_v1/images/trajectory_0127_01/images_down/
data/world_v1/images/trajectory_0127_01/images_left/
data/world_v1/images/trajectory_0127_01/images_right/

Usage

Install the Hugging Face Hub client:

bash
pip install -U huggingface_hub

Read the desired JSONL manifest, then use its world and trajectory_name fields to download the corresponding archive:

python
import json
from huggingface_hub import hf_hub_download

repo_id = "bfz111/STDP-Dataset"

manifest = hf_hub_download(
    repo_id=repo_id,
    repo_type="dataset",
    filename="splits/test_same.jsonl",
)

with open(manifest, "r", encoding="utf-8") as stream:
    sample = json.loads(next(stream))

archive = hf_hub_download(
    repo_id=repo_id,
    repo_type="dataset",
    filename=(
        f"archives/{sample['world']}/"
        f"{sample['trajectory_name']}.tar"
    ),
)
print(archive)

Extract the archive from the root of a local dataset directory:

bash
tar -xf /path/to/trajectory_0127_01.tar -C /path/to/local_dataset

After extraction, trajectory_path and the four entries in images resolve directly against /path/to/local_dataset.

To download the complete release, use snapshot_download:

python
from huggingface_hub import snapshot_download

snapshot_download(
    repo_id="bfz111/STDP-Dataset",
    repo_type="dataset",
    local_dir="STDP-Dataset",
)

License

The dataset is released under the MIT License. See LICENSE for details.

Citation

Coming soon.