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

Link to this sectionARKitScenes Tiefendatensatz#

ARKitScenes ist ein groß angelegter, realer RGB-D-Datensatz für Innenräume, der mit Apples ARKit auf iPad Pro-Geräten erfasst wurde, die mit einem LiDAR-Scanner ausgestattet sind. Es ist der größte reale RGB-D-Datensatz dieser Art für Innenräume und bietet vielfältige, natürlich aufgenommene Innenraumszenen mit präziser Tiefen-Ground-Truth für die monokulare Tiefenschätzung.

Link to this sectionHauptfunktionen#

  • Erfasst mit dem LiDAR-Scanner und der RGB-Kamera von Apples ARKit auf dem iPad Pro, wodurch echte (nicht synthetische) Sensordaten erzeugt werden.
  • Deckt vielfältige Innenraum-Szenen für das Verständnis von 3D-Innenräumen ab.
  • Kurzer Tiefenbereich, ca. 0,5–6 m (mediane maximale Tiefe bei ca. 2,4 m), typisch für handgeführte Innenaufnahmen.
  • Dichte, von LiDAR abgeleitete Tiefen-Ground-Truth, die an den RGB-Frames ausgerichtet ist.
  • Die mit Abstand größte reale Quelle im Ultralytics-Tiefen-Pretraining-Mix.

Link to this sectionDatensatzstruktur#

Der ARKitScenes-Tiefendatensatz ist in zwei Teilmengen unterteilt:

  1. Train: 676.080 Bilder mit gepaarten Tiefenkarten für das Training.
  2. Val: 21.559 Bilder mit gepaarten Tiefenkarten für die Validierung während des Modelltrainings.

Jedes Sample besteht aus einem RGB-Bild und einer gepaarten .npy float32-Tiefenkarte, die Abstände pro Pixel in Metern speichert, gemäß dem Ultralytics-Tiefendatensatzformat.

Link to this sectionDaten abrufen#

ARKitScenes verfügt über keinen automatischen Download – die Daten werden von Apple bereitgestellt, und für den Download musst du die Lizenzbedingungen im ARKitScenes-Repository akzeptieren. Klone das Repository und lade die Depth-Upsampling-Teilmenge herunter, welche RGB-Frames mit registrierter Tiefe paart:

git clone https://github.com/apple/ARKitScenes && cd ARKitScenes
python3 download_data.py upsampling --split Training --download_dir ./data
python3 download_data.py upsampling --split Validation --download_dir ./data

Tiefen-Frames sind uint16 PNGs in Millimetern (0 = ungültig), und RGB-/Tiefendateinamen sind Aufnahme-Zeitstempel, die nicht exakt übereinstimmen – paare jeden Tiefen-Frame mit dem zeitlich am nächsten liegenden RGB-Frame. Siehe Konvertierung in das Ultralytics-Tiefendatensatzformat:

from pathlib import Path

import cv2
import numpy as np

src, dst = Path("data/upsampling"), Path("datasets/depth-arkitscenes")
for split, out in (("Training", "train"), ("Validation", "val")):
    (dst / f"images/{out}").mkdir(parents=True, exist_ok=True)
    (dst / f"depth/{out}").mkdir(parents=True, exist_ok=True)
    for video in sorted((src / split).iterdir()):
        rgbs = {float(p.stem.split("_")[-1]): p for p in (video / "lowres_wide").glob("*.png")}
        if not rgbs:
            continue
        for depth_png in sorted((video / "lowres_depth").glob("*.png")):
            t = float(depth_png.stem.split("_")[-1])
            rgb = rgbs[min(rgbs, key=lambda k: abs(k - t))]  # nearest-timestamp RGB frame
            name = f"{video.name}_{depth_png.stem}"
            depth = cv2.imread(str(depth_png), cv2.IMREAD_UNCHANGED).astype(np.float32) / 1000.0  # mm → m
            np.save(dst / f"depth/{out}/{name}.npy", depth)
            cv2.imwrite(str(dst / f"images/{out}/{name}.png"), cv2.imread(str(rgb)))

Link to this sectionRolle in YOLO26-Depth#

ARKitScenes ist eine Trainingsquelle im Ultralytics YOLO26-Depth Multi-Datensatz-Pretraining-Mix mit etwa 2,19 Mio. Bild-Tiefen-Paaren. Als größte einzelne reale Quelle in diesem Mix liefert er reichlich reale LiDAR-Tiefendaten aus Innenräumen, die die Genauigkeit des Modells für Innenräume im Nahbereich untermauern. Die resultierenden Modelle werden auf den Standard-Benchmarks NYU, KITTI, Make3D, ETH3D und iBims-1 evaluiert.

Link to this sectionDatensatz-YAML#

Eine YAML-Datei (Yet Another Markup Language) wird verwendet, um die Datensatzkonfiguration zu definieren. Sie enthält Informationen über die Pfade des Datensatzes, Klassen und andere relevante Informationen.

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

# ARKitScenes dataset for monocular depth estimation — real indoor RGB-D from Apple ARKit (iPad Pro LiDAR), depth ~0.5-6 m
# Documentation: https://docs.ultralytics.com/datasets/depth/arkitscenes
# Example usage: yolo depth train data=depth-arkitscenes.yaml model=yolo26n-depth.pt
# No autodownload — obtain the source data (see docs) and arrange it as below.
# parent
# ├── ultralytics
# └── datasets
#     └── depth-arkitscenes
#         ├── images/{train,val}  # RGB images
#         └── depth/{train,val}   # paired *.npy, float32 meters (images/ -> depth/)

path: depth-arkitscenes # dataset root dir (relative to Ultralytics settings 'datasets_dir')
train: images/train # train images (relative to 'path') 676080 images
val: images/val # val images (relative to 'path') 21559 images

nc: 1
names:
  0: depth

channels: 3

Link to this sectionVerwendung#

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

Trainingsbeispiel
from ultralytics import YOLO

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

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

Link to this sectionVortrainierte Modelle#

Die YOLO26-Tiefenfamilie wird mit dem breiten Multi-Datensatz-Tiefen-Pretraining-Mix trainiert, zu dem auch ARKitScenes gehört. Diese Modelle laden sich automatisch aus dem neuesten Ultralytics-Release herunter, zum Beispiel YOLO26x-depth von v8.4.0, und decken eine Reihe von Größen für unterschiedliche Genauigkeits- und Ressourcenanforderungen ab.

Link to this sectionZitate und Danksagungen#

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

Zitat
@inproceedings{baruch2021arkitscenes,
      title={ARKitScenes: A Diverse Real-World Dataset for 3D Indoor Scene Understanding Using Mobile RGB-D Data},
      author={Baruch, Gilad and Chen, Zhuoyuan and Dehghan, Afshin and Dimry, Tal and Feigin, Yuri and Fu, Peter and Gebauer, Thomas and Joffe, Brandon and Kurz, Daniel and Schwartz, Arik and Shulman, Elad},
      booktitle={Thirty-fifth Conference on Neural Information Processing Systems Datasets and Benchmarks Track},
      year={2021}
}

Wir möchten den Autoren für die Erstellung und Pflege dieser wertvollen Ressource für die Computer-Vision-Community danken.

Mitwirkende

Kommentare