مجموعة بيانات COCO
مجموعة بيانات COCO (الأشياء الشائعة في السياق) هي مجموعة بيانات واسعة النطاق للكشف عن الأشياء، والتقسيم، والتسميات التوضيحية. صُممت لتشجيع البحث في مجموعة واسعة من فئات الأشياء، وتُستخدم بشكل شائع لتقييم أداء نماذج الرؤية الحاسوبية. إنها مجموعة بيانات أساسية للباحثين والمطورين الذين يعملون على مهام الكشف عن الأشياء، والتقسيم، وتقدير الوضعية.
Watch: Ultralytics COCO Dataset Overview
نماذج COCO المدربة مسبقاً
| النموذج | الحجم (بكسل) | mAPval 50-95 | mAPval 50-95(e2e) | السرعة CPU ONNX (ملي ثانية) | السرعة T4 TensorRT10 (ملي ثانية) | المعلمات (مليون) | FLOPs (مليار) |
|---|---|---|---|---|---|---|---|
| YOLO26n | 640 | 40.9 | 40.1 | 38.9 ± 0.7 | 1.7 ± 0.0 | 2.4 | 5.4 |
| YOLO26s | 640 | 48.6 | 47.8 | 87.2 ± 0.9 | 2.5 ± 0.0 | 9.5 | 20.7 |
| YOLO26m | 640 | 53.1 | 52.5 | 220.0 ± 1.4 | 4.7 ± 0.1 | 20.4 | 68.2 |
| YOLO26l | 640 | 55.0 | 54.4 | 286.2 ± 2.0 | 6.2 ± 0.2 | 24.8 | 86.4 |
| YOLO26x | 640 | 57.5 | 56.9 | 525.8 ± 4.0 | 11.8 ± 0.2 | 55.7 | 193.9 |
الميزات الرئيسية
- تحتوي COCO على 330 ألف صورة، منها 200 ألف صورة تحتوي على تعليقات توضيحية لمهام الكشف عن الأشياء، والتقسيم، والتسميات التوضيحية.
- تتكون مجموعة البيانات من 80 فئة من الأشياء، بما في ذلك الأشياء الشائعة مثل السيارات والدراجات والحيوانات، بالإضافة إلى فئات أكثر تحديداً مثل المظلات وحقائب اليد والمعدات الرياضية.
- تتضمن التعليقات التوضيحية مربعات إحاطة للأشياء، وأقنعة تقسيم، وتسميات توضيحية لكل صورة.
- توفر COCO مقاييس تقييم موحدة مثل متوسط دقة التحديد (mAP) للكشف عن الأشياء، ومتوسط الاستدعاء (mAR) لمهام التقسيم، مما يجعلها مناسبة لمقارنة أداء النماذج.
هيكل مجموعة البيانات
تنقسم مجموعة بيانات COCO إلى ثلاث مجموعات فرعية:
- Train2017: تحتوي هذه المجموعة الفرعية على 118 ألف صورة لتدريب نماذج الكشف عن الأشياء، والتقسيم، والتسميات التوضيحية.
- Val2017: تحتوي هذه المجموعة الفرعية على 5 آلاف صورة تُستخدم لأغراض التحقق أثناء تدريب النموذج.
- Test2017: تتكون هذه المجموعة الفرعية من 20 ألف صورة تُستخدم لاختبار وتقييم النماذج المدربة. التعليقات التوضيحية للحقيقة الأساسية لهذه المجموعة غير متاحة للجمهور، ويتم تقديم النتائج إلى خادم تقييم COCO لتقييم الأداء.
التطبيقات
تُستخدم مجموعة بيانات COCO على نطاق واسع لتدريب وتقييم نماذج التعلم العميق في الكشف عن الأشياء (مثل Ultralytics YOLO و Faster R-CNN و SSD)، وتقسيم المثيلات (مثل Mask R-CNN)، واكتشاف النقاط الرئيسية (مثل OpenPose). إن مجموعة فئات الأشياء المتنوعة، والعدد الكبير من الصور المشروحة، ومقاييس التقييم الموحدة تجعلها مورداً أساسياً لباحثي وممارسي الرؤية الحاسوبية.
ملف YAML الخاص بمجموعة البيانات
يُستخدم ملف YAML (لغة توصيف أخرى) لتحديد إعدادات مجموعة البيانات. يحتوي على معلومات حول مسارات مجموعة البيانات، والفئات، وغيرها من المعلومات ذات الصلة. في حالة مجموعة بيانات COCO، يتم الاحتفاظ بملف coco.yaml على https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml.
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# COCO 2017 dataset https://cocodataset.org by Microsoft
# Documentation: https://docs.ultralytics.com/datasets/detect/coco/
# Example usage: yolo train data=coco.yaml
# parent
# ├── ultralytics
# └── datasets
# └── coco ← downloads here (20.1 GB)
# 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: coco # dataset root dir
train: train2017.txt # train images (relative to 'path') 118287 images
val: val2017.txt # val images (relative to 'path') 5000 images
test: test-dev2017.txt # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794
# 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: |
from pathlib import Path
from ultralytics.utils import ASSETS_URL
from ultralytics.utils.downloads import download
# Download labels
segments = True # segment or box labels
dir = Path(yaml["path"]) # dataset root dir
urls = [ASSETS_URL + ("/coco2017labels-segments.zip" if segments else "/coco2017labels.zip")] # labels
download(urls, dir=dir.parent)
# Download data
urls = [
"http://images.cocodataset.org/zips/train2017.zip", # 19G, 118k images
"http://images.cocodataset.org/zips/val2017.zip", # 1G, 5k images
"http://images.cocodataset.org/zips/test2017.zip", # 7G, 41k images (optional)
]
download(urls, dir=dir / "images", threads=3)الاستخدام
لتدريب نموذج YOLO26n على مجموعة بيانات COCO لمدة 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="coco.yaml", epochs=100, imgsz=640)صور وعينات تعليقات توضيحية
تحتوي مجموعة بيانات COCO على مجموعة متنوعة من الصور ذات فئات أشياء مختلفة ومشاهد معقدة. فيما يلي بعض الأمثلة للصور من مجموعة البيانات، جنباً إلى جنب مع التعليقات التوضيحية المقابلة لها:

