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

مقدمة

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



Watch: Ultralytics COCO Dataset Overview

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

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

يتم استخدام ملف YAML (Yet Another Markup Language) لتحديد إعدادات مجموعة البيانات. يحتوي الملف على معلومات حول مسارات مجموعة البيانات، والفئات، ومعلومات أخرى ذات صلة. في حالة مجموعة بيانات 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/coco/
# 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

الاستخدام

لتدريب نموذج 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 وفوائد استخدام تقنية الفسيفساء (mosaicing) أثناء عملية التدريب.

الاقتباسات والشكر

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

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

لماذا تُستخدم مجموعة بيانات Ultralytics COCO128؟

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

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

لتدريب نموذج 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)

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

ما هي فوائد استخدام تعزيز الفسيفساء (mosaic augmentation) مع COCO128؟

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

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

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

كيف تقارن COCO128 بمتغيرات مجموعة بيانات COCO الأخرى؟

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

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

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

هل يمكنني استخدام COCO128 لمهام أخرى غير اكتشاف الكائنات؟

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

  • تجزئة الكائنات (Instance segmentation): باستخدام أقنعة التجزئة المقدمة في الشروحات
  • اكتشاف النقاط الرئيسية (Keypoint detection): للصور التي تحتوي على أشخاص مع شروحات للنقاط الرئيسية
  • التعلم بنقل المعرفة (Transfer learning): كنقطة انطلاق لضبط النماذج للمهام المخصصة

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

التعليقات