YOLO Vision 2026 :

Jeu de données Argoverse#

Le jeu de données Argoverse d'Ultralytics (Argoverse-HD) est un jeu de données de détection d'objets 2D composé de 54 446 images labellisées de conduite autonome — 39 384 pour l'entraînement et 15 062 pour la validation — réparties en 8 classes : personne, vélo, voiture, moto, bus, camion, feu de signalisation et panneau stop. Les images sont capturées depuis la caméra avant centrale d'un véhicule, et les annotations proviennent du projet de perception en flux continu de l'Université Carnegie Mellon, construit sur les données de conduite Argoverse 1.1 d'Argo AI. Il s'agit d'un benchmark vaste et réaliste pour entraîner des modèles de vision par ordinateur à détecter des objets routiers dans des scénarios de conduite autonome.

Téléchargement manuel requis

Le fichier *.zip d'Argoverse-HD (~31,5 Go) nécessaire à l'entraînement a été supprimé d'Amazon S3 suite à la fermeture d'Argo AI par Ford. Il est disponible en téléchargement manuel sur Google Drive — le téléchargement automatique ne fonctionnera pas, télécharge donc l'archive avant de lancer l'entraînement.

Fonctionnalités clés#

  • 8 classes de détection d'objets : personne, vélo, voiture, moto, bus, camion, feu de signalisation et panneau stop.
  • 54 446 images labellisées — 39 384 pour l'entraînement et 15 062 pour la validation — plus un jeu de test non labellisé réservé au challenge eval.ai.
  • ~31,5 Go d'images haute résolution capturées par la caméra avant centrale dans des scènes de conduite urbaine autonome.
  • Les annotations sont automatiquement converties au format YOLO lors de la première utilisation, permettant ainsi d'entraîner le jeu de données directement avec les modèles de détection Ultralytics YOLO.

Structure du jeu de données#

Le jeu de données Argoverse-HD est divisé en trois sous-ensembles prédéfinis, tels que définis par la configuration Argoverse.yaml :

SplitImagesÉtiquettes
Entraîner (Train)39 384Oui
Validation15 062Oui
TestNon labellisé (challenge eval.ai)

Toutes les images partagent les 8 mêmes classes d'objets (indices 0–7) : personne, vélo, voiture, moto, bus, camion, feu de signalisation et panneau stop.

Conversion YOLO automatique

Après le téléchargement manuel, Ultralytics convertit automatiquement les annotations originales Argoverse-HD en labels de détection YOLO lors de ton premier entraînement, donc aucun prétraitement manuel n'est requis.

Applications#

Le jeu de données Argoverse-HD prend en charge diverses applications de détection d'objets dans la conduite autonome :

  • Perception pour conduite autonome — détecter des véhicules, des piétons et des cyclistes depuis une caméra frontale pour assister la navigation de véhicules autonomes.
  • Systèmes avancés d'aide à la conduite (ADAS) — reconnaître les feux de signalisation et les panneaux stop pour des alertes conducteur en temps réel.
  • Surveillance du trafic — compter et suivre les usagers de la route dans des scènes urbaines pour l'analyse des villes intelligentes.
  • Recherche et prototypage — un benchmark vaste et réel pour apprendre l'entraînement de modèles et la prédiction sur des données de conduite.

YAML du jeu de données#

Un fichier YAML définit la configuration du dataset, incluant les chemins, les classes et d'autres détails pertinents. Pour le dataset Argoverse, le fichier Argoverse.yaml est maintenu sur https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/Argoverse.yaml.

ultralytics/cfg/datasets/Argoverse.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# Argoverse-HD dataset (ring-front-center camera) by Argo AI: https://www.cs.cmu.edu/~mengtial/proj/streaming/
# Documentation: https://docs.ultralytics.com/datasets/detect/argoverse
# Example usage: yolo train data=Argoverse.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── Argoverse ← downloads here (31.5 GB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: Argoverse # dataset root dir
train: Argoverse-1.1/images/train/ # train images (relative to 'path') 39384 images
val: Argoverse-1.1/images/val/ # val images (relative to 'path') 15062 images
test: Argoverse-1.1/images/test/ # test images (optional) https://eval.ai/web/challenges/challenge-page/800/overview

