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

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

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

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

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

نموذج حجم
(بكسل)
خريطةتشكل
50-95
خريطةتشكل
50
السرعة
CPU 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/assets/releases/download/v0.0.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-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 لإنشاء وصيانة هذا المورد القيم لمجتمع رؤية الكمبيوتر. لمزيد من المعلومات حول مجموعة بيانات COCO-Pose ومنشئيها ، قم بزيارة موقع مجموعة بيانات COCO.

الأسئلة المتداولة

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

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

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

يمكن تدريب نموذج YOLOv8 على مجموعة بيانات COCO-Pose باستخدام الأمرين Python أو CLI . على سبيل المثال، لتدريب نموذج YOLOv8n-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-Passe لتقييم أداء النموذج؟

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

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

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

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

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

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

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

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



تم الإنشاء 2023-11-12-2023، تم التحديث 2024-07-17
المؤلفون: hnliu_2@stu.xidian.edu.cn (1)، جلين-جوتشر (7)، رضوان منور (1)، الضحك-ق (1)

التعليقات