تخطي إلى المحتوى

مجموعة بيانات Argoverse

مجموعة بيانات Argoverse عبارة عن مجموعة من البيانات المصممة لدعم الأبحاث في مهام القيادة الذاتية، مثل التتبع ثلاثي الأبعاد والتنبؤ بالحركة وتقدير العمق المجسم. تم تطوير مجموعة البيانات بواسطة Argo AI، وتوفر مجموعة البيانات مجموعة واسعة من بيانات المستشعرات عالية الجودة، بما في ذلك الصور عالية الدقة وسحب نقاط LiDAR وبيانات الخرائط.

ملاحظة

مجموعة بيانات أرجوفرس *.zip تمت إزالة الملف المطلوب للتدريب من Amazon S3 من Amazon S3 بعد إغلاق Argo AI من قِبل شركة فورد، ولكننا أتحناه للتنزيل اليدوي على Google القيادة.

الميزات الرئيسية

  • يحتوي Argoverse على أكثر من 290 ألف مسار كائن ثلاثي الأبعاد مُصنَّف و5 ملايين مثيل كائن عبر 1263 مشهدًا مختلفًا.
  • تشتمل مجموعة البيانات على صور كاميرا عالية الدقة وسحب نقطية بتقنية LiDAR وخرائط عالية الدقة غنية بالشروح.
  • تتضمن التعليقات التوضيحية المربعات المحددة ثلاثية الأبعاد للأجسام، ومسارات الأجسام، ومعلومات المسار.
  • يوفر Argoverse مجموعات فرعية متعددة لمهام مختلفة، مثل التتبع ثلاثي الأبعاد، والتنبؤ بالحركة، وتقدير العمق المجسم.

هيكلية مجموعة البيانات

تنقسم مجموعة بيانات Argoverse إلى ثلاث مجموعات فرعية رئيسية:

  1. تتبع الأجسام ثلاثية الأبعاد من Argoverse: تحتوي هذه المجموعة الفرعية على 113 مشهدًا يحتوي على أكثر من 290 ألف مسار ثلاثي الأبعاد مُصنَّف على أنه تتبع ثلاثي الأبعاد للأجسام، مع التركيز على مهام تتبع الأجسام ثلاثية الأبعاد. تتضمن سحب نقاط ليدار وصور الكاميرا ومعلومات معايرة المستشعر.
  2. التنبؤ بحركة أرجوفرس: تتكون هذه المجموعة الفرعية من 324 ألف مسار مركبة تم جمعها من 60 ساعة من بيانات القيادة، وهي مناسبة لمهام التنبؤ بالحركة.
  3. تقدير العمق المجسم المجسم: صُممت هذه المجموعة الفرعية لمهام تقدير العمق المجسم وتتضمن أكثر من 10 آلاف زوج من الصور المجسمة مع سحب نقاط LiDAR المقابلة لتقدير العمق الحقيقي للأرض.

التطبيقات

تُستخدم مجموعة بيانات Argoverse على نطاق واسع لتدريب وتقييم نماذج التعلم العميق في مهام القيادة الذاتية مثل تتبع الأجسام ثلاثية الأبعاد والتنبؤ بالحركة وتقدير العمق المجسم. تجعل مجموعة البيانات المتنوعة من بيانات المستشعرات والشروح التوضيحية للأشياء ومعلومات الخرائط من مجموعة البيانات مورداً قيماً للباحثين والممارسين في مجال القيادة الذاتية.

مجموعة البيانات YAML

يُستخدم ملف YAML (لغة ترميز أخرى) لتحديد تكوين مجموعة البيانات. وهو يحتوي على معلومات حول مسارات مجموعة البيانات وفئاتها والمعلومات الأخرى ذات الصلة. بالنسبة لحالة مجموعة بيانات Argoverse، فإن ملف Argoverse.yaml يتم الاحتفاظ بالملف في https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/Argoverse.yaml.

ultralytics/cfg/datasets/Argoverse.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 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: ../datasets/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 tqdm import tqdm
  from ultralytics.utils.downloads import download
  from pathlib import Path

  def argoverse2yolo(set):
      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") 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

الاستخدام

لتدريب نموذج YOLO11n على مجموعة بيانات Argoverse لـ 100 حلقة تدريبية بحجم صورة 640، يمكنك استخدام مقتطفات التعليمات البرمجية التالية. للحصول على قائمة شاملة بالوسائط المتاحة، راجع صفحة تدريب النموذج.

مثال على القطار

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

عينة من البيانات والشروح

تحتوي مجموعة بيانات Argoverse على مجموعة متنوعة من بيانات أجهزة الاستشعار، بما في ذلك صور الكاميرا، وسحب نقاط LiDAR، ومعلومات الخرائط عالية الدقة، مما يوفر سياقاً ثرياً لمهام القيادة الذاتية. فيما يلي بعض الأمثلة على البيانات من مجموعة البيانات، إلى جانب التعليقات التوضيحية المقابلة لها:

