Bộ dữ liệu Argoverse
Bộ dữ liệu Argoverse là một tập hợp dữ liệu được thiết kế để hỗ trợ nghiên cứu trong các tác vụ lái xe tự động, chẳng hạn như theo dõi 3D, dự đoán chuyển động và ước tính độ sâu âm thanh nổi. Được phát triển bởi Argo AI, bộ dữ liệu này cung cấp một loạt các dữ liệu cảm biến chất lượng cao, bao gồm hình ảnh độ phân giải cao, đám mây điểm LiDAR và dữ liệu bản đồ.
Lưu ý
Bộ dữ liệu Argoverse *.zip
tệp cần thiết để huấn luyện đã bị xóa khỏi Amazon S3 sau khi Argo AI ngừng hoạt động bởi Ford, nhưng chúng tôi đã cung cấp để tải xuống thủ công trên Google Drive.
Các tính năng chính
- Argoverse chứa hơn 290 nghìn đường theo dõi đối tượng 3D được gắn nhãn và 5 triệu thể hiện đối tượng trên 1.263 cảnh riêng biệt.
- Tập dữ liệu bao gồm hình ảnh camera độ phân giải cao, đám mây điểm LiDAR và bản đồ HD được chú thích phong phú.
- Các chú thích bao gồm hộp giới hạn 3D cho các đối tượng, theo dõi đối tượng và thông tin quỹ đạo.
- Argoverse cung cấp nhiều tập hợp con cho các tác vụ khác nhau, chẳng hạn như theo dõi 3D, dự báo chuyển động và ước tính độ sâu âm thanh nổi.
Cấu trúc bộ dữ liệu
Bộ dữ liệu Argoverse được tổ chức thành ba tập hợp con chính:
- Argoverse 3D Tracking: Tập hợp con này chứa 113 cảnh với hơn 290 nghìn đối tượng 3D được gắn nhãn, tập trung vào các tác vụ theo dõi đối tượng 3D. Nó bao gồm đám mây điểm LiDAR, hình ảnh camera và thông tin hiệu chuẩn cảm biến.
- Argoverse Motion Forecasting: Tập hợp con này bao gồm 324 nghìn quỹ đạo xe được thu thập từ 60 giờ dữ liệu lái xe, phù hợp cho các tác vụ dự báo chuyển động.
- Argoverse Stereo Depth Estimation: Tập hợp con này được thiết kế cho các tác vụ ước tính độ sâu âm thanh nổi và bao gồm hơn 10 nghìn cặp hình ảnh âm thanh nổi với các đám mây điểm LiDAR tương ứng để ước tính độ sâu thực tế.
Các ứng dụng
Bộ dữ liệu Argoverse được sử dụng rộng rãi để đào tạo và đánh giá các mô hình học sâu trong các tác vụ lái xe tự động như theo dõi đối tượng 3D, dự báo chuyển động và ước tính độ sâu âm thanh nổi. Tập hợp đa dạng các dữ liệu cảm biến, chú thích đối tượng và thông tin bản đồ của bộ dữ liệu này làm cho nó trở thành một nguồn tài nguyên có giá trị cho các nhà nghiên cứu và người thực hành trong lĩnh vực lái xe tự động.
YAML bộ dữ liệu
Tệp YAML (Yet Another Markup Language) được sử dụng để xác định cấu hình bộ dữ liệu. Nó chứa thông tin về đường dẫn, các lớp và thông tin liên quan khác của bộ dữ liệu. Đối với trường hợp bộ dữ liệu Argoverse, Argoverse.yaml
tệp được duy trì tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/Argoverse.yaml.
ultralytics/cfg/datasets/Argoverse.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/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: 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(set):
"""Convert Argoverse dataset annotations to YOLO format for object detection tasks."""
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", 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
Cách sử dụng
Để huấn luyện mô hình YOLO11n trên bộ dữ liệu Argoverse trong 100 epochs với kích thước ảnh là 640, bạn có thể sử dụng các đoạn mã sau. Để có danh sách đầy đủ các đối số có sẵn, hãy tham khảo trang Huấn luyện mô hình.
Ví dụ huấn luyện
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
Dữ liệu mẫu và Chú thích
Bộ dữ liệu Argoverse chứa một tập hợp đa dạng các dữ liệu cảm biến, bao gồm hình ảnh camera, đám mây điểm LiDAR và thông tin bản đồ HD, cung cấp ngữ cảnh phong phú cho các tác vụ lái xe tự động. Dưới đây là một số ví dụ về dữ liệu từ bộ dữ liệu, cùng với các chú thích tương ứng của chúng:
- Theo dõi 3D Argoverse: Hình ảnh này minh họa một ví dụ về theo dõi đối tượng 3D, trong đó các đối tượng được chú thích bằng hộp giới hạn 3D. Bộ dữ liệu cung cấp đám mây điểm LiDAR và hình ảnh camera để tạo điều kiện phát triển các mô hình cho tác vụ này.
Ví dụ này thể hiện sự đa dạng và phức tạp của dữ liệu trong bộ dữ liệu Argoverse và nêu bật tầm quan trọng của dữ liệu cảm biến chất lượng cao cho các tác vụ lái xe tự động.
Trích dẫn và Lời cảm ơn
Nếu bạn sử dụng bộ dữ liệu Argoverse trong công việc nghiên cứu hoặc phát triển của mình, vui lòng trích dẫn bài báo sau:
@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}
}
Chúng tôi xin cảm ơn Argo AI đã tạo và duy trì bộ dữ liệu Argoverse như một nguồn tài nguyên quý giá cho cộng đồng nghiên cứu lái xe tự động. Để biết thêm thông tin về bộ dữ liệu Argoverse và những người tạo ra nó, hãy truy cập trang web bộ dữ liệu Argoverse.
Câu hỏi thường gặp
Bộ dữ liệu Argoverse là gì và các tính năng chính của nó?
Bộ dữ liệu Argoverse, được phát triển bởi Argo AI, hỗ trợ nghiên cứu lái xe tự động. Nó bao gồm hơn 290 nghìn трек đối tượng 3D được gắn nhãn và 5 triệu екземпляр đối tượng trên 1.263 cảnh riêng biệt. Bộ dữ liệu cung cấp hình ảnh camera độ phân giải cao, đám mây điểm LiDAR và bản đồ HD được chú thích, làm cho nó có giá trị cho các tác vụ như theo dõi 3D, dự báo chuyển động và ước tính độ sâu стерео.
Làm cách nào để huấn luyện mô hình Ultralytics YOLO bằng bộ dữ liệu Argoverse?
Để huấn luyện mô hình YOLO11 với bộ dữ liệu Argoverse, hãy sử dụng tệp cấu hình YAML được cung cấp và đoạn mã sau:
Ví dụ huấn luyện
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
Để có giải thích chi tiết về các đối số, hãy tham khảo trang Huấn luyện mô hình.
Những loại dữ liệu và chú thích nào có sẵn trong bộ dữ liệu Argoverse?
Bộ dữ liệu Argoverse bao gồm nhiều loại dữ liệu cảm biến khác nhau như hình ảnh camera độ phân giải cao, đám mây điểm LiDAR và dữ liệu bản đồ HD. Các chú thích bao gồm hộp giới hạn 3D, theo dõi đối tượng và thông tin quỹ đạo. Những chú thích toàn diện này rất cần thiết cho việc huấn luyện mô hình chính xác trong các tác vụ như theo dõi đối tượng 3D, dự báo chuyển động và ước tính độ sâu âm thanh nổi.
Bộ dữ liệu Argoverse được cấu trúc như thế nào?
Bộ dữ liệu được chia thành ba tập hợp con chính:
- Theo dõi 3D Argoverse: Chứa 113 cảnh với hơn 290 nghìn трек đối tượng 3D được gắn nhãn, tập trung vào các tác vụ theo dõi đối tượng 3D. Nó bao gồm đám mây điểm LiDAR, hình ảnh camera và thông tin hiệu chuẩn cảm biến.
- Dự báo chuyển động Argoverse: Bao gồm 324 nghìn quỹ đạo xe được thu thập từ 60 giờ dữ liệu lái xe, phù hợp cho các tác vụ dự báo chuyển động.
- Ước tính độ sâu âm thanh nổi Argoverse: Bao gồm hơn 10 nghìn cặp hình ảnh âm thanh nổi với các đám mây điểm LiDAR tương ứng để ước tính độ sâu thực tế.
Tôi có thể tải xuống bộ dữ liệu Argoverse ở đâu bây giờ nó đã bị xóa khỏi Amazon S3?
Bộ dữ liệu Argoverse *.zip
file, trước đây có trên Amazon S3, giờ đây có thể được tải xuống thủ công từ Google Drive.
Tệp cấu hình YAML được sử dụng để làm gì với bộ dữ liệu Argoverse?
Tệp YAML chứa đường dẫn, lớp và thông tin cần thiết khác của bộ dữ liệu. Đối với bộ dữ liệu Argoverse, tệp cấu hình, Argoverse.yaml
, có thể được tìm thấy tại liên kết sau: Argoverse.yaml.
Để biết thêm thông tin về cấu hình YAML, hãy xem hướng dẫn về bộ dữ liệu của chúng tôi.