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

نظرة عامة على مجموعات بيانات تقدير الوضع

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

Ultralytics YOLO تنسيق

تنسيق تسمية مجموعة البيانات المستخدم للتدريب YOLO تشكل النماذج على النحو التالي:

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

فيما يلي مثال على تنسيق التسمية لمهمة تقدير الوضع:

التنسيق مع خافت = 2

<class-index> <x> <y> <width> <height> <px1> <py1> <px2> <py2> ... <pxn> <pyn>

التنسيق مع خافت = 3

<class-index> <x> <y> <width> <height> <px1> <py1> <p1-visibility> <px2> <py2> <p2-visibility> <pxn> <pyn> <p2-visibility>

في هذا التنسيق، <class-index> هو فهرس فئة الكائن ،<x> <y> <width> <height> إحداثيات المربع المحيط، و <px1> <py1> <px2> <py2> ... <pxn> <pyn> هي إحداثيات البكسل للنقاط الرئيسية. الإحداثيات مفصولة بمسافات.

تنسيق 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-pose  # 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)

# Keypoints
kpt_shape: [17, 3]  # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
flip_idx: [0, 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15]

# Classes dictionary
names:
  0: person

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

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

(اختياري) إذا كانت النقاط متماثلة ، فستحتاج إلى flip_idx ، مثل الجانب الأيسر الأيمن من الإنسان أو الوجه. على سبيل المثال ، إذا افترضنا خمس نقاط رئيسية لمعلم الوجه: [العين اليسرى ، العين اليمنى ، الأنف ، الفم الأيسر ، الفم الأيمن] ، والفهرس الأصلي هو [0 ، 1 ، 2 ، 3 ، 4] ، فإن flip_idx هو [1 ، 0 ، 2 ، 4 ، 3] (فقط استبدل الفهرس الأيسر الأيمن ، أي 0-1 و 3-4 ، ولا تعدل الآخرين مثل الأنف في هذا المثال).

استخدام

مثل

from ultralytics import YOLO

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

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

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

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

كوكو بوز

  • الوصف: COCO-Pose عبارة عن مجموعة بيانات واسعة النطاق للكشف عن الكائنات وتقسيمها وتقديرها. إنها مجموعة فرعية من مجموعة بيانات COCO الشائعة وتركز على تقدير الوضع البشري. يتضمن COCO-Pose نقاط رئيسية متعددة لكل مثيل بشري.
  • تنسيق التسمية: نفس تنسيق Ultralytics YOLO كما هو موضح أعلاه ، مع النقاط الرئيسية للأوضاع البشرية.
  • عدد الفصول: 1 (إنسان).
  • النقاط الرئيسية: 17 نقطة رئيسية بما في ذلك الأنف والعينين والأذنين والكتفين والمرفقين والمعصمين والوركين والركبتين والكاحلين.
  • الاستخدام: مناسبة لتدريب نماذج تقدير الوضع البشري.
  • ملاحظات إضافية: مجموعة البيانات غنية ومتنوعة ، وتحتوي على أكثر من 200 ألف صورة مصنفة.
  • اقرأ المزيد عن كوكو بوز

COCO8-بوز

  • الوصف: Ultralytics COCO8-Pose عبارة عن مجموعة بيانات صغيرة ولكنها متعددة الاستخدامات للكشف عن الوضع تتكون من أول 8 صور لمجموعة قطار COCO 2017 ، 4 للتدريب و 4 للتحقق من الصحة.
  • تنسيق التسمية: نفس تنسيق Ultralytics YOLO كما هو موضح أعلاه ، مع النقاط الرئيسية للأوضاع البشرية.
  • عدد الفصول: 1 (إنسان).
  • النقاط الرئيسية: 17 نقطة رئيسية بما في ذلك الأنف والعينين والأذنين والكتفين والمرفقين والمعصمين والوركين والركبتين والكاحلين.
  • الاستخدام: مناسب لاختبار نماذج اكتشاف الكائنات وتصحيحها ، أو لتجربة أساليب الكشف الجديدة.
  • ملاحظات إضافية: COCO8-Pose مثالي لفحوصات السلامة وفحوصات CI.
  • اقرأ المزيد عن COCO8-Pose