# Classes
names:
  0: person
  1: bicycle
  2: car
  3: motorcycle
  4: bus
  5: truck
  6: traffic_light
  7: stop_sign

# Download script/URL (optional) ---------------------------------------------------------------------------------------
download: |
  import json
  from pathlib import Path

  from ultralytics.utils import TQDM
  from ultralytics.utils.downloads import download

  def argoverse2yolo(annotation_file):
      """Convert Argoverse dataset annotations to YOLO format for object detection tasks."""
      labels = {}
      with open(annotation_file, encoding="utf-8") as f:
          a = json.load(f)
      for annot in TQDM(a["annotations"], desc=f"Converting {annotation_file} to YOLO format..."):
          img_id = annot["image_id"]
          img_name = a["images"][img_id]["name"]
          img_label_name = f"{Path(img_name).stem}.txt"

          cls = annot["category_id"]  # instance class id
          x_center, y_center, width, height = annot["bbox"]
          x_center = (x_center + width / 2) / 1920.0  # offset and scale
          y_center = (y_center + height / 2) / 1200.0  # offset and scale
          width /= 1920.0  # scale
          height /= 1200.0  # scale

          img_dir = annotation_file.parents[2] / "Argoverse-1.1" / "labels" / a["seq_dirs"][a["images"][annot["image_id"]]["sid"]]
          if not img_dir.exists():
              img_dir.mkdir(parents=True, exist_ok=True)

          k = str(img_dir / img_label_name)
          if k not in labels:
              labels[k] = []
          labels[k].append(f"{cls} {x_center} {y_center} {width} {height}\n")

      for k in labels:
          with open(k, "w", encoding="utf-8") as f:
              f.writelines(labels[k])

  # Download 'https://argoverse-hd.s3.amazonaws.com/Argoverse-HD-Full.zip' (deprecated S3 link)
  dir = Path(yaml["path"])  # dataset root dir
  urls = ["https://drive.google.com/file/d/1st9qW3BeIwQsnR0t8mRpvbsSWIo16ACi/view?usp=drive_link"]
  print("\n\nWARNING: Argoverse dataset MUST be downloaded manually, autodownload will NOT work.")
  print(f"WARNING: Manually download Argoverse dataset '{urls[0]}' to '{dir}' and re-run your command.\n\n")
  # download(urls, dir=dir)

  # Convert
  annotations_dir = "Argoverse-HD/annotations/"
  (dir / "Argoverse-1.1" / "tracking").rename(dir / "Argoverse-1.1" / "images")  # rename 'tracking' to 'images'
  for d in "train.json", "val.json":
      argoverse2yolo(dir / annotations_dir / d)  # convert Argoverse annotations to YOLO labels

Utilisation#

Pour entraîner un modèle YOLO26n sur le jeu de données Argoverse pendant 100 époques avec une taille d'image de 640, utilise les exemples de code suivants. Pour une liste complète des arguments disponibles, réfère-toi à la page Entraînement du modèle.

Exemple d'entraînement
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="Argoverse.yaml", epochs=100, imgsz=640)

Une fois entraîné, lance l'inférence avec le modèle affiné sur de nouvelles images ou vidéos de conduite :

Exemple d'inférence
from ultralytics import YOLO

# Load a model
model = YOLO("path/to/best.pt")  # load an Argoverse fine-tuned model

# Inference using the model
results = model.predict("path/to/driving-scene.jpg")

Exemples de données et d'annotations#

Le jeu de données Argoverse-HD contient des images de conduite haute résolution capturées par une caméra avant centrale, annotées avec des boîtes englobantes 2D pour les 8 classes d'objets. Voici ci-dessous un exemple d'image issue du jeu de données avec ses annotations correspondantes :

Scène de conduite autonome Argoverse-HD avec objets routiers annotés

  • Scène de conduite annotée : Cette image montre des objets routiers — tels que des véhicules et des piétons — labellisés avec des boîtes englobantes 2D, le format que les modèles YOLO apprennent à prédire durant l'entraînement.

