企业级安全防护: 符合 ISO 27001 + SOC 2 Type I 标准。

Link to this sectionTartanAir 深度数据集#

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

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

Link to this section主要特性#

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

Link to this section数据集结构#

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

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

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

Link to this section获取数据#

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.npy,对应 image_left/*_left.png),因此转换过程只需进行重排并剔除天空区域(渲染为极端距离;发布的混合数据在 80 m 处进行裁剪以匹配数据集 YAML)。TartanAir 没有提供官方验证集划分 — 请保留一个或多个环境作为验证。参考转换为 Ultralytics 深度数据集格式

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 section在 YOLO26-Depth 中的作用#

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

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

Link to this section数据集 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

Link to this section用法#

要使用 640 的图像尺寸在 TartanAir 数据集上训练 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)

Link to this section预训练模型#

YOLO26 深度系列(yolo26n-depth.ptyolo26s-depth.ptyolo26m-depth.ptyolo26l-depth.ptyolo26x-depth.pt)可从 v8.4.0 版本 自动下载,并已在 TartanAir 所属的大型多数据集混合数据上进行了训练。

Link to this section引用与致谢#

如果你在研究或开发工作中使用了 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 的创建者,他们将这个多样化的合成数据集提供给了计算机视觉社区。

贡献者

评论