مجموعة بيانات 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 🚀 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 وفوائد استخدام تقنية الفسيفساء (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 التي تتضمن الشروحات المناسبة.