Ultralytics YOLO27:

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

مقدمة#

مجموعة بيانات COCO8 من Ultralytics هي مجموعة بيانات مدمجة وقوية في الوقت نفسه لـاكتشاف الكائنات، وتتكوّن من أول 8 صور من مجموعة COCO train 2017 — 4 للتدريب و4 للتحقق. صُممت مجموعة البيانات هذه خصيصًا للاختبار السريع وتصحيح الأخطاء وإجراء التجارب على نماذج YOLO وخطوط أنابيب التدريب. ويجعل حجمها الصغير إدارتها سهلة للغاية، بينما يضمن تنوعها أداءها كاختبار فعّال للسلامة قبل التوسع إلى مجموعات بيانات أكبر.



Watch: Ultralytics COCO Dataset Overview

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

تتضمن COCO8 أول 8 صور من مجموعة COCO train 2017 — 4 للتدريب و4 للتحقق — وتغطي المجموعة الكاملة المكوّنة من 80 فئة للكائنات في COCO بتنسيق تسميات YOLO:

coco8/
├── images/
│   ├── train/   # 4 images
│   └── val/     # 4 images
└── labels/
    ├── train/
    └── val/

استكشف COCO8 على منصة Ultralytics لتصفح كل صورة مع طبقات التعليقات التوضيحية الخاصة بها، وعرض توزيع الفئات وخرائط الحرارة للمربعات المحيطة في علامة التبويب Charts، واستنساخها لتدريب نموذجك الخاص على السحابة.

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

يُحدَّد إعداد مجموعة بيانات COCO8 في ملف YAML، الذي ي especific مسارات مجموعة البيانات وأسماء الفئات وبيانات وصفية أساسية أخرى. يمكنك مراجعة الملف الرسمي coco8.yaml في مستودع Ultralytics على GitHub.

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

# COCO8 dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco8
# Example usage: yolo train data=coco8.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco8 ← downloads here (1 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: coco8 # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 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/coco8.zip

الاستخدام#

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

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

# Load a pretrained YOLO26n model
model = YOLO("yolo26n.pt")

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

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

فيما يلي مثال على دفعة تدريب مركبة بالفسيفساء من مجموعة بيانات COCO8:

COCO8 object detection dataset mosaic training batch
  • صورة مركبة بالفسيفساء: توضح هذه الصورة دفعة تدريب تُدمج فيها صور متعددة من مجموعة البيانات باستخدام زيادة البيانات بالفسيفساء. تزيد زيادة البيانات بالفسيفساء من تنوع الكائنات والمشاهد داخل كل دفعة، مما يساعد النموذج على التعميم بصورة أفضل على مختلف أحجام الكائنات ونسب العرض إلى الارتفاع والخلفيات.

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

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

إذا استخدمت مجموعة بيانات 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 على إسهاماته المتواصلة في مجتمع الرؤية الحاسوبية.

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

  • صُممت مجموعة بيانات Ultralytics COCO8 للاختبار السريع وتصحيح أخطاء نماذج اكتشاف الكائنات. وبفضل احتوائها على 8 صور فقط (4 للتدريب و4 للتحقق)، فهي مثالية للتحقق من صحة خطوط أنابيب تدريب YOLO والتأكد من أن كل شيء يعمل كما هو متوقع قبل التوسع إلى مجموعات بيانات أكبر. استكشف إعداد COCO8 بصيغة YAML لمزيد من التفاصيل.

  • يمكنك تدريب نموذج YOLO26 على COCO8 باستخدام Python أو CLI:

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

    للحصول على خيارات تدريب إضافية، راجع وثائق تدريب YOLO.

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

  • للتحقق من صحة نموذج YOLO26 بعد تدريبه على COCO8، استخدم أوامر التحقق من صحة النموذج في Python أو CLI. ويقيّم ذلك أداء النموذج باستخدام مقاييس قياسية. للحصول على إرشادات خطوة بخطوة، تفضل بزيارة وثائق التحقق من صحة YOLO.

التعليقات