Link to this sectionArgoverseデータセット#
Ultralytics Argoverseデータセット(Argoverse-HD)は、54,446枚のラベル付き自動運転画像(トレーニング用39,384枚、検証用15,062枚)からなる2D物体検出データセットであり、8つのクラス(人、自転車、自動車、オートバイ、バス、トラック、信号機、一時停止標識)が含まれています。画像は車両のリングフロントセンターカメラから撮影され、アノテーションはカーネギーメロン大学のストリーミング認識プロジェクトがArgo AIのArgoverse 1.1運転データに基づいて作成したものです。これは、自動運転シナリオにおける道路上の物体を検出するためのコンピュータビジョンモデルをトレーニングするための大規模な実世界ベンチマークです。
トレーニングに必要なArgoverse-HDの*.zipファイル(約31.5 GB)は、FordによるArgo AIの閉鎖後、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設定で定義される3つの事前定義済みサブセットに分割されています:
| 分割 | 画像 | ラベル |
|---|---|---|
| トレーニング | 39,384 | はい |
| バリデーション | 15,062 | はい |
| テスト | — | ラベルなし(eval.aiチャレンジ) |
すべての画像は同一の8つのオブジェクトクラス(インデックス0~7)を共有しています:人、自転車、自動車、オートバイ、バス、トラック、信号機、一時停止標識。
手動ダウンロード後、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 🚀 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 labelsLink to this section使用方法#
ArgoverseデータセットでYOLO26nモデルを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)トレーニング完了後、微調整されたモデルを使用して新しい走行画像や動画で推論を実行します:
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バウンディングボックスがアノテーションされています。以下はデータセット内の画像とそのアノテーションの例です:
![]()
- 注釈付き走行シーン: この画像は、自動車や歩行者などの道路オブジェクトを示しており、YOLOモデルがトレーニング中に予測することを学習する形式である2Dバウンディングボックスでラベル付けされています。
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の検出アノテーションを提供したカーネギーメロン大学、および自動運転研究コミュニティのための貴重なリソースとして元のArgoverseデータセットを作成したArgo AIに感謝いたします。
Link to this sectionよくある質問 (FAQ)#
Link to this sectionArgoverseデータセットとは何か、また何に使用されるのか?#
Ultralytics Argoverseデータセット (Argoverse-HD) は、8つのクラス(人、自転車、自動車、オートバイ、バス、トラック、信号機、一時停止標識)にわたる54,446枚の自動運転画像からなる2D物体検出データセットです。車両前方のカメラから道路上の物体を検出するモデルをトレーニングおよび評価するために使用され、自動運転認識、ADAS、交通監視の研究をサポートします。
Link to this sectionArgoverseデータセットにはいくつのクラスと画像があるか?#
Argoverse-HDデータセットには8つのクラス(人、自転車、自動車、オートバイ、バス、トラック、信号機、一時停止標識)と54,446枚のラベル付き画像(トレーニング用39,384枚、検証用15,062枚)に加え、eval.aiチャレンジ用に確保されたラベルなしのテスト分割が含まれています。
Link to this sectionArgoverseデータセットはUltralyticsで2D検出か3D検出か?#
Ultralyticsにおいて、これは2D物体検出データセット(2Dバウンディングボックス付きのArgoverse-HDカメラフレーム)であり、より広範なArgoverseプログラムの3Dトラッキング、モーション予測、またはLiDAR研究スイートではありません。これは標準的な検出モデル(例: yolo26n.pt)でトレーニングします。
Link to this sectionArgoverseデータセットを使用して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)引数の詳細な説明については、モデルのトレーニングページを参照してください。
Link to this sectionAmazon S3から削除された現在、Argoverseデータセットはどこからダウンロードできますか?#
以前はAmazon S3でホストされていたArgoverse-HD *.zipファイル(約31.5 GB)は、現在Google Driveから手動でダウンロードできます。自動ダウンロードは機能しないため、トレーニングコマンドを実行する前にアーカイブを取得してください。
Link to this sectionArgoverseデータセットをUltralytics Platformで使用できるか?#
はい。Ultralytics Platformでは、Argoverse-HDのような大規模なデータセットをアップロードおよびバージョン管理し、複雑なローカルセットアップなしでクラウド上で物体検出モデルをトレーニングおよびデプロイできます。また、検出データセットの概要で関連データセットを参照することも可能です。