تخطي إلى المحتوى

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

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

صورة عينة الوضعية

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

النموذجالحجم
(بالبكسل)
mAPpose
50-95
mAPpose
50
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLO11n-pose64050.081.052.4 ± 0.51.7 ± 0.02.97.4
YOLO11s-pose64058.986.390.5 ± 0.62.6 ± 0.09.923.1
YOLO11m-pose64064.989.4187.3 ± 0.84.9 ± 0.120.971.4
YOLO11l-pose64066.189.9247.7 ± 1.16.4 ± 0.126.190.3
YOLO11x-pose64069.591.1488.0 ± 13.912.1 ± 0.258.8202.8

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

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

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

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

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

الاستخدام

لتدريب نموذج YOLO11n-pose على مجموعة بيانات COCO-Pose لعدد 100 epoch بحجم صورة 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.

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

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

تعتبر مجموعة بيانات COCO-Pose نسخة متخصصة من مجموعة بيانات COCO (الكائنات الشائعة في السياق) وهي مصممة لمهام تقدير الوضعية. وهي تعتمد على صور وتعليقات 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 الأصلية. تتضمن المقاييس الرئيسية تشابه النقاط الرئيسية للكائن (OKS)، والذي يقيم دقة النقاط الرئيسية المتوقعة مقابل التعليقات التوضيحية للحقيقة الأساسية. تسمح هذه المقاييس بإجراء مقارنات شاملة للأداء بين النماذج المختلفة. على سبيل المثال، تحتوي نماذج COCO-Pose المدربة مسبقًا مثل YOLO11n-pose و YOLO11s-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 مجالات مختلفة، مثل التحليلات الرياضية والرعاية الصحية والتفاعل بين الإنسان والحاسوب، حيثما كان تقدير الوضعيات التفصيلي للأشكال البشرية مطلوبًا. للاستخدام العملي، يمكن أن يؤدي الاستفادة من النماذج المدربة مسبقًا مثل تلك المتوفرة في الوثائق (مثل YOLO11n-pose) إلى تبسيط العملية بشكل كبير (الميزات الرئيسية).

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



📅 تم الإنشاء منذ سنتين ✏️ تم التحديث منذ 11 شهرًا
glenn-jocherjk4eY-T-Gambitious-octopusRizwanMunawarUltralyticsAssistantMatthewNoycehnliu_2@stu.xidian.edu.cn

تعليقات