CoolFace
Datasetpublic

Mwxinnn/CausalSpatial

CausalSpatial CausalSpatial is a visual question answering benchmark for evaluating object-centric causal spatial reasoning in vision-language models. Each question presents a 3D-rendered scene and asks the model to reason about physical outcomes — not just what is visible, but what would happen given a specific action or trajectory. Dataset Structure Synthetic subsets (collision, compatibility, occlusion, physics) Field Type Description… See the full description on the dataset page: https://huggingface.co/datasets/Mwxinnn/CausalSpatial.

sourceHugging Facemitupdated 6mo agoView on Hugging Face
1likes161downloads
Dataset Card

CausalSpatial

CausalSpatial is a visual question answering benchmark for evaluating object-centric causal spatial reasoning in vision-language models. Each question presents a 3D-rendered scene and asks the model to reason about physical outcomes — not just what is visible, but what would happen given a specific action or trajectory.

Dataset Structure

Synthetic subsets (collision, compatibility, occlusion, physics)

FieldTypeDescription
idstringUnique sample identifier
questionstringMultiple-choice question
answerstringCorrect option label (e.g. A, B)
imageimageRendered scene image
not_surestringOption label corresponding to "Not sure"

Real-world subset (realworld)

FieldTypeDescription
idstringUnique sample identifier
typestringQuestion category (collision / occlusion / compatibility / trajectory)
questionstringMultiple-choice question
optionslist[string]Answer choices (e.g. ["Yes", "No"])
answerstringCorrect answer text
imageimageReal-world scene photo

Subsets

collision — 826 samples

A toy car is placed on a floor with objects nearby. The model must judge whether the car will collide with something if it moves forward, and if so, which object to remove to prevent the collision.

Note: Floor strip spacing encodes depth perspective.

compatibility — 99 samples

An object is suspended above a container. The model must judge whether the object can fit into the container if it falls freely.

Note: The falling object is positioned directly above the container.

occlusion — 189 samples

A car is parked in front of a cabinet. The model must judge whether an item inside the cabinet can be retrieved without being blocked, depending on the car's direction of movement.

physics — 311 samples

Ball trajectory prediction across three sports scenarios:

  • Soccer: Will the ball enter the goal along the shown trajectory?
  • Basketball: Will the ball go through the basket along the shown arc?
  • Billiard: Will a ball reach a pocket given the cue ball's direction?

realworld — 116 samples

Real-world driving and street scene photographs. The model must reason about physical outcomes across four question types:

  • collision: Will a moving vehicle collide with another object?
  • occlusion: Will an object be occluded given a movement?
  • compatibility: Can an object fit into or pass through a space?
  • trajectory: What trajectory will a moving object follow?

Usage

python
from datasets import load_dataset

ds = load_dataset("Mwxinnn/CausalSpatial", name="collision")
ds = load_dataset("Mwxinnn/CausalSpatial", name="physics")
ds = load_dataset("Mwxinnn/CausalSpatial", name="compatibility")
ds = load_dataset("Mwxinnn/CausalSpatial", name="occlusion")
ds = load_dataset("Mwxinnn/CausalSpatial", name="realworld")

print(ds["train"][0])

License

MIT