Dataset Viewer
Duplicate
The dataset viewer is not available for this split.
Cannot load the dataset split (in streaming mode) to extract the first rows.
Error code:   StreamingRowsError
Exception:    CastError
Message:      Couldn't cast
qwen3-vl-8b-zspread-100-views2: struct<object_counting: struct<score: double, per_object_num: struct<1: double>, per_image_num: stru (... 515 chars omitted)
  child 0, object_counting: struct<score: double, per_object_num: struct<1: double>, per_image_num: struct<2: double>, per_qtype (... 54 chars omitted)
      child 0, score: double
      child 1, per_object_num: struct<1: double>
          child 0, 1: double
      child 2, per_image_num: struct<2: double>
          child 0, 2: double
      child 3, per_qtype: struct<count-primitive: double, count-scan: double>
          child 0, count-primitive: double
          child 1, count-scan: double
  child 1, relative_distance: struct<score: double, per_object_num: struct<1: double>, per_image_num: struct<2: double>, per_qtype (... 87 chars omitted)
      child 0, score: double
      child 1, per_object_num: struct<1: double>
          child 0, 1: double
      child 2, per_image_num: struct<2: double>
          child 0, 2: double
      child 3, per_qtype: struct<distance-cam-obj: double, distance-obj-cam: double, distance-obj-obj: double>
          child 0, distance-cam-obj: double
          child 1, distance-obj-cam: double
          child 2, distance-obj-obj: double
  child 2, relative_position: struct<score: double, per_object_num: struct<1: double>, per_image_num: struct<2: double>, per_qtype (... 107 chars omitted)
      child 0, score: double
      child 1, per_object_num: struct<1: double>
          child 0, 1: double
      child 2, per_image_num: struct<2: double>
          child 0, 2: double
      child 3, per_qtype: struct<xy-cam-cam: double, xy-cam-obj: double, xy-obj-obj: double, z-cam-obj: double, z-obj-obj: dou (... 4 chars omitted)
          child 0, xy-cam-cam: double
          child 1, xy-cam-obj: double
          child 2, xy-obj-obj: double
          child 3, z-cam-obj: double
          child 4, z-obj-obj: double
model_output_name: string
concurrency: int64
tasks: list<item: string>
  child 0, item: string
blind: bool
elapsed_seconds: double
server_url: string
model: string
backend: string
to
{'model': Value('string'), 'model_output_name': Value('string'), 'backend': Value('string'), 'server_url': Value('string'), 'concurrency': Value('int64'), 'blind': Value('bool'), 'tasks': List(Value('string')), 'elapsed_seconds': Value('float64')}
because column names don't match
Traceback:    Traceback (most recent call last):
                File "/src/services/worker/src/worker/utils.py", line 147, in get_rows_or_raise
                  return get_rows(
                      dataset=dataset,
                  ...<4 lines>...
                      column_names=column_names,
                  )
                File "/src/libs/libcommon/src/libcommon/utils.py", line 272, in decorator
                  return func(*args, **kwargs)
                File "/src/services/worker/src/worker/utils.py", line 127, in get_rows
                  rows_plus_one = list(itertools.islice(safe_iter(ds, dataset=dataset), rows_max_number + 1))
                File "/src/services/worker/src/worker/utils.py", line 483, in safe_iter
                  yield from ds.decode(False) if ds.features else ds
                File "/usr/local/lib/python3.14/site-packages/datasets/iterable_dataset.py", line 2840, in __iter__
                  for key, example in ex_iterable:
                                      ^^^^^^^^^^^
                File "/usr/local/lib/python3.14/site-packages/datasets/iterable_dataset.py", line 2373, in __iter__
                  for key, pa_table in self._iter_arrow():
                                       ~~~~~~~~~~~~~~~~^^
                File "/usr/local/lib/python3.14/site-packages/datasets/iterable_dataset.py", line 2398, in _iter_arrow
                  for key, pa_table in self.ex_iterable._iter_arrow():
                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
                File "/usr/local/lib/python3.14/site-packages/datasets/iterable_dataset.py", line 536, in _iter_arrow
                  for key, pa_table in iterator:
                                       ^^^^^^^^
                File "/usr/local/lib/python3.14/site-packages/datasets/iterable_dataset.py", line 419, in _iter_arrow
                  for key, pa_table in self.generate_tables_fn(**gen_kwags):
                                       ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
                File "/usr/local/lib/python3.14/site-packages/datasets/packaged_modules/json/json.py", line 343, in _generate_tables
                  self._cast_table(pa_table, json_field_paths=json_field_paths),
                  ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                File "/usr/local/lib/python3.14/site-packages/datasets/packaged_modules/json/json.py", line 132, in _cast_table
                  pa_table = table_cast(pa_table, self.info.features.arrow_schema)
                File "/usr/local/lib/python3.14/site-packages/datasets/table.py", line 2378, in table_cast
                  return cast_table_to_schema(table, schema)
                File "/usr/local/lib/python3.14/site-packages/datasets/table.py", line 2306, in cast_table_to_schema
                  raise CastError(
                  ...<3 lines>...
                  )
              datasets.table.CastError: Couldn't cast
              qwen3-vl-8b-zspread-100-views2: struct<object_counting: struct<score: double, per_object_num: struct<1: double>, per_image_num: stru (... 515 chars omitted)
                child 0, object_counting: struct<score: double, per_object_num: struct<1: double>, per_image_num: struct<2: double>, per_qtype (... 54 chars omitted)
                    child 0, score: double
                    child 1, per_object_num: struct<1: double>
                        child 0, 1: double
                    child 2, per_image_num: struct<2: double>
                        child 0, 2: double
                    child 3, per_qtype: struct<count-primitive: double, count-scan: double>
                        child 0, count-primitive: double
                        child 1, count-scan: double
                child 1, relative_distance: struct<score: double, per_object_num: struct<1: double>, per_image_num: struct<2: double>, per_qtype (... 87 chars omitted)
                    child 0, score: double
                    child 1, per_object_num: struct<1: double>
                        child 0, 1: double
                    child 2, per_image_num: struct<2: double>
                        child 0, 2: double
                    child 3, per_qtype: struct<distance-cam-obj: double, distance-obj-cam: double, distance-obj-obj: double>
                        child 0, distance-cam-obj: double
                        child 1, distance-obj-cam: double
                        child 2, distance-obj-obj: double
                child 2, relative_position: struct<score: double, per_object_num: struct<1: double>, per_image_num: struct<2: double>, per_qtype (... 107 chars omitted)
                    child 0, score: double
                    child 1, per_object_num: struct<1: double>
                        child 0, 1: double
                    child 2, per_image_num: struct<2: double>
                        child 0, 2: double
                    child 3, per_qtype: struct<xy-cam-cam: double, xy-cam-obj: double, xy-obj-obj: double, z-cam-obj: double, z-obj-obj: dou (... 4 chars omitted)
                        child 0, xy-cam-cam: double
                        child 1, xy-cam-obj: double
                        child 2, xy-obj-obj: double
                        child 3, z-cam-obj: double
                        child 4, z-obj-obj: double
              model_output_name: string
              concurrency: int64
              tasks: list<item: string>
                child 0, item: string
              blind: bool
              elapsed_seconds: double
              server_url: string
              model: string
              backend: string
              to
              {'model': Value('string'), 'model_output_name': Value('string'), 'backend': Value('string'), 'server_url': Value('string'), 'concurrency': Value('int64'), 'blind': Value('bool'), 'tasks': List(Value('string')), 'elapsed_seconds': Value('float64')}
              because column names don't match

