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

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

يتطلب تدريب نموذج قوي ودقيق للكشف عن الكائنات مجموعة بيانات شاملة. يقدم هذا الدليل تنسيقات مختلفة من مجموعات البيانات المتوافقة مع 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).

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

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

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

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

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

استخدام

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

مثل

from ultralytics import YOLO

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

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

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

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

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

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

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

مثل

from ultralytics import YOLO

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

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

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

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



تم الإنشاء 2023-11-12، تم التحديث 2024-07-04
المؤلفون: جلين-جوتشر (10)، رضوان منور (2)، إيفور زو 331 (1)، الضحك-ك (1)

التعليقات