YOLO Vision 2026:

TartanAir 深度数据集#

TartanAir 是一个在 AirSim 模拟器中生成的大规模合成数据集。它的创建旨在突破视觉 SLAM 的极限,涵盖了广泛的环境——室内、室外、城市和自然场景——以及季节、天气和光照变化以及具有挑战性的条件。

由于 TartanAir 是在模拟中渲染的,它在这些多样化的场景中提供了密集的深度真值,使其成为训练单目深度估计模型的环境多样性和长距离几何的强大来源。

主要特性#

  • 在 AirSim 模拟器中生成的 合成 数据。
  • 多样化的 室内和室外 环境(城市、自然),具有季节、天气、光照变化以及挑战性条件。
  • 所有场景中 密集 的深度真值。
  • 深度范围可达 ~80 m
  • 为 Ultralytics 深度训练集贡献了 61,470 张图像(55,660 张训练集 / 5,810 张验证集)。

数据集结构#

TartanAir 深度数据集分为两个子集:

  1. Train(训练集):55,660 张带有配对密集深度图的图像,用于训练。
  2. Val(验证集):5,810 张带有配对密集深度图的图像,用于训练过程中的验证。

每张 RGB 图像都配有一个存储以米为单位的每像素距离的 .npy float32 深度图,符合Ultralytics 深度数据集格式

获取数据#

TartanAir 没有自动下载功能——数据由 CMU 的 AirLab 分发(条款请参见数据集页面)并通过 tartanair_tools 脚本下载:

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

深度已经以 float32 .npy 的形式存储在米中(depth_left/*_left_depth.npyimage_left/*_left.png 旁边),因此转换只是重新排列和使天空失效(渲染为极远距离;发布的混合数据集在 80 米处截断以匹配数据集 YAML)。TartanAir 没有提供官方的验证集划分——可以留出一个或多个环境。参考转换为 Ultralytics depth dataset format

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")

在 YOLO26-Depth 中的作用#

TartanAir 是用于预训练 Ultralytics YOLO26-Depth 模型的大型多数据集混合(约 2.19M 张图像)中的 训练来源 之一。在此混合中,TartanAir 提供了合成环境多样性和远距离室外几何信息,与室内及现实世界的数据来源形成互补。

此设置中没有独立的 TartanAir 保留测试基准。相反,所得模型是在标准的单目深度基准上进行评估的:NYU Depth V2、KITTI、Make3D、ETH3D 和 iBims-1。

数据集 YAML#

使用 YAML(Yet Another Markup Language)文件来定义数据集配置。它包含有关数据集路径、类别和其他相关信息的信息。对于 TartanAir,depth-tartanair.yaml 文件定义了路径和单个 depth 类别。

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

用法#

要在 TartanAir 数据集上训练图像大小为 640 的 YOLO26n-Depth 模型,你可以使用以下代码片段。有关可用参数的完整列表,请参考模型训练页面。

训练示例
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)

预训练模型#

YOLO26 depth 家族(yolo26n-depth.ptyolo26s-depth.ptyolo26m-depth.ptyolo26l-depth.ptyolo26x-depth.pt)从 Ultralytics 发行版自动下载,并在 TartanAir 所属的广泛多数据集混合上进行训练。在 Ultralytics Platform 上探索 YOLO26x-depth

引用与致谢#

如果你在研究或开发工作中使用了 TartanAir 数据集,请引用以下论文:

引用
@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}
}

我们要感谢 TartanAir 的创建者,他们将这个多样化的合成数据集提供给了计算机视觉社区。

评论