Ultralytics YOLO27:

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

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



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

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

النموذجالحجم
(بكسل)
mAPالتحقق
50-95
mAPالتحقق
50-95(e2e)
السرعة
CPU ONNX
(مللي ثانية)
السرعة
T4 TensorRT10
(ms)
المعاملات
(M)
FLOPs
(B)
YOLO26n64040.940.138.9 ± 0.71.7 ± 0.02.45.5
YOLO26s64048.647.887.2 ± 0.92.5 ± 0.09.520.9
YOLO26m64053.152.5220.0 ± 1.44.7 ± 0.120.468.4
YOLO26l64055.054.4286.2 ± 2.06.2 ± 0.224.886.8
YOLO26x64057.556.9525.8 ± 4.011.8 ± 0.255.7194.4

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

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

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

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

  1. Train2017: ‏118,287 صورة لتدريب نماذج اكتشاف الكائنات وتجزئتها وتوليد التسميات التوضيحية.
  2. Val2017: ‏5,000 صورة تُستخدم للتحقق أثناء تدريب النموذج.
  3. Test2017: ‏20,288 صورة من مجموعة test-dev تُستخدم لقياس أداء النماذج المدرَّبة. التعليقات التوضيحية للحقيقة المرجعية لهذه المجموعة الفرعية غير متاحة للعامة، وتُرسل النتائج إلى خادم تقييم COCO لتقييم الأداء.

التطبيقات#

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

تتبع التعليقات التوضيحية المُصدَّرة من أدوات وضع التسميات بصيغة COCO JSON البنية نفسها. لتدريب نماذجك على بياناتك الخاصة بتنسيق COCO، راجع تحويل تعليقات COCO التوضيحية إلى YOLO.

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

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

ultralytics/cfg/datasets/coco.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/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.3 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 # 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 via https://cocodataset.org/#detection-eval

# 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 pathlib import Path

  from ultralytics.utils import ASSETS_URL
  from ultralytics.utils.downloads import download

  # Download labels
  segments = True  # segment or box labels
  dir = Path(yaml["path"])  # dataset root dir
  urls = [ASSETS_URL + ("/coco2017labels-segments.zip" if segments else "/coco2017labels.zip")]  # labels
  download(urls, dir=dir.parent)

  # Download data (test2017.zip excluded: ground truth is withheld, only used for the eval-server 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)

الاستخدام#

تُنزَّل بيانات التدريب والتحقق COCO2017 (20.3 GB) تلقائياً عند بدء التدريب للمرة الأولى. لتدريب نموذج YOLO26n على COCO لمدة 100 حقبة بحجم صورة 640، يمكنك استخدام مقتطفات التعليمات البرمجية التالية. للاطلاع على القائمة الكاملة للوسائط المتاحة، راجع صفحة التدريب الخاصة بالنموذج. ويمكنك أيضاً تشغيل تدريب COCO سحابياً باستخدام منصة Ultralytics.

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

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

# ⁨تدريب النموذج⁩
results = model.train(data="coco.yaml", epochs=100, imgsz=640)

صور وتعليقات توضيحية نموذجية#

تحتوي مجموعة بيانات COCO على صور متنوعة تضم فئات متعددة من الكائنات ومشاهد معقدة. فيما يلي بعض أمثلة الصور من مجموعة البيانات، مع التعليقات التوضيحية المقابلة لها:

دفعة تدريب فسيفسائية من مجموعة بيانات 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 على إنشاء هذا المورد القيّم لمجتمع الرؤية الحاسوبية وصيانته. لمزيد من المعلومات عن مجموعة بيانات COCO ومبتكريها، تفضل بزيارة موقع مجموعة بيانات COCO.

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

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

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

    مثال على التدريب
    from ultralytics import YOLO
    
    # ⁨تحميل نموذج⁩
    model = YOLO("yolo26n.pt")  # ⁨تحميل نموذج مدرّب مسبقًا (موصى به للتدريب)⁩
    
    # ⁨تدريب النموذج⁩
    results = model.train(data="coco.yaml", epochs=100, imgsz=640)

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

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

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

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

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

    1. Train2017: ‏118,287 صورة للتدريب.
    2. Val2017: ‏5,000 صورة للتحقق أثناء التدريب.
    3. Test2017: ‏20,288 صورة من مجموعة test-dev لقياس أداء النماذج المدرَّبة. يجب إرسال النتائج إلى خادم تقييم COCO لتقييم الأداء.

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

التعليقات