Dataset
SpatialVID

SpatialVID/SpatialVID

SpatialVID: A Large-Scale Video Dataset with Spatial Annotations Jiahao Wang1*  Yufeng Yuan1*  Rujie Zheng1*  Youtian Lin1  Jian Gao1  Lin-Zhuo Chen1  Yajie Bao1  Yi Zhang1  Chang Zeng1  Yanxi Zhou1  Xiaoxiao Long1  Hao Zhu1  Zhaoxiang Zhang2  Xun Cao1  Yao Yao1† 1Nanjing University  2Institute of Automation, Chinese Academy of Science  *Equal Contribution  †Corresponding Author CVPR 2026… See the full description on the dataset page: https://huggingface.co/datasets/SpatialVID/SpatialVID.

49likes
9.4kdownloads
0views

Thành tựu nổi bật

Những danh hiệu mới nhất của dự án

1
TINIX TRENDING·Chủ đề: task_categories:text-to-video

#1 Repository Của Tháng

1
TINIX TRENDING·Chủ đề: arxiv:2509.09676

#1 Repository Của Tháng

1
TINIX TRENDING·Chủ đề: task_categories:image-to-3d

#1 Repository Của Tháng

SpatialVID: A Large-Scale Video Dataset with Spatial Annotations

1Nanjing University  2Institute of Automation, Chinese Academy of Science 
*Equal Contribution  †Corresponding Author
CVPR 2026

       

SpatialVID

Directory Structure

DATA_PATH/
├─ annotations/
│  ├─ group_0001/
│  │  ├─ 0a00f99d-9d9a-5265-9548-e97a34c1302c/
│  │  │  ├─ caption.json
│  │  │  ├─ dyn_masks.npz
│  │  │  ├─ indexes.txt
│  │  │  ├─ instructions.json
│  │  │  ├─ intrinsics.npy
│  │  │  └─ poses.npy
│  │  ├─ 0a7b25d8-41fd-563f-bec3-9fb2b675be3e/
│  │  │  ├─ caption.json
│  │  │  ├─ dyn_masks.npz
│  │  │  ├─ indexes.txt
│  │  │  ├─ instructions.json
│  │  │  ├─ intrinsics.npy
│  │  │  └─ poses.npy
│  │  └─ ...
│  ├─ group_0002/
│  └─ ...
├─ data/
│  ├─ train/
│  │  └─ SpatialVID_metadata.csv
├─ depths/
│  ├─ group_0001/
│  │  ├─ 0a00f99d-9d9a-5265-9548-e97a34c1302c.zip
│  │  ├─ 0a7b25d8-41fd-563f-bec3-9fb2b675be3e.zip
│  │  └─ ...
│  ├─ group_0002/
│  └─ ...
├─ videos/
│  ├─ group_0001/
│  │  ├─ 0a00f99d-9d9a-5265-9548-e97a34c1302c.mp4
│  │  ├─ 0a7b25d8-41fd-563f-bec3-9fb2b675be3e.mp4
│  │  └─ ...
│  ├─ group_0002/
│  └─ ...
└─ README.md

Dataset Download

You can download the entire SpatialVID dataset using the following command:

hf download SpatialVID/SpatialVID --repo-type dataset

The whole dataset is approximately 7.67TB in size. We have split the dataset into 545 groups for easier management. Each group contains approximately 14GB of video data and 1.5GB of annotation data, with naming conventions following the format group_0*** (e.g., group_0001, group_0002).

For downloading specific files (instead of the full dataset), please refer to the download_SpatialVID.py provided in our GitHub repository.

Usage Guide

1. Unzipping Group Files

After downloading the group files (in .tar.gz format), use the tar command to extract their contents. For example:

# Extract annotation groups
tar -xzvf annotations/group_0001.tar.gz
tar -xzvf annotations/group_0002.tar.gz
tar -xzvf annotations/group_0003.tar.gz
...

# Extract video groups (if downloaded separately)
tar -xzvf videos/group_0001.tar.gz
tar -xzvf videos/group_0002.tar.gz
...

2. Using the Metadata File

