مجموعة بيانات COCO128#
مقدمة#
Ultralytics COCO128 هو مجموعة بيانات object detection صغيرة ولكنها متعددة الاستخدامات وتتكون من أول 128 صورة من مجموعة COCO train 2017. هذه المجموعة مثالية لاختبار وتصحيح أخطاء نماذج اكتشاف الكائنات، أو لتجربة نهج اكتشاف جديدة. مع 128 صورة، فهي صغيرة بما يكفي لتكون قابلة للإدارة بسهولة، ومع ذلك فهي متنوعة بما يكفي لاختبار خطوط أنابيب التدريب بحثًا عن الأخطاء والعمل كفحص سلامة قبل تدريب مجموعات بيانات أكبر.
Watch: Ultralytics COCO Dataset Overview
تم تصميم مجموعة البيانات هذه للاستخدام مع Ultralytics Platform و YOLO26.
هيكل مجموعة البيانات#
يحتوي COCO128 على أول 128 صورة من مجموعة COCO train 2017، والتي تغطي جميع فئات كائنات COCO الـ 80 بتنسيق YOLO label format. تخدم نفس ال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 🚀 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 epochs بحجم صورة 640، يمكنك استخدام مقتطفات التعليمات البرمجية التالية. للحصول على قائمة شاملة بالوسيطات المتاحة، راجع صفحة Training للنموذج.
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، جنباً إلى جنب مع التعليقات التوضيحية المقابلة لها:
- صورة مجمعة (Mosaiced Image): توضح هذه الصورة دفعة تدريب تتكون من صور مجموعة بيانات مجمعة. الفسيفساء (Mosaicing) هي تقنية تُستخدم أثناء التدريب تدمج صورًا متعددة في صورة واحدة لزيادة تنوع الكائنات والمشاهد داخل كل دفعة تدريب. يساعد هذا في تحسين قدرة النموذج على التعميم على أحجام كائنات ونسب عرض إلى ارتفاع وسياقات مختلفة.
يوضح المثال تنوع وتعقيد الصور في مجموعة بيانات 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 لإنشاء وصيانة هذا المورد القيّم لمجتمع computer vision. لمزيد من المعلومات حول مجموعة بيانات COCO ومُنشئيها، تفضل بزيارة COCO dataset website.
الأسئلة الشائعة#
مجموعة بيانات Ultralytics COCO128 هي مجموعة فرعية مدمجة تحتوي على أول 128 صورة من مجموعة بيانات COCO train 2017. تُستخدم في المقام الأول لاختبار وتصحيح أخطاء نماذج object detection، وتجربة أساليب اكتشاف جديدة، والتحقق من صحة خطوط أنابيب التدريب قبل التوسع إلى مجموعات بيانات أكبر. حجمها القابل للإدارة يجعلها مثالية للتكرارات السريعة مع توفير تنوع كافي لتكون حالة اختبار ذات مغزى.
لتدريب نموذج 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)لمزيد من خيارات ومعلمات التدريب، راجع وثائق Training.
تجمع زيادة الفسيفساء، كما هو موضح في صور العينة، صور تدريب متعددة في صورة مركبة واحدة. تقدم هذه التقنية العديد من المزايا عند التدريب باستخدام COCO128:
- زيادة تنوع الأشياء والسياقات داخل كل دفعة تدريب
- تحسين تعميم النموذج عبر أحجام ونسب عرض إلى ارتفاع مختلفة للأشياء
- تعزيز أداء الكشف للأشياء على نطاقات مختلفة
- تعظيم الاستفادة من مجموعة بيانات صغيرة عن طريق إنشاء عينات تدريب أكثر تنوعاً
تعد هذه التقنية قيمة بشكل خاص لمجموعات البيانات الصغيرة مثل COCO128، مما يساعد النماذج على تعلم ميزات أكثر قوة من البيانات المحدودة.
يقع COCO128 (128 صورة) بين COCO8 (8 صور) ومجموعة بيانات COCO الكاملة (أكثر من 118 ألف صورة) من حيث الحجم:
- COCO8: تحتوي على 8 صور فقط (4 للتدريب، 4 للتحقق) - مثالية للاختبارات السريعة وتصحيح الأخطاء
- COCO128: تحتوي على 128 صورة - متوازنة بين الحجم والتنوع
- COCO الكاملة: تحتوي على أكثر من 118 ألف صورة تدريب - شاملة ولكنها تستهلك الكثير من الموارد
توفر COCO128 أرضية وسطى جيدة، حيث توفر تنوعاً أكبر من COCO8 مع البقاء أكثر قابلية للإدارة بكثير من مجموعة بيانات COCO الكاملة للتجريب والتطوير الأولي للنموذج.
على الرغم من أن COCO128 مصممة أساساً لكشف الأشياء، إلا أنه يمكن تكييف تعليقات مجموعة البيانات لمهام رؤية حاسوبية أخرى:
- تجزئة المثيلات (Instance segmentation): باستخدام أقنعة التجزئة المقدمة في التعليقات التوضيحية
- كشف النقاط الرئيسية (Keypoint detection): للصور التي تحتوي على أشخاص مع تعليقات توضيحية للنقاط الرئيسية
- التعلم بنقل المعرفة (Transfer learning): كنقطة انطلاق لضبط النماذج للمهام المخصصة
المهام المتخصصة مثل segmentation، فكر في استخدام متغيرات مخصصة مثل COCO8-seg والتي تتضمن التعليقات التوضيحية المناسبة.