COCO12-Formats-Datensatz#
Einleitung#
Der Ultralytics-COCO12-Formats-Datensatz ist ein spezieller Testdatensatz zur Validierung des Ladens von Bildern mit 12 unterstützten Bildformaterweiterungen. Er enthält 12 Bilder (6 für das Training, 6 für die Validierung), die jeweils in einem anderen Format gespeichert sind, um eine umfassende Prüfung der Bildladepipeline zu gewährleisten.
Dieser Datensatz ist besonders wertvoll für:
- Unterstützung von Bildformaten testen: Überprüfe, ob gängige Bildformate korrekt geladen werden
- CI/CD-Pipelines: Automatisierte Tests der Formatkompatibilität
- Fehlerbehebung: Isoliere formatspezifische Probleme in Trainingspipelines
- Entwicklung: Validiere neue Formaterweiterungen oder Änderungen
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 ein Bild für jede der 12 unterstützten Formaterweiterungen, die in ultralytics/data/utils.py definiert sind:
| Format | Erweiterung | Beschreibung | Training/Validierung |
|---|---|---|---|
| AVIF | .avif | Bilddateiformat auf Basis von AV1 (modern) | Trainieren |
| BMP | .bmp | Bitmap – unkomprimiertes Rasterformat | Trainieren |
| DNG | .dng | Digitales Negativ – Adobe-RAW-Format | Trainieren |
| HEIC | .heic | Bildcodierung mit hoher Effizienz | Trainieren |
| JPEG | .jpeg | JPEG mit vollständiger Erweiterung | Trainieren |
| JPG | .jpg | JPEG mit kurzer Erweiterung | Trainieren |
| JP2 | .jp2 | JPEG 2000 – medizinische/geografische Anwendungen | Validierung |
| MPO | .mpo | Mehrbildobjekt (Stereobilder) | Validierung |
| PNG | .png | Portables Netzwerk-Grafikformat | Validierung |
| TIF | .tif | TIFF mit kurzer Erweiterung | Validierung |
| TIFF | .tiff | Markiertes Bilddateiformat | Validierung |
| WebP | .webp | Modernes Webbildformat | Validierung |
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 configurationDataset-YAML#
Der COCO12-Formats-Datensatz wird mithilfe einer YAML-Datei konfiguriert, in der die Pfade des Datensatzes und die Klassennamen definiert sind. Du kannst die offizielle Datei coco12-formats.yaml im Ultralytics-GitHub-Repository einsehen.
# 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.zipAnforderungen#
Es ist keine manuelle Einrichtung erforderlich. OpenCV liest die meisten Formate direkt ein, und Ultralytics greift für AVIF, HEIC und HEIF auf Pillow zurück. AVIF wird von Pillow 11.3 oder neuer nativ dekodiert; aktualisiere daher Pillow, falls das Laden von AVIF-Dateien fehlschlägt, während die HEIC-/HEIF-Dekodierung das lightweight pi-heif-Paket bei der ersten Verwendung automatisch installiert.
Verwendung#
Der COCO12-Formats-Datensatz (1 MB) wird beim ersten Start des Trainings automatisch heruntergeladen. Um ein YOLO-Modell mit dem COCO12-Formats-Datensatz zu trainieren, verwende die folgenden Beispiele:
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)Formatspezifische Hinweise#
AVIF (Bilddateiformat auf Basis von AV1)#
AVIF ist ein modernes Bildformat auf Basis des AV1-Videocodecs und bietet eine hervorragende Komprimierung. Ultralytics dekodiert das Format über Pillow 11.3 oder neuer, wenn OpenCV keine AVIF-Unterstützung bietet, wobei keine zusätzlichen Pakete erforderlich sind.
DNG (Digitales Negativ)#
DNG ist das offene RAW-Format von Adobe auf Basis von TIFF. Zu Testzwecken verwendet der Datensatz TIFF-basierte Dateien mit der Erweiterung .dng.
JP2 (JPEG 2000)#
JPEG 2000 ist ein wellenletternbasiertes Bildkompressionsformat, das eine bessere Komprimierung und Qualität als herkömmliches JPEG bietet. Es wird häufig in der medizinischen Bildgebung (DICOM), geografischen Anwendungen und im digitalen Kino eingesetzt. Es wird sowohl von OpenCV als auch von Pillow nativ unterstützt.
MPO (Mehrbildobjekt)#
MPO-Dateien werden für stereoskopische (3D-)Bilder verwendet. Der Datensatz speichert für Formatprüfungen standardmäßige JPEG-Daten mit der Erweiterung .mpo.
HEIC / HEIF (Bilddateiformat mit hoher Effizienz)#
Sowohl die Erweiterungen .heic als auch .heif verweisen auf denselben Container nach ISO/IEC 23008-12. Üblicherweise bezeichnet .heic HEVC-codierte HEIF-Dateien (die von Apple-Geräten erzeugte Variante), während .heif die umfassendere Erweiterung darstellt.
Ultralytics dekodiert beide Formate über die OpenCV-→-Pillow-Ausweichlösung in ultralytics/utils/patches.py, die bei der ersten Verwendung automatisch pi-heif (schlank, nur zum Dekodieren) installiert – für das Lesen ist keine manuelle Einrichtung erforderlich. Um selbst HEIC-/HEIF-Dateien zu erzeugen (z. B. zum erneuten Codieren von Beispielbildern), installiere das vollständige Paket pillow-heif, das Encoder enthält:
pip install pillow-heifAnwendungsfä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 NoneFormatvalidierung#
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:
@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}
}FAQ#
Der COCO12-Formats-Datensatz dient zum Testen der Kompatibilität von Bildformaten in Trainingspipelines für Ultralytics YOLO. 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 jeweils eigene Eigenschaften (Komprimierung, Bittiefe, Farbräume). Das Testen aller Formate stellt Folgendes sicher:
- Robuster Code zum Laden von Bildern
- Kompatibilität mit vielfältigen Datensätzen
- Früherkennung formatspezifischer Fehler
Keine erfordert eine manuelle Installation. AVIF wird von Pillow 11.3 oder neuer nativ dekodiert, und die HEIC-/HEIF-Dekodierung installiert das
pi-heif-Paket bei der ersten Verwendung automatisch. Installiere das vollständigepillow-heif-Paket nur, wenn du HEIC-/HEIF-Dateien selbst schreiben musst.



