Argoverse 데이터셋#
Ultralytics Argoverse 데이터셋(Argoverse-HD)은 사람, 자전거, 자동차, 오토바이, 버스, 트럭, 신호등, 정지 표지판의 8개 클래스에 걸쳐 54,446개의 라벨이 지정된 자율주행 이미지(훈련용 39,384개, 검증용 15,062개)로 구성된 2D object detection 데이터셋입니다. 이 이미지는 차량의 링 전면 중앙 카메라로 촬영되었으며, Argo AI의 Argoverse 1.1 주행 데이터를 기반으로 구축된 카네기 멜론 대학교의 스트리밍 인식 프로젝트에서 주석을 제공했습니다. 이 데이터셋은 자율주행 시나리오에서 도로 객체를 감지하도록 computer vision 모델을 훈련하기 위한 대규모 실제 벤치마크입니다.
어노테이션된 샘플을 미리 보고, 데이터셋 통계를 검사하며, 학습을 위해 복제하려면 Argoverse-HD on Ultralytics Platform을(를) 탐색하세요.
훈련에 필요한 Argoverse-HD *.zip 파일(~31.5 GB)은 포드(Ford)의 Argo AI 폐쇄 이후 Amazon S3에서 제거되었습니다. Google Drive를 통해 수동으로 다운로드할 수 있으며, 자동 다운로드는 작동하지 않으므로 훈련 전에 아카이브를 다운로드하십시오.
주요 특징#
- 8개 객체 탐지 클래스: 사람, 자전거, 자동차, 오토바이, 버스, 트럭, 신호등, 정지 표지판.
- 54,446개의 라벨이 지정된 이미지(훈련용 39,384개, 검증용 15,062개) 및 eval.ai challenge용으로 예약된 라벨이 없는 테스트 분할.
- 도시 자율주행 장면에서 촬영된 ~31.5 GB의 고해상도 링 프론트 센터 카메라 프레임.
- 어노테이션은 처음 사용할 때 자동으로 YOLO 형식으로 변환되므로, 데이터셋은 Ultralytics YOLO 탐지 모델로 직접 학습할 수 있습니다.
데이터셋 구조#
Argoverse-HD 데이터셋은 Argoverse.yaml 설정에 의해 정의된 세 가지 사전 정의된 하위 세트로 나뉩니다.
| Split | 이미지 | 라벨 |
|---|---|---|
| 학습(Train) | 39,384 | 예 |
| 검증 | 15,062 | 예 |
| 테스트 | — | 라벨 없음 (eval.ai challenge) |
모든 이미지는 동일한 8개의 객체 클래스(인덱스 0–7)를 공유합니다: 사람, 자전거, 자동차, 오토바이, 버스, 트럭, 신호등, 정지 표지판.
수동 다운로드 후, Ultralytics는 첫 학습 시 원본 Argoverse-HD 어노테이션을 YOLO 탐지 라벨로 자동 변환하므로 수동 전처리가 필요하지 않습니다.
응용 분야#
Argoverse-HD 데이터셋은 자율주행에서 다양한 object detection 애플리케이션을 지원합니다:
- 자율주행 인식 — autonomous-vehicle 내비게이션을 지원하기 위해 전방 카메라에서 차량, 보행자, 자전거 이용자를 감지합니다.
- 첨단 운전자 보조 시스템 (ADAS) — 실시간 운전자 알림을 위해 신호등과 정지 표지판을 인식합니다.
- 교통 모니터링 — 스마트 시티 분석을 위해 도시 장면의 도로 이용자를 계산하고 추적합니다.
- 연구 및 프로토타이핑 — 주행 데이터에 대한 model training 및 prediction을 학습하기 위한 대규모 실제 벤치마크.
데이터셋 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 labels사용법#
이미지 크기 640으로 100 epochs 동안 Argoverse 데이터셋에서 YOLO26n 모델을 훈련하려면 다음 코드 샘플을 사용하십시오. 사용 가능한 인수에 대한 자세한 내용은 모델 Training 페이지를 참조하십시오.
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")샘플 데이터 및 주석#
Argoverse-HD 데이터셋은 링 프론트 센터 카메라로 촬영된 고해상도 주행 이미지를 포함하며, 8개 객체 클래스에 대한 2D BBox로 어노테이션되어 있습니다. 아래는 해당 데이터셋의 이미지와 그에 대응하는 어노테이션 예시입니다:

- 어노테이션된 주행 장면: 이 이미지는 YOLO 모델이 학습 중에 예측하도록 학습하는 형식인 2D BBox로 라벨링된 도로 객체(예: 차량, 보행자)를 보여줍니다.
인용 및 감사의 글#
이 데이터셋에 사용된 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에 감사를 표합니다.
FAQ#
Ultralytics Argoverse 데이터셋(Argoverse-HD)은 사람, 자전거, 자동차, 오토바이, 버스, 트럭, 신호등, 정지 표지판의 8개 클래스에 걸쳐 있는 54,446개의 자율주행 이미지로 구성된 2D object detection 데이터셋입니다. 이 데이터셋은 전방 차량 카메라에서 도로 객체를 감지하는 모델을 훈련하고 평가하는 데 사용되며, 자율주행 인식, ADAS 및 교통 모니터링 연구를 지원합니다.
Argoverse-HD 데이터셋은 8개의 클래스(사람, 자전거, 자동차, 오토바이, 버스, 트럭, 신호등, 정지 표지판)와 54,446개의 라벨링된 이미지(학습용 39,384개, 검증용 15,062개)를 포함하며, eval.ai 챌린지를 위해 예약된 라벨링되지 않은 테스트 데이터 분할이 추가로 포함되어 있습니다.
Ultralytics에서 이는 더 넓은 Argoverse 프로그램의 3D 추적, 모션 예측 또는 LiDAR 연구 스위트가 아니라 2D object detection 데이터셋(2D 경계 상자가 있는 Argoverse-HD 카메라 프레임)입니다.
yolo26n.pt과 같은 표준 감지 모델로 훈련할 수 있습니다.먼저 데이터셋을 수동으로 다운로드한 후(아래 참조),
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 페이지를 참조하십시오.
이전에 Amazon S3에 호스팅되었던 Argoverse-HD
*.zip파일(~31.5 GB)은 이제 Google Drive에서 수동으로 다운로드할 수 있습니다. 자동 다운로드는 작동하지 않으므로 훈련 명령을 실행하기 전에 아카이브를 가져오십시오.예. Ultralytics Platform을 사용하면 Argoverse-HD와 같은 대규모 데이터셋을 업로드하고 버전 관리한 다음, 복잡한 로컬 설정 없이 클라우드에서 object detection 모델을 훈련하고 배포할 수 있습니다. detection datasets overview에서 관련 데이터셋을 찾아볼 수도 있습니다.



