نظرة عامة على مجموعات بيانات تجزئة المثيل
تنسيقات مجموعات البيانات المدعومة
Ultralytics YOLO تنسيق
تنسيق تسمية مجموعة البيانات المستخدم للتدريب YOLO نماذج التجزئة هي كما يلي:
- ملف نصي واحد لكل صورة: تحتوي كل صورة في مجموعة البيانات على ملف نصي مطابق بنفس اسم ملف الصورة والامتداد ".txt".
- صف واحد لكل كائن: يتوافق كل صف في الملف النصي مع مثيل كائن واحد في الصورة.
- معلومات الكائن لكل صف: يحتوي كل صف على المعلومات التالية حول مثيل الكائن:
- فهرس فئة الكائن: عدد صحيح يمثل فئة الكائن (على سبيل المثال ، 0 للشخص ، 1 للسيارة ، إلخ).
- إحداثيات محيط الكائن: إحداثيات المحيط حول منطقة القناع ، تمت تسويتها لتكون بين 0 و 1.
يكون تنسيق صف واحد في ملف مجموعة بيانات التجزئة كما يلي:
في هذا التنسيق، <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 ملفات مجموعة البيانات.
استخدام
مثل
مجموعات البيانات المدعومة
مجموعات البيانات المدعومة
-
COCO: مجموعة بيانات شاملة لاكتشاف الكائنات وتقسيمها وشرحها ، وتضم أكثر من 200 ألف صورة مصنفة عبر مجموعة واسعة من الفئات.
-
COCO8-segمجموعة فرعية مدمجة مكونة من 8 صور من COCO مصممة للاختبار السريع للتدريب على نموذج التجزئة ، وهي مثالية لفحوصات CI والتحقق من صحة سير العمل في
ultralytics
مستودع. -
Carparts-seg: مجموعة بيانات متخصصة تركز على تجزئة قطع غيار السيارات ، وهي مثالية لتطبيقات السيارات. ويشمل مجموعة متنوعة من المركبات مع التعليقات التوضيحية التفصيلية لمكونات السيارة الفردية.
-
Crack-seg: مجموعة بيانات مصممة خصيصا لتجزئة الشقوق في الأسطح المختلفة. وهو ضروري لصيانة البنية التحتية ومراقبة الجودة، ويوفر صورا مفصلة لنماذج التدريب لتحديد نقاط الضعف الهيكلية.
-
Package-seg: مجموعة بيانات مخصصة لتجزئة أنواع مختلفة من مواد وأشكال التعبئة والتغليف. إنه مفيد بشكل خاص للخدمات اللوجستية وأتمتة المستودعات ، مما يساعد في تطوير أنظمة مناولة الطرود وفرزها.
إضافة مجموعة البيانات الخاصة بك
إذا كان لديك مجموعة البيانات الخاصة بك وترغب في استخدامها لنماذج تجزئة التدريب مع Ultralytics YOLO ، تأكد من أنه يتبع التنسيق المحدد أعلاه ضمن "Ultralytics YOLO شكل". قم بتحويل التعليقات التوضيحية إلى التنسيق المطلوب وحدد المسارات وعدد الفئات وأسماء الفئات في ملف تكوين YAML.
نقل أو تحويل تنسيقات الملصقات
تنسيق مجموعة بيانات COCO إلى YOLO تنسيق
يمكنك بسهولة تحويل التسميات من تنسيق مجموعة بيانات COCO الشهير إلى ملف YOLO التنسيق باستخدام مقتطف الشفرة التالي:
مثل
يمكن استخدام أداة التحويل هذه لتحويل مجموعة بيانات COCO أو أي مجموعة بيانات بتنسيق COCO إلى Ultralytics YOLO تنسيق.
تذكر أن تتحقق مرة أخرى مما إذا كانت مجموعة البيانات التي تريد استخدامها متوافقة مع النموذج الخاص بك وتتبع اصطلاحات التنسيق الضرورية. تعد مجموعات البيانات المنسقة بشكل صحيح أمرا بالغ الأهمية لتدريب نماذج اكتشاف الكائنات الناجحة.
التعليق التوضيحي التلقائي
يعد التعليق التوضيحي التلقائي ميزة أساسية تسمح لك بإنشاء مجموعة بيانات تجزئة باستخدام نموذج اكتشاف مدرب مسبقا. يمكنك من التعليق بسرعة ودقة على عدد كبير من الصور دون الحاجة إلى وضع العلامات يدويا ، مما يوفر الوقت والجهد.
إنشاء مجموعة بيانات تجزئة باستخدام نموذج الكشف
لإضافة تعليق توضيحي تلقائي إلى مجموعة البيانات باستخدام Ultralytics إطار العمل ، يمكنك استخدام ملف auto_annotate
وظيفة كما هو موضح أدناه:
مثل
بالتأكيد ، إليك الجدول المحدث بمقتطفات الشفرة:
جدال | نوع | وصف | افتراضي |
---|---|---|---|
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 نماذج التجزئة، والجهاز لتشغيل النماذج عليه، ودليل الإخراج لحفظ النتائج المشروحة.
من خلال الاستفادة من قوة النماذج المدربة مسبقا، يمكن للتعليقات التوضيحية التلقائية أن تقلل بشكل كبير من الوقت والجهد اللازمين لإنشاء مجموعات بيانات تجزئة عالية الجودة. هذه الميزة مفيدة بشكل خاص للباحثين والمطورين الذين يعملون مع مجموعات صور كبيرة ، لأنها تتيح لهم التركيز على تطوير النموذج وتقييمه بدلا من التعليقات التوضيحية اليدوية.