Ultralytics YOLO27:
Get Started

COCO12-Formats-Datensatz#

Einführung#

Der Ultralytics-Datensatz COCO12-Formats ist ein spezialisierter Testdatensatz, mit dem das Laden von Bildern für 12 unterstützte Dateiformate überprüft wird. Er enthält 12 Bilder (6 für das Training, 6 für die Validierung), die jeweils in einem anderen Format gespeichert sind, um die Bildladepipeline umfassend zu testen.

Dieser Datensatz ist besonders nützlich für:

  • Unterstützung von Bildformaten testen: Überprüfen, ob gängige Bildformate korrekt geladen werden
  • CI/CD-Pipelines: Automatisiertes Testen der Formatkompatibilität
  • Debugging: Formatspezifische Probleme in Trainingspipelines eingrenzen
  • Entwicklung: Ergänzungen oder Änderungen bei Formaten überprüfen

Wenn du Datensätze auf der Ultralytics Platform verwaltest, werden Bilder in allen diesen Formaten automatisch verarbeitet – eine manuelle Konvertierung ist nicht erforderlich.

Unterstützte Formate#

Der Datensatz enthält je ein Bild für 12 der 13 Dateiformate in IMG_FORMATS (definiert in ultralytics/data/utils.py); .heif wird ebenfalls unterstützt, es ist jedoch kein Beispielbild enthalten:

FormatDateiendungBeschreibungTraining/Validierung
AVIF.avifBilddateiformat AV1 (modern)Trainieren
BMP.bmpBitmap – unkomprimiertes RasterformatTrainieren
DNG.dngDigital Negative – Adobe-RAW-FormatTrainieren
HEIC.heicHocheffiziente BildcodierungTrainieren
JPEG.jpegJPEG mit vollständiger DateiendungTrainieren
JPG.jpgJPEG mit kurzer DateiendungTrainieren
JP2.jp2JPEG 2000 – Medizin und GeodatenValidieren
MPO.mpoMehrbildobjekt (Stereobilder)Validieren
PNG.pngTragbare NetzwerkgrafikenValidieren
TIF.tifTIFF mit kurzer DateiendungValidieren
TIFF.tiffDateiformat für getaggte BilderValidieren
WebP.webpModernes WebbildformatValidieren

Datensatzstruktur#

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-Datei des Datensatzes#

Der COCO12-Formats-Datensatz wird mit einer YAML-Datei konfiguriert, in der Datensatzpfade und Klassennamen definiert sind. Die offizielle Datei coco12-formats.yaml findest du im Ultralytics-GitHub-Repository.

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

Voraussetzungen#

Eine manuelle Einrichtung ist nicht erforderlich. OpenCV liest die meisten Formate direkt ein, und Ultralytics greift bei AVIF, HEIC und HEIF auf Pillow zurück. Pillow 11.3 oder neuer decodiert AVIF nativ. Aktualisiere Pillow, wenn AVIF-Dateien nicht geladen werden können. Für die HEIC/HEIF-Decodierung wird das schlanke Paket pi-heif bei der ersten Verwendung automatisch installiert.

Verwendung#

Der COCO12-Formats-Datensatz (1 MB) wird automatisch heruntergeladen, wenn du zum ersten Mal mit dem Training beginnst. Verwende die folgenden Beispiele, um ein YOLO-Modell auf dem COCO12-Formats-Datensatz zu trainieren:

Trainingsbeispiel
from ultralytics import YOLO

# Ein vortrainiertes YOLO-Modell laden
model = YOLO("yolo26n.pt")

# Auf COCO12-Formats trainieren, um 12 unterstützte Bildformate zu testen
results = model.train(data="coco12-formats.yaml", epochs=1, imgsz=640)

Hinweise zu einzelnen Formaten#

AVIF (Bilddateiformat AV1)#

AVIF ist ein modernes Bildformat, das auf dem Videocodec AV1 basiert und eine hervorragende Komprimierung bietet. Wenn OpenCV AVIF nicht unterstützt, decodiert Ultralytics das Format mithilfe von Pillow 11.3 oder neuer; zusätzliche Pakete sind nicht erforderlich.

DNG (Digital Negative)#

DNG ist das offene RAW-Format von Adobe und basiert auf TIFF. Zu Testzwecken verwendet der Datensatz TIFF-basierte Dateien mit der Dateiendung .dng.

JP2 (JPEG 2000)#

JPEG 2000 ist ein auf Wavelets basierender Bildkomprimierungsstandard, der eine bessere Komprimierung und Bildqualität als herkömmliches JPEG bietet. Das Format wird häufig in der medizinischen Bildgebung (DICOM), bei Geodatenanwendungen und im digitalen Kino verwendet. OpenCV und Pillow unterstützen es nativ.

MPO (Mehrbildobjekt)#

MPO-Dateien werden für stereoskopische (3D-)Bilder verwendet. Zum Testen des Formats speichert der Datensatz standardmäßige JPEG-Daten mit der Dateiendung .mpo.

HEIC / HEIF (hocheffizientes Bilddateiformat)#

Sowohl die Dateiendungen .heic als auch .heif verweisen auf denselben Container gemäß ISO/IEC 23008-12. Üblicherweise bezeichnet .heic HEVC-codierte HEIF-Dateien (die von Apple-Geräten erzeugte Variante), während .heif die allgemeinere Dateiendung ist.

Ultralytics decodiert beide Formate über den OpenCV-→-Pillow-Fallback in ultralytics/utils/patches.py. Bei der ersten Verwendung wird pi-heif automatisch installiert (schlank und nur für die Decodierung) – zum Lesen ist keine manuelle Einrichtung erforderlich. Um selbst HEIC/HEIF-Dateien zu erzeugen (z. B. durch erneutes Codieren von Beispielbildern), installiere das vollständige Paket pillow-heif, das Encoder enthält:

pip install pillow-heif

Anwendungsfälle#

CI/CD-Tests#

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

Formatvalidierung#

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}"

Zitate und Danksagungen#

Wenn du den COCO-Datensatz in deiner Forschung verwendest, zitiere bitte:

Zitat
@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}
}

Häufig gestellte Fragen#

  • Der COCO12-Formats-Datensatz wurde entwickelt, um die Kompatibilität von Bildformaten in Ultralytics-YOLO-Trainingspipelines zu testen. Er stellt sicher, dass 12 unterstützte Bildformate (AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WebP) korrekt geladen und verarbeitet werden.

  • Verschiedene Bildformate haben unterschiedliche Eigenschaften (Komprimierung, Bittiefe, Farbräume). Tests mit allen Formaten gewährleisten:

    • Robusten Code zum Laden von Bildern
    • Kompatibilität mit unterschiedlichen Datensätzen
    • Früherkennung formatspezifischer Fehler
  • Keines der Formate erfordert eine manuelle Installation. Pillow 11.3 oder neuer decodiert AVIF nativ, und für die HEIC/HEIF-Decodierung wird pi-heif bei der ersten Verwendung automatisch installiert. Installiere das vollständige Paket pillow-heif nur, wenn du selbst HEIC/HEIF-Dateien schreiben musst.

Kommentare