أمن جاهز للمؤسسات: متوافق مع ISO 27001 و SOC 2 Type I.

Link to this sectionمجموعة بيانات Cityscapes#

مجموعة بيانات Cityscapes هي معيار للتجزئة الدلالية واسع النطاق لمشاهد الشوارع الحضرية التي تم التقاطها عبر 50 مدينة أوروبية، مع 2,975 صورة تدريب و500 صورة تحقق مصنفة بدقة عبر 19 فئة. وهي واحدة من أكثر مجموعات البيانات استخداماً على نطاق واسع لأبحاث القيادة الذاتية وفهم المشاهد الحضرية باستخدام نماذج Ultralytics YOLO.

Link to this sectionالميزات الرئيسية#

  • تتضمن تصنيفات Cityscapes الدقيقة 2,975 صورة تدريب و500 صورة تحقق عبر 19 فئة؛ كما يحتوي الأرشيف على 1,525 صورة اختبار، لكن الأقنعة (masks) الصادرة عنها تصنف فقط المركبة ذاتية القيادة وحدود الصورة - أما تصنيفات الفئات الحقيقية فهي محجوبة، وتتطلب درجات مجموعة الاختبار الرسمية إرسال التنبؤات إلى خادم تقييم Cityscapes.
  • تغطي مجموعة البيانات 19 فئة تقييم تشمل فئات المسطحات، الإنسان، المركبة، الإنشاءات، الكائنات، الطبيعة، والسماء.
  • توفر Cityscapes مقاييس تقييم موحدة مثل متوسط تقاطع الاتحاد (mIoU) للتجزئة الدلالية، مما يتيح مقارنة فعالة لأداء النماذج.
  • قبل الالتزام بالتنزيل اليدوي الذي يبلغ حجمه ~11 جيجابايت، قم بالتحقق من صحة خط أنابيب التدريب الخاص بك مقابل مجموعة Cityscapes8 الفرعية المكونة من 8 صور.

Link to this sectionهيكل مجموعة البيانات#

يتوقع إعداد Ultralytics الهيكل التالي بعد التحضير:

cityscapes/
├── images/
│   ├── train/
│   ├── val/
│   └── test/
└── masks/
    ├── train/
    ├── val/
    └── test/
يتطلب تنزيلاً يدويًا

لا يوجد تنزيل تلقائي للأرشيف في Cityscapes. أنشئ حساباً على موقع Cityscapes، ثم قم بتنزيل أرشيفات leftImg8bit_trainvaltest.zip و gtFine_trainvaltest.zip (حوالي 11 جيجابايت مجتمعة) واستخرج كلاهما في المجلد الجذر لمجموعة بيانات cityscapes. يقوم Ultralytics تلقائياً بإعادة تنظيمها في هيكل images/ و masks/ الموضح أعلاه في المرة الأولى التي تقوم فيها بالتدريب.

الأقنعة الدلالية هي ملفات PNG أحادية القناة. يتم تعيين معرفات تصنيفات Cityscapes الأصلية إلى معرفات التدريب القياسية الـ 19 عبر قسم label_mapping، ويتم تعيين التصنيفات التي تم تجاهلها أو الفارغة إلى 255 بحيث يتم استبعادها من التدريب والتقييم.

ملاحظة

أقنعة gtFine/test الصادرة للجمهور تصنف فقط مناطق المركبة ذاتية القيادة وحدود الصورة - جميع الفئات الأخرى فارغة. احسب mIoU على تقسيم val للتقييم المحلي؛ تتطلب درجات مجموعة الاختبار الرسمية إرسال التنبؤات إلى خادم تقييم Cityscapes.

Link to this sectionالتطبيقات#

تُستخدم Cityscapes على نطاق واسع لتدريب وتقييم نماذج التعلم العميق في التجزئة الدلالية، خاصة لـ القيادة الذاتية، وأنظمة مساعدة السائق المتقدمة (ADAS)، والروبوتات الحضرية.

صورها عالية الدقة وتصنيفاتها التفصيلية تجعلها أيضاً ذات قيمة للبحث في تحليل المشهد في الوقت الفعلي، وفهم المسارات والعوائق، وأي مهمة تتطلب فهماً كثيفاً على مستوى البكسل للبيئات الحضرية المعقدة. تصل نماذج YOLO26 للتجزئة الدلالية المدربة مسبقاً إلى 83.6 mIoU على مجموعة تحقق Cityscapes - راجع صفحة نماذج التجزئة الدلالية للحصول على جدول القياس الكامل. تصنيفات Cityscapes متاحة أيضاً على منصة Ultralytics للتصفح وإدارة مجموعات البيانات.