Need help to make the dataset viewer work? Make sure to review how to configure the dataset viewer, and open a discussion for direct support.

Type1b Multi-View Spatial Reasoning

Type1b contains gravity-settled Blender scenes, 26-view RGB renders, auditable spatial QA, and raw model predictions. Four vertical-spread conditions are released under the uniform names zspread_025, zspread_050, zspread_075, and zspread_100.

Generation, evaluation, and analysis code is available in the DM3SR GitHub repository.

Dataset layout

scenes/zspread_XXX/                 scene JSON and validation metadata
physics/zspread_XXX/                settled physics reports
renders/zspread_XXX/                26-view PNGs and render_report.json
qa/zspread_XXX/                     canonical QA JSONL
qa_ablation/view_count/zspread_XXX/ paired 2--6 input-view controls
evaluation/zspread_XXX/             model predictions and scores
evaluation/view_count/zspread_100/  input-view-count predictions
metadata/evaluation_lineage.json    QA/input-image lineage audit

The main tasks are object_counting, relative_distance, and relative_position. QA rows reference images relative to their corresponding renders/zspread_XXX directory.

Canonical render counts

Level Scenes PNGs
zspread_025 23 598
zspread_050 31 806
zspread_075 43 1,118
zspread_100 41 1,066

Every released scene directory also contains render_report.json. The scene specification collection contains 50 JSON files per level; Blender physics and render validation determine the released render/QA subset.

External assets

Scene specifications identify OmniObject3D assets by category and object ID. Raw OmniObject3D scans and Poly Haven HDRIs are not redistributed in this dataset; obtain them under their original licenses. The companion GitHub repository contains category filters, HDRI checksums, generation, rendering, QA, evaluation, and analysis code.

Release integrity

Use type1b/manifests/huggingface_dataset_manifest.json in the companion code repository for the exact local-source to Hub-destination mapping. The canonical selection follows the QA report_path lineage rather than historical folder labels, which avoids uploading an earlier unused z-spread render generation.

Some retained historical model runs evaluated the same counting questions with an earlier random input-view selection, and some Qwen3 z=1.0 spatial files use historical question IDs. Predictions embed their actual question and image list. metadata/evaluation_lineage.json labels every file as exact, ID-remapped, or same-content/different-input-views so these conditions are never conflated.

Downloads last month
420