Link to this sectionنظرة عامة على مجموعات بيانات تصنيف الصور#
Link to this sectionهيكل مجموعة البيانات لمهام تصنيف YOLO#
بالنسبة لمهام تصنيف YOLO الخاصة بـ Ultralytics، يجب تنظيم مجموعة البيانات في هيكل محدد من المجلدات المنقسمة تحت دليل root لتسهيل عمليات التدريب والاختبار والتحقق الاختياري بشكل صحيح. يتضمن هذا الهيكل مجلدات منفصلة لمراحل التدريب (train) والتحقق (val)، مع مجلد اختياري للاختبار (test).
يجب أن يحتوي كل من هذه المجلدات على مجلد فرعي لكل فئة في مجموعة البيانات. يتم تسمية المجلدات الفرعية باسم الفئة المقابلة وتحتوي على جميع الصور لتلك الفئة. تأكد من تسمية كل ملف صورة بشكل فريد وتخزينه بتنسيق شائع مثل JPEG أو PNG.
Link to this sectionمثال على هيكل المجلدات#
خذ مجموعة بيانات 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
| | |-- ...
| |
| |-- ...يضمن هذا النهج المنظم قدرة النموذج على التعلم بفعالية من فئات منظمة جيداً أثناء مرحلة التدريب وتقييم الأداء بدقة أثناء مراحل الاختبار والتحقق.
Link to this sectionالاستخدام#
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 إلى مسار مجلد فقط عندما تقوم بإعداد مجموعة بيانات مخصصة.
Link to this sectionمجموعات البيانات المدعومة#
تدعم Ultralytics مجموعات البيانات التالية مع التنزيل التلقائي:
- Caltech 101: مجموعة بيانات تحتوي على صور لـ 101 فئة من الكائنات لمهام تصنيف الصور.
- Caltech 256: نسخة موسعة من Caltech 101 تحتوي على 256 فئة من الكائنات وصور أكثر تحدياً.
- CIFAR-10: مجموعة بيانات من 60 ألف صورة ملونة بحجم 32x32 في 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 صور لكل رقم (0-9) من مجموعات تدريب واختبار MNIST. تحتوي مجموعة البيانات على 160 صورة إجمالاً.
Link to this sectionإضافة مجموعة البيانات الخاصة بك#
إذا كان لديك مجموعة بيانات خاصة بك وترغب في استخدامها لتدريب نماذج التصنيف باستخدام Ultralytics YOLO، فتأكد من أنها تتبع التنسيق المحدد أعلاه تحت "هيكل مجموعة البيانات" ثم قم بتوجيه وسيط data الخاص بك إلى دليل مجموعة البيانات عند تهيئة برنامج التدريب الخاص بك.
Link to this sectionالأسئلة الشائعة#
Link to this sectionكيف يمكنني تنظيم مجموعة البيانات الخاصة بي لمهام تصنيف YOLO؟#
لتنظيم مجموعة البيانات الخاصة بك لمهام تصنيف Ultralytics YOLO، يجب عليك اتباع تنسيق محدد للمجلدات المنقسمة. نظم مجموعة البيانات الخاصة بك في مجلدات منفصلة لـ train وtest واختيارياً val. يجب أن يحتوي كل من هذه المجلدات على مجلدات فرعية مسمّاة باسم كل فئة، مع وجود الصور المقابلة بداخلها. وهذا يسهل عمليات التدريب والتقييم بسلاسة. على سبيل المثال، ضع في اعتبارك تنسيق مجموعة بيانات CIFAR-10:
cifar-10-/
|-- train/
| |-- airplane/
| |-- automobile/
| |-- bird/
| ...
|-- test/
| |-- airplane/
| |-- automobile/
| |-- bird/
| ...
|-- val/ (optional)
| |-- airplane/
| |-- automobile/
| |-- bird/
| ...لمزيد من التفاصيل، قم بزيارة قسم هيكل مجموعة البيانات لمهام تصنيف YOLO.
Link to this sectionما هي مجموعات البيانات التي تدعمها Ultralytics YOLO لتصنيف الصور؟#
تدعم Ultralytics YOLO التنزيل التلقائي للعديد من مجموعات البيانات لتصنيف الصور، بما في ذلك Caltech 101 وCaltech 256 وCIFAR-10 وCIFAR-100 وFashion-MNIST وImageNet وImageNet-10 وImagenette وImagewoof وMNIST. يتم تنظيم مجموعات البيانات هذه بطريقة تجعل من السهل استخدامها مع YOLO. توفر صفحة كل مجموعة بيانات مزيداً من التفاصيل حول هيكلها وتطبيقاتها.
Link to this sectionكيف يمكنني إضافة مجموعة البيانات الخاصة بي لتصنيف صور 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)يمكن العثور على مزيد من التفاصيل في قسم إضافة مجموعة البيانات الخاصة بك.
Link to this sectionلماذا يجب أن أستخدم Ultralytics YOLO لتصنيف الصور؟#
تقدم Ultralytics YOLO العديد من المزايا لتصنيف الصور، بما في ذلك:
- نماذج مدربة مسبقاً: قم بتحميل نماذج مدربة مسبقاً مثل
yolo26n-cls.ptلبدء عملية التدريب الخاصة بك بسرعة. - سهولة الاستخدام: واجهة برمجة تطبيقات (API) بسيطة وأوامر CLI للتدريب والتقييم.
- أداء عالٍ: دقة وسرعة متطورة، مثالية للتطبيقات التي تعمل في الوقت الفعلي.
- دعم مجموعات بيانات متعددة: تكامل سلس مع العديد من مجموعات البيانات الشهيرة مثل CIFAR-10 وImageNet والمزيد.
- المجتمع والدعم: الوصول إلى وثائق شاملة ومجتمع نشط لاستكشاف الأخطاء وإصلاحها والتحسينات.
للحصول على رؤى إضافية وتطبيقات واقعية، يمكنك استكشاف Ultralytics YOLO.
Link to this sectionكيف يمكنني تدريب نموذج باستخدام 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 باستخدام أي من النهجين. لمزيد من المعلومات، قم بزيارة قسم الاستخدام وصفحة التدريب لمهام التصنيف.