Ultralytics YOLO27:

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

مجموعة بيانات Argoverse من Ultralytics (Argoverse-HD) هي مجموعة بيانات ثنائية الأبعاد لاكتشاف الأجسام، وتضم 54,446 صورة مُعنونة للقيادة الذاتية — 39,384 صورة للتدريب و15,062 صورة للتحقق — عبر 8 فئات: شخص، دراجة، سيارة، دراجة نارية، حافلة، شاحنة، إشارة مرور، وإشارة توقف. التُقطت الصور بواسطة الكاميرا الأمامية الوسطية الحلقية المثبتة على مركبة، وتأتي التعليقات التوضيحية من مشروع الإدراك المتدفق في جامعة كارنيغي ميلون، المبني على بيانات القيادة Argoverse 1.1 من Argo AI. وهي معيار كبير من العالم الحقيقي لتدريب نماذج الرؤية الحاسوبية على اكتشاف أجسام الطريق في سيناريوهات القيادة الذاتية.

استكشف Argoverse-HD على منصة Ultralytics لمعاينة العينات المُعنونة، وفحص إحصاءات مجموعة البيانات، واستنساخها للتدريب.

يلزم التنزيل اليدوي

أُزيل ملف Argoverse-HD *.zip (~31.5 GB) اللازم للتدريب من Amazon S3 بعد إيقاف Ford لشركة Argo AI. وهو متاح للتنزيل اليدوي من Google Drive — ولن يعمل التنزيل التلقائي، لذا نزّل الأرشيف قبل التدريب.

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

  • 8 فئات لاكتشاف الأجسام: شخص، دراجة، سيارة، دراجة نارية، حافلة، شاحنة، إشارة مرور، وإشارة توقف.
  • 54,446 صورة مُعنونة — 39,384 صورة للتدريب و15,062 صورة للتحقق — بالإضافة إلى مجموعة اختبار غير مُعنونة مخصصة لتحدي eval.ai.
  • ~31.5 GB من إطارات الكاميرا الأمامية الوسطية الحلقية عالية الدقة، الملتقطة في مشاهد القيادة الذاتية الحضرية.
  • تُحوَّل التعليقات التوضيحية إلى تنسيق YOLO تلقائيًا عند الاستخدام الأول، لذا تُدرَّب مجموعة البيانات مباشرةً باستخدام نماذج Ultralytics YOLO لاكتشاف الأجسام.

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

تُقسَّم مجموعة بيانات Argoverse-HD إلى ثلاث مجموعات فرعية محددة مسبقًا، يحددها إعداد Argoverse.yaml:

التقسيمالصورالتسميات
التدريب39,384نعم
التحقق15,062نعم
الاختبارغير مُعنونة ( تحدي eval.ai )

تشترك جميع الصور في فئات الأجسام الثماني نفسها (الفهارس 0–7): شخص، دراجة، سيارة، دراجة نارية، حافلة، شاحنة، إشارة مرور، وإشارة توقف.

التحويل التلقائي إلى YOLO

بعد التنزيل اليدوي، تحوّل Ultralytics تعليقات Argoverse-HD التوضيحية الأصلية إلى تسميات اكتشاف YOLO تلقائيًا عند التدريب للمرة الأولى، لذلك لا حاجة إلى معالجة مسبقة يدوية.

التطبيقات#

تدعم مجموعة بيانات Argoverse-HD مجموعةً متنوعة من تطبيقات اكتشاف الأجسام في القيادة الذاتية:

  • إدراك القيادة الذاتية — اكتشاف المركبات والمشاة وراكبي الدراجات من كاميرا أمامية لدعم تنقّل المركبات الذاتية.
  • أنظمة مساعدة السائق المتقدمة (ADAS) — التعرّف على إشارات المرور وإشارات التوقف لإصدار تنبيهات فورية للسائق.
  • مراقبة حركة المرور — عدّ مستخدمي الطريق وتتبعهم في المشاهد الحضرية لأغراض تحليلات المدن الذكية.
  • البحث وإنشاء النماذج الأولية — معيار كبير من العالم الحقيقي لتعلّم تدريب النماذج والتنبؤ باستخدام بيانات القيادة.

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

