Набор данных Argoverse#
Набор данных Ultralytics Argoverse (Argoverse-HD) предназначен для 2D-обнаружения объектов и содержит 54 446 размеченных изображений для автономного вождения: 39 384 для обучения и 15 062 для валидации, распределенных по 8 классам: человек, велосипед, автомобиль, мотоцикл, автобус, грузовик, светофор и знак «Стоп». Изображения сняты фронтальной центральной камерой, установленной на автомобиле, а аннотации взяты из проекта потокового восприятия Университета Карнеги — Меллона, основанного на данных для вождения Argoverse 1.1 от Argo AI. Это масштабный бенчмарк на реальных данных для обучения моделей компьютерного зрения, распознающих объекты на дорогах в сценариях автономного вождения.
Открой Argoverse-HD на платформе Ultralytics, чтобы просмотреть примеры с аннотациями, изучить статистику набора данных и клонировать его для обучения.
Файл *.zip набора данных Argoverse-HD (~31,5 ГБ), необходимый для обучения, был удален с Amazon S3 после закрытия Argo AI компанией Ford. Его можно скачать вручную с Google Drive. Автоматическая загрузка не сработает: скачай архив и распакуй его в папку Argoverse каталога с наборами данных до начала обучения.
Основные особенности#
- 8 классов для обнаружения объектов: человек, велосипед, автомобиль, мотоцикл, автобус, грузовик, светофор и знак «Стоп».
- 54 446 размеченных изображений — 39 384 для обучения и 15 062 для валидации, а также неразмеченная тестовая выборка, зарезервированная для соревнования eval.ai.
- ~31,5 ГБ кадров высокого разрешения с фронтальной центральной камеры, снятых в городских сценариях автономного вождения.
- При первом использовании аннотации автоматически преобразуются в формат 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Использование#
Чтобы обучить модель YOLO26n на датасете Argoverse в течение 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 содержит изображения дорог высокого разрешения, снятые кольцевой фронтально-центральной камерой и размеченные 2D ограничивающими рамками для 8 классов объектов. Ниже приведён пример изображения из датасета с соответствующими аннотациями:

- Размеченная дорожная сцена: на изображении объекты на дороге, например автомобили и пешеходы, размечены 2D ограничивающими рамками — в таком формате модели YOLO учатся предсказывать объекты во время обучения.
Цитирование и благодарности#
Аннотации для обнаружения объектов в 2D, используемые в датасете Argoverse-HD, взяты из работы Carnegie Mellon University по потоковому восприятию. Если используешь датасет в исследованиях или разработке, укажи ссылку:
@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}
}Мы выражаем благодарность Carnegie Mellon University за аннотации для обнаружения объектов в 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 ограничивающими рамками), а не набор данных для исследований 3D-трекинга, прогнозирования движения или LiDAR из более широкой программы Argoverse. Для обучения используй стандартную модель обнаружения, например
yolo26n.pt.Сначала вручную скачай датасет (см. ниже), затем запусти обучение с файлом конфигурации
Argoverse.yaml:Примерfrom ultralytics import YOLO # Загрузить модель model = YOLO("yolo26n.pt") # загрузить предварительно обученную модель (рекомендуется для обучения) # Обучить модель results = model.train(data="Argoverse.yaml", epochs=100, imgsz=640)Подробное описание аргументов смотри на странице обучения модели.
Файл
*.zipдатасета Argoverse-HD (~31.5 GB), который раньше размещался на Amazon S3, теперь можно вручную скачать с Google Drive. Автоматическая загрузка не сработает, поэтому скачай архив и распакуй его в папкуArgoverseв каталоге с датасетами, прежде чем запускать обучение.Да. Ultralytics Platform позволяет загружать большие датасеты, например Argoverse-HD, управлять их версиями, а затем обучать и развёртывать модели обнаружения объектов в облаке без сложной локальной настройки. Также ты можешь просматривать связанные датасеты в обзоре датасетов для обнаружения объектов.



