YOLO Vision 2026:

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

توفر Ultralytics الدعم لمختلف مجموعات البيانات لتسهيل مهام الرؤية الحاسوبية مثل الاكتشاف، وتجزئة النطاق instance segmentation، وتجزئة الدلالات، وتقدير العمق، وتقدير الوضعية، والتصنيف، وتتبع الكائنات المتعددة. فيما يلي قائمة بمجموعات بيانات Ultralytics الرئيسية، يليه ملخص لكل مهمة من مهام الرؤية الحاسوبية ومجموعات البيانات الخاصة بها.



Watch: Ultralytics Datasets Overview

اكتشاف الكائنات#

اكتشاف الكائنات بـ Bounding box هو تقنية رؤية حواسيبية تتضمن اكتشاف وتحديد مواقع الكائنات في الصورة عن طريق رسم صندوق إحاطة حول كل كائن.

  • African-wildlife: مجموعة بيانات تضم صوراً للحياة البرية الأفريقية، بما في ذلك الجاموس، والفيلة، والكركدن، والحمير الوحشية.
  • Argoverse: مجموعة بيانات تحتوي على بيانات تتبع ثنائي الأبعاد وتنبؤ بالحركة من بيئات حضرية مع تعليقات توضيحية غنية.
  • Brain-tumor: مجموعة بيانات لاكتشاف أورام المخ تتضمن صور الأشعة بالرنين المغناطيسي أو الأشعة المقطعية مع تفاصيل حول وجود الورم وموقعه وخصائصه.
  • COCO: مجموعة بيانات الكائنات المشتركة في السياق (Common Objects in Context) هي مجموعة بيانات واسعة النطاق لاكتشاف الكائنات والتجزئة والتعليق التوضيحي مع 80 فئة من الكائنات.
  • COCO8: مجموعة فرعية أصغر تضم أول 4 صور من بيانات تدريب وقياس COCO، وهي مناسبة للاختبارات السريعة.
  • COCO8-Grayscale: نسخة بالدرجات الرمادية من مجموعة COCO8 تم إنشاؤها عن طريق تحويل الألوان إلى درجات رمادية، وهي مفيدة لتقييم النماذج أحادية القناة.
  • COCO8-Multispectral: نسخة متعددة الطيف من مجموعة COCO8 تضم 10 قنوات تم إنشاؤها عن طريق استيفاء الأطوال الموجية لألوان RGB، وهي مفيدة لتقييم النماذج الواعية للطيف.
  • COCO128: مجموعة فرعية أصغر تضم أول 128 صورة من بيانات تدريب COCO 2017، وهي مناسبة للاختبارات.
  • Construction-PPE: مجموعة بيانات لصور مواقع البناء مشروحة بمعدات السلامة الأساسية مثل الخوذ، والسترات، والقفازات، والأحذية، والنظارات الواقية، إلى جانب تصنيفات للمعدات المفقودة، مما يدعم تطوير نماذج الذكاء الاصطناعي للامتثال وحماية العمال.
  • القمح العالمي 2020: مجموعة بيانات تحتوي على صور لرؤوس القمح لتحدي القمح العالمي 2020.
  • HomeObjects-3K: مجموعة بيانات للمشاهد الداخلية المشروحة التي تضم 12 عنصراً من الأدوات المنزلية الشائعة، وهي مثالية لتطوير واختبار نماذج الرؤية الحاسوبية في أنظمة المنازل الذكية، والروبوتات، والواقع المعزز.
  • KITTI New: مجموعة بيانات شهيرة للقيادة الذاتية تضم مدخلات ستيريو، ونظام LiDAR، ونظام GPS/IMU، وتُستخدم لاكتشاف الكائنات ثنائية الأبعاد في مشاهد الطرق المتنوعة.
  • LVIS: مجموعة بيانات واسعة النطاق لاكتشاف الكائنات، والتجزئة، والتعليق التوضيحي مع 1203 فئات من الكائنات.
  • Medical-pills: مجموعة بيانات تحتوي على صور مصنفة للأقراص الدوائية، مصممة للمساعدة في مهام مثل مراقبة الجودة الصيدلانية، والفرز، وضمان الامتثال لمعايير الصناعة.
  • Objects365: مجموعة بيانات عالية الجودة وواسعة النطاق لاكتشاف الكائنات مع 365 فئة كائنات وأكثر من 600 ألف صورة مصنفة.
  • OpenImagesV7: مجموعة بيانات شاملة من Google تضم 1.7 مليون صورة تدريب و42 ألف صورة للتحقق من الصحة.
  • RF100: معيار قياسي متنوع لاكتشاف الكائنات يضم 100 مجموعة بيانات تمتد عبر سبعة مجالات للصور لتقييم النماذج بشكل شامل.
  • التوقيعات: مجموعة بيانات تضم صوراً لمستندات مختلفة مع توقيعات مسجلة، مما يدعم التحقق من المستندات وأبحاث الكشف عن الاحتيال.
  • SKU-110K: مجموعة بيانات تتميز باكتشاف الكائنات الكثيفة في بيئات التجزئة مع أكثر من 11 ألف صورة و1.7 مليون صندوق إحاطة.
  • VisDrone: مجموعة بيانات تحتوي على بيانات اكتشاف الكائنات وتتبع متعدد الكائنات مأخوذة من صور ملتقطة بطائرات بدون طيار (درون) مع أكثر من 10 آلاف صورة وتسلسل فيديو.
  • VOC: مجموعة بيانات الفئات المرئية لباسكال (VOC) لاكتشاف الكائنات وتجزئتها مع 20 فئة كائنات وأكثر من 11 ألف صورة.
  • xView: مجموعة بيانات لاكتشاف الكائنات في الصور العلوية مع 60 فئة كائنات وأكثر من مليون كائن مسجل.

