Argoverse-Datensatz#
Der Ultralytics-Argoverse-Datensatz (Argoverse-HD) ist ein 2D-Datensatz zur Objekterkennung mit 54.446 annotierten Bildern aus dem autonomen Fahren — 39.384 Trainings- und 15.062 Validierungsbilder — aus 8 Klassen: Person, Fahrrad, Auto, Motorrad, Bus, Lastwagen, Ampel und Stoppschild. Die Bilder wurden mit der mittig vorne am Fahrzeug angebrachten Kamera eines Rundumsicht-Kamerasystems aufgenommen. Die Annotationen stammen aus dem Streaming-Perception-Projekt der Carnegie Mellon University, das auf den Fahrdaten Argoverse 1.1 von Argo AI basiert. Dieser umfangreiche, realitätsnahe Benchmark dient zum Trainieren von Bildverarbeitungs-Modellen zur Erkennung von Objekten im Straßenverkehr in Szenarien mit selbstfahrenden Fahrzeugen.
Besuche Argoverse-HD auf der Ultralytics Platform, um annotierte Beispiele anzusehen, Datensatzstatistiken zu prüfen und den Datensatz für das Training zu klonen.
Die für das Training benötigte Datei *.zip von Argoverse-HD (~31.5 GB) wurde nach der Schließung von Argo AI durch Ford von Amazon S3 entfernt. Sie kann manuell von Google Drive heruntergeladen werden — der automatische Download funktioniert nicht. Lade daher das Archiv herunter und entpacke es vor dem Training in den Ordner Argoverse deines Datensatzverzeichnisses.
Wichtige Funktionen#
- 8 Klassen für die Objekterkennung: Person, Fahrrad, Auto, Motorrad, Bus, Lastwagen, Ampel und Stoppschild.
- 54.446 annotierte Bilder — 39.384 Trainings- und 15.062 Validierungsbilder — sowie eine nicht annotierte Testaufteilung, die für die eval.ai-Challenge reserviert ist.
- ~31.5 GB an hochauflösenden Aufnahmen der mittig vorne am Fahrzeug angebrachten Kamera aus städtischen Szenen mit autonomem Fahren.
- Die Annotationen werden bei der ersten Verwendung automatisch in das YOLO-Format konvertiert. Dadurch lässt sich der Datensatz direkt mit Ultralytics-YOLO-Modellen zur Objekterkennung trainieren.
Datensatzstruktur#
Der Argoverse-HD-Datensatz ist in drei vordefinierte Teilmengen unterteilt, die in der Konfiguration Argoverse.yaml festgelegt sind:
| Aufteilung | Bilder | Beschriftungen |
|---|---|---|
| Trainieren | 39,384 | Ja |
| Validierung | 15,062 | Ja |
| Test | — | Unbeschriftet (eval.ai-Challenge) |
Alle Bilder enthalten dieselben 8 Objektklassen (Indizes 0–7): Person, Fahrrad, Auto, Motorrad, Bus, Lastwagen, Ampel und Stoppschild.
Nach dem manuellen Herunterladen konvertiert Ultralytics die ursprünglichen Argoverse-HD-Annotationen automatisch in YOLO-Erkennungslabels, wenn du zum ersten Mal trainierst. Eine manuelle Vorverarbeitung ist daher nicht erforderlich.
Anwendungsfälle#
Der Argoverse-HD-Datensatz unterstützt zahlreiche Anwendungen der Objekterkennung im Bereich des autonomen Fahrens:
- Wahrnehmung für autonomes Fahren — Erkenne Fahrzeuge, Fußgänger und Radfahrer mit einer nach vorne gerichteten Kamera, um die Navigation von autonomen Fahrzeugen zu unterstützen.
- Fahrerassistenzsysteme (ADAS) — Erkenne Ampeln und Stoppschilder, um Fahrer in Echtzeit zu warnen.
- Verkehrsüberwachung — Zähle und verfolge Verkehrsteilnehmer in städtischen Szenen für Analysen im Bereich Smart Cities.
- Forschung und Prototyping — Ein umfangreicher Benchmark aus der Praxis, um Modelltraining und Vorhersagen mit Fahrdaten zu erlernen.
YAML-Datei des Datensatzes#
Eine YAML-Datei definiert die Dataset-Konfiguration, einschließlich Pfaden, Klassen und weiteren relevanten 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 mit dem Argoverse-Datensatz 100 Epochen lang und mit einer Bildgröße von 640 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
# Ein Modell laden
model = YOLO("yolo26n.pt") # ein vortrainiertes Modell laden (für das Training empfohlen)
# Das Modell trainieren
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 aus:
from ultralytics import YOLO
# Ein Modell laden
model = YOLO("path/to/best.pt") # ein mit Argoverse feinabgestimmtes Modell laden
# Inferenz mit dem Modell
results = model.predict("path/to/driving-scene.jpg")Beispieldaten und Annotationen#
Der Argoverse-HD-Datensatz enthält hochauflösende Fahrbilder, die mit einer mittig vorne am Fahrzeug angebrachten Ringkamera aufgenommen wurden. Die Bilder sind mit 2D-Bounding-Boxen für die 8 Objektklassen annotiert. Unten siehst du ein Beispielbild aus dem Datensatz mit den entsprechenden Annotationen:

- Annotierte Fahrszene: Dieses Bild zeigt Verkehrsobjekte — etwa Fahrzeuge und Fußgänger —, die mit 2D-Bounding-Boxen markiert sind. Dieses Format lernen YOLO-Modelle während des Trainings vorherzusagen.
Zitate und Danksagungen#
Die in diesem Datensatz verwendeten 2D-Erkennungsannotationen von Argoverse-HD stammen aus der Arbeit zur Streaming-Wahrnehmung der Carnegie Mellon University. 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 möchten der Carnegie Mellon University für die Argoverse-HD-Erkennungsannotationen und Argo AI für die Erstellung des ursprünglichen Argoverse-Datensatzes danken, der der Forschungsgemeinschaft für autonomes Fahren als wertvolle Ressource dient.
Häufig gestellte Fragen#
Der Argoverse-Datensatz von Ultralytics (Argoverse-HD) ist ein 2D-Datensatz zur Objekterkennung mit 54.446 Bildern aus dem Bereich des autonomen Fahrens und 8 Klassen — Person, Fahrrad, Auto, Motorrad, Bus, Lastwagen, Ampel und Stoppschild. Er wird zum Trainieren und Evaluieren von Modellen verwendet, die Verkehrsobjekte mit einer nach vorne gerichteten Fahrzeugkamera erkennen. Damit unterstützt er die Forschung zu Wahrnehmung für autonomes Fahren, ADAS und Verkehrsüberwachung.
Der Argoverse-HD-Datensatz umfasst 8 Klassen (Person, Fahrrad, Auto, Motorrad, Bus, Lastwagen, Ampel und Stoppschild) sowie 54.446 annotierte Bilder — 39.384 für das Training und 15.062 für die Validierung — und eine unbeschriftete Testteilmenge, die der eval.ai-Challenge vorbehalten ist.
In Ultralytics ist der Datensatz ein 2D-Objekterkennungsdatensatz (Argoverse-HD-Kamerabilder mit 2D-Bounding-Boxen) und nicht die Forschungsumgebung 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 zuerst manuell herunter (siehe unten) und trainiere dann mit der Konfigurationsdatei
Argoverse.yaml:Beispielfrom ultralytics import YOLO # Ein Modell laden model = YOLO("yolo26n.pt") # ein vortrainiertes Modell laden (für das Training empfohlen) # Das Modell trainieren results = model.train(data="Argoverse.yaml", epochs=100, imgsz=640)Eine ausführliche Erläuterung der Argumente findest du auf der Seite zum Training des Modells.
Die Datei
*.zipvon Argoverse-HD (~31.5 GB), die zuvor auf Amazon S3 gehostet wurde, kannst du jetzt manuell von Google Drive herunterladen. Der automatische Download funktioniert nicht. Lade das Archiv daher herunter und entpacke es in den OrdnerArgoversedeines Dataset-Verzeichnisses, bevor du den Trainingsbefehl ausführst.Ja. Mit der Ultralytics Platform kannst du große Datensätze wie Argoverse-HD hochladen und versionieren und anschließend Objekterkennungsmodelle in der Cloud trainieren und bereitstellen, ohne eine aufwendige lokale Einrichtung. Ähnliche Datensätze kannst du auch in der Übersicht über Erkennungsdatensätze ansehen.