يحدد ملف YAML إعداد مجموعة البيانات، بما في ذلك المسارات والفئات والتفاصيل الأخرى ذات الصلة. بالنسبة إلى مجموعة بيانات Argoverse، يُصان ملف Argoverse.yaml في 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) 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

الاستخدام#

لتدريب نموذج 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)

بعد التدريب، شغّل الاستدلال باستخدام النموذج المُحسَّن على صور أو مقاطع فيديو جديدة للقيادة:

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

مشهد قيادة ذاتية من Argoverse-HD مع أجسام طريق مُعنونة

  • مشهد قيادة مُعنون: تُظهر هذه الصورة أجسام الطريق — مثل المركبات والمشاة — مُعنونة بمربعات إحاطة ثنائية الأبعاد، وهو التنسيق الذي تتعلم نماذج YOLO التنبؤ به أثناء التدريب.

الاقتباسات والشكر والتقدير#

تأتي تعليقات اكتشاف الأجسام ثنائية الأبعاد من Argoverse-HD المستخدمة في مجموعة البيانات هذه من عمل الإدراك المتدفق في جامعة كارنيغي ميلون. إذا استخدمت مجموعة البيانات في بحثك أو تطويرك، يُرجى الاستشهاد بما يلي:

اقتباس
@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 التوضيحية، ولـ Argo AI لإنشاء مجموعة بيانات Argoverse الأصلية بوصفها موردًا قيّمًا لمجتمع أبحاث القيادة الذاتية.

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

  • مجموعة بيانات Argoverse من Ultralytics (Argoverse-HD) هي مجموعة بيانات ثنائية الأبعاد لاكتشاف الأجسام، وتضم 54,446 صورة للقيادة الذاتية عبر 8 فئات — شخص، دراجة، سيارة، دراجة نارية، حافلة، شاحنة، إشارة مرور، وإشارة توقف. وتُستخدم لتدريب النماذج وتقييمها على اكتشاف أجسام الطريق من كاميرا أمامية مثبتة على مركبة، ودعم أبحاث إدراك القيادة الذاتية وADAS ومراقبة حركة المرور.

  • تحتوي مجموعة بيانات Argoverse-HD على 8 فئات (شخص، دراجة، سيارة، دراجة نارية، حافلة، شاحنة، إشارة مرور، وإشارة توقف) و54,446 صورة مُعنونة — 39,384 صورة للتدريب و15,062 صورة للتحقق — بالإضافة إلى مجموعة اختبار غير مُعنونة مخصصة لتحدي eval.ai.

  • في Ultralytics، هي مجموعة بيانات لاكتشاف الأجسام ثنائي الأبعاد (إطارات كاميرا Argoverse-HD مع مربعات إحاطة ثنائية الأبعاد)، وليست حزمة أبحاث التتبع ثلاثي الأبعاد أو التنبؤ بالحركة أو LiDAR من برنامج Argoverse الأوسع. وتُدرَّب باستخدام نموذج اكتشاف قياسي مثل 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)

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

  • يمكن الآن تنزيل ملف Argoverse-HD *.zip (~31.5 GB)، الذي كان مستضافًا سابقًا على Amazon S3، يدويًا من Google Drive. ولن يعمل التنزيل التلقائي، لذا احصل على الأرشيف قبل تشغيل أمر التدريب.

  • نعم. تتيح لك منصة Ultralytics رفع مجموعات البيانات الكبيرة مثل Argoverse-HD وإصدارها، ثم تدريب نماذج اكتشاف الأجسام ونشرها في السحابة دون إعداد محلي معقد. كما يمكنك تصفح مجموعات البيانات ذات الصلة في نظرة عامة على مجموعات بيانات الاكتشاف.

التعليقات