Argoverse-Datensatz#
Der Argoverse-Datensatz von Ultralytics (Argoverse-HD) ist ein 2D-Datensatz zur Objekterkennung mit 54.446 annotierten Bildern für autonomes Fahren – 39.384 für das Training und 15.062 für die Validierung – und 8 Klassen: Person, Fahrrad, Auto, Motorrad, Bus, Lastwagen, Ampel und Stoppschild. Die Bilder wurden mit der vorderen mittleren Ringkamera eines Fahrzeugs aufgenommen. Die Annotationen stammen aus dem Streaming-Perception-Projekt der Carnegie Mellon University und basieren auf den Fahrdaten von Argoverse 1.1 von Argo AI. Der Datensatz ist ein umfangreicher Benchmark aus der realen Welt zum Trainieren von Computer-Vision-Modellen, die Straßenobjekte in Szenarien mit autonomen Fahrzeugen erkennen.
Erkunde Argoverse-HD auf der Ultralytics Platform, um annotierte Beispiele in der Vorschau anzuzeigen, Datensatzstatistiken zu prüfen und den Datensatz für das Training zu klonen.
Die für das Training erforderliche Argoverse-HD-Datei *.zip (~31,5 GB) wurde nach der Einstellung von Argo AI durch Ford aus Amazon S3 entfernt. Sie kann manuell von Google Drive heruntergeladen werden – der automatische Download funktioniert nicht, daher musst du das Archiv vor dem Training herunterladen.
Wichtige Funktionen#
- 8 Klassen für die Objekterkennung: Person, Fahrrad, Auto, Motorrad, Bus, Lastwagen, Ampel und Stoppschild.
- 54.446 annotierte Bilder – 39.384 für das Training und 15.062 für die Validierung – sowie ein nicht annotierter Testsatz, der für die eval.ai-Challenge reserviert ist.
- ~31,5 GB hochauflösender Einzelbilder der vorderen mittleren Ringkamera, aufgenommen in städtischen Szenarien mit autonomen Fahrzeugen.
- Die Annotationen werden bei der ersten Verwendung automatisch in das YOLO-Format konvertiert, sodass der Datensatz direkt mit den Ultralytics-YOLO-Modellen zur Objekterkennung trainiert werden kann.
Datensatzstruktur#
Der Argoverse-HD-Datensatz ist in drei vordefinierte Teilmengen aufgeteilt, die durch die Konfiguration Argoverse.yaml festgelegt werden:
| Aufteilung | Bilder | Annotationen |
|---|---|---|
| Trainieren | 39,384 | Ja |
| Validierung | 15,062 | Ja |
| Test | — | Nicht annotiert (eval.ai-Challenge) |
Alle Bilder enthalten dieselben 8 Objektklassen (Indizes 0–7): Person, Fahrrad, Auto, Motorrad, Bus, Lastwagen, Ampel und Stoppschild.
Nach dem manuellen Download konvertiert Ultralytics die ursprünglichen Argoverse-HD-Annotationen beim ersten Training automatisch in YOLO-Annotationen für die Objekterkennung, sodass keine manuelle Vorverarbeitung erforderlich ist.
Anwendungen#
Der Argoverse-HD-Datensatz unterstützt eine Reihe von Anwendungen zur Objekterkennung beim autonomen Fahren:
- Wahrnehmung für autonome Fahrzeuge – Erkenne Fahrzeuge, Fußgänger und Radfahrer mit einer nach vorn gerichteten Kamera, um die Navigation autonomer Fahrzeuge zu unterstützen.
- Fahrerassistenzsysteme (ADAS) – Erkenne Ampeln und Stoppschilder für Echtzeitwarnungen an den Fahrer.
- Verkehrsüberwachung – Zähle und verfolge Verkehrsteilnehmer in städtischen Szenen für Analysen in intelligenten Städten.
- Forschung und Prototyping – ein umfangreicher Benchmark aus der realen Welt zum Erlernen von Modelltraining und Vorhersagen auf Fahrdaten.
Dataset-YAML#
Eine YAML-Datei definiert die Datensatzkonfiguration, einschließlich Pfaden, Klassen und weiterer relevanter Details. Für den Argoverse-Datensatz wird die Datei Argoverse.yaml unter https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/Argoverse.yaml gepflegt.
# 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 labelsVerwendung#
Um ein YOLO26n-Modell 100 Epochen lang mit einer Bildgröße von 640 auf dem Argoverse-Datensatz zu trainieren, verwende die folgenden Codebeispiele. Eine vollständige Liste der verfügbaren Argumente findest du auf der Seite zum Training des Modells.
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)Führe nach dem Training mit dem feinabgestimmten Modell eine Inferenz auf neuen Fahrbildern oder Videos durch:
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")Beispieldaten und Annotationen#
Der Argoverse-HD-Datensatz enthält hochauflösende, mit einer vorderen mittleren Ringkamera aufgenommene Fahrbilder, die mit 2D-Bounding-Boxen für die 8 Objektklassen annotiert sind. Unten siehst du ein Beispielbild aus dem Datensatz mit den zugehörigen Annotationen:

