YOLO Vision 2026:

Dataset de profundidad TartanAir#

TartanAir es un conjunto de datos sintético a gran escala generado en el simulador AirSim. Fue creado para llevar al límite el SLAM visual y abarca una amplia variedad de entornos (escenas de interiores, exteriores, urbanas y de naturaleza), junto con variaciones de estación, clima e iluminación, y condiciones desafiantes.

Debido a que TartanAir se renderiza en simulación, proporciona una verdad de terreno de profundidad densa en este conjunto diverso de escenas, lo que lo convierte en una fuente sólida de diversidad ambiental y geometría de largo alcance para entrenar modelos monoculares de depth estimation.

Características clave#

  • Datos sintéticos generados en el simulador AirSim.
  • Diversos entornos interiores y exteriores (urbanos, naturales) con variaciones estacionales, meteorológicas y de iluminación, además de condiciones desafiantes.
  • Verdad fundamental (ground truth) de profundidad densa en todas las escenas.
  • Rango de profundidad hasta ~80 m.
  • Aporta 61,470 imágenes (55,660 de entrenamiento / 5,810 de validación) a la mezcla de entrenamiento de profundidad de Ultralytics.

Estructura del dataset#

El dataset de profundidad TartanAir se divide en dos subconjuntos:

  1. Train: 55,660 imágenes con mapas de profundidad densos emparejados para el entrenamiento.
  2. Val: 5,810 imágenes con mapas de profundidad densos emparejados para la validación durante el entrenamiento.

Cada imagen RGB se combina con un mapa de profundidad float32 de .npy que almacena las distancias por píxel en metros, siguiendo el formato del conjunto de datos de profundidad de Ultralytics.

Obtén los datos#

TartanAir no cuenta con descarga automática; los datos son distribuidos por AirLab de CMU (consulta la dataset page para conocer los términos) y se descargan con los scripts de 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

La profundidad ya está almacenada como float32 .npy en metros (depth_left/*_left_depth.npy junto a image_left/*_left.png), por lo que la conversión consiste simplemente en reorganizar e invalidar el cielo (renderizado a distancias extremas; la combinación publicada se recorta a 80 m para coincidir con el dataset YAML). TartanAir no incluye una división de validación oficial; reserva uno o más entornos. Conversión de referencia al 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")

Rol en YOLO26-Depth#

TartanAir es una de las fuentes de entrenamiento en la amplia mezcla multiconjunto (~2.19M de imágenes) utilizada para preentrenar los modelos Ultralytics YOLO26-Depth. Dentro de esta mezcla, TartanAir aporta diversidad ambiental sintética y geometría exterior de largo alcance que complementan las fuentes interiores y del mundo real.

No existe un benchmark de TartanAir independiente reservado en esta configuración. En su lugar, los modelos resultantes se evalúan en los benchmarks estándar de profundidad monocular: NYU Depth V2, KITTI, Make3D, ETH3D e iBims-1.

YAML del dataset#

Se utiliza un archivo YAML (Yet Another Markup Language) para definir la configuración del conjunto de datos. Contiene información sobre las rutas, las clases y otra información relevante del conjunto de datos. Para TartanAir, el archivo depth-tartanair.yaml define las rutas y la única clase 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

Uso#

Para entrenar un modelo YOLO26n-Depth en el conjunto de datos TartanAir con un tamaño de imagen de 640, puedes utilizar los siguientes fragmentos de código. Para obtener una lista completa de los argumentos disponibles, consulta la página de Training del modelo.

Ejemplo de entrenamiento
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)

Modelos preentrenados#

La familia de profundidad YOLO26 (yolo26n-depth.pt, yolo26s-depth.pt, yolo26m-depth.pt, yolo26l-depth.pt, yolo26x-depth.pt) se descarga automáticamente desde las versiones de Ultralytics y se entrena en la amplia combinación de múltiples conjuntos de datos de la que forma parte TartanAir. Explora YOLO26x-depth en Ultralytics Platform.

Citas y agradecimientos#

Si utilizas el dataset TartanAir en tu trabajo de investigación o desarrollo, por favor cita el siguiente artículo:

Cita
@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}
}

Queremos reconocer a los creadores de TartanAir por poner este diverso dataset sintético a disposición de la comunidad de visión artificial.

Comentarios