Link to this sectionJeu de données de profondeur TartanAir#
TartanAir est un jeu de données synthétique à grande échelle généré dans le simulateur AirSim. Il a été créé pour repousser les limites du SLAM visuel et couvre une grande variété d'environnements — intérieurs, extérieurs, urbains et scènes naturelles — ainsi que des variations saisonnières, météorologiques, d'éclairage et des conditions difficiles.
Comme TartanAir est rendu par simulation, il fournit une vérité terrain de profondeur dense pour cet ensemble diversifié de scènes, ce qui en fait une source solide de diversité environnementale et de géométrie longue portée pour l'entraînement de modèles d'estimation de profondeur monoculaire.
Link to this sectionFonctionnalités clés#
- Données synthétiques générées dans le simulateur AirSim.
- Environnements intérieurs et extérieurs diversifiés (urbains, nature) avec des variations saisonnières, météorologiques et d'éclairage, ainsi que des conditions difficiles.
- Vérité terrain de profondeur dense sur toutes les scènes.
- Plage de profondeur jusqu'à ~80 m.
- Contribue à 61 470 images (55 660 pour l'entraînement / 5 810 pour la validation) dans le mélange d'entraînement de profondeur Ultralytics.
Link to this sectionStructure du jeu de données#
Le jeu de données de profondeur TartanAir est divisé en deux sous-ensembles :
- Train : 55 660 images avec des cartes de profondeur denses appariées pour l'entraînement.
- Val : 5 810 images avec des cartes de profondeur denses appariées pour la validation pendant l'entraînement.
Chaque image RVB est associée à une carte de profondeur .npy en float32 stockant les distances par pixel en mètres, conformément au format de jeu de données de profondeur Ultralytics.
Link to this sectionObtenir les données#
TartanAir ne dispose pas de téléchargement automatique — les données sont distribuées par l'AirLab de CMU (consulte la page du jeu de données pour les conditions) et téléchargées avec les scripts tartanair_tools :
git clone https://github.com/castacks/tartanair_tools && cd tartanair_tools
python download_training.py --output-dir ./data --rgb --depth --only-left --unzipLa profondeur est déjà stockée au format float32 .npy en mètres (depth_left/*_left_depth.npy à côté de image_left/*_left.png), donc la conversion consiste simplement à réorganiser et à invalider le ciel (rendu comme des distances extrêmes ; le mélange publié plafonne à 80 m pour correspondre au YAML du jeu de données). TartanAir ne propose pas de répartition de validation officielle — garde de côté un ou plusieurs environnements. Référence de conversion vers le format de jeu de données de profondeur 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 sectionRôle dans YOLO26-Depth#
TartanAir est l'une des sources d'entraînement dans le large mélange multi-jeux de données (~2,19M d'images) utilisé pour pré-entraîner les modèles Ultralytics YOLO26-Depth. Au sein de ce mélange, TartanAir apporte une diversité environnementale synthétique et une géométrie extérieure longue portée qui complètent les sources intérieures et réelles.
Il n'y a pas de benchmark TartanAir autonome mis de côté dans cette configuration. Au lieu de cela, les modèles résultants sont évalués sur les benchmarks de profondeur monoculaire standard : NYU Depth V2, KITTI, Make3D, ETH3D et iBims-1.
Link to this sectionYAML du jeu de données#
Un fichier YAML (Yet Another Markup Language) est utilisé pour définir la configuration du jeu de données. Il contient des informations sur les chemins du jeu de données, les classes et d'autres informations pertinentes. Pour TartanAir, le fichier depth-tartanair.yaml définit les chemins et la classe unique depth.
# 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: 3Link to this sectionUtilisation#
Pour entraîner un modèle YOLO26n-Depth sur le jeu de données TartanAir avec une taille d'image de 640, tu peux utiliser les extraits de code suivants. Pour une liste complète des arguments disponibles, consulte la page Entraînement du modèle.
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 sectionModèles pré-entraînés#
La famille de profondeur YOLO26 (yolo26n-depth.pt, yolo26s-depth.pt, yolo26m-depth.pt, yolo26l-depth.pt, yolo26x-depth.pt) se télécharge automatiquement depuis la version v8.4.0 et est entraînée sur le large mélange multi-jeux de données dont TartanAir fait partie.
Link to this sectionCitations et remerciements#
Si tu utilises le jeu de données TartanAir dans tes travaux de recherche ou de développement, merci de citer l'article suivant :
@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}
}Nous tenons à remercier les créateurs de TartanAir d'avoir mis ce jeu de données synthétique diversifié à la disposition de la communauté de la vision par ordinateur.