企业级安全保障: 符合 ISO 27001 + SOC 2 Type I 标准。

Link to this sectionArgoverse 数据集#

Ultralytics Argoverse 数据集 (Argoverse-HD) 是一个包含 54,446 张自动驾驶标注图像的 2D 目标检测数据集——其中 39,384 张用于训练,15,062 张用于验证——涵盖 8 个类别:行人、自行车、汽车、摩托车、公交车、卡车、交通灯和停车标志。这些图像是从车辆的环绕前视中心摄像头拍摄的,注释来自卡内基梅隆大学的流感知项目,该项目基于 Argo AI 的 Argoverse 1.1 驾驶数据。这是一个用于训练 计算机视觉 模型以在自动驾驶场景中检测道路物体的大型真实世界基准。

需要手动下载

在 Ford 关闭 Argo AI 后,训练所需的 Argoverse-HD *.zip 文件 (~31.5 GB) 已从 Amazon S3 中移除。该文件可从 Google Drive 手动下载——自动下载将无法工作,因此请在训练前下载该压缩包。

Link to this section主要特性#

  • 8 个目标检测类别:行人、自行车、汽车、摩托车、公交车、卡车、交通灯和停车标志。
  • 54,446 张标注图像——其中 39,384 张用于训练,15,062 张用于验证——外加一个为 eval.ai 挑战赛保留的未标注测试集。
  • ~31.5 GB 的高分辨率环绕前视中心摄像头帧,拍摄于城市自动驾驶场景。
  • 注释在首次使用时会自动转换为 YOLO 格式,因此该数据集可直接用于 Ultralytics YOLO 检测模型进行训练。

Link to this section数据集结构#

Argoverse-HD 数据集分为三个预定义的子集,由 Argoverse.yaml 配置文件定义:

拆分图像标签
训练39,384
验证15,062
测试未标注 (eval.ai 挑战赛)

所有图像共享相同的 8 个对象类别(索引 0–7):行人、自行车、汽车、摩托车、公交车、卡车、交通灯和停车标志。

自动 YOLO 转换

手动下载后,Ultralytics 会在你首次训练时自动将原始 Argoverse-HD 注释转换为 YOLO 检测标签,因此无需手动预处理。

Link to this section应用#

Argoverse-HD 数据集支持自动驾驶中的一系列 目标检测 应用:

  • 自动驾驶感知 — 通过前向摄像头检测车辆、行人和骑行者,以支持 自动驾驶车辆 导航。
  • 高级驾驶辅助系统 (ADAS) — 识别交通灯和停车标志以提供实时驾驶警报。
  • 交通监控 — 在城市场景中对道路使用者进行计数和跟踪,用于智慧城市分析。
  • 研究与原型设计 — 一个大型、真实的基准,用于学习驾驶数据上的 模型训练预测

Link to this section数据集 YAML#

YAML 文件定义了数据集配置,包括路径、类别和其他相关详情。对于 Argoverse 数据集,Argoverse.yaml 文件维护在 https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/Argoverse.yaml

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

Link to this section用法#

若要使用图像大小为 640 的 YOLO26n 模型在 Argoverse 数据集上进行 100 个 轮次 (epochs) 的训练,请使用以下代码示例。有关可用参数的完整列表,请参阅模型 训练 页面。

训练示例
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)

训练完成后,使用微调后的模型对新的驾驶图像或视频运行 推理

推理示例
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")

Link to this section示例数据与标注#

Argoverse-HD 数据集包含从环绕前视中心摄像头拍摄的高分辨率驾驶图像,并为 8 个对象类别标注了 2D 边界框。下面是来自该数据集的示例图像及其对应的注释:

Argoverse-HD 自动驾驶场景及标注道路物体

  • 标注的驾驶场景:此图像显示了道路物体(例如车辆和行人),并用 2D 边界框进行了标注,这是 YOLO 模型在训练期间学习预测的格式。

Link to this section引用与致谢#

此数据集中使用的 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 数据集,使其成为自动驾驶研究社区的一项宝贵资源。

Link to this section常见问题解答#

Link to this section什么是 Argoverse 数据集,它有什么用途?#

Ultralytics Argoverse 数据集 (Argoverse-HD) 是一个包含 54,446 张自动驾驶图像的 2D 目标检测数据集,涵盖 8 个类别——行人、自行车、汽车、摩托车、公交车、卡车、交通灯和停车标志。它用于训练和评估从前向车载摄像头检测道路物体的模型,支持自动驾驶感知、ADAS 和交通监控研究。

Link to this sectionArgoverse 数据集中有多少类别和图像?#

Argoverse-HD 数据集拥有 8 个类别(行人、自行车、汽车、摩托车、公交车、卡车、交通灯和停车标志)和 54,446 张标注图像——其中 39,384 张用于训练,15,062 张用于验证——外加一个为 eval.ai 挑战赛保留的未标注测试集。

Link to this section在 Ultralytics 中,Argoverse 数据集是 2D 还是 3D 检测?#

在 Ultralytics 中,它是一个 2D 目标检测数据集(带有 2D 边界框的 Argoverse-HD 摄像头帧),而不是更广泛的 Argoverse 项目中的 3D 跟踪、运动预测或 LiDAR 研究套件。你使用标准的检测模型(例如 yolo26n.pt)进行训练。

Link to this section如何使用 Argoverse 数据集训练 YOLO26 模型?#

先手动下载数据集(见下文),然后使用 Argoverse.yaml 配置文件进行训练:

示例
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)

有关参数的详细说明,请参考模型 Training 页面。

Link to this section既然 Argoverse 数据集已从 Amazon S3 中移除,我现在在哪里可以下载它?#

之前托管在 Amazon S3 上的 Argoverse-HD *.zip 文件 (~31.5 GB),现在可以从 Google Drive 手动下载。自动下载将无法工作,因此请在运行训练命令之前获取该存档。

Link to this section我可以在 Ultralytics Platform 上使用 Argoverse 数据集吗?#

可以。Ultralytics Platform 让你能够上传和版本管理像 Argoverse-HD 这样的大型数据集,然后在云端训练和部署 目标检测 模型,而无需繁琐的本地设置。你也可以在 检测数据集概览 中浏览相关数据集。

评论