엔터프라이즈급 보안: ISO 27001 및 SOC 2 Type I 준수.

Link to this sectionTartanAir Depth 데이터셋#

TartanAirAirSim 시뮬레이터에서 생성된 대규모 합성 데이터셋입니다. 이 데이터셋은 시각적 SLAM의 한계를 극복하기 위해 만들어졌으며 실내, 실외, 도시 및 자연 환경을 비롯하여 계절, 날씨, 조명 변화 및 까다로운 조건 등 다양한 환경을 포괄합니다.

TartanAir는 시뮬레이션에서 렌더링되므로 이러한 다양한 장면 전반에 걸쳐 밀도 높은 depth ground truth를 제공합니다. 이는 단안 depth estimation 모델 학습을 위한 환경적 다양성과 장거리 기하학 정보의 강력한 원천이 됩니다.

Link to this section주요 특징#

  • AirSim 시뮬레이터에서 생성된 합성 데이터입니다.
  • 계절, 날씨, 조명 변화 및 까다로운 조건을 포함하는 다양한 실내외 환경(도시, 자연).
  • 모든 장면에 대한 밀도 높은 depth ground truth.
  • 최대 ~80 m의 depth 범위.
  • Ultralytics depth 학습 조합에 61,470개의 이미지(훈련용 55,660개 / 검증용 5,810개)를 기여합니다.

Link to this section데이터셋 구조#

TartanAir depth 데이터셋은 두 개의 하위 세트로 나뉩니다:

  1. Train: 학습을 위한 밀도 높은 depth 맵 쌍이 포함된 55,660개의 이미지.
  2. Val: 학습 중 검증을 위한 밀도 높은 depth 맵 쌍이 포함된 5,810개의 이미지.

Each RGB image is paired with a .npy float32 depth map storing per-pixel distances in meters, following the Ultralytics depth dataset format.

Link to this section데이터 획득#

TartanAir는 자동 다운로드를 지원하지 않습니다. 데이터는 CMU의 AirLab에서 배포하며(약관은 dataset page 참조) 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

Depth is already stored as float32 .npy in meters (depth_left/*_left_depth.npy next to image_left/*_left.png), so conversion is just re-arranging and invalidating the sky (rendered as extreme distances; the released mix clips at 80 m to match the dataset YAML). TartanAir ships no official val split — hold out one or more environments. Reference conversion to the 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")

Link to this sectionYOLO26-Depth에서의 역할#

TartanAir는 Ultralytics YOLO26-Depth 모델을 사전 학습하는 데 사용되는 광범위한 다중 데이터셋 조합(~2.19M 이미지)의 학습 소스 중 하나입니다. 이 조합 내에서 TartanAir는 실내 및 실제 환경 소스를 보완하는 합성 환경의 다양성과 장거리 실외 기하학 정보를 제공합니다.

이 설정에는 별도의 독립된 TartanAir 벤치마크가 없습니다. 대신, 결과 모델은 표준 단안 depth 벤치마크인 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 모델을 학습하려면 다음 코드 스니펫을 사용할 수 있습니다. 사용 가능한 인수에 대한 전체 목록은 모델 Training 페이지를 참조하십시오.

훈련 예제
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 depth 제품군(yolo26n-depth.pt, yolo26s-depth.pt, yolo26m-depth.pt, yolo26l-depth.pt, yolo26x-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 제작자들에게 감사를 표합니다.

기여자

댓글