- صورة فسيفسائية: توضح هذه الصورة دفعة تدريب تتكون من صور مجموعة بيانات فسيفسائية. التفسيفس هو تقنية تُستخدم أثناء التدريب تجمع بين صور متعددة في صورة واحدة لزيادة تنوع الأشياء والمشاهد داخل كل دفعة تدريب. يساعد هذا في تحسين قدرة النموذج على التعميم عبر أحجام أشياء ونسب عرض إلى ارتفاع وسياقات مختلفة.
يوضح المثال تنوع وتعقيد الصور في مجموعة بيانات COCO وفوائد استخدام التفسيفس أثناء عملية التدريب.
الاقتباسات والشكر
إذا كنت تستخدم مجموعة بيانات 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.
الأسئلة الشائعة
ما هي مجموعة بيانات COCO ولماذا هي مهمة للرؤية الحاسوبية؟
مجموعة بيانات COCO (الأشياء الشائعة في السياق) هي مجموعة بيانات واسعة النطاق تُستخدم لـ الكشف عن الأشياء، والتقسيم، والتسميات التوضيحية. تحتوي على 330 ألف صورة مع تعليقات توضيحية مفصلة لـ 80 فئة من الأشياء، مما يجعلها ضرورية لتقييم وتدريب نماذج الرؤية الحاسوبية. يستخدم الباحثون COCO نظراً لفئاتها المتنوعة ومقاييس التقييم الموحدة مثل متوسط الدقة (mAP).
كيف يمكنني تدريب نموذج YOLO باستخدام مجموعة بيانات COCO؟
لتدريب نموذج YOLO26 باستخدام مجموعة بيانات COCO، يمكنك استخدام مقتطفات التعليمات البرمجية التالية:
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="coco.yaml", epochs=100, imgsz=640)راجع صفحة التدريب لمزيد من التفاصيل حول الوسائط المتاحة.
ما هي السمات الرئيسية لمجموعة بيانات COCO؟
تتضمن مجموعة بيانات COCO:
- 330 ألف صورة، منها 200 ألف مشروحة للكشف عن الأشياء، والتقسيم، والتسميات التوضيحية.
- 80 فئة من الأشياء تتراوح من العناصر الشائعة مثل السيارات والحيوانات إلى عناصر محددة مثل حقائب اليد والمعدات الرياضية.
- مقاييس تقييم موحدة للكشف عن الأشياء (mAP) والتقسيم (متوسط الاستدعاء، mAR).
- تقنية التفسيفس في دفعات التدريب لتعزيز تعميم النموذج عبر مختلف أحجام الأشياء والسياقات.
أين يمكنني العثور على نماذج YOLO26 مدربة مسبقاً على مجموعة بيانات COCO؟
يمكن تنزيل نماذج YOLO26 المدربة مسبقاً على مجموعة بيانات COCO من الروابط المقدمة في الوثائق. تشمل الأمثلة:
تختلف هذه النماذج في الحجم، وmAP، وسرعة الاستنتاج، مما يوفر خيارات لمتطلبات الأداء والموارد المختلفة.
كيف يتم تنظيم مجموعة بيانات COCO وكيف يمكنني استخدامها؟
تنقسم مجموعة بيانات COCO إلى ثلاث مجموعات فرعية:
- Train2017: 118 ألف صورة للتدريب.
- Val2017: 5 آلاف صورة للتحقق أثناء التدريب.
- Test2017: 20 ألف صورة لتقييم النماذج المدربة. يجب تقديم النتائج إلى خادم تقييم COCO لتقييم الأداء.
ملف إعدادات YAML الخاص بمجموعة البيانات متاح على coco.yaml، والذي يحدد المسارات والفئات وتفاصيل مجموعة البيانات.