Безопасность корпоративного уровня: Соответствует ISO 27001 + SOC 2 Type I.

Link to this sectionНабор данных глубины TartanAir#

TartanAir — это крупномасштабный синтетический набор данных, созданный в симуляторе AirSim. Он был создан, чтобы расширить границы визуального SLAM, и охватывает широкий спектр сред — интерьеры, экстерьеры, городские и природные сцены — наряду с сезонными, погодными и световыми вариациями, а также сложными условиями.

Поскольку TartanAir визуализируется в симуляции, он предоставляет плотные эталонные данные о глубине для этого разнообразного набора сцен, что делает его мощным источником экологического разнообразия и геометрии на больших расстояниях для обучения моделей монокулярного оценивания глубины.

Link to this sectionКлючевые особенности#

  • Синтетические данные, сгенерированные в симуляторе AirSim.
  • Разнообразные интерьерные и экстерьерные среды (городские, природные) с сезонными, погодными и световыми вариациями, а также сложными условиями.
  • Плотные эталонные данные глубины для всех сцен.
  • Диапазон глубины до ~80 м.
  • Добавляет 61 470 изображений (55 660 для обучения / 5 810 для валидации) в набор данных Ultralytics для обучения моделей глубины.

Link to this sectionСтруктура набора данных#

Набор данных глубины TartanAir разделен на два подмножества:

  1. Train: 55 660 изображений с парными плотными картами глубины для обучения.
  2. Val: 5 810 изображений с парными плотными картами глубины для валидации во время обучения.

Каждое RGB-изображение сопровождается картой глубины в формате .npy (float32), содержащей расстояния для каждого пикселя в метрах, в соответствии с форматом набора данных глубины Ultralytics.

Link to this sectionПолучение данных#

У TartanAir нет автозагрузки — данные распространяются AirLab из CMU (условия см. на странице набора данных) и загружаются с помощью скриптов 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 м, чтобы соответствовать 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 является одним из источников для обучения в широкой смеси наборов данных (~2,19 млн изображений), используемых для предварительного обучения моделей Ultralytics YOLO26-Depth. В этой смеси TartanAir привносит синтетическое экологическое разнообразие и геометрию для больших расстояний на открытом воздухе, которые дополняют интерьерные и реальные источники.

В этой конфигурации нет отдельного контрольного бенчмарка TartanAir. Вместо этого полученные модели оцениваются по стандартным бенчмаркам монокулярной глубины: NYU Depth V2, KITTI, Make3D, ETH3D и iBims-1.

Link to this sectionYAML набора данных#

Файл 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Использование#

Чтобы обучить модель YOLO26n-Depth на наборе данных TartanAir с размером изображения 640, ты можешь использовать следующие фрагменты кода. Полный список доступных аргументов см. на странице модели 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 (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 за то, что они предоставили этот разнообразный синтетический набор данных сообществу компьютерного зрения.

Участники

Комментарии