Link to this sectionArgoverse 데이터셋#
Ultralytics Argoverse 데이터셋(Argoverse-HD)은 8개 클래스(사람, 자전거, 자동차, 오토바이, 버스, 트럭, 신호등, 정지 표지판)에 걸쳐 54,446개의 라벨링된 자율주행 이미지(학습용 39,384개, 검증용 15,062개)로 구성된 2D 객체 탐지(object detection) 데이터셋입니다. 이 이미지들은 차량의 링 프론트 센터 카메라로 촬영되었으며, 어노테이션은 Argo AI의 Argoverse 1.1 주행 데이터를 기반으로 구축된 카네기 멜런 대학교의 스트리밍 인식 프로젝트에서 제공되었습니다. 이는 자율주행 시나리오에서 도로 객체를 탐지하기 위한 컴퓨터 비전(computer vision) 모델을 학습시키기 위한 대규모 실제 벤치마크입니다.
학습에 필요한 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 설정 파일에 정의된 세 가지 사전 정의된 하위 집합으로 나뉩니다:
| Split | 이미지 | 라벨 |
|---|---|---|
| 학습(Train) | 39,384 | 예 |
| 검증 | 15,062 | 예 |
| 테스트 | — | 라벨링되지 않음 (eval.ai 챌린지) |
모든 이미지는 동일한 8개의 객체 클래스(인덱스 0–7)를 공유합니다: 사람, 자전거, 자동차, 오토바이, 버스, 트럭, 신호등, 정지 표지판.
수동 다운로드 후, Ultralytics는 첫 학습 시 원본 Argoverse-HD 어노테이션을 YOLO 탐지 라벨로 자동 변환하므로 수동 전처리가 필요하지 않습니다.
Link to this section응용 분야#
Argoverse-HD 데이터셋은 자율주행 분야의 다양한 객체 탐지 애플리케이션을 지원합니다:
- 자율주행 인식 — 자율주행차(autonomous-vehicle) 내비게이션을 지원하기 위해 전방 카메라로 차량, 보행자 및 자전거 운전자를 탐지합니다.
- 첨단 운전자 보조 시스템 (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 모델을 640 이미지 크기로 100 에포크(epoch) 동안 학습하려면 다음 코드 예제를 사용하십시오. 사용 가능한 인수에 대한 전체 목록은 모델 학습(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")Link to this section샘플 데이터 및 주석#
Argoverse-HD 데이터셋은 링 프론트 센터 카메라로 촬영된 고해상도 주행 이미지를 포함하며, 8개 객체 클래스에 대한 2D BBox로 어노테이션되어 있습니다. 아래는 해당 데이터셋의 이미지와 그에 대응하는 어노테이션 예시입니다:
![]()
- 어노테이션된 주행 장면: 이 이미지는 YOLO 모델이 학습 중에 예측하도록 학습하는 형식인 2D BBox로 라벨링된 도로 객체(예: 차량, 보행자)를 보여줍니다.
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 sectionFAQ#
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 sectionUltralytics에서 Argoverse 데이터셋은 2D 탐지인가요, 3D 탐지인가요?#
Ultralytics에서는 광범위한 Argoverse 프로그램의 3D 추적, 동작 예측 또는 LiDAR 연구 제품군이 아닌 2D 객체 탐지 데이터셋(2D BBox가 포함된 Argoverse-HD 카메라 프레임)으로 제공됩니다. 이는 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 sectionUltralytics Platform에서 Argoverse 데이터셋을 사용할 수 있나요?#
네. Ultralytics Platform을 사용하면 Argoverse-HD와 같은 대규모 데이터셋을 업로드 및 버전 관리하고, 복잡한 로컬 설정 없이 클라우드에서 객체 탐지 모델을 학습 및 배포할 수 있습니다. 또한 탐지 데이터셋 개요에서 관련 데이터셋을 둘러볼 수 있습니다.