Ultralytics YOLO27:

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

مقدمة#

تُعد مجموعة بيانات COCO128 من Ultralytics صغيرة، لكنها متعددة الاستخدامات، وتتألف من أول 128 صورة من مجموعة COCO train 2017. تُعد مجموعة البيانات هذه مثالية لاختبار نماذج اكتشاف الأجسام وتصحيح أخطائها، أو لتجربة أساليب جديدة للاكتشاف. وبفضل احتوائها على 128 صورة، فهي صغيرة بما يكفي لتسهيل إدارتها، ومتنوعة بما يكفي لاختبار مسارات التدريب بحثًا عن الأخطاء وإجراء فحص سليم قبل تدريب مجموعات بيانات أكبر.



Watch: Ultralytics COCO Dataset Overview

صُممت مجموعة البيانات هذه للاستخدام مع Ultralytics Platform وYOLO26.

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

تحتوي COCO128 على أول 128 صورة من مجموعة COCO train 2017، وتغطي جميع فئات الأجسام البالغ عددها 80 فئة في تنسيق تسميات YOLO. وتُستخدم الصور الـ128 نفسها لكلٍّ من تقسيمي التدريب والتحقق، مما يحافظ على خفة المجموعة لإجراء فحوصات سلامة سريعة:

coco128/
├── images/
│   └── train2017/   # 128 images (used for both train and val)
└── labels/
    └── train2017/

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

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

ultralytics/cfg/datasets/coco128.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# COCO128 dataset https://www.kaggle.com/datasets/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco128
# Example usage: yolo train data=coco128.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco128 ← downloads here (7 MB)

# 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: coco128 # dataset root dir
train: images/train2017 # train images (relative to 'path') 128 images
val: images/train2017 # val images (relative to 'path') 128 images
test: # test images (optional)

# 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: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco128.zip

الاستخدام#

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

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

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

# Train the model
results = model.train(data="coco128.yaml", epochs=100, imgsz=640)

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

فيما يلي بعض الأمثلة على الصور من مجموعة بيانات COCO128، إلى جانب التعليقات التوضيحية المقابلة لها:

COCO128 object detection dataset mosaic training batch
  • الصورة الموزاييكية: توضح هذه الصورة دفعة تدريب مكوّنة من صور موزاييكية من مجموعة البيانات. والموزاييك تقنية تُستخدم أثناء التدريب وتجمع صورًا متعددة في صورة واحدة لزيادة تنوع الأجسام والمشاهد ضمن كل دفعة تدريب. ويساعد ذلك على تحسين قدرة النموذج على التعميم على أحجام الأجسام ونِسَب العرض إلى الارتفاع والسياقات المختلفة.

يوضح المثال تنوع الصور وتعقيدها في مجموعة بيانات COCO128، وفوائد استخدام إنشاء الفسيفساء أثناء عملية التدريب.

الاقتباسات والشكر والتقدير#

إذا استخدمت مجموعة بيانات 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.

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

  • مجموعة بيانات COCO128 من Ultralytics هي مجموعة فرعية مدمجة تحتوي على أول 128 صورة من مجموعة بيانات COCO train 2017. وتُستخدم أساسًا لاختبار نماذج اكتشاف الأجسام وتصحيح أخطائها، وتجربة أساليب جديدة للاكتشاف، والتحقق من صحة مسارات التدريب قبل التوسع إلى مجموعات بيانات أكبر. ويجعل حجمها القابل للإدارة منها خيارًا مثاليًا للتكرارات السريعة، مع توفير قدر كافٍ من التنوع لتكون حالة اختبار ذات دلالة.

  • لتدريب نموذج YOLO26 على مجموعة بيانات COCO128، يمكنك استخدام أوامر Python أو CLI. إليك الطريقة:

    مثال على التدريب
    from ultralytics import YOLO
    
    # Load a pretrained model
    model = YOLO("yolo26n.pt")
    
    # Train the model
    results = model.train(data="coco128.yaml", epochs=100, imgsz=640)

    لمزيد من خيارات التدريب ومعلماته، راجع وثائق التدريب.

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

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

    تُعد هذه التقنية ذات قيمة خاصة لمجموعات البيانات الأصغر مثل COCO128، إذ تساعد النماذج على تعلم سمات أكثر متانة من بيانات محدودة.

  • تقع COCO128 (128 صورة) بين COCO8 (8 صور) ومجموعة COCO الكاملة (أكثر من 118 ألف صورة) من حيث الحجم:

    • COCO8: تحتوي على 8 صور فقط (4 للتدريب و4 للتحقق) - مثالية للاختبارات السريعة وتصحيح الأخطاء
    • COCO128: تحتوي على 128 صورة - توازن بين الحجم والتنوع
    • COCO الكاملة: تحتوي على أكثر من 118 ألف صورة تدريب - شاملة لكنها تتطلب موارد كبيرة

    توفر COCO128 حلًا وسطًا جيدًا، إذ تقدم تنوعًا أكبر من COCO8 مع بقائها أسهل بكثير في الإدارة من مجموعة COCO الكاملة لأغراض التجربة والتطوير الأولي للنماذج.

  • على الرغم من أن COCO128 مصممة أساسًا لاكتشاف الأجسام، يمكن تكييف التعليقات التوضيحية لمجموعة البيانات لمهام أخرى في الرؤية الحاسوبية:

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

    بالنسبة إلى المهام المتخصصة مثل التقسيم، فكّر في استخدام متغيرات مصممة خصيصًا مثل COCO8-seg، التي تتضمن التعليقات التوضيحية المناسبة.

التعليقات