- Annotiertes Fahrszenario: Dieses Bild zeigt Straßenobjekte – etwa Fahrzeuge und Fußgänger –, die mit 2D-Bounding-Boxen gekennzeichnet sind. Dieses Format lernen YOLO-Modelle während des Trainings vorherzusagen.
Zitate und Danksagungen#
Die in diesem Datensatz verwendeten 2D-Erkennungsannotation des Argoverse-HD-Datensatzes stammen aus der Arbeit der Carnegie Mellon University zur Streaming-Wahrnehmung. Wenn du den Datensatz in deiner Forschung oder Entwicklung verwendest, zitiere bitte:
@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}
}Wir danken der Carnegie Mellon University für die Erkennungsannotation des Argoverse-HD-Datensatzes und Argo AI für die Erstellung des ursprünglichen Argoverse-Datensatzes als wertvolle Ressource für die Forschungsgemeinschaft im Bereich des autonomen Fahrens.
FAQ#
Der Argoverse-Datensatz von Ultralytics (Argoverse-HD) ist ein 2D-Datensatz zur Objekterkennung mit 54.446 Bildern für autonomes Fahren und 8 Klassen – Person, Fahrrad, Auto, Motorrad, Bus, Lastwagen, Ampel und Stoppschild. Er wird zum Trainieren und Bewerten von Modellen verwendet, die Straßenobjekte anhand einer nach vorn gerichteten Fahrzeugkamera erkennen, und unterstützt die Forschung zur Wahrnehmung autonomer Fahrzeuge, zu ADAS und zur Verkehrsüberwachung.
Der Argoverse-HD-Datensatz umfasst 8 Klassen (Person, Fahrrad, Auto, Motorrad, Bus, Lastwagen, Ampel und Stoppschild) und 54.446 annotierte Bilder – 39.384 für das Training und 15.062 für die Validierung – sowie einen nicht annotierten Testsatz, der für die eval.ai-Challenge reserviert ist.
In Ultralytics handelt es sich um einen 2D-Datensatz zur Objekterkennung (Argoverse-HD-Kamerabilder mit 2D-Bounding-Boxen), nicht um die Forschungsdatensammlung des umfassenderen Argoverse-Programms für 3D-Tracking, Bewegungsprognosen oder LiDAR. Du trainierst ihn mit einem Standardmodell zur Objekterkennung wie
yolo26n.pt.Lade den Datensatz zunächst manuell herunter (siehe unten) und trainiere anschließend mit der Konfigurationsdatei
Argoverse.yaml:Beispielfrom 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)Eine ausführliche Erklärung der Argumente findest du auf der Seite zum Training des Modells.
Die zuvor auf Amazon S3 gehostete Argoverse-HD-Datei
*.zip(~31,5 GB) kann jetzt manuell von Google Drive heruntergeladen werden. Der automatische Download funktioniert nicht, daher musst du das Archiv herunterladen, bevor du deinen Trainingsbefehl ausführst.Ja. Mit der Ultralytics Platform kannst du große Datensätze wie Argoverse-HD hochladen und versionieren und anschließend Modelle zur Objekterkennung in der Cloud trainieren und bereitstellen, ohne eine aufwendige lokale Einrichtung. Verwandte Datensätze kannst du auch in der Übersicht der Erkennungsdatensätze durchsuchen.



