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

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

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



شاهد: Ultralytics نظرة عامة على مجموعة بيانات COCO

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

الطراز الحجم
(بكسل)
مافال
50-95
السرعة
CPU ONNX
(مللي ثانية)
السرعة
T4 T4TensorRT10
(مللي ثانية)
بارامز
(م)

(ب)
يولو 11 ن 640 39.5 56.1 ± 0.8 1.5 ± 0.0 2.6 6.5
YOLO11s 640 47.0 90.0 ± 1.2 2.5 ± 0.0 9.4 21.5
يولو 11 م 640 51.5 183.2 ± 2.0 4.7 ± 0.1 20.1 68.0
يولو 11ل 640 53.4 238.6 ± 1.4 6.2 ± 0.1 25.3 86.9
يولو11x 640 54.7 462.8 ± 6.7 11.3 ± 0.2 56.9 194.9

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

  • يحتوي COCO على 330 ألف صورة، منها 200 ألف صورة تحتوي على تعليقات توضيحية لاكتشاف الأجسام وتجزئتها ومهام التسمية التوضيحية.
  • تشتمل مجموعة البيانات على 80 فئة من الأشياء، بما في ذلك الأشياء الشائعة مثل السيارات والدراجات والحيوانات، بالإضافة إلى فئات أكثر تحديداً مثل المظلات وحقائب اليد والمعدات الرياضية.
  • تتضمن التعليقات التوضيحية المربعات المحددة للكائنات وأقنعة التجزئة والتعليقات التوضيحية لكل صورة.
  • يوفر برنامج COCO مقاييس تقييم موحدة مثل متوسط متوسط الدقة (mAP) لاكتشاف الأجسام، ومتوسط متوسط الاسترجاع (mAR) لمهام التجزئة، مما يجعله مناسبًا لمقارنة أداء النموذج.

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

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

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

التطبيقات

تُستخدم مجموعة بيانات COCO على نطاق واسع لتدريب وتقييم نماذج التعلّم العميق في اكتشاف الكائنات (مثل YOLO وFaster R-CNN وSSD)، وتجزئة النماذج (مثل Mask R-CNN)، واكتشاف النقاط الرئيسية (مثل OpenPose). إن المجموعة المتنوعة من فئات الكائنات في مجموعة البيانات، والعدد الكبير من الصور المشروحة، ومقاييس التقييم الموحدة تجعلها موردًا أساسيًا للباحثين والممارسين في مجال الرؤية الحاسوبية.

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

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

ultralytics/cfg/datasets/coco.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license
# COCO 2017 dataset https://cocodataset.org by Microsoft
# Documentation: https://docs.ultralytics.com/datasets/detect/coco/
# Example usage: yolo train data=coco.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco  ← 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 # 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

# Classes
names:
  0: person
  1: bicycle
  2: car
  3: motorcycle
  4: airplane
  5: bus
  6: train
  7: truck
  8: boat
  9: traffic light
  10: fire hydrant
  11: stop sign
  12: parking meter
  13: bench
  14: bird
  15: cat
  16: dog
  17: horse
  18: sheep
  19: cow
  20: elephant
  21: bear
  22: zebra
  23: giraffe
  24: backpack
  25: umbrella
  26: handbag
  27: tie
  28: suitcase
  29: frisbee
  30: skis
  31: snowboard
  32: sports ball
  33: kite
  34: baseball bat
  35: baseball glove
  36: skateboard
  37: surfboard
  38: tennis racket
  39: bottle
  40: wine glass
  41: cup
  42: fork
  43: knife
  44: spoon
  45: bowl
  46: banana
  47: apple
  48: sandwich
  49: orange
  50: broccoli
  51: carrot
  52: hot dog
  53: pizza
  54: donut
  55: cake
  56: chair
  57: couch
  58: potted plant
  59: bed
  60: dining table
  61: toilet
  62: tv
  63: laptop
  64: mouse
  65: remote
  66: keyboard
  67: cell phone
  68: microwave
  69: oven
  70: toaster
  71: sink
  72: refrigerator
  73: book
  74: clock
  75: vase
  76: scissors
  77: teddy bear
  78: hair drier
  79: toothbrush