The SpatialVID_HQ_metadata.csv file contains comprehensive metadata for all video clips in the dataset. It can be loaded with pandas for easy filtering and analysis based on your research needs.

Metadata Fields Explained

Field NameDescription
idUnique identifier for each video clip (matches the annotation folder name).
group idIdentifier of the group the video clip belongs to (e.g., group_0001).
video pathRelative path to the video file (e.g., videos/group_0001/xxx.mp4).
annotation pathRelative path to the annotation folder (e.g., annotations/group_0001/xxx/).
num framesTotal number of frames in the video clip.
fpsFrames per second (FPS) of the video clip.
resolutionResolution of the video clip (e.g., 1920x1080).
aesthetic scoreSubjective score evaluating the video’s visual aesthetics (0–10).
luminance scoreScore measuring the video’s overall brightness.
motion scoreScore quantifying the intensity of motion in the video (0–20).
ocr scoreScore indicating the proportion of text occupying the screen (0–1).
moveDistTotal distance of camera movement (in meters) during the clip.
distLevelCategorized camera movement level: 1(low) → 5(extreme).
rotAngleTotal camera rotation angle (in degrees) during the clip.
trajTurnsNumber of direction changes in the camera’s movement trajectory.
dynamicRatioProportion of dynamic content (e.g., moving objects) in the video (0–1).
motionTagsTags describing the type of motion (e.g., "up", "right").
sceneTypeScene category (e.g., interior, urban, natural).
brightnessBrightness category (e.g., Dark, Dim, Bright).
timeOfDayTime of day when the video was recorded (e.g., Daytime, Night).
weatherWeather conditions during recording (e.g., Sunny, Cloudy, Rainy).
crowdDensityDensity of people in the scene (e.g., Sparse, Moderate, Dense).

Example: Loading Metadata with Pandas

import pandas as pd

# Load the metadata file
metadata = pd.read_csv('data/train/SpatialVID_metadata.csv')

# Example: Filter videos with "urban" scene type and FPS ≥ 24
filtered_metadata = metadata[(metadata['sceneType'] == 'urban') & (metadata['fps'] >= 24)]
print(filtered_metadata.head())

3. Detailed Explanation of Annotation Files

Each video clip is paired with a dedicated annotation folder (named after the video’s id). The folder contains 5 key files, each serving a specific purpose:

1. caption.json

A structured JSON file with descriptive text for the video clip, covering scene details, camera motion, and dynamic elements. Its structure includes:

  • SceneSummary: A concise overview of the entire scene.
  • SceneDescription: A detailed, granular description of the scene (e.g., objects, backgrounds, lighting).
  • CameraMotion: A clear account of how the camera moves throughout the clip (e.g., "slow pan to the right").
  • ShotImmersion: An immersive narrative that simulates the viewer’s experience of the shot.
  • CategoryTags: A list of tags aligning with metadata fields (e.g., sceneType, brightness, weather).

2. dyn_masks.npz

A compressed NumPy file storing dynamic masks for each annotated frame. These binary masks (0 = static, 1 = dynamic) highlight regions with moving objects (e.g., cars, pedestrians). To decompress and use these masks, refer to the utility script expand_npz.py in our GitHub repo.

3. intrinsics.npy

A NumPy file containing the camera’s intrinsic parameters (critical for 3D reconstruction). It stores a (n, 4) array, where n is the number of annotated frames. Each row [fx, fy, cx, cy] represents normalized intrinsics:

  • fx, fy: Normalized focal lengths (scaled by image width/height).
  • cx, cy: Normalized coordinates of the principal point (scaled by image width/height).

To convert these to pixel-space intrinsics (for practical use), apply the following formulas:

# Assume image_width and image_height are from the video's resolution
fx_pixel = fx * image_width
fy_pixel = fy * image_height
cx_pixel = cx * image_width
cy_pixel = cy * image_height

4. poses.npy

A NumPy file recording the camera’s 3D pose for each annotated frame. It stores a (n, 7) array, where n is the number of annotated frames. Each row [tx, ty, tz, qx, qy, qz, qw] represents:

  • tx, ty, tz: Translation vector (world-to-camera coordinates in the OpenCV coordinate system, in meters).
  • qx, qy, qz, qw: Unit quaternion (camera orientation following the right-hand rule, in the OpenCV coordinate system).

