콘텐츠로 건너뛰기

Argoverse 데이터 세트

Argoverse 데이터 세트는 3D 추적, 동작 예측, 스테레오 깊이 추정과 같은 자율 주행 작업의 연구를 지원하기 위해 설계된 데이터 모음입니다. Argo AI에서 개발한 이 데이터 세트는 고해상도 이미지, LiDAR 포인트 클라우드, 지도 데이터를 포함한 다양한 고품질 센서 데이터를 제공합니다.

참고

Argoverse 데이터 세트 *.zip 훈련에 필요한 파일은 Ford의 Argo AI 종료 이후 Amazon S3에서 제거되었지만, 다음에서 수동으로 다운로드할 수 있도록 했습니다. Google 드라이브.

주요 기능

  • Argoverse에는 1,263개의 개별 장면에 걸쳐 290만 개 이상의 라벨이 지정된 3D 오브젝트 트랙과 500만 개의 오브젝트 인스턴스가 포함되어 있습니다.
  • 이 데이터 세트에는 고해상도 카메라 이미지, LiDAR 포인트 클라우드, 풍부한 주석이 달린 HD 지도가 포함되어 있습니다.
  • 주석에는 개체에 대한 3D 경계 상자, 개체 트랙 및 궤적 정보가 포함됩니다.
  • Argoverse는 3D 추적, 모션 예측, 스테레오 깊이 추정 등 다양한 작업을 위한 여러 하위 집합을 제공합니다.

데이터 세트 구조

Argoverse 데이터 세트는 세 가지 주요 하위 집합으로 구성됩니다:

  1. 아르고버스 3D 트래킹: 이 하위 집합에는 3D 객체 추적 작업에 중점을 둔 290K 이상의 레이블이 지정된 3D 객체 트랙이 있는 113개의 장면이 포함되어 있습니다. 여기에는 LiDAR 포인트 클라우드, 카메라 이미지, 센서 보정 정보가 포함됩니다.
  2. 아르고버스 모션 예측: 이 하위 집합은 60시간의 주행 데이터에서 수집한 32만 4천 개의 차량 궤적으로 구성되며, 모션 예측 작업에 적합합니다.
  3. 아고버스 스테레오 깊이 추정: 이 하위 집합은 스테레오 깊이 추정 작업을 위해 설계되었으며, 지상 실측 깊이 추정을 위해 10K 이상의 스테레오 이미지 쌍과 해당 LiDAR 포인트 클라우드가 포함됩니다.

애플리케이션

The Argoverse dataset is widely used for training and evaluating deep learning models in autonomous driving tasks such as 3D object tracking, motion forecasting, and stereo depth estimation. The dataset's diverse set of sensor data, object annotations, and map information make it a valuable resource for researchers and practitioners in the field of autonomous driving.

데이터 세트 YAML

데이터 세트 구성을 정의하는 데는 YAML(또 다른 마크업 언어) 파일이 사용됩니다. 여기에는 데이터 세트의 경로, 클래스 및 기타 관련 정보에 대한 정보가 포함되어 있습니다. Argoverse 데이터 세트의 경우, 데이터 세트의 Argoverse.yaml 파일은 다음 위치에서 유지됩니다. https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/Argoverse.yaml.

ultralytics/cfg/datasets/Argoverse.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license
# Argoverse-HD dataset (ring-front-center camera) https://www.cs.cmu.edu/~mengtial/proj/streaming/ by Argo AI
# 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: ../datasets/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 tqdm import tqdm
  from ultralytics.utils.downloads import download
  from pathlib import Path

  def argoverse2yolo(set):
      labels = {}
      a = json.load(open(set, "rb"))
      for annot in tqdm(a['annotations'], desc=f"Converting {set} to YOLOv5 format..."):
          img_id = annot['image_id']
          img_name = a['images'][img_id]['name']
          img_label_name = f'{img_name[:-3]}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 = set.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") as f:
              f.writelines(labels[k])


  # Download 'https://argoverse-hd.s3.us-east-2.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

사용법

To train a YOLO11n model on the Argoverse dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model Training page.

열차 예시

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="Argoverse.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=Argoverse.yaml model=yolo11n.pt epochs=100 imgsz=640

샘플 데이터 및 주석

Argoverse 데이터 세트에는 카메라 이미지, LiDAR 포인트 클라우드, HD 지도 정보 등 다양한 센서 데이터가 포함되어 있어 자율주행 작업에 대한 풍부한 컨텍스트를 제공합니다. 다음은 데이터 세트의 몇 가지 데이터 예시와 해당 주석입니다:

데이터 세트 샘플 이미지

  • 아르고버스 3D 트래킹: 이 이미지는 3D 객체에 3D 바운딩 박스로 주석이 달린 3D 객체 추적의 예를 보여줍니다. 이 데이터 세트는 이 작업을 위한 모델을 쉽게 개발할 수 있도록 LiDAR 포인트 클라우드와 카메라 이미지를 제공합니다.

이 예시는 Argoverse 데이터 세트에 포함된 데이터의 다양성과 복잡성을 보여주며, 자율주행 작업에서 고품질 센서 데이터의 중요성을 강조합니다.

인용 및 감사

연구 또는 개발 작업에 Argoverse 데이터 세트를 사용하는 경우 다음 논문을 인용해 주세요:

@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 데이터세트를 만들고 유지 관리해 주신 Argo AI에 감사의 말씀을 전합니다. Argoverse 데이터 세트와 제작자에 대한 자세한 내용은 Argoverse 데이터 세트 웹사이트를 참조하세요.

자주 묻는 질문

Argoverse 데이터 세트와 주요 기능은 무엇인가요?

Argo AI가 개발한 Argoverse 데이터 세트는 자율 주행 연구를 지원합니다. 여기에는 1,263개의 개별 장면에 걸쳐 290만 개 이상의 레이블이 지정된 3D 객체 트랙과 500만 개의 객체 인스턴스가 포함되어 있습니다. 이 데이터 세트는 고해상도 카메라 이미지, LiDAR 포인트 클라우드, 주석이 달린 HD 지도를 제공하므로 3D 추적, 동작 예측, 스테레오 깊이 추정과 같은 작업에 유용하게 사용할 수 있습니다.

Argoverse 데이터 세트를 사용하여 Ultralytics YOLO 모델을 훈련하려면 어떻게 해야 하나요?

To train a YOLO11 model with the Argoverse dataset, use the provided YAML configuration file and the following code:

열차 예시

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="Argoverse.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=Argoverse.yaml model=yolo11n.pt epochs=100 imgsz=640

인수에 대한 자세한 설명은 모델 트레이닝 페이지를 참조하세요.

Argoverse 데이터 세트에서 사용할 수 있는 데이터 및 주석 유형은 무엇인가요?

Argoverse 데이터 세트에는 고해상도 카메라 이미지, LiDAR 포인트 클라우드, HD 지도 데이터 등 다양한 센서 데이터 유형이 포함되어 있습니다. 주석에는 3D 바운딩 박스, 오브젝트 트랙, 궤적 정보가 포함됩니다. 이러한 포괄적인 주석은 3D 객체 추적, 모션 예측, 스테레오 깊이 추정과 같은 작업에서 정확한 모델 학습을 위해 필수적입니다.

Argoverse 데이터 세트는 어떻게 구조화되어 있나요?

데이터 집합은 세 가지 주요 하위 집합으로 나뉩니다:

  1. Argoverse 3D 트래킹: 3D 객체 추적 작업에 중점을 둔 290K 이상의 레이블이 지정된 3D 객체 트랙이 포함된 113개 장면이 포함되어 있습니다. 여기에는 LiDAR 포인트 클라우드, 카메라 이미지, 센서 보정 정보가 포함됩니다.
  2. 아르고버스 모션 예측: 60시간의 주행 데이터에서 수집한 32만 4천 개의 차량 궤적으로 구성되며, 모션 예측 작업에 적합합니다.
  3. 아르고버스 스테레오 깊이 추정: 지상 실측 깊이 추정을 위해 10K 이상의 스테레오 이미지 쌍과 해당 LiDAR 포인트 클라우드가 포함됩니다.

이제 Amazon S3에서 제거된 Argoverse 데이터 세트는 어디에서 다운로드할 수 있나요?

Argoverse 데이터 세트 *.zip 파일은 이전에는 Amazon S3에서 사용할 수 있었지만 이제 다음에서 수동으로 다운로드할 수 있습니다. Google 드라이브.

Argoverse 데이터 세트에 사용되는 YAML 구성 파일은 어떤 용도로 사용되나요?

YAML 파일에는 데이터 세트의 경로, 클래스 및 기타 필수 정보가 포함되어 있습니다. Argoverse 데이터 세트의 경우, 구성 파일입니다, Argoverse.yaml는 다음 링크에서 확인할 수 있습니다: Argoverse.yaml.

YAML 구성에 대한 자세한 내용은 데이터 세트 가이드를 참조하세요.

📅 Created 11 months ago ✏️ Updated 22 days ago

댓글