# Download script/URL (optional)
download: |
  from ultralytics.utils.downloads import download
  from pathlib import Path

  # Download labels
  segments = True  # segment or box labels
  dir = Path(yaml['path'])  # dataset root dir
  url = 'https://github.com/ultralytics/assets/releases/download/v0.0.0/'
  urls = [url + ('coco2017labels-segments.zip' if segments else 'coco2017labels.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)

الاستخدام

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

مثال على القطار

from ultralytics import YOLO

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

# Train the model
results = model.train(data="coco.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco.yaml model=yolo11n.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 ولماذا هي مهمة للرؤية الحاسوبية؟

مجموعة بيانات COCO (الأجسام الشائعة في السياق) هي مجموعة بيانات واسعة النطاق تُستخدم لاكتشاف الأجسام وتجزئتها وتسميتها. وهي تحتوي على 330 ألف صورة مع شروح مفصلة لـ 80 فئة من فئات الكائنات، مما يجعلها ضرورية لقياس نماذج الرؤية الحاسوبية وتدريبها. يستخدم الباحثون COCO نظرًا لفئاتها المتنوعة ومقاييس التقييم الموحدة مثل متوسط الدقة المتوسطة (mAP).

كيف يمكنني تدريب نموذج YOLO باستخدام مجموعة بيانات COCO؟

لتدريب نموذج YOLO11 باستخدام مجموعة بيانات COCO، يمكنك استخدام مقتطفات التعليمات البرمجية التالية:

مثال على القطار

from ultralytics import YOLO

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

# Train the model
results = model.train(data="coco.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco.yaml model=yolo11n.pt epochs=100 imgsz=640

راجع صفحة التدريب للحصول على مزيد من التفاصيل حول الوسائط المتاحة.

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

تتضمن مجموعة بيانات COCO ما يلي:

  • 330 ألف صورة، مع 200 ألف صورة مشروحة لاكتشاف الأجسام وتجزئتها والتعليق عليها.
  • 80 فئة عناصر تتراوح من العناصر الشائعة مثل السيارات والحيوانات إلى عناصر محددة مثل حقائب اليد والمعدات الرياضية.
  • مقاييس التقييم الموحدة لاكتشاف الكائنات (mAP) والتجزئة (متوسط متوسط الاسترجاع، mAR).
  • تقنية الفسيفساء في دفعات التدريب لتعزيز تعميم النموذج عبر مختلف أحجام الأجسام والسياقات.

أين يمكنني العثور على نماذج YOLO11 المدربة مسبقًا والمدربة على مجموعة بيانات COCO؟

يمكن تنزيل نماذج YOLO11 المدربة مسبقًا على مجموعة بيانات COCO من الروابط المتوفرة في الوثائق. ومن الأمثلة على ذلك:

تتنوع هذه النماذج من حيث الحجم، و mAP، وسرعة الاستدلال، مما يوفر خيارات لمختلف متطلبات الأداء والموارد.

كيف يتم تنظيم مجموعة بيانات COCO وكيف يمكنني استخدامها؟

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

  1. تدريب 2017: 118 ألف صورة للتدريب.
  2. Val2017: 5 آلاف صورة للتحقق من صحتها أثناء التدريب.
  3. اختبار 2017: 20 ألف صورة لقياس النماذج المدربة. يجب تقديم النتائج إلى خادم تقييم COCO لتقييم الأداء.

يتوفر ملف تهيئة YAML الخاص بمجموعة البيانات على coco.yaml، والذي يحدد المسارات والفئات وتفاصيل مجموعة البيانات.

📅 تم إنشاؤها منذ 1 سنة مضت ✏️ تم التحديث منذ 1 شهر

التعليقات