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

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

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

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

تنسيق Ultralytics YOLO

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

# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# COCO8 dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco8/
# Example usage: yolo train data=coco8.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco8 ← downloads here (1 MB)

# 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: 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
names:
  0: person
  1: bicycle
  2: car
  3: motorcycle
  4: airplane
  5: bus
  6: train
  7: truck
  8: boat
  9: traffic light
  10: fire hydrant
  11: stop sign
  12: parking meter
  13: bench
  14: bird
  15: cat
  16: dog
  17: horse
  18: sheep
  19: cow
  20: elephant
  21: bear
  22: zebra
  23: giraffe
  24: backpack
  25: umbrella
  26: handbag
  27: tie
  28: suitcase
  29: frisbee
  30: skis
  31: snowboard
  32: sports ball
  33: kite
  34: baseball bat
  35: baseball glove
  36: skateboard
  37: surfboard
  38: tennis racket
  39: bottle
  40: wine glass
  41: cup
  42: fork
  43: knife
  44: spoon
  45: bowl
  46: banana
  47: apple
  48: sandwich
  49: orange
  50: broccoli
  51: carrot
  52: hot dog
  53: pizza
  54: donut
  55: cake
  56: chair
  57: couch
  58: potted plant
  59: bed
  60: dining table
  61: toilet
  62: tv
  63: laptop
  64: mouse
  65: remote
  66: keyboard
  67: cell phone
  68: microwave
  69: oven
  70: toaster
  71: sink
  72: refrigerator
  73: book
  74: clock
  75: vase
  76: scissors
  77: teddy bear
  78: hair drier
  79: toothbrush

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8.zip

يجب تصدير الملصقات لهذا التنسيق إلى تنسيق 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: Common Objects in Context (COCO) عبارة عن مجموعة بيانات واسعة النطاق للكشف عن الكائنات والتجزئة والتعليق مع 80 فئة كائن.
  • LVIS: مجموعة بيانات واسعة النطاق للكشف عن الأجسام وتقسيمها وتسميتها مع 1203 فئة من الأجسام.
  • COCO8: مجموعة فرعية أصغر من أول 4 صور من COCO train و COCO val، ومناسبة للاختبارات السريعة.
  • COCO8-Grayscale: نسخة ذات تدرج رمادي من COCO8 تم إنشاؤها عن طريق تحويل RGB إلى تدرج رمادي، وهي مفيدة لتقييم نموذج أحادي القناة.
  • COCO8-Multispectral: نسخة متعددة الأطياف ذات 10 قنوات من COCO8 تم إنشاؤها عن طريق استيفاء أطوال موجات RGB، وهي مفيدة لتقييم النموذج المدرك للطيف.
  • COCO128: مجموعة فرعية أصغر من أول 128 صورة من COCO train و COCO val، ومناسبة للاختبارات.
  • Global Wheat 2020: مجموعة بيانات تحتوي على صور لرؤوس القمح لتحدي القمح العالمي 2020.
  • Objects365: مجموعة بيانات عالية الجودة وواسعة النطاق للكشف عن الأجسام مع 365 فئة من الأجسام وأكثر من 600 ألف صورة مشروحة.
  • OpenImagesV7: مجموعة بيانات شاملة من Google مع 1.7 مليون صورة تدريب و 42 ألف صورة تحقق.
  • SKU-110K: مجموعة بيانات تتميز باكتشاف كثيف للكائنات في بيئات البيع بالتجزئة مع أكثر من 11 ألف صورة و 1.7 مليون مربع إحاطة.
  • HomeObjects-3K جديد 🚀: مجموعة بيانات للعناصر المنزلية الداخلية بما في ذلك الأسرة والكراسي وأجهزة التلفزيون والمزيد - مثالية للتطبيقات في أتمتة المنزل الذكي والروبوتات والواقع المعزز وتحليل تخطيط الغرفة.
  • VisDrone: مجموعة بيانات تحتوي على بيانات الكشف عن الأجسام وتتبع الأجسام المتعددة من الصور التي تم التقاطها بواسطة الطائرات بدون طيار مع أكثر من 10 آلاف صورة وتسلسل فيديو.
  • VOC: مجموعة بيانات Pascal Visual Object Classes (VOC) لاكتشاف وتجزئة الكائنات، تحتوي على 20 فئة كائن وأكثر من 11 ألف صورة.
  • xView: مجموعة بيانات لاكتشاف الكائنات في الصور العلوية، تحتوي على 60 فئة كائن وأكثر من مليون كائن مُعلَّم.
  • Roboflow 100: معيار متنوع للكشف عن الكائنات مع 100 مجموعة بيانات تغطي سبعة مجالات تصوير لتقييم شامل للنموذج.
  • Brain-tumor: مجموعة بيانات لاكتشاف أورام الدماغ تتضمن صور الرنين المغناطيسي (MRI) أو الأشعة المقطعية (CT) مع تفاصيل حول وجود الورم وموقعه وخصائصه.
  • African-wildlife: مجموعة بيانات تعرض صورًا للحياة البرية الأفريقية، بما في ذلك الجاموس والفيل ووحيد القرن والحمار الوحشي.
  • Signature: مجموعة بيانات تعرض صورًا لمستندات مختلفة مع توقيعات مُعلَّمة، لدعم التحقق من المستندات وأبحاث الكشف عن الاحتيال.
  • Medical-pills: مجموعة بيانات تعرض صورًا للأقراص الطبية، مع شرح توضيحي لتطبيقات مثل ضمان الجودة الصيدلانية وفرز الحبوب والامتثال التنظيمي.

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

