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:
| Format | Dateiendung | Beschreibung | Training/Validierung |
|---|---|---|---|
| AVIF | .avif | Bilddateiformat AV1 (modern) | Trainieren |
| BMP | .bmp | Bitmap – unkomprimiertes Rasterformat | Trainieren |
| DNG | .dng | Digital Negative – Adobe-RAW-Format | Trainieren |
| HEIC | .heic | Hocheffiziente Bildcodierung | Trainieren |
| JPEG | .jpeg | JPEG mit vollständiger Dateiendung | Trainieren |
| JPG | .jpg | JPEG mit kurzer Dateiendung | Trainieren |
| JP2 | .jp2 | JPEG 2000 – Medizin und Geodaten | Validieren |
| MPO | .mpo | Mehrbildobjekt (Stereobilder) | Validieren |
| PNG | .png | Tragbare Netzwerkgrafiken | Validieren |
| TIF | .tif | TIFF mit kurzer Dateiendung | Validieren |
| TIFF | .tiff | Dateiformat für getaggte Bilder | Validieren |
| WebP | .webp | Modernes Webbildformat | Validieren |
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 configurationYAML-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 🚀 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.zipVoraussetzungen#
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:
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-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}
}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-heifbei der ersten Verwendung automatisch installiert. Installiere das vollständige Paketpillow-heifnur, wenn du selbst HEIC/HEIF-Dateien schreiben musst.



