Sample bundle

Coherent rooms, cross-referenced, in the formats the field expects.

The sample bundle is the dataset in miniature. Coherent rooms with structured records, ScanNet-style instance aggregation, COCO 2D exports, egocentric walkthrough manifests, IMU sidecars, a full taxonomy with crosswalks, and a schema reference. Everything links back to a stable room_id.

Top-level files

FileDescriptionFormat
manifest.jsonBundle manifest with schema version, taxonomy reference, room list, licenseJSON
README.mdFormat conventions, ID format, units, coordinate frame, Python loader sketchMD
roomza-schema-reference.mdCanonical schema reference, field-by-field, with null contracts and crosswalksMD
roomza-taxonomy.md45-class taxonomy with crosswalks to NYUv2-40, ScanNet-20, ARKitScenes-17MD

Rooms in this bundle

room_idPropertiesNotable for
rm_corner_king_1108Boutique corner king, high floor, stills + walkthrough + spatial captureReference room for general indoor perception evaluation
rm_petite_suite_905Petite suite with separated living and sleeping zones, soaking tubMulti-zone layout reasoning, scene segmentation across functional zones
rm_ada_standard_212ADA mobility plus communication, roll-in shower, lever handles, audit annotationsAccessibility filtering and assistive-product evaluation

Files per room

Each room ships as a fan of sibling files sharing the same room_id prefix. Modalities and labels are honest per record; if a capture or a label set does not exist for a room, its sibling is absent rather than null-filled.

SuffixContents
.room.jsonStructured room record (30+ fields: geometry, fixtures, ADA, amenities, capture metadata)
.scannet-style.jsonScanNet-style instance aggregation with ARKitScenes-format oriented 3D bboxes; references PLY mesh
.coco.jsonCOCO 1.0 export of 2D detection labels on stills (categories, images, annotations)
.video.jsonEgocentric walkthrough manifest: intrinsics, extrinsics, fps, frame count, IMU sidecar reference
.imu.csvSample IMU CSV at 100 Hz with accel + gyro per axis and ms timestamps

Structured room record

One JSON record per room. Schema is stable across versions; nulls are accompanied by an explicit reason code. Excerpt:

rm_corner_king_1108.room.json

JSON
{
  "room_id":        "rm_corner_king_1108",
  "schema_version": "1.0.0",
  "archetype":      "boutique_king",
  "property_class": "boutique",
  "corner_room":    true,
  "dimensions_mm": {
    "width_x": "…", "length_z": "…", "ceiling_height_y": "…"
  },
  "bed_config": {
    "primary_bed": "king",
    "mattress_size_mm": { "w": "…", "l": "…", "h": "…" }
  },
  "accessibility": {
    "ada_compliant":          false,
    "roll_in_shower":         false,
    "visual_alarm":           true,
    "hearing_kit_available":  true
  },
  "capture": {
    "device_rig": "rig_iphone15pro_polycam_v3",
    "labeled":    true
  }
}

Full file: rm_corner_king_1108.room.json

ScanNet-style instance aggregation

When a room is labeled, instance aggregation ships in a sibling JSON alongside a PLY mesh reference. Oriented 3D bboxes follow the ARKitScenes convention (centroid, axesLengths, normalizedAxes); units are cm and the world frame is right-handed, +Y up, origin at room center on the floor plane.

rm_corner_king_1108.scannet-style.json (excerpt)

JSON
{
  "scene_id": "rm_corner_king_1108",
  "schema":   "roomza.scannet-style.v1",
  "units":    "cm",
  "axis_convention": "right_handed_y_up_origin_room_center_floor",
  "mesh_ref": {
    "path": "rm_corner_king_1108.ply"
  },
  "segGroups": [
    {
      "id":       1,
      "objectId": "obj_1108_001",
      "label":    "bed",
      "label_id": 0,
      "obb": {
        "centroid":       ["…", "…", "…"],
        "axesLengths":    ["…", "…", "…"],
        "normalizedAxes": ["…"]
      }
    }
  ]
}

Full file: rm_corner_king_1108.scannet-style.json

References

Discuss a scoped license

The sample bundle is browsable inline. If you want a scoped subset that mirrors your training need (room class, label spec, modality coverage, geographic scope, refresh cadence), tell us the shape and we will price the slice.