تجزئة الحالات الفردية#

تجزئة النطاق هي تقنية رؤية حواسيبية تتضمن تحديد وتوطين الكائنات في الصورة على مستوى البكسل. على عكس تجزئة الدلالات التي تصنف كل بكسل فقط، تُميِّز instance segmentation بين الحالات المختلفة لنفس الفئة.

  • Carparts-seg: مجموعة بيانات مصممة خصيصاً لتحديد أجزاء المركبات، وتلبي احتياجات التصميم، والتصنيع، والبحث. وهي تخدم مهام اكتشاف الكائنات والتجزئة على حد سواء.
  • COCO: مجموعة بيانات واسعة النطاق مصممة لمهام اكتشاف الكائنات والتجزئة والتعليق التوضيحي مع أكثر من 200 ألف صورة مشروحة.
  • COCO8-seg: مجموعة بيانات أصغر لمهام تجزئة النطاق، تحتوى على مجموعة فرعية من 8 صور COCO مع تعليقات توضيحية للتجزئة.
  • COCO128-seg: مجموعة بيانات أصغر لمهام تجزئة النطاق، تحتوي على مجموعة فرعية من 128 صورة COCO مع تعليقات توضيحية للتجزئة.
  • Crack-seg: مجموعة بيانات صُممت خصيصاً لاكتشاف الشقوق على الطرق والجدران، وهي قابلة للتطبيق في مهام اكتشاف الكائنات والتجزئة.
  • Package-seg: مجموعة بيانات مخصصة لتحديد الطرود في المستودعات أو البيئات الصناعية، ومناسبة لتطبيقات اكتشاف الكائنات والتجزئة.

التجزئة الدلالية#

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

  • Cityscapes: مجموعة بيانات تجزئة دلالية لمشاهد الشوارع الحضرية مع 19 فئة للتدريب.
  • Cityscapes8: مجموعة فرعية مدمجة من Cityscapes تضم 8 صور لفحوصات خطوط أنابيب التجزئة الدلالية السريعة.
  • ADE20K: مجموعة بيانات تحليل المشاهد مع 150 فئة دلالية.

تقدير العمق#

يتنبأ تقدير العمق أحادي العين بخريطة عمق لكل بكسل بالأمتار من صورة RGB واحدة، مما يدعم إعادة بناء المشهد ثلاثي الأبعاد، وملاحة الروبوتات، وتطبيقات الواقع المعزز/الافتراضي AR/VR.

  • NYU Depth V2: المعيار القياسي لعمق الأماكن الداخلية المتقطّت باستخدام كاميرا Microsoft Kinect v1.
  • KITTI: مشاهد قيادة ذاتية خارجية واقعية مع بيانات عمق باستخدام Velodyne LiDAR.
  • Depth8: مجموعة فرعية مدمجة من SUN RGB-D تضم 8 صور لفحوصات الخطوط السريعة.