Citations et remerciements#

Les annotations de détection 2D Argoverse-HD utilisées dans ce jeu de données proviennent des travaux de perception en flux continu de l'Université Carnegie Mellon. Si tu utilises ce jeu de données dans tes recherches ou ton développement, merci de citer :

Citation
@inproceedings{li2020towards,
  title={Towards Streaming Perception},
  author={Li, Mengtian and Wang, Yu-Xiong and Ramanan, Deva},
  booktitle={Proceedings of the European Conference on Computer Vision (ECCV)},
  pages={473--488},
  year={2020}
}

@inproceedings{chang2019argoverse,
  title={Argoverse: 3D Tracking and Forecasting with Rich Maps},
  author={Chang, Ming-Fang and Lambert, John and Sangkloy, Patsorn and Singh, Jagjeet and Bak, Slawomir and Hartnett, Andrew and Wang, Dequan and Carr, Peter and Lucey, Simon and Ramanan, Deva and others},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages={8748--8757},
  year={2019}
}

Nous tenons à remercier l'Université Carnegie Mellon pour les annotations de détection Argoverse-HD et Argo AI pour avoir créé le jeu de données Argoverse original, une ressource précieuse pour la communauté de recherche en conduite autonome.

FAQ#

Qu'est-ce que le jeu de données Argoverse et à quoi sert-il ?#

Le dataset Ultralytics Argoverse (Argoverse-HD) est un dataset de détection d'objets 2D composé de 54 446 images de conduite autonome réparties en 8 classes : personne, vélo, voiture, moto, bus, camion, feu de signalisation et panneau stop. Il est utilisé pour entraîner et évaluer des modèles qui détectent des objets routiers à partir d'une caméra embarquée orientée vers l'avant, prenant en charge la recherche sur la perception pour la conduite autonome, l'ADAS et la surveillance du trafic.

Combien de classes et d'images contient le jeu de données Argoverse ?#

Le jeu de données Argoverse-HD comprend 8 classes (personne, vélo, voiture, moto, bus, camion, feu de signalisation et panneau stop) et 54 446 images labellisées — 39 384 pour l'entraînement et 15 062 pour la validation — plus un jeu de test non labellisé réservé au challenge eval.ai.

Le jeu de données Argoverse est-il destiné à la détection 2D ou 3D chez Ultralytics ?#

Chez Ultralytics, il s'agit d'un jeu de données de détection d'objets 2D (images caméra Argoverse-HD avec boîtes englobantes 2D), et non de la suite de recherche sur le suivi 3D, la prévision de mouvement ou le LiDAR du programme Argoverse plus large. Tu l'entraînes avec un modèle de détection standard tel que yolo26n.pt.

Comment entraîner un modèle YOLO26 en utilisant le jeu de données Argoverse ?#

Télécharge d'abord le jeu de données manuellement (voir ci-dessous), puis entraîne-le avec le fichier de configuration Argoverse.yaml :

Exemple
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="Argoverse.yaml", epochs=100, imgsz=640)

Pour une explication détaillée des arguments, consulte la page Training du modèle.

Où puis-je télécharger le jeu de données Argoverse maintenant qu'il a été retiré d'Amazon S3 ?#

Le fichier *.zip d'Argoverse-HD (~31,5 Go), précédemment hébergé sur Amazon S3, peut désormais être téléchargé manuellement depuis Google Drive. Le téléchargement automatique ne fonctionnera pas, récupère donc l'archive avant d'exécuter ta commande d'entraînement.

Puis-je utiliser le jeu de données Argoverse avec la plateforme Ultralytics ?#

Oui. Ultralytics Platform te permet d'uploader et de versionner de grands jeux de données comme Argoverse-HD, puis d'entraîner et de déployer des modèles de détection d'objets dans le cloud sans configuration locale lourde. Tu peux également parcourir des jeux de données associés dans l'aperçu des jeux de données de détection.

Commentaires