YOLO Vision 2026:

Dataset Argoverse#

Il dataset Ultralytics Argoverse (Argoverse-HD) è un dataset di object detection 2D con 54.446 immagini di guida autonoma — 39.384 per il training e 15.062 per la validazione — suddivise in 8 classi: persona, bicicletta, automobile, motocicletta, autobus, camion, semaforo e segnale di stop. Le immagini sono catturate dalla telecamera anteriore centrale di un veicolo e le annotazioni provengono dal progetto di streaming-perception della Carnegie Mellon University, basato sui dati di guida Argoverse 1.1 di Argo AI. Si tratta di un ampio benchmark del mondo reale per l'addestramento di modelli di computer vision per il rilevamento di oggetti stradali in scenari di guida autonoma.

Esplora Argoverse-HD on Ultralytics Platform per visualizzare in anteprima i campioni annotati, ispezionare le statistiche del dataset e clonarlo per l'addestramento.

Download manuale richiesto

Il file Argoverse-HD *.zip (~31.5 GB) necessario per il training è stato rimosso da Amazon S3 dopo la chiusura di Argo AI da parte di Ford. È disponibile per il download manuale da Google Drive; il download automatico non funzionerà, quindi scarica l'archivio prima di iniziare il training.

Caratteristiche principali#

  • 8 classi di object-detection: persona, bicicletta, auto, motocicletta, autobus, camion, semaforo e segnale di stop.
  • 54.446 immagini etichettate — 39.384 per il training e 15.062 per la validazione — più uno split di test non etichettato riservato alla eval.ai challenge.
  • ~31,5 GB di fotogrammi ad alta risoluzione acquisiti dalla fotocamera frontale centrale in scene di guida autonoma urbana.
  • Le annotazioni vengono convertite automaticamente nel formato YOLO al primo utilizzo, quindi il dataset si addestra direttamente con i modelli di rilevamento Ultralytics YOLO.

Struttura del dataset#

Il dataset Argoverse-HD è suddiviso in tre sottoinsiemi predefiniti, definiti dalla configurazione Argoverse.yaml:

SplitImmaginiEtichette
Addestramento39,384
Validazione15,062
TestNon etichettato (eval.ai challenge)

Tutte le immagini condividono le stesse 8 classi di oggetti (indici 0–7): persona, bicicletta, auto, motocicletta, autobus, camion, semaforo e segnale di stop.

Conversione YOLO automatica

Dopo il download manuale, Ultralytics converte automaticamente le annotazioni originali di Argoverse-HD in etichette di rilevamento YOLO la prima volta che esegui l'addestramento, quindi non è necessaria alcuna pre-elaborazione manuale.

Applicazioni#

Il dataset Argoverse-HD supporta una serie di applicazioni di object detection nella guida autonoma:

  • Percezione per la guida autonoma — rileva veicoli, pedoni e ciclisti da una telecamera rivolta in avanti per supportare la navigazione dei veicoli autonomi.
  • Sistemi avanzati di assistenza alla guida (ADAS) — riconosce semafori e segnali di stop per avvisi al conducente in tempo reale.
  • Monitoraggio del traffico — conta e traccia gli utenti della strada in contesti urbani per l'analisi delle smart-city.
  • Ricerca e prototipazione — un ampio benchmark del mondo reale per imparare il model training e la prediction sui dati di guida.

Dataset YAML#

Un file YAML definisce la configurazione del dataset, inclusi percorsi, classi e altri dettagli pertinenti. Per il dataset Argoverse, il file Argoverse.yaml viene mantenuto su 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

Utilizzo#

Per addestrare un modello YOLO26n sul dataset Argoverse per 100 epochs con una dimensione dell'immagine di 640, usa i seguenti snippet di codice. Per un elenco completo degli argomenti disponibili, fai riferimento alla pagina Training del modello.

Esempio di Addestramento
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)

Una volta effettuato l'addestramento, esegui l'inference con il modello fine-tuned su nuove immagini o video di guida:

Esempio di inferenza
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")

Dati di esempio e annotazioni#

Il dataset Argoverse-HD contiene immagini di guida ad alta risoluzione acquisite da una fotocamera frontale centrale, annotate con bounding box 2D per le 8 classi di oggetti. Di seguito è riportata un'immagine di esempio dal dataset con le relative annotazioni:

Argoverse-HD autonomous driving scene with annotated road objects

  • Scena di guida annotata: Questa immagine mostra oggetti stradali — come veicoli e pedoni — etichettati con bounding box 2D, il formato che i modelli YOLO imparano a predire durante l'addestramento.

Citazioni e riconoscimenti#

Le annotazioni di rilevamento 2D di Argoverse-HD utilizzate in questo dataset provengono dal lavoro di streaming-perception della Carnegie Mellon University. Se utilizzi il dataset nella tua ricerca o sviluppo, ti preghiamo di citare:

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

Desideriamo ringraziare la Carnegie Mellon University per le annotazioni di rilevamento Argoverse-HD e Argo AI per aver creato il dataset Argoverse originale come risorsa preziosa per la comunità di ricerca sulla guida autonoma.

FAQ#

  • Il dataset Ultralytics Argoverse (Argoverse-HD) è un dataset di object detection 2D di 54.446 immagini di guida autonoma suddivise in 8 classi: persona, bicicletta, automobile, motocicletta, autobus, camion, semaforo e segnale di stop. Viene utilizzato per addestrare e valutare modelli che rilevano oggetti stradali dalla telecamera anteriore di un veicolo, supportando la percezione di guida autonoma, ADAS e la ricerca sul monitoraggio del traffico.

  • Il dataset Argoverse-HD ha 8 classi (persona, bicicletta, auto, motocicletta, autobus, camion, semaforo e segnale di stop) e 54.446 immagini etichettate — 39.384 per l'addestramento e 15.062 per la validazione — più un set di test non etichettato riservato alla eval.ai challenge.

  • In Ultralytics si tratta di un dataset di 2D object detection (fotogrammi della telecamera Argoverse-HD con bounding box 2D), non della suite di ricerca 3D-tracking, motion-forecasting o LiDAR del programma Argoverse più ampio. Puoi addestrarlo con un modello di rilevamento standard come yolo26n.pt.

  • Scarica prima manualmente il dataset (vedi sotto), quindi procedi al training con il file di configurazione Argoverse.yaml:

    Esempio
    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)

    Per una spiegazione dettagliata degli argomenti, fai riferimento alla pagina Training del modello.

  • Il file Argoverse-HD *.zip (~31.5 GB), precedentemente ospitato su Amazon S3, può ora essere scaricato manualmente da Google Drive. Il download automatico non funzionerà, quindi recupera l'archivio prima di eseguire il comando di training.

  • Sì. Ultralytics Platform ti consente di caricare e gestire il versioning di grandi dataset come Argoverse-HD, per poi addestrare e distribuire modelli di object detection nel cloud senza una complessa configurazione locale. Puoi anche esplorare i dataset correlati nella panoramica dei dataset di rilevamento.

Commenti