تقدير الوضعية#

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

  • COCO: مجموعة بيانات واسعة النطاق مع تعليقات توضيحية لوضعية الإنسان مصممة لمهام تقدير الوضعية.
  • COCO8-pose: مجموعة بيانات أصغر لمهام تقدير الوضعية، تحتوي على مجموعة فرعية من 8 صور COCO مع تعليقات توضيحية لوضعية الإنسان.
  • Dog-pose: مجموعة بيانات شاملة تضم حوالي 8,500 صورة تركز على الكلاب، وموسومة بـ 24 نقطة رئيسية لكل كلب، ومصممة خصيصاً لمهام تقدير الوضعية.
  • Hand-Keypoints: مجموعة بيانات موجزة تضم أكثر من 26,000 صورة تركز على الأيدي البشرية، وموسومة بـ 21 نقطة رئيسية لكل يد، ومصممة لمهام تقدير الوضعية.
  • Tiger-pose: مجموعة بيانات مدمجة تتكون من 263 صورة تركز على النمور، وموسومة بـ 12 نقطة رئيسية لكل نمر لمهام تقدير الوضعية.

التصنيف#

Image classification هو مهمة رؤية حواسيبية تتضمن تصنيف الصورة إلى فئة واحدة أو أكثر محددة مسبقاً بناءً على محتواها البصري.

  • Caltech 101: مجموعة بيانات تحتوي على صور لـ 101 فئة من الكائنات لمهام تصنيف الصور.
  • Caltech 256: نسخة محسنة من Caltech 101 مع 256 فئة من الكائنات وصور أكثر تحدياً.
  • CIFAR-10: مجموعة بيانات تضم 60 ألف صورة ملونة بحجم 32×32 في 10 فئات، مع 6 آلاف صورة لكل فئة.
  • CIFAR-100: نسخة موسعة من CIFAR-10 تحتوي على 100 فئة من الكائنات و600 صورة لكل فئة.
  • Fashion-MNIST: مجموعة بيانات تتكون من 70 ألف صورة بالدرجات الرمادية لـ 10 فئات من الأزياء لمهام تصنيف الصور.
  • ImageNet: مجموعة بيانات واسعة النطاق لاكتشاف الكائنات وتصنيف الصور تضم أكثر من 14 مليون صورة و20 ألف فئة.
  • ImageNet-10: مجموعة فرعية أصغر من ImageNet تحتوي على 10 فئات لتجربة واختبار أسرع.
  • Imagenette: مجموعة فرعية أصغر من ImageNet تحتوي على 10 فئات يمكن تمييزها بسهولة لتدريب واختبار أسرع.
  • Imagewoof: مجموعة فرعية أكثر تحدياً من ImageNet تحتوي على 10 فئات لسلالات الكلاب لمهام تصنيف الصور.
  • MNIST: مجموعة بيانات تضم 70 ألف صورة بالدرجات الرمادية لأرقام مكتوبة بخط اليد لمهام تصنيف الصور.
  • MNIST160: أول 8 صور لكل رقم (0-9) من كل من مجموعتي تدريب واختبار MNIST. تحتوي مجموعة البيانات على 160 صورة إجمالاً.

صناديق الإحاطة الموجهة (OBB)#

تعد صناديق التحديد الموجهة (OBB) طريقة في الرؤية الحاسوبية للكشف عن الكائنات المائلة في الصور باستخدام صناديق تحديد دوارة، وغالبًا ما تُطبق على الصور الجوية وصور الأقمار الصناعية. على عكس صناديق التحديد التقليدية، يمكن لـ OBB ملاءمة الكائنات بشكل أفضل عند اتجاهات مختلفة.

  • DOTA-v2: مجموعة بيانات شائعة لصور الأقمار الصناعية والجوي الموجهة (OBB) تضم 1.7 مليون عنصر و11,268 صورة.
  • DOTA8: مجموعة فرعية أصغر تتكون من أول 8 صور من مجموعة تقسيم DOTAv1، منها 4 للتدريب و4 للتحقق، وهي مناسبة للاختبارات السريعة.
  • DOTA128: مجموعة فرعية تضم 128 صورة من مجموعة بيانات DOTA للتدريب والتحقق، مما توفر توازناً جيداً بين الحجم والتنوع لاختبار نماذج OBB.

