Ultralytics YOLO27:

مجموعة بيانات COCO12-Formats#

مقدمة#

مجموعة بيانات COCO12-Formats من Ultralytics هي مجموعة بيانات اختبار متخصصة مصممة للتحقق من تحميل الصور عبر 12 امتدادًا مدعومًا لتنسيقات الصور. وتحتوي على 12 صورة (6 للتدريب و6 للتحقق)، حُفظت كل منها بتنسيق مختلف لضمان اختبار شامل لمسار تحميل الصور.

تُعد مجموعة البيانات هذه قيّمة من أجل:

  • اختبار دعم تنسيقات الصور: التحقق من تحميل تنسيقات الصور الشائعة بصورة صحيحة
  • مسارات CI/CD: الاختبار الآلي لتوافق التنسيقات
  • تصحيح الأخطاء: عزل المشكلات الخاصة بالتنسيقات في مسارات التدريب
  • التطوير: التحقق من إضافات التنسيقات الجديدة أو تغييراتها

عند إدارة مجموعات البيانات على Ultralytics Platform، تُعالَج الصور بأي من هذه التنسيقات تلقائيًا، ولا يلزم إجراء تحويل يدوي.

التنسيقات المدعومة#

تتضمن مجموعة البيانات صورة واحدة لكل امتداد من امتدادات التنسيقات المدعومة وعددها 12، والمحددة في ultralytics/data/utils.py:

التنسيقالامتدادالوصفالتدريب/التحقق
AVIF.avifتنسيق ملفات الصور AV1 (حديث)التدريب
BMP.bmpصورة نقطية - تنسيق نقطي غير مضغوطالتدريب
DNG.dngالسالب الرقمي - تنسيق Adobe RAWالتدريب
HEIC.heicترميز الصور عالي الكفاءةالتدريب
JPEG.jpegJPEG بامتداد كاملالتدريب
JPG.jpgJPEG بامتداد مختصرالتدريب
JP2.jp2JPEG 2000 - للاستخدامات الطبية والجغرافية المكانيةالتحقق
MPO.mpoكائن متعدد الصور (صور مجسمة)التحقق
PNG.pngرسومات الشبكة المحمولةالتحقق
TIF.tifTIFF بامتداد مختصرالتحقق
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/cfg/datasets/coco12-formats.yaml
# 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. يُفك تشفير AVIF محلياً بواسطة Pillow 11.3 أو أحدث، لذا قم بترقية Pillow إذا فشلت ملفات AVIF في التحميل، ويقوم فك تشفير HEIC/HEIF بتثبيت حزمة pi-heif خفيفة الوزن تلقائياً عند الاستخدام الأول.

الاستخدام#

تُنزَّل مجموعة بيانات COCO12-Formats (بحجم 1 MB) تلقائيًا عند بدء التدريب أول مرة. لتدريب نموذج YOLO على مجموعة بيانات COCO12-Formats، استخدم الأمثلة التالية:

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

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

# Train on COCO12-Formats to test 12 supported image formats
results = model.train(data="coco12-formats.yaml", epochs=1, imgsz=640)

ملاحظات خاصة بالتنسيقات#

AVIF (تنسيق ملفات الصور AV1)#

AVIF هو تنسيق صور حديث مبني على ترميز الفيديو AV1، ويقدم ضغطاً ممتازاً. تقوم Ultralytics بفك تشفيره من خلال Pillow 11.3 أو أحدث عندما تفتقر OpenCV إلى دعم AVIF، دون الحاجة إلى حزم إضافية.

DNG (السالب الرقمي)#

DNG هو تنسيق Adobe المفتوح RAW، ويستند إلى 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) ومعالجتها بصورة صحيحة.

  • تتميز تنسيقات الصور المختلفة بخصائص فريدة (الضغط وعمق البت ومساحات الألوان). ويضمن اختبار جميع التنسيقات ما يلي:

    • متانة شيفرة تحميل الصور
    • التوافق عبر مجموعات البيانات المتنوعة
    • الاكتشاف المبكر للأخطاء البرمجية الخاصة بالتنسيقات
  • لا يحتاج أي منها إلى تثبيت يدوي. يُفك تشفير AVIF محلياً بواسطة Pillow 11.3 أو أحدث، ويقوم فك تشفير HEIC/HEIF بتثبيت حزمة pi-heif تلقائياً عند الاستخدام الأول. قم بتثبيت حزمة pillow-heif الكاملة فقط إذا كنت بحاجة إلى كتابة ملفات HEIC/HEIF بنفسك.

التعليقات