CoolFace
Datasetpublic

sal0-h/industrial-rebar-metric-depth

Industrial Rebar Metric Depth Evaluation data from: Benchmarking Metric Depth for Construction Perception: Industrial Rebar Scenes with Exact Synthetic Ground TruthSalman Hajizada, Diram Tabaa, Gianni A. Di CaroIEEE IROS 2026 Workshop on the Future of Construction (FoC) Three synthetic rebar scenes rendered in Blender 4.5 with exact optical-axis depth and structure masks, and the physical ZED sequence of a 3D-printed lattice. These are the sequences behind Table I and Table II… See the full description on the dataset page: https://huggingface.co/datasets/sal0-h/industrial-rebar-metric-depth.

sourceHugging Facecc-by-4.0updated 9d agoView on Hugging Face
1likes126downloads
Dataset Card

Industrial Rebar Metric Depth

Evaluation data from:

Benchmarking Metric Depth for Construction Perception: Industrial Rebar Scenes with Exact Synthetic Ground Truth Salman Hajizada, Diram Tabaa, Gianni A. Di Caro IEEE IROS 2026 Workshop on the Future of Construction (FoC)

Three synthetic rebar scenes rendered in Blender 4.5 with exact optical-axis depth and structure masks, and the physical ZED sequence of a 3D-printed lattice. These are the sequences behind Table I and Table II of the paper.

Preview

Lattice (0.22–0.43 m)Disordered pile (0.50–0.90 m)231-bar pier (8–17 m)
[image][image][image]

Layout

text
paper/
  lattice_zed_504/             # Table I lattice
  pile_zed_504/                # Table I disordered stirrups
  pier_504/                    # Table I pier
  physical_zed_1001/           # Table II physical sequence
eval/evaluate.py
assets/previews/
assets/aruco_rig_001/rig_metadata.json

Each synthetic scene:

PathContents
left/, right/Stereo RGB, 1280×720 PNG (000000.png ...)
gt_depth/{stem}_depth.npy float32 depth in meters, {stem}_mask.npy bool rebar mask
gt_depth_rect/ZED scenes only: the same GT on the stereoRectify(alpha=0) grid
manifest.jsonIntrinsics, stereo model, camera path

Masks select rebar interior pixels (mask == 1 and depth > 0). Background is excluded from the paper scores. Masked reinforcement covers 4.5–7.2% of the frame.

Splits

SplitViewsOpticsRangeExact GTTable
paper/lattice_zed_504504ZED SN19506 raw HD7200.22–0.43 myesI lattice
paper/pile_zed_504504ZED SN19506 raw HD7200.50–0.90 myesI disordered
paper/pier_504504ideal parallel pinhole8–17 myesI pier
paper/physical_zed_10011001ZED SN19506 raw HD720close-range labnoII

The lattice and pile use the factory per-eye K, convergence rotation, 120 mm baseline, and OpenCV distortion from the ZED calibration file. The pier uses a shared pinhole K (fx=fy=700.775, cx=629.64, cy=372.101) with a 0.12 m parallel baseline and zero distortion.

Scoring protocol

Synthetic scenes (Table I):

  1. 1.Score masked reinforcement pixels only.
  2. 2.Native protocol: uncorrected metric prediction against gt_depth/ (or gt_depth_rect/ for rectified stereo).
  3. 3.Oracle scale: per-view s = median(GT) / median(pred) on the same mask, reported as AbsRel_s.
  4. 4.Macro-average over views.

On the ZED scenes there are two GT grids and they are not interchangeable. Monocular models run on the raw left/ images and are scored against gt_depth/. Rectified stereo methods such as FoundationStereo are scored against gt_depth_rect/. For this calibration the two grids differ by about 14 px at the median and 118 px at the extreme, so mixing them corrupts the result without any visible failure.

Physical sequence (Table II):

  • —left/ and right/ are raw 1280×720 HD720 captures with the factory calibration in SN19506.conf.
  • —gt_depth/ is ArUco-scaled COLMAP, a pseudo-reference rather than surveyed depth.
  • —Those depth maps live on COLMAP's undistorted 1530×753 grid. The {stem}.png next to each .npy is the undistorted image they align to, not the raw left frame.
  • —FoundationStereo, the second pseudo-reference in the paper, is not included. Run it on the stereo pair.
  • —The paper scores the physical sequence on the full frame wherever the chosen pseudo-reference is valid.

Evaluate

bash
pip install numpy opencv-python-headless

# native (no scale alignment)
python eval/evaluate.py \
  --gt-dir paper/lattice_zed_504/gt_depth \
  --pred-dir /path/to/preds \
  --alignment none

# oracle per-view median scale
python eval/evaluate.py \
  --gt-dir paper/lattice_zed_504/gt_depth \
  --pred-dir /path/to/preds \
  --alignment median

Predictions are {stem}_depth.npy in meters with the same stem as the GT file (000000_depth.npy on the synthetic scenes).

Conventions

  • —Synthetic depth is optical-axis Z in meters for the left eye; 0 marks invalid pixels.
  • —Poses in the source sequences follow the OpenCV camera convention (+X right, +Y down, +Z forward).
  • —For multi-view reconstruction on the synthetic scenes, use left/ only.

Limitations

The synthetic scenes use Eevee with lab or simple sky lighting; there is no HDRI variation, wet or rusted metal, moving shadows, or cluttered background. The pier has no fiducial, so a reconstruction there has no metric anchor unless you supply one. The physical ground truth is itself a reconstruction, not a survey.

Citation

bibtex
@inproceedings{hajizada2026rebardepth,
  title={Benchmarking Metric Depth for Construction Perception: Industrial Rebar Scenes with Exact Synthetic Ground Truth},
  author={Hajizada, Salman and Tabaa, Diram and Di Caro, Gianni A.},
  booktitle={IEEE/RSJ IROS Workshop on the Future of Construction},
  year={2026}
}

Licensed CC BY 4.0.