コンテンツへスキップ

アルゴバース・データセット

Argoverseデータセットは、3Dトラッキング、モーション予測、ステレオ深度推定などの自律走行タスクの研究をサポートするために設計されたデータ集です。Argo AIによって開発されたこのデータセットは、高解像度画像、LiDAR点群、地図データなど、幅広い高品質センサーデータを提供します。

アルゴバース・データセット *.zip トレーニングに必要なファイルは、フォードによるアルゴAIのシャットダウン後、Amazon S3から削除されました。 Google ドライブ.

主な特徴

  • Argoverseには、ラベル付けされた29万以上の3Dオブジェクトトラックと、1263の異なるシーンにわたる500万のオブジェクトインスタンスが含まれています。
  • データセットには、高解像度カメラ画像、LiDAR点群、豊富な注釈付きHD地図が含まれる。
  • 注釈には、オブジェクトの3Dバウンディングボックス、オブジェクトの軌跡、軌跡情報などが含まれる。
  • Argoverseは、3Dトラッキング、モーション予測、ステレオ深度推定など、異なるタスクのための複数のサブセットを提供する。

データセット構造

Argoverseデータセットは3つのサブセットに分かれている:

  1. Argoverse 3Dトラッキング:このサブセットには、3Dオブジェクト追跡タスクに焦点を当てた、290K以上のラベル付き3Dオブジェクトトラックを持つ113のシーンが含まれています。LiDARポイントクラウド、カメラ画像、センサーキャリブレーション情報が含まれています。
  2. Argoverseモーション予測:このサブセットは、60時間の走行データから収集された324Kの車両軌跡から構成され、モーション予測タスクに適しています。
  3. Argoverseステレオ深度推定:このサブセットはステレオ深度推定タスク用に設計されており、グランドトゥルースの深度推定用に対応するLiDAR点群とともに10K以上のステレオ画像ペアが含まれています。

アプリケーション

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 (Yet Another Markup Language) ファイルはデータセットの設定を定義するために使われる。このファイルには、データセットのパス、クラス、その他の関連情報が含まれている。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マップ情報などの多様なセンサーデータが含まれており、自律走行タスクに豊富なコンテキストを提供します。以下は、データセットからのデータの例と、それらに対応するアノテーションです:

データセットサンプル画像

  • Argoverse 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データセットとその主な特徴とは?

ArgoAIが開発したArgoverseデータセットは、自律走行研究をサポートしている。このデータセットには、1,263の異なるシーンにわたる29万以上のラベル付き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データセットの構造は?

データセットは主に3つのサブセットに分かれている:

  1. Argoverse 3Dトラッキング:3Dオブジェクト追跡タスクに焦点を当てた、290K以上のラベル付き3Dオブジェクトトラックを含む113のシーンが含まれています。LiDAR点群、カメラ画像、センサーキャリブレーション情報が含まれています。
  2. Argoverseモーション予測:60時間の走行データから収集された324Kの車両軌跡から構成され、モーション予測タスクに適しています。
  3. Argoverseステレオ深度推定:グランドトゥルースの深度推定用に、対応するLiDAR点群との10K以上のステレオ画像ペアが含まれています。

Argoverse のデータセットが Amazon S3 から削除されましたが、どこでダウンロードできますか?

アルゴバース・データセット *.zip 以前はAmazon S3で入手できたが、現在は以下から手動でダウンロードできる。 Google ドライブ.

Argoverseデータセットで使用されるYAML設定ファイルとは何ですか?

YAMLファイルには、データセットのパス、クラス、その他の重要な情報が含まれている。Argoverseデータセットの場合は、設定ファイルです、 Argoverse.yaml以下のリンクからご覧いただけます: Argoverse.yaml.

YAML設定の詳細については、データセットガイドを参照してください。

📅 Created 11 months ago ✏️ Updated 22 days ago

コメント