owl-owl/POVBench

Dataset

0

stars

13

commits

3

linked in READMEs

Sep 6, 2026

updated

ai2thor
benchmark
contextual-observer-grounding
embodied-ai
image
perspective-taking
procthor
spatial-reasoning
vision-language-models
Browse cluster: Spatial Vision-Language Models

README

POVBench

Contextual Observer Grounding: Evaluating Situated Spatial Reasoning in Vision-Language Models
EMNLP 2026 Findings

Project page · Code

POVBench overview

Given a sentence in which an observer says where they last saw an object — from their own point of view — a model must recover that perspective and localize the target in image space.

Crucially, the observer's right is not necessarily aligned with the camera's right.

Three conditions progressively reduce the amount of reasoning required:

ConditionWhat the sentence suppliesSteps
A · Inferredonly an activity and/or environmental cues, without explicitly stating an object or position3
B · Statedan object the observer was interacting with, explicitly named2
C · Giventhe relation to a named anchor; the viewpoint itself is provided as a first-person image1

The steps are operational reasoning, observer grounding, and relational reasoning.

See the paper for the task definition, construction pipeline, and results. The real-world evaluation data used in the paper (Tables 5–6) is not included in this release; refer to the paper for details.

Houses47
Scenarios288
Instances per condition813
Total2,439
Images2,332 (512×512 PNG)
Size~516 MiB

Quick start

from huggingface_hub import snapshot_download

path = snapshot_download(repo_id="owl-owl/POVBench", repo_type="dataset")

Pass that path to the evaluation code as --dataset-dir.

This is a file-based dataset with a nested per-house layout, so datasets.load_dataset() and the Hub's dataset viewer do not apply. Download the folder and read the JSON directly.

Layout

