YOLO Vision 2026:

TartanAir深度データセット#

TartanAir は、AirSim シミュレータで生成された大規模な合成データセットです。これは、ビジュアル SLAM の限界を押し広げるために作成されたもので、屋内、屋外、都市、自然のシーンなどのさまざまな環境に加えて、季節、天候、照明の変化、および困難な条件を網羅しています。

TartanAir はシミュレーションでレンダリングされているため、多様なシーン全体にわたって高密度の深度グラウンド真値を提供し、単眼深度推定モデルをトレーニングするための環境の多様性と長距離ジオメトリの強力なソースとなります。

主な特徴#

  • AirSimシミュレータで生成された合成データ。
  • 季節、天候、照明の変化や過酷な条件を含む、多様な屋内および屋外環境(都市、自然)。
  • すべてのシーンにわたる密な深度グラウンドトゥルース。
  • 約80mまでの深度範囲。
  • Ultralyticsの深度トレーニングミックスに61,470枚の画像(トレーニング用55,660枚 / 検証用5,810枚)を提供。

データセットの構造#

TartanAir深度データセットは、以下の2つのサブセットに分かれています。

  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.npyおよびimage_left/*_left.png)として格納されているため、変換は配列の並び替えと空(極端な距離としてレンダリングされる。公開されているミックスはdataset YAMLに合わせて80mでクリップされます)の無効化を行うだけです。TartanAirには公式のvalスプリットが含まれていないため、1つ以上の環境をホールドアウトします。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モデルの事前トレーニングに使用される広範なマルチデータセット混合(約219万枚の画像)のトレーニングソースの1つです。この混合データの中で、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

使用方法#

サイズ 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)

事前学習済みモデル#

YOLO26 深度ファミリ(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の作成者に感謝いたします。

コントリビューター

コメント