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

Link to this sectionTartanAir Tiefendatensatz#

TartanAir ist ein groß angelegter synthetischer Datensatz, der im AirSim-Simulator generiert wurde. Er wurde geschaffen, um die Grenzen von visuellem SLAM zu erweitern, und deckt eine große Vielfalt an Umgebungen ab – Innen-, Außen-, Stadt- und Naturszenen – zusammen mit jahreszeitlichen, wetterbedingten und beleuchtungstechnischen Variationen sowie anspruchsvollen Bedingungen.

Da TartanAir in einer Simulation gerendert wird, bietet es für diesen vielfältigen Satz an Szenen dichte Ground-Truth-Tiefendaten. Dies macht es zu einer starken Quelle für ökologische Diversität und weitreichende Geometrie für das Training von monokularen Tiefenschätzungsmodellen.

Link to this sectionHauptfunktionen#

  • Synthetische Daten, die im AirSim-Simulator generiert wurden.
  • Vielfältige Innen- und Außenumgebungen (Stadt, Natur) mit jahreszeitlichen, wetterbedingten und beleuchtungstechnischen Variationen sowie anspruchsvollen Bedingungen.
  • Dichte Ground-Truth-Tiefendaten über alle Szenen hinweg.
  • Tiefenbereich bis zu ~80 m.
  • Steuert 61.470 Bilder (55.660 Training / 5.810 Validierung) zur Ultralytics Tiefentrainingsmischung bei.

Link to this sectionDatensatzstruktur#

Der TartanAir-Tiefendatensatz ist in zwei Teilmengen unterteilt:

  1. Train: 55.660 Bilder mit gepaarten dichten Tiefenkarten für das Training.
  2. Val: 5.810 Bilder mit gepaarten 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#

TartanAir verfügt über keinen automatischen Download – die Daten werden vom AirLab der CMU bereitgestellt (siehe die Datensatzseite für die Bedingungen) und mit den tartanair_tools-Skripten heruntergeladen:

git clone https://github.com/castacks/tartanair_tools && cd tartanair_tools
python download_training.py --output-dir ./data --rgb --depth --only-left --unzip

Die Tiefe ist bereits als float32 .npy in Metern gespeichert (depth_left/*_left_depth.npy neben image_left/*_left.png), daher besteht die Konvertierung nur aus dem Neuordnen und dem Entwerten des Himmels (der als extreme Entfernungen gerendert wird; die veröffentlichte Mischung schneidet bei 80 m ab, um dem Datensatz-YAML zu entsprechen). TartanAir wird ohne offiziellen Validierungs-Split ausgeliefert – halte eine oder mehrere Umgebungen zurück. Referenzkonvertierung zum Ultralytics-Tiefendatensatzformat:

import shutil
from pathlib import Path

import numpy as np

VAL_ENVS = {"neighborhood"}  # environments held out for validation
src, dst = Path("data"), Path("datasets/depth-tartanair")
for depth_file in sorted(src.rglob("depth_left/*_left_depth.npy")):
    env, traj = depth_file.parts[-5], depth_file.parts[-3]
    out = "val" if env.lower() in VAL_ENVS else "train"
    (dst / f"images/{out}").mkdir(parents=True, exist_ok=True)
    (dst / f"depth/{out}").mkdir(parents=True, exist_ok=True)
    depth = np.load(depth_file)
    depth[depth > 80.0] = 0.0  # sky/extreme range → 0 = invalid
    frame = depth_file.name.replace("_depth.npy", "")  # e.g. 000000_left
    name = f"{env}_{traj}_{frame}"
    np.save(dst / f"depth/{out}/{name}.npy", depth)
    shutil.copy(depth_file.parents[1] / "image_left" / f"{frame}.png", dst / f"images/{out}/{name}.png")

Link to this sectionRolle bei YOLO26-Depth#

TartanAir ist eine der Trainingsquellen in der umfassenden Multi-Datensatz-Mischung (~2,19 Mio. Bilder), die zum Vortraining der Ultralytics YOLO26-Depth-Modelle verwendet wird. Innerhalb dieser Mischung trägt TartanAir synthetische ökologische Vielfalt und weitreichende Außengeometrie bei, die Innenraum- und reale Quellen ergänzen.

Es gibt in diesem Setup keinen eigenständigen, zurückgehaltenen TartanAir-Benchmark. Stattdessen werden die resultierenden Modelle auf den Standard-Monokular-Tiefen-Benchmarks 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 Datensatzkonfiguration zu definieren. Sie enthält Informationen über die Pfade des Datensatzes, Klassen und andere relevante Informationen. Für TartanAir definiert die depth-tartanair.yaml-Datei die Pfade und die einzelne depth-Klasse.

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

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

path: depth-tartanair # dataset root dir (relative to Ultralytics settings 'datasets_dir')
train: images/train # train images (relative to 'path') 55660 images
val: images/val # val images (relative to 'path') 5810 images
max_depth: 80 # (m) maximum valid depth; GT beyond this is excluded from val metrics

nc: 1
names:
  0: depth

channels: 3

Link to this sectionVerwendung#

Um ein YOLO26n-Depth-Modell auf dem TartanAir-Datensatz mit einer Bildgröße von 640 zu trainieren, kannst du die folgenden Code-Snippets verwenden. Eine vollständige Liste der verfügbaren Argumente findest du auf der Modell-Trainingsseite.

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-tartanair.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 aus dem v8.4.0-Release herunter und ist auf der breiten Multi-Datensatz-Mischung trainiert, zu der TartanAir gehört.

Link to this sectionZitate und Danksagungen#

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

Zitat
@inproceedings{wang2020tartanair,
      title={TartanAir: A Dataset to Push the Limits of Visual SLAM},
      author={Wenshan Wang and Delong Zhu and Xiangwei Wang and Yaoyu Hu and Yuheng Qiu and Chen Wang and Yafei Hu and Ashish Kapoor and Sebastian Scherer},
      booktitle={IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
      year={2020}
}

Wir möchten den Entwicklern von TartanAir dafür danken, dass sie diesen vielfältigen synthetischen Datensatz der Computer-Vision-Community zur Verfügung gestellt haben.

Mitwirkende

Kommentare