For coordinate transformation related to the pose data, please refer to the utility script quat_to_mat.py.

5. instructions.json

A JSON file with motion instructions for transitions between consecutive annotated frames. The file uses key-value pairs, where keys follow the format [frame1]->[frame2] (e.g., 0->6) and values are motion commands. Supported instructions include:

  • Dolly In/Out: Move the camera forward/backward along its viewing direction.
  • Truck Left/Right: Move the camera left/right while maintaining orientation.
  • Pedestal Up/Down: Move the camera up/down while maintaining orientation.
  • Tilt Up/Down: Rotate the camera up/down around its horizontal axis.
  • Pan Left/Right: Rotate the camera left/right around its vertical axis.
  • Roll CW/CCW: Rotate the camera clockwise/counterclockwise around its viewing axis.
  • Stay: Keep the camera stationary (no movement).

6. depths.zip (Optional)

A compressed file containing precomputed depth maps for each annotated frame. The depth maps are stored in inverse depth format. To decompress and use these depth maps, refer to the utility script read_depth.py in our GitHub repo.

Important Note on Annotated Frames

Annotations are generated for frames extracted at intervals of int(fps/5). For example:

  • If a video has 30 FPS, frames are extracted at indices 0, 6, 12, 18, 24, ....
  • If a video has 25 FPS, frames are extracted at indices 0, 5, 10, 15, ....

And the current instuctions are generated by get_instructions.py in our GitHub repo, which you can modify the interval and threshold parameters to customize the frame selection process based on your experimental needs.

License

SpatialVID is released under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC-BY-NC-SA 4.0). By using this dataset, you agree to the following terms:

  1. Attribution: You must credit the original source of the dataset.
  2. Non-Commercial Use: The dataset may not be used for commercial purposes.
  3. ShareAlike: Any modified or derived works must be released under the same license.

For the full license text, visit: https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.

If you are the copyright owner of any video in our dataset and you need it to be removed, please contact us, and we will remove the video samples from our dataset / Github / project webpage / technical presentation as soon as possible.

Citation

If you use SpatialVID in your research, please cite our work using the following format (citation will be updated upon paper publication):

@article{wang2025spatialvid,
  title={Spatialvid: A large-scale video dataset with spatial annotations},
  author={Wang, Jiahao and Yuan, Yufeng and Zheng, Rujie and Lin, Youtian and Gao, Jian and Chen, Lin-Zhuo and Bao, Yajie and Zhang, Yi and Zeng, Chang and Zhou, Yanxi and others},
  journal={arXiv preprint arXiv:2509.09676},
  year={2025}
}

Similar Projects

Discover other similar projects and AI models.

Dataset
nyu-mll/glue

