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

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

تقدير وضعية الجسم باستخدام COCO مع النقاط الرئيسية البشرية

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

النموذجالحجم
(بكسل)
mAPpose
50-95(e2e)
mAPpose
50(e2e)
السرعة
CPU ONNX
(ملي ثانية)
السرعة
T4 TensorRT10
(ملي ثانية)
المعلمات
(مليون)
FLOPs
(مليار)
YOLO26n-pose64057.283.340.3 ± 0.51.8 ± 0.02.97.5
YOLO26s-pose64063.086.685.3 ± 0.92.7 ± 0.010.423.9
YOLO26m-pose64068.889.6218.0 ± 1.55.0 ± 0.121.573.1
YOLO26l-pose64070.490.5275.4 ± 2.46.5 ± 0.125.991.3
YOLO26x-pose64071.691.6565.4 ± 3.012.2 ± 0.257.6201.7

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

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

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

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

  1. Train2017: تحتوي هذه المجموعة الفرعية على 56599 صورة من مجموعة بيانات COCO، موسومة لتدريب نماذج تقدير وضعية الجسم.
  2. Val2017: تحتوي هذه المجموعة الفرعية على 2346 صورة تُستخدم لأغراض التحقق من الصحة أثناء تدريب النموذج.
  3. Test2017: تتكون هذه المجموعة الفرعية من صور تُستخدم لاختبار النماذج المدربة وتقييم أدائها. ملاحظات الحقيقة الأرضية (Ground truth) لهذه المجموعة غير متاحة للعامة، ويتم تقديم النتائج إلى خادم تقييم 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 🚀 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

# Keypoint names per class
kpt_names:
  0:
    - nose
    - left_eye
    - right_eye
    - left_ear
    - right_ear
    - left_shoulder
    - right_shoulder
    - left_elbow
    - right_elbow
    - left_wrist
    - right_wrist
    - left_hip
    - right_hip
    - left_knee
    - right_knee
    - left_ankle
    - right_ankle

# Download script/URL (optional)
download: |
  from pathlib import Path

  from ultralytics.utils import ASSETS_URL
  from ultralytics.utils.downloads import download

  # Download labels
  dir = Path(yaml["path"])  # dataset root dir

  urls = [f"{ASSETS_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)

الاستخدام

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

مثال على التدريب
from ultralytics import YOLO

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

# Train the model
results = model.train(data="coco-pose.yaml", epochs=100, imgsz=640)

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

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

دفعة تدريب موزاييك لتقدير وضعية الجسم في COCO

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

يوضح المثال تنوع وتعقيد الصور في مجموعة بيانات 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.

الأسئلة الشائعة

ما هي مجموعة بيانات COCO-Pose وكيف تُستخدم مع Ultralytics YOLO لتقدير وضعية الجسم؟

مجموعة بيانات COCO-Pose هي نسخة متخصصة من مجموعة بيانات COCO (الأشياء الشائعة في السياق) مصممة لمهام تقدير وضعية الجسم. تعتمد المجموعة على صور وملاحظات COCO Keypoints 2017، مما يسمح بتدريب نماذج مثل Ultralytics YOLO لتقدير وضعية الجسم بشكل مفصل. على سبيل المثال، يمكنك استخدام مجموعة بيانات COCO-Pose لتدريب نموذج YOLO26n-pose عن طريق تحميل نموذج مدرب مسبقاً وتدريبه باستخدام تكوين YAML. للحصول على أمثلة تدريب، راجع وثائق التدريب.

كيف يمكنني تدريب نموذج YOLO26 على مجموعة بيانات COCO-Pose؟

يمكن إنجاز تدريب نموذج YOLO26 على مجموعة بيانات COCO-Pose باستخدام Python أو أوامر CLI. على سبيل المثال، لتدريب نموذج YOLO26n-pose لمدة 100 حقبة بحجم صورة 640، يمكنك اتباع الخطوات أدناه:

مثال على التدريب
from ultralytics import YOLO

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

# Train the model
results = model.train(data="coco-pose.yaml", epochs=100, imgsz=640)

لمزيد من التفاصيل حول عملية التدريب والوسيطات المتاحة، تحقق من صفحة التدريب.

ما هي المقاييس المختلفة التي توفرها مجموعة بيانات COCO-Pose لتقييم أداء النموذج؟

توفر مجموعة بيانات COCO-Pose العديد من مقاييس التقييم الموحدة لمهام تقدير وضعية الجسم، مشابهة لمجموعة بيانات COCO الأصلية. تشمل المقاييس الرئيسية تشابه النقاط الرئيسية للكائن (OKS)، الذي يقيم دقة النقاط الرئيسية المتوقعة مقابل ملاحظات الحقيقة الأرضية. تسمح هذه المقاييس بمقارنات أداء دقيقة بين النماذج المختلفة. على سبيل المثال، النماذج المدربة مسبقاً في COCO-Pose مثل YOLO26n-pose وYOLO26s-pose وغيرها لديها مقاييس أداء محددة مدرجة في الوثائق، مثل mAPpose50-95 وmAPpose50.

كيف يتم تنظيم وتقسيم مجموعة بيانات COCO-Pose؟

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

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

تساعد هذه المجموعات الفرعية في تنظيم مراحل التدريب والتحقق والاختبار بفعالية. للحصول على تفاصيل التكوين، استكشف ملف coco-pose.yaml المتاح على GitHub.

ما هي الميزات والتطبيقات الرئيسية لمجموعة بيانات COCO-Pose؟

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

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

تعليقات