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

نظرة عامة على مجموعات بيانات تجزئة المثيل

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

Ultralytics YOLO تنسيق

تنسيق تسمية مجموعة البيانات المستخدم للتدريب YOLO نماذج التجزئة هي كما يلي:

  1. ملف نصي واحد لكل صورة: تحتوي كل صورة في مجموعة البيانات على ملف نصي مطابق بنفس اسم ملف الصورة والامتداد ".txt".
  2. صف واحد لكل كائن: يتوافق كل صف في الملف النصي مع مثيل كائن واحد في الصورة.
  3. معلومات الكائن لكل صف: يحتوي كل صف على المعلومات التالية حول مثيل الكائن:
    • فهرس فئة الكائن: عدد صحيح يمثل فئة الكائن (على سبيل المثال ، 0 للشخص ، 1 للسيارة ، إلخ).
    • إحداثيات محيط الكائن: إحداثيات المحيط حول منطقة القناع ، تمت تسويتها لتكون بين 0 و 1.

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

<class-index> <x1> <y1> <x2> <y2> ... <xn> <yn>

في هذا التنسيق، <class-index> هو فهرس فئة الكائن، و <x1> <y1> <x2> <y2> ... <xn> <yn> هي الإحداثيات المحيطة لقناع تجزئة الكائن. الإحداثيات مفصولة بمسافات.

فيما يلي مثال على YOLO تنسيق مجموعة البيانات لصورة واحدة مع كائنين مكونين من مقطع من 3 نقاط ومقطع من 5 نقاط.

0 0.681 0.485 0.670 0.487 0.676 0.487
1 0.504 0.000 0.501 0.004 0.498 0.004 0.493 0.010 0.492 0.0104

بقشيش

  • لا يجب أن يكون طول كل صف متساويا.
  • يجب أن تحتوي كل تسمية تجزئة على الحد الأدنى من نقاط XY: <class-index> <x1> <y1> <x2> <y2> <x3> <y3>

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

ال Ultralytics يستخدم إطار العمل تنسيق ملف YAML لتحديد تكوين مجموعة البيانات والنموذج لتدريب نماذج الكشف. فيما يلي مثال على تنسيق YAML المستخدم لتحديد مجموعة بيانات الكشف:

# 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-seg  # 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

ال train و val تحدد الحقول المسارات إلى الدلائل التي تحتوي على صور التدريب والتحقق من الصحة، على التوالي.

names هو قاموس لأسماء الفئات. يجب أن يتطابق ترتيب الأسماء مع ترتيب فهارس فئة الكائن في YOLO ملفات مجموعة البيانات.

استخدام

مثل

from ultralytics import YOLO

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

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

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

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

  • COCO: مجموعة بيانات شاملة لاكتشاف الكائنات وتقسيمها وشرحها ، وتضم أكثر من 200 ألف صورة مصنفة عبر مجموعة واسعة من الفئات.
  • COCO8-segمجموعة فرعية مدمجة مكونة من 8 صور من COCO مصممة للاختبار السريع للتدريب على نموذج التجزئة ، وهي مثالية لفحوصات CI والتحقق من صحة سير العمل في ultralytics مستودع.
  • Carparts-seg: مجموعة بيانات متخصصة تركز على تجزئة قطع غيار السيارات ، وهي مثالية لتطبيقات السيارات. ويشمل مجموعة متنوعة من المركبات مع التعليقات التوضيحية التفصيلية لمكونات السيارة الفردية.
  • Crack-seg: مجموعة بيانات مصممة خصيصا لتجزئة الشقوق في الأسطح المختلفة. وهو ضروري لصيانة البنية التحتية ومراقبة الجودة، ويوفر صورا مفصلة لنماذج التدريب لتحديد نقاط الضعف الهيكلية.
  • Package-seg: مجموعة بيانات مخصصة لتجزئة أنواع مختلفة من مواد وأشكال التعبئة والتغليف. إنه مفيد بشكل خاص للخدمات اللوجستية وأتمتة المستودعات ، مما يساعد في تطوير أنظمة مناولة الطرود وفرزها.

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

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

نقل أو تحويل تنسيقات الملصقات

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

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

مثل

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/", use_segments=True)

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

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

التعليق التوضيحي التلقائي

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

إنشاء مجموعة بيانات تجزئة باستخدام نموذج الكشف

لإضافة تعليق توضيحي تلقائي إلى مجموعة البيانات باستخدام Ultralytics إطار العمل ، يمكنك استخدام ملف auto_annotate وظيفة كما هو موضح أدناه:

مثل

from ultralytics.data.annotator import auto_annotate

auto_annotate(data="path/to/images", det_model="yolov8x.pt", sam_model="sam_b.pt")
جدال نوع وصف افتراضي
data str المسار إلى مجلد يحتوي على صور ليتم التعليق عليها. None
det_model str, optional تدريب مسبق YOLO نموذج الكشف. الإعدادات الافتراضية إلى 'yolov8x.pt'. 'yolov8x.pt'
sam_model str, optional تدريب مسبق SAM نموذج التجزئة. الإعدادات الافتراضية إلى 'sam_b.pt'. 'sam_b.pt'
device str, optional جهاز لتشغيل النماذج على. الإعدادات الافتراضية لسلسلة فارغة (وحدة المعالجة المركزية أو وحدة معالجة الرسومات، إذا كانت متوفرة). ''
output_dir str or None, optional دليل لحفظ النتائج المشروحة. الإعدادات الافتراضية إلى 'labels' في نفس الدليل مثل 'data'. None

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

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



Created 2023-11-12, Updated 2024-06-06
Authors: Burhan-Q (1), glenn-jocher (11)

التعليقات