Dataset Argoverse
Il dataset Argoverse è una raccolta di dati progettata per supportare la ricerca in attività di guida autonoma, come il tracking 3D, la previsione del movimento e la stima della profondità stereo. Sviluppato da Argo AI, il dataset fornisce un'ampia gamma di dati sensoriali di alta qualità, tra cui immagini ad alta risoluzione, nuvole di punti LiDAR e dati cartografici.
Il file *.zip del dataset Argoverse necessario per l'addestramento è stato rimosso da Amazon S3 dopo la chiusura di Argo AI da parte di Ford, ma lo abbiamo reso disponibile per il download manuale su Google Drive.
Caratteristiche principali
- Argoverse contiene oltre 290.000 tracce di oggetti 3D etichettate e 5 milioni di istanze di oggetti in 1.263 scene distinte.
- Il dataset include immagini ad alta risoluzione da telecamere, nuvole di punti LiDAR e mappe HD riccamente annotate.
- Le annotazioni includono BBox 3D per gli oggetti, tracce di oggetti e informazioni sulla traiettoria.
- Argoverse fornisce molteplici sottoinsiemi per diverse attività, come il tracking 3D, la previsione del movimento e la stima della profondità stereo.
Struttura del dataset
Il dataset Argoverse è organizzato in tre sottoinsiemi principali:
- Argoverse 3D Tracking: questo sottoinsieme contiene 113 scene con oltre 290.000 tracce di oggetti 3D etichettate, concentrandosi sulle attività di tracking 3D degli oggetti. Include nuvole di punti LiDAR, immagini da telecamere e informazioni sulla calibrazione dei sensori.
- Argoverse Motion Forecasting: questo sottoinsieme consiste in 324.000 traiettorie di veicoli raccolte da 60 ore di dati di guida, adatto per attività di previsione del movimento.
- Argoverse Stereo Depth Estimation: questo sottoinsieme è progettato per attività di stima della profondità stereo e include oltre 10.000 coppie di immagini stereo con le corrispondenti nuvole di punti LiDAR per la stima della profondità di ground truth.
Applicazioni
Il dataset Argoverse è ampiamente utilizzato per l'addestramento e la valutazione di modelli di deep learning in attività di guida autonoma come il tracking 3D di oggetti, la previsione del movimento e la stima della profondità stereo. La serie diversificata di dati sensoriali, le annotazioni degli oggetti e le informazioni cartografiche del dataset lo rendono una risorsa preziosa per ricercatori e professionisti nel campo della guida autonoma.
YAML del dataset
Un file YAML (Yet Another Markup Language) viene utilizzato per definire la configurazione del dataset. Contiene informazioni sui percorsi del dataset, le classi e altre informazioni rilevanti. Nel caso del dataset Argoverse, il file Argoverse.yaml è mantenuto su https://github.com/ultralytics/ultralytics/blob/main/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.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 labelsUtilizzo
Per addestrare un modello YOLO26n sul dataset Argoverse per 100 epoch con una dimensione immagine di 640, puoi utilizzare i seguenti frammenti di codice. Per un elenco completo degli argomenti disponibili, fai riferimento alla pagina di Training del modello.
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)Dati ed annotazioni di esempio
Il dataset Argoverse contiene un insieme diversificato di dati sensoriali, tra cui immagini da telecamere, nuvole di punti LiDAR e informazioni cartografiche HD, fornendo un contesto ricco per le attività di guida autonoma. Ecco alcuni esempi di dati dal dataset, insieme alle loro corrispondenti annotazioni:
![]()
- Argoverse 3D Tracking: questa immagine mostra un esempio di tracking 3D di oggetti, dove gli oggetti sono annotati con BBox 3D. Il dataset fornisce nuvole di punti LiDAR e immagini da telecamere per facilitare lo sviluppo di modelli per questa attività.
L'esempio mostra la varietà e la complessità dei dati nel dataset Argoverse ed evidenzia l'importanza di dati sensoriali di alta qualità per le attività di guida autonoma.
Citazioni e ringraziamenti
Se utilizzi il dataset Argoverse nel tuo lavoro di ricerca o sviluppo, cita il seguente articolo:
@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}
}Vorremmo ringraziare Argo AI per aver creato e mantenuto il dataset Argoverse come una risorsa preziosa per la comunità di ricerca sulla guida autonoma. Per ulteriori informazioni sul dataset Argoverse e sui suoi creatori, visita il sito web del dataset Argoverse.
FAQ
Cos'è il dataset Argoverse e quali sono 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 etichettate e 5 milioni di istanze di oggetti in 1.263 scene distinte. Il dataset fornisce immagini ad alta risoluzione da telecamere, nuvole di punti LiDAR e mappe HD annotate, rendendolo prezioso per attività come il tracking 3D, la previsione del movimento e la stima della profondità stereo.
Come posso addestrare un modello YOLO di Ultralytics utilizzando il dataset Argoverse?
Per addestrare un modello YOLO26 con il dataset Argoverse, utilizza il file di configurazione YAML fornito e il seguente codice:
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 di Training del modello.
Quali tipi di dati e annotazioni sono disponibili nel dataset Argoverse?
Il dataset Argoverse include vari tipi di dati sensoriali come immagini ad alta risoluzione da telecamere, nuvole di punti LiDAR e dati di mappe HD. Le annotazioni includono BBox 3D, tracce di oggetti e informazioni sulla traiettoria. Queste annotazioni complete sono essenziali per un addestramento preciso del modello in attività come il tracking 3D di oggetti, la previsione del movimento e la stima della profondità stereo.
Come è strutturato il dataset Argoverse?
Il dataset è suddiviso in tre sottoinsiemi principali:
- Argoverse 3D Tracking: contiene 113 scene con oltre 290.000 tracce di oggetti 3D etichettate, concentrandosi sulle attività di tracking 3D degli oggetti. Include nuvole di punti LiDAR, immagini da telecamere e informazioni sulla calibrazione dei sensori.
- Argoverse Motion Forecasting: consiste in 324.000 traiettorie di veicoli raccolte da 60 ore di dati di guida, adatto per attività di previsione del movimento.
- Argoverse Stereo Depth Estimation: include oltre 10.000 coppie di immagini stereo con le corrispondenti nuvole di punti LiDAR per la stima della profondità di ground truth.
Dove posso scaricare il dataset Argoverse ora che è stato rimosso da Amazon S3?
Il file *.zip del dataset Argoverse, precedentemente disponibile su Amazon S3, può ora essere scaricato manualmente da Google Drive.
A cosa serve il file di configurazione YAML con il dataset Argoverse?
Un file YAML contiene i percorsi del dataset, le classi e altre informazioni essenziali. Per il dataset Argoverse, il file di configurazione, Argoverse.yaml, si trova al seguente link: Argoverse.yaml.
Per ulteriori informazioni sulle configurazioni YAML, consulta la nostra guida ai dataset.