رؤية YOLO لعام 2026:

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

هيكل مجموعة البيانات لمهام تصنيف YOLO#

بالنسبة لمهام تصنيف Ultralytics YOLO، يجب تنظيم مجموعة البيانات في هيكل دليل مقسم محدد ضمن دليل root لتسهيل عمليات التدريب، والابارت، والتحقق الاختياري بشكل صحيح. يتضمن هذا الهيكل أدلة منفصلة لمراحل التدريب (train) والتحقق (val)، مع دليل اختياري للاختبار (test).

يجب أن يحتوي كل من هذه المجلدات على مجلد فرعي لكل فئة في مجموعة البيانات. يتم تسمية المجلدات الفرعية باسم الفئة المقابلة وتحتوي على جميع الصور لتلك الفئة. تأكد من تسمية كل ملف صورة بشكل فريد وتخزينه بتنسيق شائع مثل JPEG أو PNG.

مثال على هيكل المجلدات#

خذ مجموعة بيانات CIFAR-10 كمثال. يجب أن يبدو هيكل المجلد على النحو التالي:

cifar-10-/
|
|-- train/
|   |-- airplane/
|   |   |-- 10008_airplane.png
|   |   |-- 10009_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 1000_automobile.png
|   |   |-- 1001_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 10014_bird.png
|   |   |-- 10015_bird.png
|   |   |-- ...
|   |
|   |-- ...
|
|-- test/
|   |-- airplane/
|   |   |-- 10_airplane.png
|   |   |-- 11_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 100_automobile.png
|   |   |-- 101_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 1000_bird.png
|   |   |-- 1001_bird.png
|   |   |-- ...
|   |
|   |-- ...
|
|-- val/ (optional)
|   |-- airplane/
|   |   |-- 105_airplane.png
|   |   |-- 106_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 102_automobile.png
|   |   |-- 103_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 1045_bird.png
|   |   |-- 1046_bird.png
|   |   |-- ...
|   |
|   |-- ...

يضمن هذا النهج المنظم قدرة النموذج على التعلم بفعالية من فئات منظمة جيداً أثناء مرحلة التدريب وتقييم الأداء بدقة أثناء مراحل الاختبار والتحقق.

الاستخدام#

مثال
from ultralytics import YOLO

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

# Train the model
results = model.train(data="path/to/dataset", epochs=100, imgsz=640)
نصيحة

معظم أسماء مجموعات البيانات المدمجة (على سبيل المثال cifar10، أو imagenette، أو mnist160) ستقوم تلقائياً بتنزيل البيانات التخزين المؤقت لها في المرة الأولى التي تشير إليها فيها. قم بتوجيه data إلى مسار مجلد فقط عندما تقوم بإعداد مجموعة بيانات مخصصة.

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

تدعم Ultralytics مجموعات البيانات التالية مع التنزيل التلقائي:

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

إضافة مجموعة البيانات الخاصة بك#

إذا كانت لديك مجموعة بيانات خاصة بك وترغب في استخدامها لتدريب نماذج التصنيف باستخدام Ultralytics YOLO، فتأكد من أنها تتبع التنسيق المحدد أعلاه تحت "Dataset Structure" ثم قم بتوجيه معامل data الخاص بك إلى دليل مجموعة بيانات عند تهيئة برنامج التدريب النصي الخاص بك.

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

  • لهيكلة مجموعة البيانات الخاصة بك لمهام تصنيف Ultralytics YOLO، يجب عليك اتباع تنسيق دليل مقسم محدد. قم بتنظيم مجموعة البيانات الخاصة بك في أدلة منفصلة لـ train، وtest، واختيارياً val. يجب أن يحتوي كل من هذه الأدلة على أدلة فرعية مسماة باسم كل فئة، مع الصور المقابلة بداخلها. هذا يسهل عمليات التدريب والتقييم السلسة. كمثال، ضع في اعتبارك تنسيق مجموعة بيانات CIFAR-10:

    cifar-10-/
    |-- train/
    |   |-- airplane/
    |   |-- automobile/
    |   |-- bird/
    |   ...
    |-- test/
    |   |-- airplane/
    |   |-- automobile/
    |   |-- bird/
    |   ...
    |-- val/ (optional)
    |   |-- airplane/
    |   |-- automobile/
    |   |-- bird/
    |   ...

    لمزيد من التفاصيل، تفضل بزيارة قسم Dataset Structure for YOLO Classification Tasks.

  • يدعم Ultralytics YOLO التنزيل التلقائي للعديد من مجموعات البيانات لتصنيف الصور، بما في ذلك Caltech 101، وCaltech 256، وCIFAR-10، وCIFAR-100، وFashion-MNIST، وImageNet، وImageNet-10، وImagenette، وImagewoof، وMNIST. يتم هيكلة مجموعات البيانات هذه بطريقة تجعل من السهل استخدامها مع YOLO. توفر صفحة كل مجموعة بيانات مزيداً من التفاصيل حول هيكلها وتطبيقاتها.

  • لاستخدام مجموعة البيانات الخاصة بك مع Ultralytics YOLO، تأكد من أنها تتبع تنسيق الدليل المحدد المطلوب لمهمة التصنيف، مع أدلة منفصلة لـ train، وtest، واختيارياً val، وأدلة فرعية لكل فئة تحتوي على الصور المعنية. بمجرد هيكلة مجموعة البيانات الخاصة بك بشكل صحيح، قم بتوجيه معامل data إلى الدليل الجذر لمجموعة البيانات الخاصة بك عند تهيئة نص التدريب. إليك مثال بلغة Python:

    from ultralytics import YOLO
    
    # Load a model
    model = YOLO("yolo26n-cls.pt")  # load a pretrained model (recommended for training)
    
    # Train the model
    results = model.train(data="path/to/your/dataset", epochs=100, imgsz=640)

    يمكن العثور على مزيد من التفاصيل في قسم Adding your own dataset.

  • تقدم Ultralytics YOLO العديد من المزايا لتصنيف الصور، بما في ذلك:

    • Pretrained Models: قم بتحميل النماذج المدربة مسبقاً مثل yolo26n-cls.pt لبدء عملية التدريب الخاصة بك بسرعة.
    • سهولة الاستخدام: واجهة برمجة تطبيقات (API) بسيطة وأوامر CLI للتدريب والتقييم.
    • High Performance: accuracy وسرعة متطورتان، مثالية للتطبيقات في الوقت الفعلي.
    • Support for Multiple Datasets: تكامل سلس مع مختلف مجموعات البيانات الشائعة مثل CIFAR-10، وImageNet، والمزيد.
    • المجتمع والدعم: الوصول إلى وثائق شاملة ومجتمع نشط لاستكشاف الأخطاء وإصلاحها والتحسينات.

    للحصول على رؤى إضافية وتطبيقات واقعية، يمكنك استكشاف Ultralytics YOLO.

  • يمكن تدريب نموذج باستخدام Ultralytics YOLO بسهولة في كل من Python وCLI. إليك مثال:

    مثال
    from ultralytics import YOLO
    
    # Load a model
    model = YOLO("yolo26n-cls.pt")  # load a pretrained model
    
    # Train the model
    results = model.train(data="path/to/dataset", epochs=100, imgsz=640)

    توضح هذه الأمثلة العملية البسيطة لتدريب نموذج YOLO باستخدام أي من النهجين. لمزيد من المعلومات، تفضل بزيارة قسم Usage و صفحة Train لمهام التصنيف.

التعليقات