Link to this sectionمجموعة بيانات Argoverse#
مجموعة بيانات Argoverse عبارة عن مجموعة من البيانات المصممة لدعم الأبحاث في مهام القيادة الذاتية، مثل التتبع ثلاثي الأبعاد، والتنبؤ بالحركة، وتقدير العمق بالرؤية المجسمة. طورت شركة Argo AI هذه المجموعة التي توفر نطاقاً واسعاً من بيانات الاستشعار عالية الجودة، بما في ذلك صور عالية الدقة، وسحب نقاط LiDAR، وبيانات الخرائط.
تمت إزالة ملف *.zip الخاص بمجموعة بيانات Argoverse والمطلوب للتدريب من Amazon S3 بعد إغلاق شركة Argo AI من قبل شركة Ford، لكننا جعلناه متاحاً للتنزيل اليدوي على Google Drive.
Link to this sectionالميزات الرئيسية#
- تحتوي Argoverse على أكثر من 290 ألف مسار كائنات ثلاثي الأبعاد مصنف و5 ملايين مثيل كائن عبر 1,263 مشهداً متميزاً.
- تتضمن مجموعة البيانات صور كاميرا عالية الدقة، وسحب نقاط LiDAR، وخرائط عالية الدقة (HD) مشروحة بشكل غني.
- تشمل التعليقات التوضيحية صناديق الإحاطة ثلاثية الأبعاد للكائنات، ومسارات الكائنات، ومعلومات المسار.
- توفر Argoverse مجموعات فرعية متعددة لمهام مختلفة، مثل التتبع ثلاثي الأبعاد، والتنبؤ بالحركة، وتقدير العمق بالرؤية المجسمة.
Link to this sectionهيكل مجموعة البيانات#
تم تنظيم مجموعة بيانات Argoverse في ثلاث مجموعات فرعية رئيسية:
- Argoverse 3D Tracking: تحتوي هذه المجموعة الفرعية على 113 مشهداً مع أكثر من 290 ألف مسار كائن ثلاثي الأبعاد مصنف، وتركز على مهام تتبع الكائنات ثلاثية الأبعاد. وهي تتضمن سحب نقاط LiDAR، وصور الكاميرا، ومعلومات معايرة المستشعرات.
- Argoverse Motion Forecasting: تتكون هذه المجموعة الفرعية من 324 ألف مسار للمركبات تم جمعها من 60 ساعة من بيانات القيادة، وهي مناسبة لمهام التنبؤ بالحركة.
- Argoverse Stereo Depth Estimation: صُممت هذه المجموعة الفرعية لمهام تقدير العمق بالرؤية المجسمة وتتضمن أكثر من 10 آلاف زوج من الصور المجسمة مع سحب نقاط LiDAR المقابلة لتقدير العمق للحقيقة الأرضية.
Link to this sectionالتطبيقات#
تُستخدم مجموعة بيانات Argoverse على نطاق واسع لتدريب وتقييم نماذج التعلم العميق في مهام القيادة الذاتية مثل تتبع الكائنات ثلاثية الأبعاد، والتنبؤ بالحركة، وتقدير العمق بالرؤية المجسمة. إن المجموعة المتنوعة من بيانات الاستشعار، وتعليقات الكائنات التوضيحية، ومعلومات الخرائط تجعل من هذه المجموعة مورداً قيماً للباحثين والممارسين في مجال القيادة الذاتية.
Link to this sectionYAML مجموعة البيانات#
يُستخدم ملف 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الاستخدام#
لتدريب نموذج YOLO26n على مجموعة بيانات Argoverse لمدة 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)Link to this sectionعينة من البيانات والتعليقات#
تحتوي مجموعة بيانات Argoverse على مجموعة متنوعة من بيانات الاستشعار، بما في ذلك صور الكاميرا، وسحب نقاط LiDAR، ومعلومات الخرائط عالية الدقة، مما يوفر سياقاً غنياً لمهام القيادة الذاتية. فيما يلي بعض الأمثلة للبيانات من مجموعة البيانات، جنباً إلى جنب مع تعليقاتها التوضيحية المقابلة:
![]()
- Argoverse 3D Tracking: توضح هذه الصورة مثالاً لتتبع الكائنات ثلاثي الأبعاد، حيث يتم التعليق على الكائنات بصناديق إحاطة ثلاثية الأبعاد. توفر مجموعة البيانات سحب نقاط LiDAR وصور الكاميرا لتسهيل تطوير النماذج لهذه المهمة.
يعرض المثال تنوع وتعقيد البيانات في مجموعة بيانات Argoverse ويسلط الضوء على أهمية بيانات الاستشعار عالية الجودة لمهام القيادة الذاتية.
Link to this sectionالاقتباسات والشكر#
إذا كنت تستخدم مجموعة بيانات 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}
}نود أن نعرب عن تقديرنا لشركة Argo AI لإنشاء وصيانة مجموعة بيانات Argoverse كمورد قيم لمجتمع أبحاث القيادة الذاتية. لمزيد من المعلومات حول مجموعة بيانات Argoverse ومبتكريها، تفضل بزيارة موقع مجموعة بيانات Argoverse.
Link to this sectionالأسئلة الشائعة#
Link to this sectionما هي مجموعة بيانات Argoverse وما هي ميزاتها الرئيسية؟#
تدعم مجموعة بيانات Argoverse، التي طورتها شركة Argo AI، أبحاث القيادة الذاتية. وهي تتضمن أكثر من 290 ألف مسار كائن ثلاثي الأبعاد مصنف و5 ملايين مثيل كائن عبر 1,263 مشهداً متميزاً. توفر مجموعة البيانات صور كاميرا عالية الدقة، وسحب نقاط LiDAR، وخرائط عالية الدقة مشروحة، مما يجعلها قيمة لمهام مثل التتبع ثلاثي الأبعاد، والتنبؤ بالحركة، وتقدير العمق بالرؤية المجسمة.
Link to this sectionكيف يمكنني تدريب نموذج Ultralytics YOLO باستخدام مجموعة بيانات Argoverse؟#
لتدريب نموذج 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 sectionما هي أنواع البيانات والتعليقات التوضيحية المتاحة في مجموعة بيانات Argoverse؟#
تتضمن مجموعة بيانات Argoverse أنواعاً مختلفة من بيانات الاستشعار مثل صور الكاميرا عالية الدقة، وسحب نقاط LiDAR، وبيانات الخرائط عالية الدقة. تشمل التعليقات التوضيحية صناديق إحاطة ثلاثية الأبعاد، ومسارات كائنات، ومعلومات المسار. هذه التعليقات التوضيحية الشاملة ضرورية لتدريب دقيق للنموذج في مهام مثل تتبع الكائنات ثلاثي الأبعاد، والتنبؤ بالحركة، وتقدير العمق بالرؤية المجسمة.
Link to this sectionكيف يتم هيكلة مجموعة بيانات Argoverse؟#
يتم تقسيم مجموعة البيانات إلى ثلاث مجموعات فرعية رئيسية:
- Argoverse 3D Tracking: تحتوي على 113 مشهداً مع أكثر من 290 ألف مسار كائن ثلاثي الأبعاد مصنف، وتركز على مهام تتبع الكائنات ثلاثية الأبعاد. وهي تتضمن سحب نقاط LiDAR، وصور الكاميرا، ومعلومات معايرة المستشعرات.
- Argoverse Motion Forecasting: تتكون من 324 ألف مسار للمركبات تم جمعها من 60 ساعة من بيانات القيادة، وهي مناسبة لمهام التنبؤ بالحركة.
- Argoverse Stereo Depth Estimation: تتضمن أكثر من 10 آلاف زوج من الصور المجسمة مع سحب نقاط LiDAR المقابلة لتقدير العمق للحقيقة الأرضية.
Link to this sectionأين يمكنني تنزيل مجموعة بيانات Argoverse الآن بعد أن تمت إزالتها من Amazon S3؟#
يمكن الآن تنزيل ملف *.zip الخاص بمجموعة بيانات Argoverse، الذي كان متاحاً سابقاً على Amazon S3، يدوياً من Google Drive.
Link to this sectionلماذا يُستخدم ملف تكوين YAML مع مجموعة بيانات Argoverse؟#
يحتوي ملف YAML على مسارات مجموعة البيانات، والفئات، وغيرها من المعلومات الأساسية. بالنسبة لمجموعة بيانات Argoverse، يمكن العثور على ملف التكوين، Argoverse.yaml، على الرابط التالي: Argoverse.yaml.
لمزيد من المعلومات حول تكوينات YAML، راجع دليل مجموعات البيانات الخاص بنا.