Vai al contenuto

Set di dati Argoverse

Il dataset Argoverse è una raccolta di dati progettata per supportare la ricerca sulle attività di guida autonoma, come il tracciamento 3D, la previsione del movimento e la stima della profondità stereo. Sviluppato da Argo AI, il dataset fornisce un'ampia gamma di dati di sensori di alta qualità, tra cui immagini ad alta risoluzione, nuvole di punti LiDAR e dati cartografici.

Nota

Il set di dati Argoverse *.zip Il file necessario per l'addestramento è stato rimosso da Amazon S3 dopo la chiusura di Argo AI da parte di Ford, ma è stato reso disponibile per il download manuale su Google Guida.

Caratteristiche principali

  • Argoverse contiene oltre 290K tracce di oggetti 3D etichettati e 5 milioni di istanze di oggetti in 1.263 scene distinte.
  • Il set di dati comprende immagini di telecamere ad alta risoluzione, nuvole di punti LiDAR e mappe HD riccamente annotate.
  • Le annotazioni includono caselle di delimitazione 3D per gli oggetti, tracce di oggetti e informazioni sulla traiettoria.
  • Argoverse offre diversi sottoinsiemi per compiti diversi, come il tracciamento 3D, la previsione del movimento e la stima della profondità stereo.

Struttura del set di dati

Il dataset Argoverse è organizzato in tre sottoinsiemi principali:

  1. Tracciamento 3D Argoverse: Questo sottoinsieme contiene 113 scene con oltre 290K tracce di oggetti 3D etichettati, incentrate su compiti di tracciamento di oggetti 3D. Include nuvole di punti LiDAR, immagini della telecamera e informazioni sulla calibrazione del sensore.
  2. Argoverse Motion Forecasting: Questo sottoinsieme consiste in 324K traiettorie di veicoli raccolte da 60 ore di dati di guida, adatte a compiti di previsione del movimento.
  3. Argoverse Stereo Depth Estimation: Questo sottoinsieme è stato progettato per attività di stima della profondità stereo e comprende oltre 10K coppie di immagini stereo con le corrispondenti nuvole di punti LiDAR per la stima della profondità a terra.

Applicazioni

Il dataset Argoverse è ampiamente utilizzato per l'addestramento e la valutazione di modelli di deep learning in attività di guida autonoma come il tracciamento di oggetti 3D, la previsione del movimento e la stima della profondità stereo. La varietà di dati dei sensori, le annotazioni sugli oggetti e le informazioni sulle mappe rendono il dataset una risorsa preziosa per i ricercatori e i professionisti nel campo della guida autonoma.

Set di dati YAML

Un file YAML (Yet Another Markup Language) è usato per definire la configurazione del dataset. Contiene informazioni sui percorsi del dataset, sulle classi e altre informazioni rilevanti. Nel caso del set di dati Argoverse, il file Argoverse.yaml Il file viene mantenuto all'indirizzo https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/Argoverse.yaml.

ultralytics/cfg/datasets/Argoverse.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license
# Argoverse-HD dataset (ring-front-center camera) https://www.cs.cmu.edu/~mengtial/proj/streaming/ by Argo AI
# 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: ../datasets/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 tqdm import tqdm
  from ultralytics.utils.downloads import download
  from pathlib import Path

  def argoverse2yolo(set):
      labels = {}
      a = json.load(open(set, "rb"))
      for annot in tqdm(a['annotations'], desc=f"Converting {set} to YOLOv5 format..."):
          img_id = annot['image_id']
          img_name = a['images'][img_id]['name']
          img_label_name = f'{img_name[:-3]}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 = set.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") as f:
              f.writelines(labels[k])


  # Download 'https://argoverse-hd.s3.us-east-2.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 YOLO11n sul dataset Argoverse per 100 epoche con una dimensione dell'immagine di 640, è possibile utilizzare i seguenti frammenti di codice. Per un elenco completo degli argomenti disponibili, consultare la pagina di addestramento del modello.

Esempio di treno

from ultralytics import YOLO

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

