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

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

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

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

يجب أن يحتوي كل من هذه الدلائل على دليل فرعي واحد لكل فئة في مجموعة البيانات. يتم تسمية الدلائل الفرعية باسم الفئة المقابلة وتحتوي على جميع الصور الخاصة بتلك الفئة. تأكد من تسمية كل ملف صورة بشكل فريد وتخزينه بتنسيق شائع مثل 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("yolo11n-cls.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="path/to/dataset", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=path/to/data model=yolo11n-cls.pt epochs=100 imgsz=640

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

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

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

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

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

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

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

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

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

لمزيد من التفاصيل، قم بزيارة هيكل مجموعة البيانات لمهام التصنيف YOLO .

ما هي مجموعات البيانات التي يدعمها Ultralytics YOLO لتصنيف الصور؟

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

مجموعات البيانات هذه منظمة بطريقة تجعلها سهلة الاستخدام مع YOLO. توفر صفحة كل مجموعة بيانات المزيد من التفاصيل حول هيكلها وتطبيقاتها.

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

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

from ultralytics import YOLO

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

# Train the model
results = model.train(data="path/to/your/dataset", epochs=100, imgsz=640)

يمكن العثور على مزيد من التفاصيل في قسم إضافة مجموعة البيانات الخاصة بك.

لماذا يجب استخدام Ultralytics YOLO لتصنيف الصور؟

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

  • النماذج المدربة مسبقاً: تحميل نماذج مدربة مسبقًا مثل yolo11n-cls.pt لبدء عملية التدريب الخاصة بك.
  • سهولة الاستخدام: واجهة برمجة تطبيقات بسيطة وأوامر CLI للتدريب والتقييم.
  • أداء عالٍ: دقة وسرعة فائقة، مثالية للتطبيقات في الوقت الحقيقي.
  • دعم مجموعات بيانات متعددة: تكامل سلس مع العديد من مجموعات البيانات الشائعة مثل CIFAR-10 و ImageNet وغيرها.
  • المجتمع والدعم: الوصول إلى وثائق شاملة ومجتمع نشط لاستكشاف الأخطاء وإصلاحها والتحسينات.

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

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

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

مثال على ذلك

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load a pretrained model

# Train the model
results = model.train(data="path/to/dataset", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=path/to/data model=yolo11n-cls.pt epochs=100 imgsz=640

توضح هذه الأمثلة العملية المباشرة لتدريب نموذج YOLO باستخدام أي من النهجين. لمزيد من المعلومات، يرجى زيارة قسم الاستخدام.

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

التعليقات