Multi-Object Tracking#

تتبع الكائنات المتعددة هو تقنية رؤية حاسوبية تتضمن كشف وتتبع كائنات متعددة بمرور الوقت في تسلسل فيديو. توسع هذه المهمة عملية كشف الكائنات من خلال الحفاظ على هويات متسقة للكائنات عبر الإطارات.

  • Argoverse: مجموعة بيانات تحتوي على تتبع ثلاثي الأبعاد وتنبؤ بالحركة من البيئات الحضرية مع تعليقات توضيحية غنية لمهام تتبع الكائنات المتعددة.
  • VisDrone: مجموعة بيانات تحتوي على بيانات اكتشاف الكائنات وتتبع متعدد الكائنات مأخوذة من صور ملتقطة بطائرات بدون طيار (درون) مع أكثر من 10 آلاف صورة وتسلسل فيديو.

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

تتضمن المساهمة بمجموعة بيانات جديدة عدة خطوات لضمان توافقها الجيد مع البنية التحتية الحالية. فيما يلي الخطوات اللازمة:



Watch: How to Contribute to Ultralytics Datasets

خطوات المساهمة بمجموعة بيانات جديدة#

  1. جمع الصور: اجمع الصور التي تنتمي إلى مجموعة البيانات. يمكن جمع هذه الصور من مصادر مختلفة، مثل قواعد البيانات العامة أو مجموعتك الخاصة.

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

  3. تصدير التعليقات التوضيحية: قم بتحويل هذه التعليقات التوضيحية إلى تنسيق ملف YOLO *.txt الذي تدعمه Ultralytics.

  4. تنظيم مجموعة البيانات: رتب مجموعة البيانات الخاصة بك في هيكل المجلدات الصحيح. يجب أن يكون لديك الدليلان الرئيسيان images/ و labels/، وداخل كل منهما، دليل فرعي train/ و val/.

    dataset/
    ├── images/
    │   ├── train/
    │   └── val/
    └── labels/
        ├── train/
        └── val/
  5. إنشاء ملف data.yaml: في الدليل الجذر لمجموعة البيانات الخاصة بك، أنشئ ملف data.yaml يصف مجموعة البيانات والفئات والمعلومات الأخرى اللازمة.

  6. تحسين الصور (اختياري): إذا كنت ترغب في تقليل حجم مجموعة البيانات لمعالجة أكثر كفاءة، يمكنك تحسين الصور باستخدام الكود أدناه. هذا ليس مطلوباً، ولكنه موصى به لأحجام مجموعات البيانات الأصغر وسرعات تنزيل أسرع.

  7. ضغط مجموعة البيانات: قم بضغط مجلد مجموعة البيانات بالكامل في ملف zip.

  8. التوثيق و PR: أنشئ صفحة وثائق تصف مجموعة البيانات الخاصة بك وكيفية اندماجها في الإطار الحالي. بعد ذلك، قم بتقديم طلب سحب (PR). راجع Ultralytics Contribution Guidelines لمزيد من التفاصيل حول كيفية تقديم PR.

نموذج كود لتحسين وضغط مجموعة بيانات#

تحسين وضغط مجموعة بيانات
   from pathlib import Path

   from ultralytics.data.utils import compress_one_image
   from ultralytics.utils.downloads import zip_directory

   # Define dataset directory
   path = Path("path/to/dataset")

   # Optimize images in dataset (optional)
   for f in path.rglob("*.jpg"):
       compress_one_image(f)

   # Zip dataset into 'path/to/dataset.zip'
   zip_directory(path)