# Train the model
results = model.train(data="Argoverse.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=Argoverse.yaml model=yolo11n.pt epochs=100 imgsz=640

Dati e annotazioni di esempio

Il set di dati Argoverse contiene una serie di dati di sensori diversi, tra cui immagini di telecamere, nuvole di punti LiDAR e informazioni cartografiche HD, che forniscono un contesto ricco per le attività di guida autonoma. Ecco alcuni esempi di dati del set di dati, con le relative annotazioni:

Immagine campione del set di dati

  • Tracciamento 3D di Argoverse: Questa immagine mostra un esempio di tracciamento di oggetti 3D, in cui gli oggetti sono annotati con caselle di delimitazione 3D. Il set di dati fornisce nuvole di punti LiDAR e immagini di telecamere per facilitare lo sviluppo di modelli per questo compito.

L'esempio mostra la varietà e la complessità dei dati del dataset Argoverse e sottolinea l'importanza dei dati dei sensori di alta qualità per le attività di guida autonoma.

Citazioni e ringraziamenti

Se utilizzate il set di dati Argoverse nel vostro lavoro di ricerca o sviluppo, siete pregati di citare il seguente documento:

@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 Argo AI per aver creato e mantenuto il dataset Argoverse come risorsa preziosa per la comunità di ricerca sulla guida autonoma. Per ulteriori informazioni sul dataset Argoverse e sui suoi creatori, visitare il sito web del dataset Argoverse.

FAQ

Che cos'è il dataset Argoverse e le sue caratteristiche principali?

Il dataset Argoverse, sviluppato da Argo AI, supporta la ricerca sulla guida autonoma. Include oltre 290.000 tracce di oggetti 3D etichettati e 5 milioni di istanze di oggetti in 1.263 scene distinte. Il set di dati fornisce immagini di telecamere ad alta risoluzione, nuvole di punti LiDAR e mappe HD annotate, rendendolo prezioso per attività come il tracciamento 3D, la previsione del movimento e la stima della profondità stereo.

Come posso addestrare un modello Ultralytics YOLO utilizzando il dataset Argoverse?

Per addestrare un modello YOLO11 con il dataset Argoverse, utilizzare il file di configurazione YAML fornito e il codice seguente:

Esempio di treno

from ultralytics import YOLO

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

# Train the model
results = model.train(data="Argoverse.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=Argoverse.yaml model=yolo11n.pt epochs=100 imgsz=640

Per una spiegazione dettagliata degli argomenti, consultare la pagina Formazione del modello.

Quali tipi di dati e annotazioni sono disponibili nel dataset Argoverse?

Il set di dati Argoverse comprende vari tipi di dati dei sensori, come immagini di telecamere ad alta risoluzione, nuvole di punti LiDAR e dati cartografici HD. Le annotazioni includono caselle di delimitazione 3D, tracce di oggetti e informazioni sulla traiettoria. Queste annotazioni complete sono essenziali per un addestramento accurato del modello in attività come il tracciamento di oggetti 3D, la previsione del movimento e la stima della profondità stereo.

Come è strutturato il dataset Argoverse?

Il set di dati è suddiviso in tre sottoinsiemi principali:

  1. Argoverse 3D Tracking: Contiene 113 scene con oltre 290K tracce di oggetti 3D etichettati, incentrate su attività di tracciamento di oggetti 3D. Include nuvole di punti LiDAR, immagini della telecamera e informazioni sulla calibrazione del sensore.
  2. Previsione del movimento Argoverse: Consiste in 324K traiettorie di veicoli raccolte da 60 ore di dati di guida, adatte a compiti di previsione del movimento.
  3. Stima della profondità stereo Argoverse: Include oltre 10K coppie di immagini stereo con le corrispondenti nuvole di punti LiDAR per la stima della profondità della verità a terra.

Dove posso scaricare il dataset Argoverse ora che è stato rimosso da Amazon S3?

Il set di dati Argoverse *.zip Il file, precedentemente disponibile su Amazon S3, può ora essere scaricato manualmente da Google Guida.

A cosa serve il file di configurazione YAML con il dataset Argoverse?

Un file YAML contiene i percorsi, le classi e altre informazioni essenziali del dataset. Per il set di dati Argoverse, il file di configurazione, Argoverse.yaml, è disponibile al seguente link: Argoverse.yaml.

Per ulteriori informazioni sulle configurazioni YAML, consultare la guida ai dataset.

📅C reato 1 anno fa ✏️ Aggiornato 2 mesi fa

Commenti