Dataset Card for GLUE Dataset Summary GLUE, the General Language Understanding Evaluation benchmark (https://gluebenchmark.com/) is a collection of resources for training, evaluating, and analyzing natural language understanding systems. Supported Tasks and Leaderboards The leaderboard for the GLUE benchmark can be found at this address. It comprises the following tasks: ax A manually-curated evaluation dataset for fine-grained… See the full description on the dataset page: https://huggingface.co/datasets/nyu-mll/glue.

♥0
673.4k
Jan 30, 2024
Dataset
fka/prompts.chat

a.k.a. Awesome ChatGPT Prompts This is a Dataset Repository mirror of prompts.chat — a social platform for AI prompts. 📢 Notice This Hugging Face dataset is a mirror. For the latest prompts, features, and community contributions, please visit: 🌐 Website: prompts.chat 📦 GitHub: github.com/f/awesome-chatgpt-prompts About prompts.chat is an open-source platform where users can share, discover, and collect AI prompts from the community. The project can… See the full description on the dataset page: https://huggingface.co/datasets/fka/prompts.chat.

♥0
27.4k
Oct 26, 2026
Dataset
OpenAssistant/oasst1

OpenAssistant Conversations Dataset (OASST1) Dataset Summary In an effort to democratize research on large-scale alignment, we release OpenAssistant Conversations (OASST1), a human-generated, human-annotated assistant-style conversation corpus consisting of 161,443 messages in 35 different languages, annotated with 461,292 quality ratings, resulting in over 10,000 fully annotated conversation trees. The corpus is a product of a worldwide crowd-sourcing effort… See the full description on the dataset page: https://huggingface.co/datasets/OpenAssistant/oasst1.

♥0
32.0k
May 2, 2023
Dataset
openai/gsm8k

Dataset Card for GSM8K Dataset Summary GSM8K (Grade School Math 8K) is a dataset of 8.5K high quality linguistically diverse grade school math word problems. The dataset was created to support the task of question answering on basic mathematical problems that require multi-step reasoning. These problems take between 2 and 8 steps to solve. Solutions primarily involve performing a sequence of elementary calculations using basic arithmetic operations (+ − ×÷) to… See the full description on the dataset page: https://huggingface.co/datasets/openai/gsm8k.

♥0
974.3k
Mar 23, 2026
Dataset
Open-Orca/OpenOrca

🐋 The OpenOrca Dataset! 🐋 We are thrilled to announce the release of the OpenOrca dataset! This rich collection of augmented FLAN data aligns, as best as possible, with the distributions outlined in the Orca paper. It has been instrumental in generating high-performing model checkpoints and serves as a valuable resource for all NLP researchers and developers! Official Models Mistral-7B-OpenOrca Our latest model, the first 7B to score better overall than all… See the full description on the dataset page: https://huggingface.co/datasets/Open-Orca/OpenOrca.

♥0
13.0k
Feb 19, 2025
Dataset
HuggingFaceFW/fineweb-edu

📚 FineWeb-Edu 1.3 trillion tokens of the finest educational data the 🌐 web has to offer Paper: https://arxiv.org/abs/2406.17557 What is it? 📚 FineWeb-Edu dataset consists of 1.3T tokens and 5.4T tokens (FineWeb-Edu-score-2) of educational web pages filtered from 🍷 FineWeb dataset. This is the 1.3 trillion version. To enhance FineWeb's quality, we developed an educational quality classifier using annotations generated by LLama3-70B-Instruct. We… See the full description on the dataset page: https://huggingface.co/datasets/HuggingFaceFW/fineweb-edu.

♥0
433.8k
Jul 11, 2025
Dataset
tatsu-lab/alpaca

Dataset Card for Alpaca Dataset Summary Alpaca is a dataset of 52,000 instructions and demonstrations generated by OpenAI's text-davinci-003 engine. This instruction data can be used to conduct instruction-tuning for language models and make the language model follow instruction better. The authors built on the data generation pipeline from Self-Instruct framework and made the following modifications: The text-davinci-003 engine to generate the instruction data… See the full description on the dataset page: https://huggingface.co/datasets/tatsu-lab/alpaca.

♥0
82.0k
May 22, 2023
Dataset
databricks/databricks-dolly-15k

Summary databricks-dolly-15k is an open source dataset of instruction-following records generated by thousands of Databricks employees in several of the behavioral categories outlined in the InstructGPT paper, including brainstorming, classification, closed QA, generation, information extraction, open QA, and summarization. This dataset can be used for any purpose, whether academic or commercial, under the terms of the Creative Commons Attribution-ShareAlike 3.0 Unported… See the full description on the dataset page: https://huggingface.co/datasets/databricks/databricks-dolly-15k.

♥0
42.6k
Jun 30, 2023
Dataset
roneneldan/TinyStories

Dataset containing synthetically generated (by GPT-3.5 and GPT-4) short stories that only use a small vocabulary. Described in the following paper: https://arxiv.org/abs/2305.07759. The models referred to in the paper were trained on TinyStories-train.txt (the file tinystories-valid.txt can be used for validation loss). These models can be found on Huggingface, at roneneldan/TinyStories-1M/3M/8M/28M/33M/1Layer-21M. Additional resources: tinystories_all_data.tar.gz - contains a superset of… See the full description on the dataset page: https://huggingface.co/datasets/roneneldan/TinyStories.

♥0
149.3k
Aug 12, 2024