Ultralytics YOLO27:

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

تكيّف مجموعة بيانات COCO-Pose مجموعة COCO (الأجسام الشائعة في السياقات) لتناسب تقدير الوضعية: إذ تضم 58,945 صورة من COCO Keypoints 2017، عليها تسميات لـ156,165 شخصًا وفق مخطط يضم 17 نقطة مفتاحية. وهي مجموعة معيارية لتدريب نماذج النقاط المفتاحية وقياس أدائها، مثل Ultralytics YOLO26، كما تحاكي المجموعة الفرعية COCO8-Pose المؤلفة من 8 صور تنسيقها لإجراء فحوصات سريعة للسلامة.

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

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

النموذجالحجم
(بكسل)
mAPالوضعيات
50-95(e2e)
mAPالوضعيات
50(e2e)
السرعة
CPU ONNX
(مللي ثانية)
السرعة
T4 TensorRT10
(ms)
المعاملات
(M)
FLOPs
(B)
YOLO26n-pose64057.283.340.3 ± 0.51.8 ± 0.02.97.6
YOLO26s-pose64063.086.685.3 ± 0.92.7 ± 0.010.424.1
YOLO26m-pose64068.889.6218.0 ± 1.55.0 ± 0.121.573.3
YOLO26l-pose64070.490.5275.4 ± 2.46.5 ± 0.125.991.7
YOLO26x-pose64071.691.6565.4 ± 3.012.2 ± 0.257.6202.3

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

  • تستند COCO-Pose إلى تحدي COCO Keypoints 2017، الذي يضع تسميات لـ1,710,498 نقطة مفتاحية فردية موزعة على 156,165 شخصًا خضعوا للتوسيم.
  • يستخدم كل توصيف لشخص ما 17 نوعًا من النقاط المفتاحية — الأنف والعينين والأذنين والكتفين والمرفقين والمعصمين والوركين والركبتين والكاحلين — وتُخزَّن على هيئة ثلاثيات (x, y, visibility).
  • ومثل COCO، توفر المجموعة مقاييس تقييم موحدة، بما في ذلك تشابه النقاط المفتاحية للكائن (OKS) لمهام تقدير الوضعية، ما يجعلها مناسبة لمقارنة أداء النماذج.
  • حجم التنزيل: ~20.2 GB عند الاستخدام لأول مرة (train2017.zip + val2017.zip + التسميات). لا يُنزَّل test2017.zip، البالغ حجمه 7 GB، تلقائيًا؛ إذ لا تتوفر التسميات المرجعية لهذه الصور، ولا تكون مطلوبة إلا لتقديم test-dev2017.

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

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

  1. Train2017: يضم هذا القسم الفرعي 56,599 صورة من مجموعة بيانات COCO، موسومة لتدريب نماذج تقدير الوضعية.
  2. Val2017: يضم هذا القسم الفرعي 2,346 صورة تُستخدم للتحقق أثناء تدريب النموذج.
  3. Test-dev2017: قسم فرعي يضم 20,288 صورة من مجموعة test2017 الكاملة البالغ عدد صورها 40,670، ولا تتوفر تسمياتها المرجعية. ويربط ملف YAML لمجموعة البيانات هذا القسم بـخادم تقييم نقاط COCO test-dev.

يبرز دور Ultralytics Platform في التدريب بهذا النطاق، إذ تدير موارد الحوسبة لتتمكن من بدء عمليات التشغيل ومراقبتها دون الحاجة إلى توفير وحدات GPU الخاصة بك.

التطبيقات#

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

ملف 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.2 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 (test2017.zip excluded: ground truth is withheld, only used for the CodaLab test-dev split)
  urls = [
      "http://images.cocodataset.org/zips/train2017.zip",  # 19G, 118k images
      "http://images.cocodataset.org/zips/val2017.zip",  # 1G, 5k images
  ]
  download(urls, dir=dir / "images", threads=3)

الاستخدام#

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

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

# ⁨تحميل نموذج⁩
model = YOLO("yolo26n-pose.pt")  # ⁨تحميل نموذج مدرّب مسبقًا (موصى به للتدريب)⁩

# ⁨تدريب النموذج⁩
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 صور COCO Keypoints 2017 وتعليقاتها التوضيحية بعد تحويلها إلى تنسيق النقاط المفتاحية الخاص بـ YOLO، باستخدام مخطط يضم 17 نقطة مفتاحية عبر 58,945 صورة. وجّه أي نموذج وضعيات من Ultralytics YOLO إليها باستخدام data=coco-pose.yaml، وتوثّق صفحة التدريب كل وسيطة يمكنك ضبطها بعد ذلك.

  • حمّل yolo26n-pose.pt واستدعِ model.train(data="coco-pose.yaml", epochs=100, imgsz=640) — راجع مثال التدريب أعلاه للاطلاع على مقتطفات Python وCLI كاملة، وصفحة التدريب للاطلاع على قائمة شاملة بالوسيطات.

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

  • تتضمن COCO-Pose قسمين مُعنونين: 56,599 صورة train2017 و2,346 صورة val2017. ويحتفظ القسم الثالث، test-dev2017 (20,288 صورة من إجمالي 40,670 صورة test2017)، بالقيم المرجعية على نحو خاص؛ ويربط ملف YAML لمجموعة البيانات هذا القسم بـخادم تقييم نقاط COCO test-dev المفتاحية. راجع قسم بنية مجموعة البيانات، أو ملف coco-pose.yaml على GitHub للاطلاع على مسارات الأقسام الدقيقة.

  • تستخدم COCO-Pose 17 نوعًا من النقاط المفتاحية البشرية، وترث مقاييس COCO الموحّدة، بما فيها تشابه النقاط المفتاحية للكائن (OKS)، لمقارنة النماذج. وهذا المزيج مناسب لتطبيقات وضعيات الإنسان، مثل التحليلات الرياضية والرعاية الصحية والتفاعل بين الإنسان والحاسوب. أُدرجت أوزان YOLO26-pose المدرّبة مسبقًا ضمن النماذج المدرّبة مسبقًا لـ COCO-Pose.

    لمزيد من المعلومات عن نماذج النقاط المفتاحية، راجع وثائق مهمة تقدير الوضعيات.

التعليقات