صورة عينة مجموعة البيانات

  • تتبُّع ثلاثي الأبعاد من Argoverse: توضح هذه الصورة مثالاً على التتبع ثلاثي الأبعاد للأجسام، حيث يتم وضع تعليقات توضيحية للأجسام باستخدام مربعات محددة ثلاثية الأبعاد. توفر مجموعة البيانات سحب نقاط 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}
}

نود أن نعرب عن تقديرنا لشركة Argo AI لإنشاء مجموعة بيانات Argoverse وصيانتها كمورد قيّم لمجتمع أبحاث القيادة الذاتية. لمزيد من المعلومات حول مجموعة بيانات Argoverse ومنشئيها، يرجى زيارة الموقع الإلكتروني لمجموعة بيانات Argoverse.

الأسئلة الشائعة

ما هي مجموعة بيانات Argoverse وميزاتها الرئيسية؟

تدعم مجموعة بيانات Argoverse، التي طورتها Argo AI، أبحاث القيادة الذاتية. وهي تتضمن أكثر من 290 ألف مسار ثلاثي الأبعاد مُصنَّف على أنه مسار كائنات ثلاثية الأبعاد و5 ملايين حالة كائن عبر 1263 مشهداً متميزاً. توفر مجموعة البيانات صوراً عالية الدقة للكاميرا وسحب نقطية من الليدار وخرائط عالية الدقة مشروحة، مما يجعلها ذات قيمة لمهام مثل التتبع ثلاثي الأبعاد والتنبؤ بالحركة وتقدير العمق المجسم.

كيف يمكنني تدريب نموذج Ultralytics YOLO باستخدام مجموعة بيانات Argoverse؟

لتدريب نموذج YOLO11 باستخدام مجموعة بيانات Argoverse، استخدم ملف تهيئة YAML المرفق والرمز التالي:

مثال على القطار

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

للحصول على شرح مفصل للوسائط، راجع صفحة تدريب النموذج.

ما هي أنواع البيانات والشروح المتوفرة في مجموعة بيانات Argoverse؟

تشتمل مجموعة بيانات Argoverse على أنواع مختلفة من بيانات المستشعرات مثل صور الكاميرا عالية الدقة وسحب نقاط LiDAR وبيانات الخرائط عالية الدقة. تتضمن التعليقات التوضيحية المربعات المحددة ثلاثية الأبعاد، ومسارات الأجسام، ومعلومات المسار. هذه الشروح الشاملة ضرورية للتدريب الدقيق للنموذج في مهام مثل تتبع الأجسام ثلاثية الأبعاد والتنبؤ بالحركة وتقدير العمق المجسم.

كيف يتم تنظيم مجموعة بيانات Argoverse؟

تنقسم مجموعة البيانات إلى ثلاث مجموعات فرعية رئيسية:

  1. تتبع الأجسام ثلاثية الأبعاد من Argoverse: يحتوي على 113 مشهدًا يحتوي على أكثر من 290 ألف مسار ثلاثي الأبعاد مُصنَّف للأجسام، مع التركيز على مهام تتبع الأجسام ثلاثية الأبعاد. يتضمن سحب نقاط ليدار وصور الكاميرا ومعلومات معايرة المستشعر.
  2. التنبؤ بحركة أرجوفرس: تتكون من 324 ألف مسار مركبة تم جمعها من 60 ساعة من بيانات القيادة، وهي مناسبة لمهام التنبؤ بالحركة.
  3. تقدير العمق المجسّم المجسّم: يتضمن أكثر من 10 آلاف زوج من الصور المجسمة مع سحب نقاط LiDAR المقابلة لتقدير العمق الحقيقي للأرض.

أين يمكنني تنزيل مجموعة بيانات Argoverse الآن بعد أن تمت إزالتها من Amazon S3؟

مجموعة بيانات أرجوفرس *.zip المتاح سابقًا على Amazon S3، يمكن الآن تنزيل الملف يدويًا من Google القيادة.

ما هو ملف تكوين YAML المستخدم مع مجموعة بيانات Argoverse؟

يحتوي ملف YAML على مسارات مجموعة البيانات والفئات والمعلومات الأساسية الأخرى. بالنسبة لمجموعة بيانات Argoverse، ملف التكوين, Argoverse.yamlيمكن العثور عليها على الرابط التالي: Argoverse.yaml.

لمزيد من المعلومات حول تكوينات YAML، راجع دليل مجموعات البيانات.

📅 تم إنشاؤها منذ 1 سنة مضت ✏️ تم التحديث منذ 2 شهر

التعليقات