Безопасность корпоративного уровня: Соответствует ISO 27001 + SOC 2 Type I.

Link to this sectionНабор данных Argoverse#

Набор данных Ultralytics Argoverse (Argoverse-HD) — это набор данных для 2D обнаружения объектов, содержащий 54 446 размеченных изображений автономного вождения — 39 384 для обучения и 15 062 для валидации — по 8 классам: человек, велосипед, автомобиль, мотоцикл, автобус, грузовик, светофор и знак «стоп». Изображения получены с фронтальной камеры автомобиля, а аннотации взяты из проекта по потоковому восприятию Университета Карнеги — Меллона, построенного на основе данных вождения Argo AI Argoverse 1.1. Это масштабный реальный эталон для обучения моделей компьютерного зрения распознаванию дорожных объектов в сценариях беспилотного вождения.

Требуется загрузка вручную

Файл *.zip для Argoverse-HD (~31,5 ГБ), необходимый для обучения, был удален с Amazon S3 после закрытия Argo AI компанией Ford. Он доступен для ручной загрузки с Google Drive — автоматическая загрузка не сработает, поэтому скачай архив перед началом обучения.

Link to this sectionКлючевые особенности#

  • 8 классов обнаружения объектов: человек, велосипед, автомобиль, мотоцикл, автобус, грузовик, светофор и знак «стоп».
  • 54 446 размеченных изображений — 39 384 для обучения и 15 062 для валидации — плюс неразмеченный тестовый набор, зарезервированный для конкурса eval.ai.
  • ~31,5 ГБ кадров высокого разрешения с фронтальной камеры, снятых в условиях городского автономного вождения.
  • Аннотации автоматически преобразуются в формат YOLO при первом использовании, поэтому набор данных сразу готов к работе с моделями обнаружения Ultralytics YOLO.

Link to this sectionСтруктура набора данных#

Набор данных Argoverse-HD разделен на три предопределенных подмножества, описанных в конфигурации Argoverse.yaml:

SplitИзображенияМетки
Обучение39 384Да
Validation15 062Да
ТестовыйБез разметки (конкурс eval.ai)

Все изображения содержат одни и те же 8 классов объектов (индексы 0–7): человек, велосипед, автомобиль, мотоцикл, автобус, грузовик, светофор и знак «стоп».

Автоматическое преобразование YOLO

После ручной загрузки Ultralytics автоматически преобразует исходные аннотации Argoverse-HD в метки обнаружения YOLO при первом запуске обучения, поэтому ручная предобработка не требуется.

Link to this sectionПрименение#

Набор данных Argoverse-HD поддерживает ряд приложений обнаружения объектов в автономном вождении:

  • Восприятие для беспилотных автомобилей — обнаружение транспортных средств, пешеходов и велосипедистов с фронтальной камеры для поддержки навигации автономных транспортных средств.
  • Усовершенствованные системы помощи водителю (ADAS) — распознавание светофоров и знаков «стоп» для оповещения водителя в реальном времени.
  • Мониторинг дорожного движения — подсчет и отслеживание участников дорожного движения в городских условиях для аналитики «умного города».
  • Исследования и прототипирование — крупный реальный эталон для изучения обучения моделей и предсказания на данных вождения.

Link to this sectionYAML набора данных#

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Использование#

Чтобы обучить модель YOLO26n на наборе данных Argoverse в течение 100 эпох с размером изображения 640, используй следующие примеры кода. Полный список доступных аргументов см. на странице обучения модели.

Пример обучения
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)

После обучения запусти инференс с помощью дообученной модели на новых изображениях или видео вождения:

Пример вывода (Inference)
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 содержит изображения высокого разрешения, снятые фронтальной камерой, с аннотациями в виде 2D ограничивающих рамок для 8 классов объектов. Ниже представлен пример изображения из набора данных с соответствующими аннотациями:

Сцена автономного вождения Argoverse-HD с аннотированными дорожными объектами

  • Аннотированная сцена вождения: на этом изображении показаны дорожные объекты — например, транспортные средства и пешеходы, — помеченные 2D ограничивающими рамками, формат которых модели YOLO учатся предсказывать во время обучения.

Link to this sectionЦитирование и благодарности#

Аннотации 2D обнаружения Argoverse-HD, используемые в этом наборе данных, взяты из работы по потоковому восприятию Университета Карнеги — Меллона. Если ты используешь этот набор данных в своих исследованиях или разработках, пожалуйста, укажи источник:

Цитата
@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 sectionFAQ#

Link to this sectionЧто такое набор данных Argoverse и для чего он используется?#

Набор данных Ultralytics Argoverse (Argoverse-HD) — это набор данных для 2D обнаружения объектов, содержащий 54 446 изображений автономного вождения по 8 классам: человек, велосипед, автомобиль, мотоцикл, автобус, грузовик, светофор и знак «стоп». Он используется для обучения и оценки моделей, которые обнаруживают дорожные объекты с помощью фронтальной камеры автомобиля, поддерживая исследования в области восприятия для беспилотного вождения, ADAS и мониторинга дорожного движения.

Link to this sectionСколько классов и изображений в наборе данных Argoverse?#

Набор данных Argoverse-HD содержит 8 классов (человек, велосипед, автомобиль, мотоцикл, автобус, грузовик, светофор и знак «стоп») и 54 446 размеченных изображений — 39 384 для обучения и 15 062 для валидации, — а также неразмеченный тестовый набор, зарезервированный для конкурса eval.ai.

Link to this sectionЯвляется ли набор данных Argoverse в Ultralytics 2D или 3D обнаружением?#

В Ultralytics это набор данных для 2D обнаружения объектов (кадры камеры Argoverse-HD с 2D ограничивающими рамками), а не пакет для 3D-отслеживания, прогнозирования движения или LiDAR-исследований из более широкой программы Argoverse. Ты можешь обучать его с помощью стандартной модели обнаружения, такой как yolo26n.pt.

Link to this sectionКак обучить модель YOLO26, используя набор данных Argoverse?#

Сначала загрузи набор данных вручную (см. ниже), затем запусти обучение с использованием файла конфигурации 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?#

Файл *.zip для Argoverse-HD (~31,5 ГБ), ранее размещенный на Amazon S3, теперь можно загрузить вручную с Google Drive. Автоматическая загрузка не сработает, поэтому получи архив перед выполнением команды обучения.

Link to this sectionМогу ли я использовать набор данных Argoverse с платформой Ultralytics?#

Да. Платформа Ultralytics позволяет загружать и версионировать большие наборы данных, такие как Argoverse-HD, а затем обучать и развертывать модели обнаружения объектов в облаке без сложной локальной настройки. Ты также можешь просмотреть похожие наборы данных в обзоре наборов данных для обнаружения.

Комментарии