Link to this sectionYAML مجموعة البيانات#

يحدد ملف YAML لمجموعة البيانات مسارات Cityscapes، والفئات، ودليل القناع، وتعيين التسميات. يتم الاحتفاظ بملف cityscapes.yaml على https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/cityscapes.yaml.

ultralytics/cfg/datasets/cityscapes.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# Cityscapes semantic segmentation dataset (19 classes)
# Documentation: https://docs.ultralytics.com/datasets/semantic/cityscapes
# Example usage: yolo semantic train data=cityscapes.yaml model=yolo26n-sem.pt
# parent
# ├── ultralytics
# └── datasets
#     └── cityscapes ← downloads here (11 GB)
#         └── images
#         └── masks

# Dataset root directory
path: cityscapes # dataset root dir
train: images/train # train images (relative to 'path') 2975 images
val: images/val # val images (relative to 'path') 500 images
test: images/test # test images (relative to 'path') 1525 images

masks_dir: masks # semantic mask directory

# Cityscapes 19-class labels
names:
  0: road
  1: sidewalk
  2: building
  3: wall
  4: fence
  5: pole
  6: traffic light
  7: traffic sign
  8: vegetation
  9: terrain
  10: sky
  11: person
  12: rider
  13: car
  14: truck
  15: bus
  16: train
  17: motorcycle
  18: bicycle

# Map source label IDs to train IDs; ignore_label is converted to 255.
label_mapping:
  -1: ignore_label
  0: ignore_label
  1: ignore_label
  2: ignore_label
  3: ignore_label
  4: ignore_label
  5: ignore_label
  6: ignore_label
  7: 0
  8: 1
  9: ignore_label
  10: ignore_label
  11: 2
  12: 3
  13: 4
  14: ignore_label
  15: ignore_label
  16: ignore_label
  17: 5
  18: ignore_label
  19: 6
  20: 7
  21: 8
  22: 9
  23: 10
  24: 11
  25: 12
  26: 13
  27: 14
  28: 15
  29: ignore_label
  30: ignore_label
  31: 16
  32: 17
  33: 18

# Preparation script (requires manual Cityscapes download)
download: |
  from pathlib import Path
  from shutil import copy2

  cityscapes_dir = Path(yaml["path"])  # dataset root dir
  # Download and extract the official Cityscapes leftImg8bit and gtFine archives into cityscapes_dir first.
  leftimg8bit_dir = cityscapes_dir / "leftImg8bit"
  gtfine_dir = cityscapes_dir / "gtFine"

  for split in ("train", "val", "test"):
      print(f"Processing {split} set")
      src_image_dir = leftimg8bit_dir / split
      dst_image_dir = cityscapes_dir / "images" / split
      dst_mask_dir = cityscapes_dir / "masks" / split
      dst_image_dir.mkdir(parents=True, exist_ok=True)
      dst_mask_dir.mkdir(parents=True, exist_ok=True)

      image_paths = sorted(src_image_dir.rglob("*_leftImg8bit.png"))
      for image_path in image_paths:
          relative_path = image_path.relative_to(src_image_dir)
          mask_path = gtfine_dir / split / relative_path.parent / image_path.name.replace(
              "_leftImg8bit.png", "_gtFine_labelIds.png"
          )
          if not mask_path.exists():
              raise FileNotFoundError(f"Mask not found for {image_path}: {mask_path}")

          image_name = image_path.name.replace("_leftImg8bit", "")
          mask_name = mask_path.name.replace("_gtFine_labelIds", "")
          copy2(image_path, dst_image_dir / image_name)
          copy2(mask_path, dst_mask_dir / mask_name)

Link to this sectionالاستخدام#

لتدريب نموذج YOLO26n-sem على مجموعة بيانات Cityscapes لمدة 100 حقبة بحجم صورة 1024، يمكنك استخدام مقتطفات الكود التالية. للحصول على قائمة شاملة بالوسيطات المتاحة، راجع صفحة التدريب للنموذج.

مثال على التدريب
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-sem.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="cityscapes.yaml", epochs=100, imgsz=1024)

Link to this sectionالاقتباسات، والترخيص، والتقديرات#

تم إصدار Cityscapes بموجب ترخيص مخصص غير تجاري - مجاني للبحث الأكاديمي والتقييم، ولكن الاستخدام التجاري أو الترخيص أو إعادة توزيع البيانات يتطلب إذناً منفصلاً من فريق Cityscapes.

إذا كنت تستخدم مجموعة بيانات Cityscapes في بحثك أو عملك التطويري، يرجى الاستشهاد بالورقة البحثية التالية:

اقتباس
@inproceedings{Cordts2016Cityscapes,
  title={The Cityscapes Dataset for Semantic Urban Scene Understanding},
  author={Cordts, Marius and Omran, Mohamed and Ramos, Sebastian and Rehfeld, Timo and Enzweiler, Markus and Benenson, Rodrigo and Franke, Uwe and Roth, Stefan and Schiele, Bernt},
  booktitle={Proc. of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
  year={2016}
}

نود أن نعرب عن تقديرنا لفريق Cityscapes لإنشاء والحفاظ على هذا المورد القيم لمجتمعات القيادة الذاتية ورؤية الكمبيوتر. لمزيد من المعلومات حول مجموعة بيانات Cityscapes ومبتكريها، تفضل بزيارة موقع مجموعة بيانات Cityscapes.

Link to this sectionالأسئلة الشائعة#

Link to this sectionما هي مجموعة بيانات Cityscapes ولماذا هي مهمة لرؤية الكمبيوتر؟#

مجموعة بيانات Cityscapes هي معيار للتجزئة الدلالية واسع النطاق لمشاهد الشوارع الحضرية عبر 50 مدينة أوروبية، وتُستخدم على نطاق واسع كمرجع قياسي لأبحاث القيادة الذاتية و ADAS. فئاتها الـ 19 المصنفة بدقة، وصورها عالية الدقة، ومقياس متوسط التقاطع فوق الاتحاد (mIoU) الموحد تجعلها واحدة من أكثر المعايير استشهاداً لنماذج فهم المشاهد الكثيفة.

Link to this sectionكيف يمكنني تدريب نموذج YOLO باستخدام مجموعة بيانات Cityscapes؟#

لتدريب نموذج YOLO26n-sem على مجموعة بيانات Cityscapes لمدة 100 حقبة بحجم صورة 1024، يمكنك استخدام مقتطفات الكود التالية. للحصول على قائمة مفصلة بالوسيطات المتاحة، راجع صفحة التدريب للنموذج.

مثال على التدريب
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-sem.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="cityscapes.yaml", epochs=100, imgsz=1024)

Link to this sectionكيف يتم تنظيم مجموعة بيانات Cityscapes؟#

بعد التحضير، يتم تنظيم مجموعة البيانات في أدلة images/{train,val,test}/ و masks/{train,val,test}/، حيث يتم إقران كل صورة بقناع PNG أحادي القناة. يقوم ملف YAML الخاص بـ Ultralytics بإقران كل صورة بقناعها عبر حقل masks_dir: masks، ويستخدم label_mapping لتحويل معرفات تصنيفات Cityscapes الأصلية إلى معرفات التدريب الـ 19 المتجاورة القياسية، مع تعيين التصنيفات التي تم تجاهلها والفارغة إلى 255. أقنعة تقسيم test تصنف فقط مناطق المركبة ذاتية القيادة والحدود، لذا استخدم val لفحوصات mIoU المحلية.

Link to this sectionهل أحتاج إلى تنزيل Cityscapes يدوياً؟#

نعم. أنشئ حساباً على موقع Cityscapes وقم بتنزيل أرشيفات leftImg8bit_trainvaltest.zip و gtFine_trainvaltest.zip (حوالي 11 جيجابايت مجتمعة). استخرج كلاهما في المجلد الجذر لمجموعة بيانات cityscapes - يقوم Ultralytics تلقائياً بإعادة تنظيمها في هيكل images/ و masks/ المتوقع في المرة الأولى التي تقوم فيها بالتدريب.

Link to this sectionلماذا تستخدم Cityscapes label_mapping؟#

تخزن أقنعة مصدر Cityscapes معرفات تسميات أصلية تختلف عن معرفات التدريب الـ 19 المستخدمة للتقييم. يقوم قسم label_mapping بتحويل التسميات الصالحة إلى معرفات فئات متجاورة 018، وتعيين 255 للتسميات المتجاهلة والفارغة حتى يتم استبعادها من الخسارة والمقاييس أثناء التدريب والتحقق.

Link to this sectionهل مجموعة بيانات Cityscapes مجانية للاستخدام التجاري؟#

لا. تم إصدار Cityscapes بموجب ترخيص غير تجاري يسمح بالبحث الأكاديمي والتدريس والتقييم، ولكنه يحظر الاستخدام التجاري أو الترخيص أو بيع مجموعة البيانات أو الأعمال المشتقة منها. اتصل بفريق Cityscapes مباشرة للحصول على خيارات الترخيص التجاري.

التعليقات