Sicherheit auf Unternehmensebene: ISO 27001 + SOC 2 Typ I konform.

Link to this sectionHypersim Depth Dataset#

Hypersim ist ein fotorealistischer, synthetischer Datensatz von Innenräumen, der für ein ganzheitliches Verständnis von Innenraumszenen entwickelt wurde. Die Bilder sind mittels Raytracing aus professionell erstellten Evermotion 3D-Innenräumen generiert, was hochrealistische Renderings erzeugt, die mit perfekter, dichter Ground Truth für die Tiefenwerte pro Pixel gepaart sind.

Da Hypersim vollständig synthetisch ist, besitzt jedes Pixel einen exakten Tiefenwert ohne Sensorrauschen, fehlende Rückmeldungen oder Messartefakte. Dies macht ihn zu einer exzellenten Quelle für saubere, dichte Innenraumgeometrie für das Training von monokularen depth estimation-Modellen.

Link to this sectionHauptfunktionen#

  • Fotorealistische synthetische Innenraumszenen, mittels Raytracing aus professionellen Evermotion 3D-Innenräumen erstellt.
  • Nur Innenraum-Umgebungen.
  • Dichte, perfekte Per-Pixel-Tiefen-Ground-Truth ohne Sensorrauschen oder fehlende Werte.
  • Tiefenbereich größtenteils ≤10 m (mit einigen größeren Distanzen).
  • Trägt 74.619 Bilder (68.242 Train / 6.377 Val) zur Ultralytics Tiefentrainingsmischung bei.

Link to this sectionDatensatzstruktur#

Der Hypersim-Tiefendatensatz ist in zwei Teilmengen unterteilt:

  1. Train: 68.242 Bilder mit zugehörigen dichten Tiefenkarten für das Training.
  2. Val: 6.377 Bilder mit zugehörigen dichten Tiefenkarten für die Validierung während des Trainings.

Jedes RGB-Bild ist mit einer .npy float32-Tiefenkarte gepaart, die die Abstände pro Pixel in Metern speichert, gemäß dem Ultralytics depth dataset format.

Link to this sectionDaten abrufen#

Hypersim hat keinen automatischen Download – der Datensatz (~1,9 TB an ZIP-Dateien pro Szene) wird von Apple unter der CC BY-SA 3.0-Lizenz bereitgestellt und mit dem offiziellen Skript aus dem ml-hypersim repository heruntergeladen (ein selektiver Downloader ist in contrib/99991 verfügbar):

git clone https://github.com/apple/ml-hypersim && cd ml-hypersim
python code/python/tools/dataset_download_images.py --downloads_dir ./downloads --decompress_dir ./scenes

RGB-Frames sind die frame.*.tonemap.jpg-Vorschauen und die Tiefe befindet sich in frame.*.depth_meters.hdf5. Die gespeicherten Werte sind Strahlenentfernungen zum Kamerazentrum, nicht planare Tiefe – konvertiere diese vor dem Speichern und bilde die NaN-Pixel (Fenster, Himmel) auf 0 (ungültig) ab. Verwende den offiziellen metadata_images_split_scene_v1.csv Szenensplit für die Train/Val-Zuweisung. Referenzkonvertierung in das Ultralytics depth dataset format:

import shutil
from pathlib import Path

import h5py
import numpy as np

W, H, FOCAL = 1024, 768, 886.81  # Hypersim camera intrinsics
x, y = np.meshgrid(np.linspace(-W / 2, W / 2, W), np.linspace(-H / 2, H / 2, H))
ray2plane = (FOCAL / np.sqrt(x**2 + y**2 + FOCAL**2)).astype(np.float32)  # distance → planar depth

src, dst = Path("scenes"), Path("datasets/depth-hypersim")
out = "train"  # assign per scene from metadata_images_split_scene_v1.csv
(dst / f"images/{out}").mkdir(parents=True, exist_ok=True)
(dst / f"depth/{out}").mkdir(parents=True, exist_ok=True)
for h5 in sorted(src.rglob("*.depth_meters.hdf5")):
    scene, cam, frame = h5.parts[-4], h5.parent.name.split("_geometry")[0], h5.name.split(".")[1]
    rgb = h5.parents[1] / f"{cam}_final_preview" / f"frame.{frame}.tonemap.jpg"
    dist = np.asarray(h5py.File(h5)["dataset"], np.float32)
    depth = np.nan_to_num(dist * ray2plane, nan=0.0)  # NaN (sky, glass) → 0 = invalid
    name = f"{scene}_{cam}_{frame}"
    np.save(dst / f"depth/{out}/{name}.npy", depth)
    shutil.copy(rgb, dst / f"images/{out}/{name}.jpg")

