Argoverse 데이터셋
Argoverse 데이터셋은 3D 추적, 모션 예측, 스테레오 깊이 추정 등 자율 주행 작업 연구를 지원하기 위해 설계된 데이터 모음입니다. Argo AI가 개발한 이 데이터셋은 고해상도 이미지, LiDAR 포인트 클라우드, 지도 데이터를 포함한 다양한 고품질 센서 데이터를 제공합니다.
학습에 필요한 Argoverse 데이터셋 *.zip 파일은 Ford의 Argo AI 인수 후 운영 종료로 인해 Amazon S3에서 삭제되었지만, Google Drive에서 수동으로 다운로드할 수 있도록 제공하고 있습니다.
주요 특징
- Argoverse는 1,263개의 고유한 장면에 걸쳐 29만 개 이상의 레이블된 3D 객체 트랙과 500만 개의 객체 인스턴스를 포함합니다.
- 데이터셋에는 고해상도 카메라 이미지, LiDAR 포인트 클라우드, 풍부하게 주석이 달린 HD 지도가 포함됩니다.
- 주석에는 객체에 대한 3D 바운딩 박스, 객체 트랙 및 궤적 정보가 포함됩니다.
- Argoverse는 3D 추적, 모션 예측, 스테레오 깊이 추정 등 다양한 작업을 위한 여러 하위 집합을 제공합니다.
데이터셋 구조
Argoverse 데이터셋은 세 가지 주요 하위 집합으로 구성됩니다:
- Argoverse 3D 추적: 이 하위 집합에는 3D 객체 추적 작업에 중점을 둔 29만 개 이상의 레이블된 3D 객체 트랙이 포함된 113개의 장면이 포함됩니다. LiDAR 포인트 클라우드, 카메라 이미지 및 센서 보정 정보가 포함됩니다.
- Argoverse 모션 예측: 이 하위 집합은 60시간의 주행 데이터에서 수집된 32만 4천 개의 차량 궤적으로 구성되어 모션 예측 작업에 적합합니다.
- Argoverse 스테레오 깊이 추정: 이 하위 집합은 스테레오 깊이 추정 작업을 위해 설계되었으며, 지상 실측 깊이 추정을 위한 LiDAR 포인트 클라우드와 함께 1만 개 이상의 스테레오 이미지 쌍이 포함됩니다.
응용 분야
Argoverse 데이터셋은 3D 객체 추적, 모션 예측, 스테레오 깊이 추정 등 자율 주행 작업에서 딥러닝 모델을 학습하고 평가하는 데 널리 사용됩니다. 데이터셋의 다양한 센서 데이터, 객체 주석 및 지도 정보는 자율 주행 분야의 연구자와 실무자에게 귀중한 자원이 됩니다.
데이터셋 YAML
YAML(Yet Another Markup Language) 파일은 데이터셋 구성을 정의하는 데 사용됩니다. 데이터셋의 경로, 클래스 및 기타 관련 정보를 포함합니다. 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.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사용법
이미지 크기 640으로 100 에포크 동안 Argoverse 데이터셋에서 YOLO26n 모델을 학습하려면 다음 코드 스니펫을 사용할 수 있습니다. 사용 가능한 인수의 전체 목록은 모델 학습 페이지를 참조하십시오.
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)샘플 데이터 및 주석
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 데이터셋이란 무엇이며 주요 특징은 무엇입니까?
Argo AI가 개발한 Argoverse 데이터셋은 자율 주행 연구를 지원합니다. 1,263개의 고유한 장면에 걸쳐 29만 개 이상의 레이블된 3D 객체 트랙과 500만 개의 객체 인스턴스를 포함합니다. 데이터셋은 고해상도 카메라 이미지, LiDAR 포인트 클라우드, 주석이 달린 HD 지도를 제공하여 3D 추적, 모션 예측, 스테레오 깊이 추정과 같은 작업에 유용합니다.
Argoverse 데이터셋을 사용하여 Ultralytics YOLO 모델을 학습하려면 어떻게 합니까?
Argoverse 데이터셋으로 YOLO26 모델을 학습하려면 제공된 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)인수에 대한 자세한 설명은 모델 학습 페이지를 참조하십시오.
Argoverse 데이터셋에서 어떤 유형의 데이터와 주석을 사용할 수 있습니까?
Argoverse 데이터셋에는 고해상도 카메라 이미지, LiDAR 포인트 클라우드, HD 지도 데이터 등 다양한 센서 데이터 유형이 포함됩니다. 주석에는 3D 바운딩 박스, 객체 트랙 및 궤적 정보가 포함됩니다. 이러한 포괄적인 주석은 3D 객체 추적, 모션 예측, 스테레오 깊이 추정과 같은 작업에서 정확한 모델 학습을 위해 필수적입니다.
Argoverse 데이터셋은 어떻게 구성되어 있습니까?
데이터셋은 세 가지 주요 하위 집합으로 나뉩니다:
- Argoverse 3D 추적: 3D 객체 추적 작업에 중점을 둔 29만 개 이상의 레이블된 3D 객체 트랙이 포함된 113개의 장면으로 구성됩니다. LiDAR 포인트 클라우드, 카메라 이미지 및 센서 보정 정보가 포함됩니다.
- Argoverse 모션 예측: 60시간의 주행 데이터에서 수집된 32만 4천 개의 차량 궤적으로 구성되어 모션 예측 작업에 적합합니다.
- Argoverse 스테레오 깊이 추정: 지상 실측 깊이 추정을 위한 LiDAR 포인트 클라우드와 함께 1만 개 이상의 스테레오 이미지 쌍이 포함됩니다.
Amazon S3에서 삭제된 Argoverse 데이터셋을 어디에서 다운로드할 수 있습니까?
Amazon S3에서 이전에 제공되었던 Argoverse 데이터셋 *.zip 파일은 이제 Google Drive에서 수동으로 다운로드할 수 있습니다.
Argoverse 데이터셋에 YAML 구성 파일은 어떻게 사용됩니까?
YAML 파일에는 데이터셋의 경로, 클래스 및 기타 필수 정보가 포함됩니다. Argoverse 데이터셋의 경우 구성 파일 Argoverse.yaml은 다음 링크에서 찾을 수 있습니다: Argoverse.yaml.
YAML 구성에 대한 자세한 내용은 데이터셋 가이드를 참조하십시오.