باتباع هذه الخطوات، يمكنك المساهمة بمجموعة بيانات جديدة تتكامل بشكل جيد مع هيكل Ultralytics الحالي.

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

  • تدعم Ultralytics مجموعة واسعة من مجموعات البيانات الخاصة بـ object detection، بما في ذلك:

    • COCO: مجموعة بيانات واسعة النطاق لاكتشاف الكائنات والتجزئة والتعليق التوضيحي مع 80 فئة من الكائنات.
    • LVIS: مجموعة بيانات شاملة تضم 1203 فئة من الكائنات، مصممة لاكتشاف وتجزئة الكائنات بشكل أكثر دقة.
    • Argoverse: مجموعة بيانات تحتوي على بيانات تتبع ثنائي الأبعاد وتنبؤ بالحركة من بيئات حضرية مع تعليقات توضيحية غنية.
    • VisDrone: مجموعة بيانات تحتوي على بيانات اكتشاف الكائنات وتتبع الكائنات المتعددة من الصور التي التقطتها الطائرات بدون طيار.
    • SKU-110K: تتميز باكتشاف الكائنات الكثيفة في بيئات التجزئة مع أكثر من 11 ألف صورة.

    تسهل مجموعات البيانات هذه تدريب نماذج Ultralytics YOLO القوية لتطبيقات اكتشاف الكائنات المختلفة.

  • تتضمن المساهمة بمجموعة بيانات جديدة عدة خطوات:

    1. جمع الصور: اجمع الصور من قواعد البيانات العامة أو المجموعات الشخصية.
    2. شرح الصور: طبق صناديق التحديد أو التجزئة أو النقاط الرئيسية، اعتماداً على المهمة.
    3. تصدير التعليقات التوضيحية: قم بتحويل التعليقات التوضيحية إلى تنسيق YOLO *.txt.
    4. تنظيم مجموعة البيانات: استخدم هيكل المجلدات مع دليلي train/ و val/، حيث يحتوي كل منهما على الدليلين الفرعيين images/ و labels/.
    5. إنشاء ملف data.yaml: قم بتضمين أوصاف مجموعة البيانات والفئات والمعلومات الأخرى ذات الصلة.
    6. تحسين الصور (اختياري): قلل حجم مجموعة البيانات لتحسين الكفاءة.
    7. ضغط مجموعة البيانات: قم بضغط مجموعة البيانات في ملف zip.
    8. التوثيق و PR: صف مجموعة البيانات الخاصة بك وقم بتقديم طلب سحب (PR) باتباع Ultralytics Contribution Guidelines.

    تفضل بزيارة Contribute New Datasets للحصول على دليل شامل.

  • توفّر Ultralytics Platform ميزات قوية لإدارة وتحليل مجموعات البيانات، بما في ذلك:

    • إدارة سلسة لمجموعات البيانات: قم بتحميل مجموعات البيانات الخاصة بك وتنظيمها وإدارتها في مكان واحد.
    • تكامل فوري للتدريب: استخدم مجموعات البيانات التي تم تحميلها مباشرة لتدريب النماذج دون الحاجة إلى إعداد إضافي.
    • أدوات التصور: استكشف وصوّر صور مجموعات البيانات والتعليقات التوضيحية الخاصة بك.
    • تحليل مجموعات البيانات: احصل على رؤى حول توزيع وخصائص مجموعة البيانات الخاصة بك.

    تعمل المنصة على تبسيط الانتقال من إدارة مجموعة البيانات إلى تدريب النماذج، مما يجعل العملية بأكملها أكثر كفاءة. تعرف على المزيد حول Ultralytics Platform Datasets.

  • تقدم نماذج Ultralytics YOLO العديد من الميزات الفريدة لمهام computer vision:

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

    اكتشف المزيد حول نماذج YOLO على صفحة Ultralytics Models.

  • لتحسين وضغط مجموعة بيانات باستخدام أدوات Ultralytics، اتبع نموذج التعليمات البرمجية هذا:

    تحسين وضغط مجموعة بيانات
    from pathlib import Path
    
    from ultralytics.data.utils import compress_one_image
    from ultralytics.utils.downloads import zip_directory
    
    # Define dataset directory
    path = Path("path/to/dataset")
    
    # Optimize images in dataset (optional)
    for f in path.rglob("*.jpg"):
        compress_one_image(f)
    
    # Zip dataset into 'path/to/dataset.zip'
    zip_directory(path)

    تساعد هذه العملية في تقليل حجم مجموعة البيانات للحصول على تخزين أكثر كفاءة وسرعات تنزيل أسرع. تعرف على المزيد حول كيفية Optimize and Zip a Dataset.

التعليقات