Argoverse 数据集#
Ultralytics Argoverse 数据集 (Argoverse-HD) 是一个 2D 目标检测数据集,包含 54,446 张带标签的自动驾驶图像——39,384 张用于训练,15,062 张用于验证——涵盖 8 个类别:行人、自行车、汽车、摩托车、公交车、卡车、交通灯和停车标志。图像由车辆的环视前中摄像头拍摄,标注来自卡内基梅隆大学的流式感知项目,该项目基于 Argo AI 的 Argoverse 1.1 驾驶数据构建。这是一个大型真实场景基准,可用于训练计算机视觉模型,在自动驾驶场景中检测道路目标。
在 Ultralytics Platform 上查看 Argoverse-HD,预览已标注样本、检查数据集统计信息,并克隆数据集用于训练。
训练所需的 Argoverse-HD *.zip 文件(~31.5 GB)在 Ford 关闭 Argo AI 后已从 Amazon S3 移除。你可以从 Google Drive 手动下载——自动下载将无法使用,因此请先下载压缩包,并在训练前将其解压到数据集目录下的 Argoverse 文件夹中。
主要功能#
- 8 个目标检测类别:行人、自行车、汽车、摩托车、公交车、卡车、交通灯和停车标志。
- 54,446 张带标签的图像——39,384 张用于训练,15,062 张用于验证——另有一组未标注测试集,专供 eval.ai 挑战赛使用。
- ~31.5 GB 高分辨率环视前中摄像头画面,拍摄于城市自动驾驶场景。
- 首次使用时,标注会自动转换为 YOLO 格式,因此该数据集可以直接用于训练 Ultralytics YOLO 检测模型。
数据集结构#
Argoverse-HD 数据集按 Argoverse.yaml 配置划分为三个预定义子集:
| 划分 | 图像 | 标签 |
|---|---|---|
| 训练 | 39,384 | 是 |
| 验证 | 15,062 | 是 |
| 测试 | — | 未标注(eval.ai 挑战赛) |
所有图像都包含相同的 8 个目标类别(索引 0–7):行人、自行车、汽车、摩托车、公交车、卡车、交通信号灯和停车标志。
手动下载后,Ultralytics 会在你首次训练时自动将原始 Argoverse-HD 标注转换为 YOLO 检测标签,因此无需手动预处理。
应用场景#
Argoverse-HD 数据集支持自动驾驶中的多种目标检测应用:
- 自动驾驶感知 — 从前向摄像头检测车辆、行人和骑行者,为自动驾驶汽车导航提供支持。
- 高级驾驶辅助系统 (ADAS) — 识别交通信号灯和停车标志,以便实时向驾驶员发出提醒。
- 交通监控 — 在城市场景中统计并跟踪道路使用者,为智慧城市分析提供数据。
- 研究与原型开发 — 一个大型真实场景基准数据集,可用于学习如何在驾驶数据上进行模型训练和预测。
数据集 YAML#
YAML 文件定义数据集配置,包括路径、类别和其他相关细节。对于 Argoverse 数据集,Argoverse.yaml 文件由 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.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用法#
要在 Argoverse 数据集上训练 YOLO26n 模型 100 个轮次,图像尺寸设为 640,请使用以下代码示例。有关可用参数的完整列表,请参阅模型的训练页面。
from ultralytics import YOLO
# 加载模型
model = YOLO("yolo26n.pt") # 加载预训练模型(推荐用于训练)
# 训练模型
results = model.train(data="Argoverse.yaml", epochs=100, imgsz=640)训练完成后,使用微调后的模型对新的驾驶图像或视频运行推理:
from ultralytics import YOLO
# 加载模型
model = YOLO("path/to/best.pt") # 加载经过 Argoverse 微调的模型
# 使用模型进行推理
results = model.predict("path/to/driving-scene.jpg")示例数据和标注#
Argoverse-HD 数据集包含由环绕式前向中央摄像头拍摄的高分辨率驾驶图像,并为 8 个目标类别标注了 2D 边界框。下面是该数据集中的一张示例图像及其对应标注:

- 驾驶场景标注:图中道路目标(如车辆和行人)均以 2D 边界框标注,这是 YOLO 模型在训练期间学习预测的格式。
引用与致谢#
此数据集中使用的 Argoverse-HD 2D 检测标注来自卡内基梅隆大学的流式感知研究。如果你在研究或开发中使用该数据集,请引用:
@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}
}我们感谢卡内基梅隆大学提供 Argoverse-HD 检测标注,并感谢 Argo AI 创建原始 Argoverse 数据集,为自动驾驶研究社区提供了宝贵资源。
常见问题#
Ultralytics Argoverse 数据集(Argoverse-HD)是一个 2D目标检测数据集,包含 54,446 张自动驾驶图像,涵盖 8 个类别:行人、自行车、汽车、摩托车、公交车、卡车、交通信号灯和停车标志。该数据集用于训练和评估模型,以便从车辆前向摄像头画面中检测道路目标,并支持自动驾驶感知、ADAS 和交通监控研究。
Argoverse-HD 数据集包含 8 个类别(行人、自行车、汽车、摩托车、公交车、卡车、交通信号灯和停车标志)和 54,446 张已标注图像:其中 39,384 张用于训练,15,062 张用于验证;此外还有一个未标注的测试集,供 eval.ai 挑战赛使用。
在 Ultralytics 中,它是一个 2D 目标检测数据集(Argoverse-HD 摄像头帧及其 2D 边界框),而不是更广泛的 Argoverse 项目中的 3D 跟踪、运动预测或 LiDAR 研究套件。你可以使用
yolo26n.pt等标准检测模型进行训练。先手动下载数据集(见下文),然后使用
Argoverse.yaml配置文件进行训练:示例from ultralytics import YOLO # 加载模型 model = YOLO("yolo26n.pt") # 加载预训练模型(推荐用于训练) # 训练模型 results = model.train(data="Argoverse.yaml", epochs=100, imgsz=640)有关参数的详细说明,请参阅模型的训练页面。
此前托管在 Amazon S3 上的 Argoverse-HD
*.zip文件(约 31.5 GB)现在可以从 Google Drive 手动下载。自动下载无法使用,因此请先获取压缩包并将其解压到数据集目录下的Argoverse文件夹,再运行训练命令。可以。Ultralytics Platform 支持上传和版本管理 Argoverse-HD 等大型数据集,然后在云端训练和部署目标检测模型,无需在本地进行繁重的环境配置。你还可以在检测数据集概览中浏览相关数据集。