POVBench/
├── meta.json                     # statistics and provenance
├── LICENSE, NOTICE               # licensing and upstream attribution
├── assets/overview.png           # the figure used by this card
└── artifacts/
    └── train_house_000NN/        # one directory per house, 47 in total
        ├── train_house_000NN.json          # ← the benchmark instances
        ├── exploration_images/*.png        # walkthrough frames
        ├── img_from_observer/*.png         # observer-viewpoint image (condition C)
        ├── exploration_log.json            # camera pose + visible objects per frame
        ├── per_image_visible_objects.json
        ├── gt_images/*.png                 # ground-truth visualizations
        ├── top_down_view.png               # floor-plan overview
        └── stage1_candidates.json, stage2..6_pairs.json   # generation records

Schema

Each scenario in train_house_000NN.json pairs an observer context (represented by the furniture associated with the speaker's activity) with an anchor (the landmark relative to which the target is described).

FieldMeaning
pair_id, house_ididentifiers
observer_type, furniture_used_labelobserver furniture, e.g. HousePlant / "houseplant"
landmark_type, anchor_object_labelanchor object, e.g. Bed / "bed"
source_imagewalkthrough frame in which the observer furniture is visible
rgb_pathobserver-viewpoint image — the extra input for condition C
camera{cam_pos, cam_yaw, cam_horizon, fov} of the observer viewpoint
observer_frame{right, up, forward} unit vectors of the observer's frame
object_observer, object_landmarkraw AI2-THOR object metadata
stage3[dir]{verdict, surface} — plausibility judgment and support surface
stage4[dir]{target_type, surface} — selected target
stage5[dir]{target_type, directional_expression, type_a, type_b}
stage6[dir]{type_c}
placements[dir]{position: {x,y,z}, support} — the placement recorded during construction
stage7visualization paths and house object list

dir is one of front, up, left, right; a scenario holds up to four.

Enumerate instances from stage5 / stage6. placements also contains directions that were filtered out of the benchmark.

Inputs per condition

ConditionSentenceImages
A · Inferredstage5[dir].type_awalkthrough frames from exploration_images/
B · Statedstage5[dir].type_bsame
C · Givenstage6[dir].type_cthe single image at rgb_path

Ground truth

The scored ground truth is not stored in the dataset. eval_results.py in the code repository recomputes it from the anchor geometry and the stage3 surface verdict, then projects it into the image.

Contribution

Original contributions of POVBench: the task formulation and three-condition design, the capture procedure, observer–anchor pairing and target selection, ground-truth generation and filtering, and all natural-language sentences and annotations.

Built on ProcTHOR / AI2-THOR

The 3D environments are not ours. The houses were procedurally generated with ProcTHOR (Deitke et al., 2022), built on AI2-THOR (Kolve et al., 2017).

Both are from the Allen Institute for AI under the Apache License 2.0. Please cite them alongside this work. Required attribution is in NOTICE.

License

MaterialLicense
Sentences, ground-truth placements, pairings, judgments, meta.json, this card, and the figure in assets/CC BY 4.0
The rendered images themselves and the AI2-THOR scene metadata in the JSONApache-2.0, inherited

See LICENSE and NOTICE for the full terms, and the paper's Limitations section for known caveats.

Citation

@inproceedings{shirasaka2026povbench,
  title     = {Contextual Observer Grounding: Evaluating Situated Spatial
               Reasoning in Vision-Language Models},
  author    = {Shirasaka, Mimo and Zhang, Haochen and Bisk, Yonatan},
  booktitle = {Findings of the Association for Computational Linguistics: EMNLP 2026},
  year      = {2026}
}

Contributors

owl-owl

13 commits

owl-owl/POVBench

Dataset

0

stars

13

commits

3

linked in READMEs

Sep 6, 2026

updated

ai2thor
benchmark
contextual-observer-grounding
embodied-ai
image
perspective-taking
procthor
spatial-reasoning
vision-language-models
Browse cluster: Spatial Vision-Language Models

README

POVBench

Contextual Observer Grounding: Evaluating Situated Spatial Reasoning in Vision-Language Models
EMNLP 2026 Findings

Project page · Code

POVBench overview

Given a sentence in which an observer says where they last saw an object — from their own point of view — a model must recover that perspective and localize the target in image space.

Crucially, the observer's right is not necessarily aligned with the camera's right.

Three conditions progressively reduce the amount of reasoning required:

ConditionWhat the sentence suppliesSteps
A · Inferredonly an activity and/or environmental cues, without explicitly stating an object or position3
B · Statedan object the observer was interacting with, explicitly named2
C · Giventhe relation to a named anchor; the viewpoint itself is provided as a first-person image1

The steps are operational reasoning, observer grounding, and relational reasoning.

See the paper for the task definition, construction pipeline, and results. The real-world evaluation data used in the paper (Tables 5–6) is not included in this release; refer to the paper for details.

Houses47
Scenarios288
Instances per condition813
Total2,439
Images2,332 (512×512 PNG)
Size~516 MiB

Quick start

from huggingface_hub import snapshot_download

path = snapshot_download(repo_id="owl-owl/POVBench", repo_type="dataset")

Pass that path to the evaluation code as --dataset-dir.

This is a file-based dataset with a nested per-house layout, so datasets.load_dataset() and the Hub's dataset viewer do not apply. Download the folder and read the JSON directly.

Layout

POVBench/
├── meta.json                     # statistics and provenance
├── LICENSE, NOTICE               # licensing and upstream attribution
├── assets/overview.png           # the figure used by this card
└── artifacts/
    └── train_house_000NN/        # one directory per house, 47 in total
        ├── train_house_000NN.json          # ← the benchmark instances
        ├── exploration_images/*.png        # walkthrough frames
        ├── img_from_observer/*.png         # observer-viewpoint image (condition C)
        ├── exploration_log.json            # camera pose + visible objects per frame
        ├── per_image_visible_objects.json
        ├── gt_images/*.png                 # ground-truth visualizations
        ├── top_down_view.png               # floor-plan overview
        └── stage1_candidates.json, stage2..6_pairs.json   # generation records

Schema

Each scenario in train_house_000NN.json pairs an observer context (represented by the furniture associated with the speaker's activity) with an anchor (the landmark relative to which the target is described).

FieldMeaning
pair_id, house_ididentifiers
observer_type, furniture_used_labelobserver furniture, e.g. HousePlant / "houseplant"
landmark_type, anchor_object_labelanchor object, e.g. Bed / "bed"
source_imagewalkthrough frame in which the observer furniture is visible
rgb_pathobserver-viewpoint image — the extra input for condition C
camera{cam_pos, cam_yaw, cam_horizon, fov} of the observer viewpoint
observer_frame{right, up, forward} unit vectors of the observer's frame
object_observer, object_landmarkraw AI2-THOR object metadata
stage3[dir]{verdict, surface} — plausibility judgment and support surface
stage4[dir]{target_type, surface} — selected target
stage5[dir]{target_type, directional_expression, type_a, type_b}
stage6[dir]{type_c}
placements[dir]{position: {x,y,z}, support} — the placement recorded during construction
stage7visualization paths and house object list

dir is one of front, up, left, right; a scenario holds up to four.

Enumerate instances from stage5 / stage6. placements also contains directions that were filtered out of the benchmark.

Inputs per condition

ConditionSentenceImages
A · Inferredstage5[dir].type_awalkthrough frames from exploration_images/
B · Statedstage5[dir].type_bsame
C · Givenstage6[dir].type_cthe single image at rgb_path

Ground truth

The scored ground truth is not stored in the dataset. eval_results.py in the code repository recomputes it from the anchor geometry and the stage3 surface verdict, then projects it into the image.

Contribution

Original contributions of POVBench: the task formulation and three-condition design, the capture procedure, observer–anchor pairing and target selection, ground-truth generation and filtering, and all natural-language sentences and annotations.

Built on ProcTHOR / AI2-THOR

The 3D environments are not ours. The houses were procedurally generated with ProcTHOR (Deitke et al., 2022), built on AI2-THOR (Kolve et al., 2017).

Both are from the Allen Institute for AI under the Apache License 2.0. Please cite them alongside this work. Required attribution is in NOTICE.

License

MaterialLicense
Sentences, ground-truth placements, pairings, judgments, meta.json, this card, and the figure in assets/CC BY 4.0
The rendered images themselves and the AI2-THOR scene metadata in the JSONApache-2.0, inherited

See LICENSE and NOTICE for the full terms, and the paper's Limitations section for known caveats.

Citation

@inproceedings{shirasaka2026povbench,
  title     = {Contextual Observer Grounding: Evaluating Situated Spatial
               Reasoning in Vision-Language Models},
  author    = {Shirasaka, Mimo and Zhang, Haochen and Bisk, Yonatan},
  booktitle = {Findings of the Association for Computational Linguistics: EMNLP 2026},
  year      = {2026}
}

Contributors

owl-owl

13 commits