مجموعة بيانات COCO-Pose
مجموعة بيانات COCO-Pose هي نسخة متخصصة من مجموعة بيانات COCO (الكائنات الشائعة في السياق)، وهي مصممة لمهام تقدير الوضعيات. وهي تستفيد من صور COCO Keypoints 2017 وتصنيفاتها لتمكين تدريب نماذج مثل YOLO لمهام تقدير الوضعيات.
نماذج COCO-Pose المدربة مسبقًا
النموذج | الحجم (بالبكسل) |
mAPpose 50-95 |
mAPpose 50 |
السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) |
السرعة T4 TensorRT10 (بالمللي ثانية) |
المعلمات (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLO11n-pose | 640 | 50.0 | 81.0 | 52.4 ± 0.5 | 1.7 ± 0.0 | 2.9 | 7.6 |
YOLO11s-pose | 640 | 58.9 | 86.3 | 90.5 ± 0.6 | 2.6 ± 0.0 | 9.9 | 23.2 |
YOLO11m-pose | 640 | 64.9 | 89.4 | 187.3 ± 0.8 | 4.9 ± 0.1 | 20.9 | 71.7 |
YOLO11l-pose | 640 | 66.1 | 89.9 | 247.7 ± 1.1 | 6.4 ± 0.1 | 26.2 | 90.7 |
YOLO11x-pose | 640 | 69.5 | 91.1 | 488.0 ± 13.9 | 12.1 ± 0.2 | 58.8 | 203.3 |
الميزات الرئيسية
- تعتمد COCO-Pose على مجموعة بيانات COCO Keypoints 2017 التي تحتوي على 200 ألف صورة مصنفة بنقاط رئيسية لمهام تقدير الوضعيات.
- تدعم مجموعة البيانات 17 نقطة رئيسية للأشكال البشرية، مما يسهل تقديرًا تفصيليًا للوضعيات.
- مثل COCO، توفر مقاييس تقييم موحدة، بما في ذلك Object Keypoint Similarity (OKS) لمهام تقدير الوضعيات، مما يجعلها مناسبة لمقارنة أداء النموذج.
هيكل مجموعة البيانات
تنقسم مجموعة بيانات COCO-Pose إلى ثلاث مجموعات فرعية:
- Train2017: تحتوي هذه المجموعة الفرعية على 56599 صورة من مجموعة بيانات COCO، مشروحة لتدريب نماذج تقدير الوضعية.
- Val2017: تحتوي هذه المجموعة الفرعية على 2346 صورة تستخدم لأغراض التحقق أثناء تدريب النموذج.
- Test2017: تتكون هذه المجموعة الفرعية من صور تستخدم لاختبار وتقييم النماذج المدربة. التعليقات التوضيحية للواقع الفعلي لهذه المجموعة الفرعية غير متاحة للعامة، ويتم إرسال النتائج إلى خادم تقييم COCO لتقييم الأداء.
التطبيقات
تستخدم مجموعة بيانات COCO-Pose تحديدًا لتدريب وتقييم نماذج التعلم العميق في مهام الكشف عن النقاط الرئيسية وتقدير الوضعيات، مثل OpenPose. إن العدد الكبير من الصور المشروحة ومقاييس التقييم الموحدة في مجموعة البيانات يجعلها موردًا أساسيًا لباحثي رؤية الحاسوب والممارسين الذين يركزون على تقدير الوضعيات.
ملف YAML لمجموعة البيانات
يستخدم ملف YAML (Yet Another Markup Language) لتحديد تكوين مجموعة البيانات. يحتوي على معلومات حول مسارات مجموعة البيانات وفئاتها ومعلومات أخرى ذات صلة. في حالة مجموعة بيانات 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 🚀 AGPL-3.0 License - https://ultralytics.com/license
# COCO 2017 Keypoints 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: coco-pose # dataset root dir
train: train2017.txt # train images (relative to 'path') 56599 images
val: val2017.txt # val images (relative to 'path') 2346 images
test: test-dev2017.txt # 20288 of 40670 images, submit to https://codalab.lisn.upsaclay.fr/competitions/7403
# 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 pathlib import Path
from ultralytics.utils.downloads import download
# Download labels
dir = Path(yaml["path"]) # dataset root dir
url = "https://github.com/ultralytics/assets/releases/download/v0.0.0/"
urls = [f"{url}coco2017labels-pose.zip"]
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)
الاستخدام
لتدريب نموذج YOLO11n-pose على مجموعة بيانات COCO-Pose لعدد 100 دورة مع حجم صورة يبلغ 640، يمكنك استخدام مقتطفات التعليمات البرمجية التالية. للحصول على قائمة شاملة بالمدخلات المتاحة، راجع صفحة التدريب الخاصة بالنموذج.
مثال على التدريب
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-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 pose train data=coco-pose.yaml model=yolo11n-pose.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 Consortium لإنشاء هذا المورد القيم والحفاظ عليه لمجتمع رؤية الكمبيوتر. لمزيد من المعلومات حول مجموعة بيانات COCO-Pose ومنشئيها، تفضل بزيارة موقع COCO dataset الإلكتروني.
الأسئلة الشائعة
ما هي مجموعة بيانات COCO-Pose وكيف يتم استخدامها مع Ultralytics YOLO لتقدير الوضعيات؟
تعتبر مجموعة بيانات COCO-Pose نسخة متخصصة من مجموعة بيانات COCO (Common Objects in Context) المصممة لمهام تقدير الوضعيات. وهي تعتمد على صور COCO Keypoints 2017 والتعليقات التوضيحية، مما يسمح بتدريب نماذج مثل Ultralytics YOLO لتقدير الوضعيات التفصيلي. على سبيل المثال، يمكنك استخدام مجموعة بيانات COCO-Pose لتدريب نموذج YOLO11n-pose عن طريق تحميل نموذج مُدرَّب مسبقًا وتدريبه باستخدام تكوين YAML. للحصول على أمثلة التدريب، راجع وثائق التدريب.
كيف يمكنني تدريب نموذج YOLO11 على مجموعة بيانات COCO-Pose؟
يمكن إنجاز تدريب نموذج YOLO11 على مجموعة بيانات COCO-Pose باستخدام أوامر python أو CLI. على سبيل المثال، لتدريب نموذج YOLO11n-pose لـ 100 حقبة بحجم صورة 640، يمكنك اتباع الخطوات التالية:
مثال على التدريب
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-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 pose train data=coco-pose.yaml model=yolo11n-pose.pt epochs=100 imgsz=640
لمزيد من التفاصيل حول عملية التدريب والحجج المتاحة، تحقق من صفحة التدريب.
ما هي المقاييس المختلفة التي توفرها مجموعة بيانات COCO-Pose لتقييم أداء النموذج؟
توفر مجموعة بيانات COCO-Pose العديد من مقاييس التقييم الموحدة لمهام تقدير الوضعيات، على غرار مجموعة بيانات COCO الأصلية. تتضمن المقاييس الرئيسية Object Keypoint Similarity (OKS)، الذي يقيم دقة النقاط الرئيسية المتوقعة مقابل التعليقات التوضيحية للحقيقة الأساسية. تسمح هذه المقاييس بإجراء مقارنات شاملة للأداء بين النماذج المختلفة. على سبيل المثال، تحتوي نماذج COCO-Pose المدربة مسبقًا مثل YOLO11n-pose وYOLO11s-pose وغيرها على مقاييس أداء محددة مذكورة في الوثائق، مثل mAPpose50-95 وmAPpose50.
كيف يتم تنظيم مجموعة البيانات وتقسيمها لمجموعة بيانات COCO-Pose؟
تنقسم مجموعة بيانات COCO-Pose إلى ثلاث مجموعات فرعية:
- Train2017: يحتوي على 56599 صورة COCO، مشروحة لتدريب نماذج تقدير الوضعية.
- Val2017: 2346 صورة لأغراض التحقق أثناء تدريب النموذج.
- Test2017: الصور المستخدمة لاختبار وتقييم النماذج المدربة. التعليقات التوضيحية للحقيقة الأساسية لهذه المجموعة الفرعية غير متاحة للعامة؛ يتم إرسال النتائج إلى خادم تقييم COCO لتقييم الأداء.
تساعد هذه المجموعات الفرعية في تنظيم مراحل التدريب والتحقق والاختبار بشكل فعال. للحصول على تفاصيل التكوين، استكشف coco-pose.yaml
الملف المتاح على GitHub.
ما هي الميزات والتطبيقات الرئيسية لمجموعة بيانات COCO-Pose؟
تقوم مجموعة بيانات COCO-Pose بتوسيع نطاق COCO Keypoints 2017 لتشمل 17 نقطة رئيسية للأشكال البشرية، مما يتيح تقديرًا تفصيليًا للوضعيات. تسهل مقاييس التقييم الموحدة (مثل OKS) المقارنات بين النماذج المختلفة. تغطي تطبيقات مجموعة بيانات COCO-Pose مجالات مختلفة، مثل التحليلات الرياضية والرعاية الصحية والتفاعل بين الإنسان والحاسوب، حيثما يكون تقدير الوضعيات التفصيلي للأشكال البشرية مطلوبًا. للاستخدام العملي، يمكن أن يؤدي الاستفادة من النماذج المدربة مسبقًا مثل تلك المتوفرة في الوثائق (مثل YOLO11n-pose) إلى تبسيط العملية بشكل كبير (الميزات الرئيسية).
إذا كنت تستخدم مجموعة بيانات COCO-Pose في أعمال البحث أو التطوير الخاصة بك، فيرجى الاستشهاد بالورقة مع إدخال BibTeX التالي.