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

مجموعة بيانات COCO Dataset

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

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

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

النموذجالحجم
(بالبكسل)
mAPتشكل
50-95
mAPتشكل
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 على مجموعة بيانات COCO Keypoints 2017 التي تحتوي على 200 ألف صورة موسومة بنقاط أساسية لمهام تقدير الوضعية.
  • تدعم مجموعة البيانات 17 نقطة رئيسية للأشكال البشرية، مما يسهل تقديرًا تفصيليًا للوضعيات.
  • ومثله مثل COCO يوفر مقاييس تقييم موحدة، بما في ذلك تشابه نقاط الكائنات الرئيسية (OKS) لمهام تقدير الوضعية، مما يجعله مناسبًا لمقارنة أداء النموذج.

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

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

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

التطبيقات

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

ملف YAML لمجموعة البيانات

يُستخدم ملف YAML (لغة ترميز أخرى) لتحديد تكوين مجموعة البيانات. وهو يحتوي على معلومات حول مسارات مجموعة البيانات وفئاتها والمعلومات الأخرى ذات الصلة. في حالة مجموعة بيانات COCO فإن ملف coco-pose.yaml يتم الاحتفاظ بالملف في https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco-pose.yaml.

ultralyticsyaml

# 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 لـ 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 على مجموعة متنوعة من الصور ذات الأشكال البشرية المشروحة بنقاط رئيسية. فيما يلي بعض الأمثلة لصور من مجموعة البيانات، إلى جانب التعليقات التوضيحية المقابلة لها:

نموذج صورة من مجموعة البيانات

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

يعرض هذا المثال تنوع وتعقيد الصور في مجموعة بيانات COCO وفوائد استخدام الفسيفساء أثناء عملية التدريب.

الاقتباسات والإقرارات

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

@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 ومنشئيها، يرجى زيارة الموقع الإلكتروني لمجموعة بياناتCOCO .

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

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

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

كيف يمكنني تدريب نموذج YOLO11 على مجموعة بيانات COCO

يمكن تدريب نموذج YOLO11 على مجموعة بيانات COCO باستخدام أوامر 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 لتقييم أداء النموذج؟

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

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

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

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

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

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

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

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



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

تعليقات