نظرة عامة على مجموعات بيانات تجزئة المثيل
تنسيقات مجموعات البيانات المدعومة
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
مستودع. - COCO128-seg: A smaller dataset for instance segmentation tasks, containing a subset of 128 COCO images with segmentation annotations.
- 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 |
جهاز لتشغيل النماذج عليه. يُفترض أن يكون افتراضيًا إلى سلسلة فارغة (CPU أو GPU ، إذا كان متاحًا). | '' |
output_dir |
str or None, optional |
دليل لحفظ النتائج المشروحة. الإعدادات الافتراضية إلى 'labels' في نفس الدليل مثل 'data' . |
None |
ال auto_annotate
تأخذ الوظيفة المسار إلى صورك ، إلى جانب الوسيطات الاختيارية لتحديد الكشف المدرب مسبقا و SAM نماذج التجزئة، والجهاز لتشغيل النماذج عليه، ودليل الإخراج لحفظ النتائج المشروحة.
من خلال الاستفادة من قوة النماذج المدربة مسبقا، يمكن للتعليقات التوضيحية التلقائية أن تقلل بشكل كبير من الوقت والجهد اللازمين لإنشاء مجموعات بيانات تجزئة عالية الجودة. هذه الميزة مفيدة بشكل خاص للباحثين والمطورين الذين يعملون مع مجموعات صور كبيرة ، لأنها تتيح لهم التركيز على تطوير النموذج وتقييمه بدلا من التعليقات التوضيحية اليدوية.
الأسئلة المتداولة
ما هي تنسيقات مجموعات البيانات التي يدعمها موقع Ultralytics YOLO لتجزئة المثيل؟
Ultralytics YOLO يدعم العديد من تنسيقات مجموعات البيانات لتجزئة المثيلات، حيث يكون التنسيق الأساسي هو التنسيق الخاص به Ultralytics YOLO . تحتاج كل صورة في مجموعة البيانات الخاصة بك إلى ملف نصي مطابق يحتوي على معلومات الكائنات مقسمة إلى صفوف متعددة (صف واحد لكل كائن)، مع سرد فهرس الفئة والإحداثيات المحدودة الطبيعية. لمزيد من الإرشادات التفصيلية حول تنسيق مجموعة البيانات YOLO ، يرجى زيارة نظرة عامة على مجموعات بيانات تجزئة المثيل.
كيف يمكنني تحويل شروح مجموعة بيانات COCO إلى تنسيق YOLO ؟
يعد تحويل التعليقات التوضيحية بتنسيق COCO إلى تنسيق YOLO أمرًا سهلاً باستخدام أدوات Ultralytics . يمكنك استخدام convert_coco
وظيفة من ultralytics.data.converter
الوحدة النمطية:
from ultralytics.data.converter import convert_coco
convert_coco(labels_dir="path/to/coco/annotations/", use_segments=True)
يقوم هذا البرنامج النصي بتحويل شروح مجموعة بيانات COCO الخاصة بك إلى التنسيق المطلوب YOLO ، مما يجعلها مناسبة لتدريب نماذج YOLO الخاصة بك. لمزيد من التفاصيل، راجع المنفذ أو تحويل تنسيقات التسمية.
كيف يمكنني إعداد ملف YAML لتدريب نماذج Ultralytics YOLO ؟
لإعداد ملف YAML لتدريب نماذج YOLO باستخدام Ultralytics ، تحتاج إلى تحديد مسارات مجموعة البيانات وأسماء الفئات. إليك مثال على تكوين YAML:
path: ../datasets/coco8-seg # dataset root dir
train: images/train # train images (relative to 'path')
val: images/val # val images (relative to 'path')
names:
0: person
1: bicycle
2: car
# ...
تأكد من تحديث المسارات وأسماء الفئات وفقًا لمجموعة البيانات الخاصة بك. لمزيد من المعلومات، راجع قسم تنسيق YAML لمجموعة البيانات.
ما هي ميزة التعليق التلقائي في Ultralytics YOLO ؟
يتيح لك التعليل التلقائي في Ultralytics YOLO إنشاء شروح تجزئة لمجموعة البيانات الخاصة بك باستخدام نموذج كشف مدرب مسبقًا. وهذا يقلل بشكل كبير من الحاجة إلى التسمية اليدوية. يمكنك استخدام auto_annotate
الدالة على النحو التالي:
from ultralytics.data.annotator import auto_annotate
auto_annotate(data="path/to/images", det_model="yolov8x.pt", sam_model="sam_b.pt")
تعمل هذه الوظيفة على أتمتة عملية التعليق التوضيحي مما يجعلها أسرع وأكثر كفاءة. لمزيد من التفاصيل، استكشف قسم التعليق التلقائي.