Ultralytics YOLO27:

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

مقدمة#

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



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

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

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

تحتوي COCO128 على أول 128 صورة من مجموعة COCO train 2017، مع تسميات لأسماء فئات COCO الثمانين (تظهر 71 فئة منها في هذه الصور) بتنسيق تسميات 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 MB) عند بدء التدريب للمرة الأولى. لتدريب نموذج YOLO26n على COCO128 لمدة 100 حقبة وبحجم صورة 640، يمكنك استخدام مقتطفات الشيفرة التالية. للاطلاع على قائمة شاملة بالوسائط المتاحة، راجع صفحة التدريب الخاصة بالنموذج.

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

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

# ⁨تدريب النموذج⁩
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
    
    # ⁨تحميل نموذج مدرَّب مسبقًا⁩
    model = YOLO("yolo26n.pt")
    
    # ⁨تدريب النموذج⁩
    results = model.train(data="coco128.yaml", epochs=100, imgsz=640)

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

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

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

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

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

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

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

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

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

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

التعليقات