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

نظرة عامة على مجموعات بيانات الكشف عن الكائنات

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

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

Ultralytics YOLO التنسيق

إن تنسيق Ultralytics YOLO هو تنسيق تكوين مجموعة البيانات الذي يسمح لك بتحديد الدليل الجذر لمجموعة البيانات، والمسارات النسبية لدلائل صور التدريب/التحقق من الصحة/الاختبار أو *.txt ملفات تحتوي على مسارات الصور، وقاموس أسماء الفئات. إليك مثال على ذلك:

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/coco8 # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images
test: # test images (optional)

# Classes (80 COCO classes)
names:
    0: person
    1: bicycle
    2: car
    # ...
    77: teddy bear
    78: hair drier
    79: toothbrush

يجب أن يتم تصدير تسميات هذا التنسيق إلى تنسيق YOLO بتنسيق واحد *.txt ملف لكل صورة. في حالة عدم وجود كائنات في الصورة، لا يوجد *.txt ملف مطلوب. يجب أن يكون *.txt يجب تنسيق الملف بصف واحد لكل كائن في class x_center y_center width height التنسيق. يجب أن تكون إحداثيات الصندوق في تطبيع xywh التنسيق (من 0 إلى 1). إذا كانت مربعاتك بالبكسل، يجب عليك تقسيم x_center و width بعرض الصورة، و y_center و height حسب ارتفاع الصورة. يجب أن تكون أرقام الفئات ذات فهرسة صفرية (تبدأ بـ 0).

مثال على صورة موسومة بـ

يحتوي ملف التسمية المطابق للصورة أعلاه على شخصين (الفئة 0) وربطة عنق (فئة 27):

مثال لملف التسمية

عند استخدام تنسيق Ultralytics YOLO ، قم بتنظيم صور التدريب والتحقق من الصحة والتسميات كما هو موضح في مثال مجموعة بيانات COCO8 أدناه.

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

الاستخدام

إليك كيفية استخدام هذه التنسيقات لتدريب نموذجك:

مثال على ذلك

from ultralytics import YOLO

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

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640

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

فيما يلي قائمة بمجموعات البيانات المدعومة ووصف موجز لكل منها:

  • Argoverse: مجموعة بيانات تحتوي على بيانات تتبع ثلاثية الأبعاد وبيانات التنبؤ بالحركة من البيئات الحضرية مع شروح غنية.
  • COCO: الكائنات الشائعة في السياق (COCO) هي مجموعة بيانات واسعة النطاق للكشف عن الكائنات وتجزئتها وتسميتها مع 80 فئة من الكائنات.
  • LVIS: مجموعة بيانات واسعة النطاق للكشف عن الكائنات وتجزئتها وتسميتها مع 1203 فئة من الكائنات.
  • COCO8: مجموعة فرعية أصغر من أول 4 صور من تدريب COCO وCOCO val، مناسبة للاختبارات السريعة.
  • COCO128: مجموعة فرعية أصغر من أول 128 صورة من أول 128 صورة من تدريب COCO وCOCO val، مناسبة للاختبارات.
  • القمح العالمي 2020: مجموعة بيانات تحتوي على صور لرؤوس القمح للتحدي العالمي للقمح 2020.
  • Objects365: مجموعة بيانات عالية الجودة وواسعة النطاق للكشف عن الكائنات مع 365 فئة من الكائنات وأكثر من 600 ألف صورة مشروحة.
  • OpenImagesV7: مجموعة بيانات شاملة من Google تحتوي على 1.7 مليون صورة تدريب و42 ألف صورة تحقق من صحتها.
  • SKU-110K: مجموعة بيانات تتميز باكتشاف الأجسام الكثيفة في بيئات البيع بالتجزئة مع أكثر من 11 ألف صورة و1.7 مليون مربع محدد.
  • VisDrone: مجموعة بيانات تحتوي على بيانات الكشف عن الأجسام وبيانات تتبع الأجسام المتعددة من الصور الملتقطة بطائرة بدون طيار مع أكثر من 10 آلاف صورة وتسلسل فيديو.
  • VOC: مجموعة بيانات Pascal Visual Object Classes (VOC) للكشف عن الكائنات وتجزئتها مع 20 فئة من الكائنات وأكثر من 11 ألف صورة.
  • xView: مجموعة بيانات للكشف عن الكائنات في الصور العلوية مع 60 فئة من الكائنات وأكثر من مليون كائن مشروح.
  • Roboflow 100: معيار قياسي متنوع للكشف عن الأجسام يحتوي على 100 مجموعة بيانات تغطي سبعة مجالات تصوير لتقييم النموذج الشامل.
  • أورام الدماغ: مجموعة بيانات للكشف عن أورام الدماغ تتضمن صور التصوير بالرنين المغناطيسي أو الأشعة المقطعية مع تفاصيل عن وجود الورم وموقعه وخصائصه.
  • الحياة البرية الأفريقية: مجموعة بيانات تضم صوراً للحياة البرية الأفريقية، بما في ذلك الجاموس، والفيل، ووحيد القرن، والحمير الوحشية.
  • التوقيع: مجموعة بيانات تضم صوراً لوثائق مختلفة مع توقيعات مشروحة، لدعم أبحاث التحقق من المستندات والكشف عن الاحتيال.

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

