انتقل إلى المحتوى

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

هيكل مجموعة البيانات ل 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("yolov8n-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=yolov8n-cls.pt epochs=100 imgsz=640

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

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

  • Caltech 101: مجموعة بيانات تحتوي على صور ل 101 فئة كائن لمهام تصنيف الصور.
  • Caltech 256: نسخة موسعة من Caltech 101 مع 256 فئة كائن وصور أكثر تحديا.
  • CIFAR-10: مجموعة بيانات من 60K 32x32 صورة ملونة في 10 فئات ، مع 6K صورة لكل فئة.
  • CIFAR-100: نسخة موسعة من CIFAR-10 مع 100 فئة كائن و 600 صورة لكل فئة.
  • Fashion-MNIST: مجموعة بيانات تتكون من 70000 صورة بتدرج الرمادي ل 10 فئات أزياء لمهام تصنيف الصور.
  • ImageNet: مجموعة بيانات واسعة النطاق لاكتشاف الكائنات وتصنيف الصور مع أكثر من 14 مليون صورة و 20000 فئة.
  • ImageNet-10: مجموعة فرعية أصغر من ImageNet تحتوي على 10 فئات لإجراء التجارب والاختبارات بشكل أسرع.
  • Imagenette: مجموعة فرعية أصغر من ImageNet تحتوي على 10 فئات يمكن تمييزها بسهولة للتدريب والاختبار بشكل أسرع.
  • Imagewoof: مجموعة فرعية أكثر تحديا من ImageNet تحتوي على 10 فئات من سلالات لمهام تصنيف الصور.
  • MNIST: مجموعة بيانات من 70000 صورة بتدرج الرمادي للأرقام المكتوبة بخط اليد لمهام تصنيف الصور.

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

إذا كان لديك مجموعة بيانات خاصة بك وترغب في استخدامها لنماذج تصنيف التدريب مع 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("yolov8n-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 العديد من المزايا لتصنيف الصور، بما في ذلك

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

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

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

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

مثل

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n-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=yolov8n-cls.pt epochs=100 imgsz=640

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



تم الإنشاء 2023-11-12، تم التحديث 2024-07-04
المؤلفون: جلين-جوتشر (7)، ستورمسون (1)، جريت في (1)

التعليقات