النمر بوز

  • الوصف: Ultralytics تتكون مجموعة بيانات وضع هذه من 263 صورة مصدرها فيديو YouTube ، مع تخصيص 210 صورة للتدريب و 53 للتحقق من صحتها.
  • تنسيق التسمية: نفس تنسيق Ultralytics YOLO كما هو موضح أعلاه ، مع 12 نقطة رئيسية لوضع وبدون بعد مرئي.
  • عدد الفصول: 1 (النمر).
  • النقاط الرئيسية: 12 نقطة رئيسية.
  • الاستخدام: عظيم لوضع أو أي وضع آخر لا يعتمد على الإنسان.
  • قراءة المزيد عن تايجر بوز

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

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

أداة التحويل

Ultralytics يوفر أداة تحويل ملائمة لتحويل الملصقات من تنسيق مجموعة بيانات COCO الشهير إلى YOLO تنسيق:

مثل

from ultralytics.data.converter import convert_coco

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

يمكن استخدام أداة التحويل هذه لتحويل مجموعة بيانات COCO أو أي مجموعة بيانات بتنسيق COCO إلى Ultralytics YOLO تنسيق. ال use_keypoints تحدد المعلمة ما إذا كان سيتم تضمين النقاط الرئيسية (لتقدير الوضع) في التسميات المحولة.

الأسئلة المتداولة

ما هو تنسيق Ultralytics YOLO لتقدير الوضعية؟

يتضمن تنسيق Ultralytics YOLO الخاص بمجموعات بيانات تقدير الوضعية تسمية كل صورة بملف نصي مطابق. يخزن كل صف من الملف النصي معلومات حول مثيل كائن:

  • فهرس فئة الكائن
  • إحداثيات مركز الكائن (س و ص العاديين)
  • عرض الكائن وارتفاعه (طبيعي)
  • إحداثيات النقطة الرئيسية للكائن (الإحداثيات الطبيعية pxn و pyn)

بالنسبة للوضعيات ثنائية الأبعاد، تتضمن نقاط المفتاح إحداثيات البكسل. بالنسبة للوضعيات ثلاثية الأبعاد، تحتوي كل نقطة أساسية أيضًا على علامة رؤية. للمزيد من ال تفاصيل، راجع Ultralytics YOLO تنسيق .

كيف يمكنني استخدام مجموعة بيانات COCO-Pose مع Ultralytics YOLO ؟

لاستخدام مجموعة بيانات COCO-Pose مع Ultralytics YOLO : 1. قم بتنزيل مجموعة البيانات وإعداد ملفات التسمية الخاصة بك بالتنسيق YOLO . 2. قم بإنشاء ملف تكوين YAML يحدد المسارات إلى صور التدريب والتحقق من الصحة وشكل نقطة المفتاح وأسماء الفئات. 3. استخدم ملف التكوين للتدريب:

```python
from ultralytics import YOLO

model = YOLO("yolov8n-pose.pt")  # load pretrained model
results = model.train(data="coco-pose.yaml", epochs=100, imgsz=640)
```

For more information, visit [COCO-Pose](coco.md) and [train](../../modes/train.md) sections.

كيف يمكنني إضافة مجموعة البيانات الخاصة بي لتقدير الوضعية في Ultralytics YOLO ؟

لإضافة مجموعة البيانات الخاصة بك: 1. قم بتحويل تعليقاتك التوضيحية إلى تنسيق Ultralytics YOLO . 2. قم بإنشاء ملف تكوين YAML يحدد مسارات مجموعة البيانات وعدد الفئات وأسماء الفئات. 3. استخدم ملف التكوين لتدريب نموذجك:

```python
from ultralytics import YOLO

model = YOLO("yolov8n-pose.pt")
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)
```

For complete steps, check the [Adding your own dataset](#adding-your-own-dataset) section.

ما هو الغرض من ملف مجموعة البيانات YAML في Ultralytics YOLO ؟

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

path: ../datasets/coco8-pose
train: images/train
val: images/val
names:
  0: person

اقرأ المزيد حول إنشاء ملفات تكوين YAML بتنسيق Dataset YAML.

كيف يمكنني تحويل تسميات مجموعة بيانات COCO إلى تنسيق Ultralytics YOLO لتقدير الوضعية؟

Ultralytics يوفر أداة تحويل لتحويل تسميات مجموعة بيانات COCO إلى تنسيق YOLO ، بما في ذلك معلومات النقاط الرئيسية:

from ultralytics.data.converter import convert_coco

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

تساعد هذه الأداة على دمج مجموعات بيانات COCO بسلاسة في مشاريع YOLO . للحصول على التفاصيل، راجع قسم أداة التحويل.



تم الإنشاء 2023-11-12-2023، تم التحديث 2024-07-04-2024
المؤلفون: جلين-جوتشر (9)

التعليقات