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

مجموعة بيانات COCO-Pose

مجموعة بيانات COCO-Pose هي نسخة متخصصة من مجموعة بيانات COCO (الكائنات الشائعة في السياق) ، المصممة لمهام تقدير الوضع. يستفيد من صور وتسميات COCO Keypoints 2017 لتمكين تدريب نماذج مثل YOLO لمهام تقدير الوضع.

تشكل صورة عينة

نماذج COCO-Pose المدربة مسبقا

نموذج حجم
(بكسل)
خريطةتشكل
50-95
خريطةتشكل
50
سرعة
وحده المعالجه المركزيه ONNX
(مللي ثانية)
سرعة
أ 100 TensorRT
(مللي ثانية)
المعلمات
(م)
يتخبط
(ب)
YOLOv8n-تشكل 640 50.4 80.1 131.8 1.18 3.3 9.2
YOLOv8s-تشكل 640 60.0 86.2 233.2 1.42 11.6 30.2
YOLOv8m-تشكل 640 65.0 88.8 456.3 2.00 26.4 81.0
YOLOv8l-تشكل 640 67.6 90.0 784.5 2.59 44.4 168.6
YOLOv8x-تشكل 640 69.2 90.2 1607.1 3.73 69.4 263.2
YOLOv8x-بوز-ص6 1280 71.6 91.2 4088.7 10.04 99.1 1066.4

الميزات الرئيسية

  • يعتمد COCO-Pose على مجموعة بيانات COCO Keypoints 2017 التي تحتوي على 200 ألف صورة مصنفة بنقاط رئيسية لمهام تقدير الوضع.
  • تدعم مجموعة البيانات 17 نقطة رئيسية للشخصيات البشرية ، مما يسهل التقدير التفصيلي للوضعية.
  • مثل COCO ، فإنه يوفر مقاييس تقييم موحدة ، بما في ذلك تشابه نقطة مفتاح الكائن (OKS) لمهام تقدير الوضع ، مما يجعله مناسبا لمقارنة أداء النموذج.

هيكل مجموعة البيانات

تنقسم مجموعة بيانات COCO-Pose إلى ثلاث مجموعات فرعية:

  1. Train2017: تحتوي هذه المجموعة الفرعية على جزء من 118 ألف صورة من مجموعة بيانات COCO ، مشروحة لنماذج تقدير وضع التدريب.
  2. Val2017: تحتوي هذه المجموعة الفرعية على مجموعة مختارة من الصور المستخدمة لأغراض التحقق من الصحة أثناء تدريب النموذج.
  3. Test2017: تتكون هذه المجموعة الفرعية من الصور المستخدمة لاختبار النماذج المدربة وقياسها. التعليقات التوضيحية للحقيقة الأساسية لهذه المجموعة الفرعية غير متاحة للجمهور، ويتم إرسال النتائج إلى خادم تقييم COCO لتقييم الأداء.

التطبيقات

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

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

يتم استخدام ملف YAML (لغة ترميز أخرى) لتحديد تكوين مجموعة البيانات. يحتوي على معلومات حول مسارات مجموعة البيانات والفئات والمعلومات الأخرى ذات الصلة. في حالة مجموعة بيانات COCO-Pose ، فإن coco-pose.yaml يتم الاحتفاظ بالملف في https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco-pose.yaml.

ultralytics/cfg/datasets/coco-pose.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license
# COCO 2017 dataset https://cocodataset.org by Microsoft
# Documentation: https://docs.ultralytics.com/datasets/pose/coco/
# Example usage: yolo train data=coco-pose.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco-pose  ← downloads here (20.1 GB)

# 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/coco-pose # dataset root dir
train: train2017.txt # train images (relative to 'path') 118287 images
val: val2017.txt # val images (relative to 'path') 5000 images
test: test-dev2017.txt # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794

# 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
names:
  0: person

# Download script/URL (optional)
download: |
  from ultralytics.utils.downloads import download
  from pathlib import Path

  # Download labels
  dir = Path(yaml['path'])  # dataset root dir
  url = 'https://github.com/ultralytics/yolov5/releases/download/v1.0/'
  urls = [url + 'coco2017labels-pose.zip']  # labels
  download(urls, dir=dir.parent)
  # Download data
  urls = ['http://images.cocodataset.org/zips/train2017.zip',  # 19G, 118k images
          'http://images.cocodataset.org/zips/val2017.zip',  # 1G, 5k images
          'http://images.cocodataset.org/zips/test2017.zip']  # 7G, 41k images (optional)
  download(urls, dir=dir / 'images', threads=3)

استخدام

لتدريب أ YOLOv8n-pose model على مجموعة بيانات COCO-Pose ل 100 حقبة بحجم صورة 640 ، يمكنك استخدام مقتطفات التعليمات البرمجية التالية. للحصول على قائمة شاملة بالوسيطات المتاحة، ارجع إلى صفحة نموذج التدريب .

مثال القطار

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='coco-pose.yaml', epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco-pose.yaml model=yolov8n.pt epochs=100 imgsz=640

عينة من الصور والتعليقات التوضيحية

تحتوي مجموعة بيانات COCO-Pose على مجموعة متنوعة من الصور مع شخصيات بشرية مشروحة بنقاط رئيسية. فيما يلي بعض الأمثلة على الصور من مجموعة البيانات، بالإضافة إلى التعليقات التوضيحية المقابلة لها:

صورة عينة مجموعة البيانات

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

يعرض المثال تنوع وتعقيد الصور في مجموعة بيانات COCO-Pose وفوائد استخدام الفسيفساء أثناء عملية التدريب.

الاستشهادات والشكر

إذا كنت تستخدم مجموعة بيانات COCO-Pose في أعمال البحث أو التطوير الخاصة بك ، فيرجى الاستشهاد بالورقة التالية:

@misc{lin2015microsoft,
      title={Microsoft COCO: Common Objects in Context},
      author={Tsung-Yi Lin and Michael Maire and Serge Belongie and Lubomir Bourdev and Ross Girshick and James Hays and Pietro Perona and Deva Ramanan and C. Lawrence Zitnick and Piotr Dollár},
      year={2015},
      eprint={1405.0312},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

نود أن نعرب عن تقديرنا لاتحاد COCO لإنشاء وصيانة هذا المورد القيم لمجتمع رؤية الكمبيوتر. لمزيد من المعلومات حول مجموعة بيانات COCO-Pose ومنشئيها ، قم بزيارة موقع مجموعة بيانات COCO.



تم إنشاء 2023-11-12, اخر تحديث 2024-04-17
المؤلفون: جلين جوشر (4) ، رضوان منور (1) ، ضاحك س (1)

التعليقات