إذا كان لديك مجموعة بيانات خاصة بك وترغب في استخدامها لتدريب نماذج الكشف باستخدام تنسيق 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. تحول العملية شروحات COCO المستندة إلى JSON إلى تنسيق YOLO النصي الأبسط، مما يجعلها متوافقة مع نماذج Ultralytics YOLO.

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

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

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

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

# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# COCO8 dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco8/
# Example usage: yolo train data=coco8.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco8 ← downloads here (1 MB)

# 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: 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
names:
  0: person
  1: bicycle
  2: car
  3: motorcycle
  4: airplane
  5: bus
  6: train
  7: truck
  8: boat
  9: traffic light
  10: fire hydrant
  11: stop sign
  12: parking meter
  13: bench
  14: bird
  15: cat
  16: dog
  17: horse
  18: sheep
  19: cow
  20: elephant
  21: bear
  22: zebra
  23: giraffe
  24: backpack
  25: umbrella
  26: handbag
  27: tie
  28: suitcase
  29: frisbee
  30: skis
  31: snowboard
  32: sports ball
  33: kite
  34: baseball bat
  35: baseball glove
  36: skateboard
  37: surfboard
  38: tennis racket
  39: bottle
  40: wine glass
  41: cup
  42: fork
  43: knife
  44: spoon
  45: bowl
  46: banana
  47: apple
  48: sandwich
  49: orange
  50: broccoli
  51: carrot
  52: hot dog
  53: pizza
  54: donut
  55: cake
  56: chair
  57: couch
  58: potted plant
  59: bed
  60: dining table
  61: toilet
  62: tv
  63: laptop
  64: mouse
  65: remote
  66: keyboard
  67: cell phone
  68: microwave
  69: oven
  70: toaster
  71: sink
  72: refrigerator
  73: book
  74: clock
  75: vase
  76: scissors
  77: teddy bear
  78: hair drier
  79: toothbrush

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8.zip

يتم حفظ الملصقات في *.txt ملفات مع ملف واحد لكل صورة، منسقة كـ class x_center y_center width height مع إحداثيات مُnormlize. للحصول على دليل مفصل، راجع مثال على مجموعة بيانات 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. للحصول على أمثلة محددة، تحقق من قسم الاستخدام في الوثائق.



📅 تم الإنشاء منذ سنة واحدة ✏️ تم التحديث منذ 19 يومًا

تعليقات