مجموعة بيانات COCO12-Formats#
مقدمة#
مجموعة بيانات COCO12-Formats من Ultralytics هي مجموعة اختبار متخصصة صُممت للتحقق من تحميل الصور عبر 12 امتدادًا لتنسيقات الصور المدعومة. تضم 12 صورة (6 للتدريب و6 للتحقق)، محفوظة كل منها بتنسيق مختلف لضمان اختبار شامل لمسار تحميل الصور.
هذه المجموعة قيّمة للغاية من أجل:
- اختبار دعم تنسيقات الصور: التحقق من تحميل تنسيقات الصور الشائعة على نحو صحيح
- مسارات CI/CD: الاختبار الآلي لتوافق التنسيقات
- تصحيح الأخطاء: عزل المشكلات الخاصة بتنسيقات معينة في مسارات التدريب
- التطوير: التحقق من الإضافات أو التغييرات الجديدة على التنسيقات
عند إدارة مجموعات البيانات على منصة Ultralytics، تُعالَج الصور بهذه التنسيقات تلقائيًا، من دون الحاجة إلى تحويل يدوي.
التنسيقات المدعومة#
تتضمن مجموعة البيانات صورة واحدة لكل تنسيق من 12 تنسيقًا من امتدادات الصور الـ13 في IMG_FORMATS (المعرّفة في ultralytics/data/utils.py)؛ كما أن .heif مدعوم، لكن لا تتوفر له صورة نموذجية:
| التنسيق | الامتداد | الوصف | التدريب/التحقق |
|---|---|---|---|
| AVIF | .avif | تنسيق ملفات الصور AV1 (حديث) | التدريب |
| BMP | .bmp | صورة نقطية - تنسيق نقطي غير مضغوط | التدريب |
| DNG | .dng | Digital Negative - تنسيق RAW من Adobe | التدريب |
| HEIC | .heic | ترميز الصور عالي الكفاءة | التدريب |
| JPEG | .jpeg | JPEG بامتداد كامل | التدريب |
| JPG | .jpg | JPEG بامتداد مختصر | التدريب |
| JP2 | .jp2 | JPEG 2000 - للاستخدامات الطبية والجغرافية المكانية | التحقق |
| MPO | .mpo | كائن متعدد الصور (صور مجسمة) | التحقق |
| PNG | .png | رسومات الشبكة المحمولة | التحقق |
| TIF | .tif | TIFF بامتداد مختصر | التحقق |
| TIFF | .tiff | تنسيق ملفات الصور الموسوم | التحقق |
| WebP | .webp | تنسيق صور حديث للويب | التحقق |
بنية مجموعة البيانات#
coco12-formats/
├── images/
│ ├── train/ # 6 images (avif, bmp, dng, heic, jpeg, jpg)
│ └── val/ # 6 images (jp2, mpo, png, tif, tiff, webp)
├── labels/
│ ├── train/ # Corresponding YOLO format labels
│ └── val/
└── coco12-formats.yaml # Dataset configurationملف YAML لمجموعة البيانات#
تُهيَّأ مجموعة بيانات COCO12-Formats باستخدام ملف YAML يحدد مسارات مجموعة البيانات وأسماء الفئات. يمكنك مراجعة الملف الرسمي coco12-formats.yaml في مستودع Ultralytics على GitHub.
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# COCO12-Formats dataset (12 images testing all supported image formats) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco12-formats
# Example usage: yolo train data=coco12-formats.yaml
# parent
# ├── ultralytics
# └── datasets
# └── coco12-formats ← 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: coco12-formats # dataset root dir
train: images/train # train images (relative to 'path') 6 images
val: images/val # val images (relative to 'path') 6 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/coco12-formats.zipالمتطلبات#
لا يلزم أي إعداد يدوي. يقرأ OpenCV معظم التنسيقات مباشرة، ويلجأ Ultralytics إلى Pillow عند التعامل مع AVIF وHEIC وHEIF. يفك Pillow 11.3 أو أحدث ترميز AVIF مباشرة، لذا حدّث Pillow إذا تعذر تحميل ملفات AVIF؛ أما فك ترميز HEIC/HEIF فيثبّت تلقائيًا الحزمة الخفيفة pi-heif عند الاستخدام لأول مرة.
الاستخدام#
تُنزَّل مجموعة بيانات COCO12-Formats تلقائيًا عند بدء التدريب لأول مرة، ويبلغ حجمها 1 MB. لتدريب نموذج YOLO على مجموعة بيانات COCO12-Formats، استخدم الأمثلة التالية:
from ultralytics import YOLO
# تحميل نموذج YOLO مدرَّب مسبقًا
model = YOLO("yolo26n.pt")
# درّب على COCO12-Formats لاختبار 12 تنسيقًا مدعومًا للصور
results = model.train(data="coco12-formats.yaml", epochs=1, imgsz=640)ملاحظات خاصة بكل تنسيق#
AVIF (تنسيق ملفات الصور AV1)#
AVIF تنسيق صور حديث يستند إلى برنامج ترميز الفيديو AV1، ويوفر ضغطًا ممتازًا. يفك Ultralytics ترميزه عبر Pillow 11.3 أو أحدث عندما لا يدعم OpenCV تنسيق AVIF، ولا يتطلب ذلك تثبيت حزم إضافية.
DNG (Digital Negative)#
DNG هو تنسيق RAW مفتوح من Adobe يستند إلى TIFF. ولأغراض الاختبار، تستخدم مجموعة البيانات ملفات تستند إلى TIFF بامتداد .dng.
JP2 (JPEG 2000)#
JPEG 2000 معيار لضغط الصور يستند إلى المويجات، ويوفر ضغطًا وجودة أفضل من JPEG التقليدي. يُستخدم عادةً في التصوير الطبي (DICOM) والتطبيقات الجغرافية المكانية والسينما الرقمية. ويدعمه كل من OpenCV وPillow مباشرةً.
MPO (كائن متعدد الصور)#
تُستخدم ملفات MPO للصور المجسمة (ثلاثية الأبعاد). تخزّن مجموعة البيانات بيانات JPEG قياسية بامتداد .mpo لاختبار التنسيق.
HEIC / HEIF (تنسيق ملفات الصور عالي الكفاءة)#
يشير الامتدادان .heic و.heif إلى الحاوية نفسها ISO/IEC 23008-12. ووفقًا للعرف، يشير .heic إلى ملفات HEIF المشفّرة باستخدام HEVC (النوع الذي تنتجه أجهزة Apple)، بينما يُعد .heif الامتداد الأوسع نطاقًا.
يفك Ultralytics ترميز كليهما عبر مسار الرجوع من OpenCV إلى Pillow في ultralytics/utils/patches.py، والذي يثبّت تلقائيًا pi-heif (خفيف ومخصص لفك الترميز فقط) عند الاستخدام لأول مرة؛ ولا يلزم إعداد يدوي للقراءة. لإنشاء ملفات HEIC/HEIF بنفسك (مثلًا، لإعادة ترميز الصور النموذجية)، ثبّت الحزمة الكاملة pillow-heif التي تتضمن برامج ترميز:
pip install pillow-heifحالات الاستخدام#
اختبار CI/CD#
from ultralytics import YOLO
def test_image_formats():
"""Test that 12 supported image formats load correctly."""
model = YOLO("yolo26n.pt")
results = model.train(data="coco12-formats.yaml", epochs=1, imgsz=64)
assert results is not Noneالتحقق من صحة التنسيق#
from pathlib import Path
from ultralytics.data.utils import IMG_FORMATS
# Verify all dataset formats are supported
dataset_dir = Path("datasets/coco12-formats/images")
found_formats = {f.suffix[1:].lower() for f in dataset_dir.rglob("*.*")}
assert found_formats <= IMG_FORMATS, f"Unsupported formats: {found_formats - IMG_FORMATS}"الاستشهادات والشكر والتقدير#
إذا استخدمت مجموعة بيانات 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{\'a}r},
year={2015},
eprint={1405.0312},
archivePrefix={arXiv},
primaryClass={cs.CV}
}الأسئلة الشائعة#
صُممت مجموعة بيانات COCO12-Formats لاختبار توافق تنسيقات الصور في مسارات التدريب لدى Ultralytics YOLO. وهي تضمن تحميل تنسيقات الصور الـ12 المدعومة (AVIF وBMP وDNG وHEIC وJP2 وJPEG وJPG وMPO وPNG وTIF وTIFF وWebP) ومعالجتها على نحو صحيح.
لكل تنسيق صور خصائص فريدة (كالضغط وعمق البت ومساحات الألوان). ويضمن اختبار جميع التنسيقات ما يلي:
- متانة شيفرة تحميل الصور
- التوافق مع مجموعات بيانات متنوعة
- الكشف المبكر عن الأخطاء الخاصة بتنسيقات معينة
لا يتطلب أي منها تثبيتًا يدويًا. يفك Pillow 11.3 أو أحدث ترميز AVIF مباشرةً، كما يثبّت فك ترميز HEIC/HEIF الحزمة
pi-heifتلقائيًا عند الاستخدام لأول مرة. ثبّت الحزمة الكاملةpillow-heifفقط إذا كنت بحاجة إلى كتابة ملفات HEIC/HEIF بنفسك.