إذا كان لديك مجموعة البيانات الخاصة بك وترغب في استخدامها لتدريب نماذج الكشف بتنسيق Ultralytics YOLO ، تأكد من أنها تتبع التنسيق المحدد أعلاه تحت "Ultralytics YOLO التنسيق". حوّل شروحك إلى التنسيق المطلوب وحدد المسارات وعدد الفئات وأسماء الفئات في ملف تكوين YAML.

نقل تنسيقات التسمية أو تحويلها

تنسيق مجموعة بيانات COCO إلى تنسيق YOLO

يمكنك بسهولة تحويل التسميات من تنسيق مجموعة بيانات COCO الشائعة إلى تنسيق YOLO باستخدام مقتطف الكود التالي:

مثال على ذلك

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/")

يمكن استخدام أداة التحويل هذه لتحويل مجموعة بيانات COCO أو أي مجموعة بيانات بتنسيق COCO إلى تنسيق Ultralytics YOLO .

تذكّر أن تتحقق مرة أخرى مما إذا كانت مجموعة البيانات التي تريد استخدامها متوافقة مع نموذجك وتتبع اصطلاحات التنسيق اللازمة. تُعد مجموعات البيانات المنسقة بشكل صحيح أمرًا بالغ الأهمية لتدريب نماذج ناجحة للكشف عن الكائنات.

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

ما هو تنسيق مجموعة البيانات Ultralytics YOLO وكيفية هيكلتها؟

تنسيق Ultralytics YOLO هو تكوين منظم لتحديد مجموعات البيانات في مشاريعك التدريبية. وهو يتضمن تحديد مسارات لصور التدريب والتحقق من الصحة واختبار الصور والتسميات المقابلة. على سبيل المثال:

path: ../datasets/coco8 # dataset root directory
train: images/train # training images (relative to 'path')
val: images/val # validation images (relative to 'path')
test: # optional test images
names:
    0: person
    1: bicycle
    2: car
    # ...

يتم حفظ التسميات في *.txt ملفات بملف واحد لكل صورة، منسقة على شكل class x_center y_center width height بإحداثيات طبيعية. للحصول على دليل تفصيلي، راجع مثال على مجموعة بيانات COCO8.

كيف يمكنني تحويل مجموعة بيانات COCO إلى تنسيق YOLO ؟

يمكنك تحويل مجموعة بيانات COCO إلى تنسيق YOLO باستخدام أدوات التحويل Ultralytics . إليك طريقة سريعة:

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/")

سيؤدي هذا الرمز إلى تحويل شروح COCO الخاصة بك إلى تنسيق YOLO ، مما يتيح التكامل السلس مع نماذج Ultralytics YOLO . لمزيد من التفاصيل، قم بزيارة قسم المنفذ أو تحويل صيغ التسمية.

ما هي مجموعات البيانات التي يدعمها Ultralytics YOLO لاكتشاف الأجسام؟

Ultralytics YOLO يدعم مجموعة واسعة من مجموعات البيانات، بما في ذلك:

توفر كل صفحة من صفحات مجموعات البيانات معلومات مفصلة عن البنية والاستخدام المصممة خصيصًا للتدريب الفعال YOLO11 . استكشف القائمة الكاملة في قسم مجموعات البيانات المدعومة.

كيف يمكنني البدء في تدريب نموذج YOLO11 باستخدام مجموعة البيانات الخاصة بي؟

لبدء تدريب نموذج YOLO11 ، تأكد من تنسيق مجموعة البيانات الخاصة بك بشكل صحيح وتعريف المسارات في ملف YAML. استخدم البرنامج النصي التالي لبدء التدريب:

مثال على ذلك

from ultralytics import YOLO

model = YOLO("yolo11n.pt")  # Load a pretrained model
results = model.train(data="path/to/your_dataset.yaml", epochs=100, imgsz=640)
yolo detect train data=path/to/your_dataset.yaml model=yolo11n.pt epochs=100 imgsz=640

راجع قسم الاستخدام لمزيد من التفاصيل حول استخدام الأوضاع المختلفة، بما في ذلك الأوامر CLI .

أين يمكنني العثور على أمثلة عملية لاستخدام Ultralytics YOLO للكشف عن الأجسام؟

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

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

التعليقات