Link to this sectionRolle in YOLO26-Depth#

Hypersim ist eine der Trainingsquellen in der breiten Multi-Datensatz-Mischung (~2,19 Mio. Bilder), die zum Vortrainieren der Ultralytics YOLO26-Depth-Modelle verwendet wird. Innerhalb dieser Mischung liefert Hypersim saubere, dichte Innenraumgeometrie, die rauschigere Sensordaten aus der realen Welt ergänzt.

Es gibt in diesem Setup keinen eigenständigen, unabhängigen Hypersim-Benchmark. Stattdessen werden die resultierenden Modelle anhand der Standard-Benchmarks für monokulare Tiefe evaluiert: NYU Depth V2, KITTI, Make3D, ETH3D und iBims-1.

Link to this sectionDatensatz-YAML#

Eine YAML-Datei (Yet Another Markup Language) wird verwendet, um die Dataset-Konfiguration zu definieren. Sie enthält Informationen über die Pfade des Datensatzes, Klassen und andere relevante Details. Für Hypersim definiert die Datei depth-hypersim.yaml die Pfade und die einzelne depth-Klasse.

ultralytics/cfg/datasets/depth-hypersim.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# Hypersim dataset for monocular depth estimation — photorealistic synthetic indoor (ray-traced), dense depth up to ~10 m
# Documentation: https://docs.ultralytics.com/datasets/depth/hypersim
# Example usage: yolo depth train data=depth-hypersim.yaml model=yolo26n-depth.pt
# No autodownload — obtain the source data (see docs) and arrange it as below.
# parent
# ├── ultralytics
# └── datasets
#     └── depth-hypersim
#         ├── images/{train,val}  # RGB images
#         └── depth/{train,val}   # paired *.npy, float32 meters (images/ -> depth/)

path: depth-hypersim # dataset root dir (relative to Ultralytics settings 'datasets_dir')
train: images/train # train images (relative to 'path') 68242 images
val: images/val # val images (relative to 'path') 6377 images

nc: 1
names:
  0: depth

channels: 3

Link to this sectionVerwendung#

Um ein YOLO26n-Depth-Modell auf dem Hypersim-Datensatz mit einer Bildgröße von 640 zu trainieren, kannst du die folgenden Code-Snippets verwenden. Eine umfassende Liste verfügbarer Argumente findest du auf der Seite Training für Modelle.

Trainingsbeispiel
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-depth.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="depth-hypersim.yaml", epochs=100, imgsz=640)

Link to this sectionVortrainierte Modelle#

Die YOLO26-Tiefenfamilie (yolo26n-depth.pt, yolo26s-depth.pt, yolo26m-depth.pt, yolo26l-depth.pt, yolo26x-depth.pt) lädt sich automatisch vom v8.4.0 release herunter und ist auf der breiten Multi-Datensatz-Mischung trainiert, von der Hypersim ein Teil ist.

Link to this sectionZitate und Danksagungen#

Wenn du den Hypersim-Datensatz in deiner Forschung oder Entwicklungsarbeit verwendest, zitiere bitte das folgende Paper:

Zitat
@inproceedings{roberts2021hypersim,
      title={Hypersim: A Photorealistic Synthetic Dataset for Holistic Indoor Scene Understanding},
      author={Mike Roberts and Jason Ramapuram and Anurag Ranjan and Atulit Kumar and Miguel Angel Bautista and Nathan Paczan and Russ Webb and Joshua M. Susskind},
      booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
      year={2021}
}

Wir möchten den Entwicklern von Hypersim dafür danken, dass sie diesen fotorealistischen synthetischen Innenraumdatensatz der Computer-Vision-Community zur Verfügung gestellt haben.

Mitwirkende

Kommentare