Link to this sectionÜbersicht über Objekterkennungs-Datensätze#
Das Training eines robusten und genauen Objekterkennungs-Modells erfordert einen umfassenden Datensatz. Dieser Leitfaden stellt verschiedene Datensatzformate vor, die mit dem Ultralytics YOLO-Modell kompatibel sind, und gibt Einblicke in deren Struktur, Verwendung und die Konvertierung zwischen verschiedenen Formaten.
Link to this sectionUnterstützte Datensatzformate#
Link to this sectionUltralytics YOLO-Format#
Das Ultralytics YOLO-Format ist ein Datensatzkonfigurationsformat, mit dem du das Stammverzeichnis des Datensatzes, die relativen Pfade zu den Verzeichnissen für Trainings-, Validierungs- und Testbilder oder *.txt-Dateien mit Bildpfaden sowie ein Wörterbuch der Klassennamen definieren kannst. Hier ist ein Beispiel:
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# COCO8 dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco8/
# Example usage: yolo train data=coco8.yaml
# parent
# ├── ultralytics
# └── datasets
# └── coco8 ← 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: coco8 # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 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/coco8.zipBeschriftungen für dieses Format sollten im YOLO-Format exportiert werden, wobei pro Bild eine *.txt-Datei erstellt wird. Wenn sich keine Objekte in einem Bild befinden, ist keine *.txt-Datei erforderlich. Die *.txt-Datei sollte mit einer Zeile pro Objekt im Format class x_center y_center width height formatiert sein. Die Box-Koordinaten müssen im normalisierten xywh-Format (von 0 bis 1) vorliegen. Wenn deine Boxen in Pixeln angegeben sind, solltest du x_center und width durch die Bildbreite sowie y_center und height durch die Bildhöhe teilen. Klassennummern sollten nullbasiert sein (beginnend mit 0).

Die Beschriftungsdatei, die dem obigen Bild entspricht, enthält 2 Personen (Klasse 0) und eine Krawatte (Klasse 27):

Wenn du das Ultralytics YOLO-Format verwendest, organisiere deine Trainings- und Validierungsbilder sowie die Beschriftungen wie im COCO8-Datensatz-Beispiel unten gezeigt.

Link to this sectionAnwendungsbeispiel#
So kannst du YOLO-Format-Datensätze verwenden, um dein Modell zu trainieren:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)Link to this sectionUltralytics NDJSON-Format#
Das NDJSON (Newline Delimited JSON)-Format bietet eine alternative Möglichkeit, Datensätze für Ultralytics YOLO-Modelle zu definieren. Dieses Format speichert Datensatz-Metadaten und Annotationen in einer einzigen Datei, in der jede Zeile ein separates JSON-Objekt enthält.
Eine NDJSON-Datensatzdatei enthält:
- Datensatz-Datensatz (erste Zeile): Enthält Datensatz-Metadaten einschließlich Aufgabentyp, Klassennamen und allgemeiner Informationen
- Bild-Datensätze (nachfolgende Zeilen): Enthält individuelle Bilddaten einschließlich Dimensionen, Annotationen und Dateipfaden
{
"type": "dataset",
"task": "detect",
"name": "Example",
"description": "COCO NDJSON example dataset",
"url": "https://app.ultralytics.com/user/datasets/example",
"class_names": { "0": "person", "1": "bicycle", "2": "car" },
"bytes": 426342,
"version": 0,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2025-01-01T00:00:00Z"
}Link to this sectionAnwendungsbeispiel#
Um einen NDJSON-Datensatz mit YOLO26 zu verwenden, gib einfach den Pfad zur .ndjson-Datei an:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt")
# Train using NDJSON dataset
results = model.train(data="path/to/dataset.ndjson", epochs=100, imgsz=640)Link to this sectionVorteile des NDJSON-Formats#
- Einzelne Datei: Alle Datensatzinformationen sind in einer Datei enthalten
- Streaming: Kann große Datensätze zeilenweise verarbeiten, ohne alles in den Arbeitsspeicher zu laden
- Cloud-Integration: Unterstützt Remote-Bild-URLs für cloudbasiertes Training
- Erweiterbar: Einfaches Hinzufügen benutzerdefinierter Metadatenfelder
- Versionskontrolle: Das Dateiformat funktioniert gut mit git und Versionskontrollsystemen
Link to this sectionUnterstützte Datensätze#
Hier ist eine Liste der unterstützten Datensätze und eine kurze Beschreibung für jeden:
- African-wildlife: Ein Datensatz mit Bildern von afrikanischen Wildtieren, einschließlich Büffeln, Elefanten, Nashörnern und Zebras.
- Argoverse: Ein Datensatz mit 3D-Tracking- und Bewegungsvorhersagedaten aus städtischen Umgebungen mit umfangreichen Annotationen.
- Brain-tumor: Ein Datensatz zur Erkennung von Hirntumoren umfasst MRT- oder CT-Scan-Bilder mit Details zu Tumorpräsenz, Lage und Eigenschaften.
- COCO: Common Objects in Context (COCO) ist ein groß angelegter Datensatz für Objekterkennung, Segmentierung und Bildunterschriften mit 80 Objektkategorien.
- COCO8: Ein kleinerer Ausschnitt der ersten 4 Bilder aus COCO train und COCO val, geeignet für schnelle Tests.
- COCO8-Grayscale: Eine Graustufenversion von COCO8, die durch Konvertierung von RGB in Graustufen erstellt wurde und für die Evaluierung einkanaliger Modelle nützlich ist.
- COCO8-Multispectral: Eine 10-kanalige multispektrale Version von COCO8, die durch Interpolation von RGB-Wellenlängen erstellt wurde und für spektral-bewusste Modellevaluation nützlich ist.
- COCO12-Formats: Ein Test-Datensatz mit 12 Bildern, der 12 unterstützte Bildformate (AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WebP) zur Validierung von Bildlade-Pipelines abdeckt.
- COCO128: Eine kleinere Teilmenge der ersten 128 Bilder aus COCO train2017, die sich für Tests eignet.
- Construction-PPE: Ein Datensatz mit Arbeitern auf Baustellen mit markierter Sicherheitsausrüstung wie Helmen, Westen, Handschuhen, Stiefeln und Schutzbrillen, einschließlich Annotationen für fehlende Ausrüstung wie no_helmet, no_goggle für die Einhaltung von Sicherheitsvorschriften in der Praxis.
- Global Wheat 2020: Ein Datensatz mit Bildern von Weizenähren für die Global Wheat Challenge 2020.
- HomeObjects-3K: Ein Datensatz von Haushaltsgegenständen für Innenräume, darunter Betten, Stühle, Fernseher und mehr – ideal für Anwendungen in der Smart-Home-Automatisierung, Robotik, Augmented Reality und Raumlayouts-Analyse.
- KITTI: Ein Datensatz mit realen Fahrszenen inklusive Stereo-, LiDAR- und GPS/IMU-Daten, hier verwendet für 2D-Objekterkennungs-Aufgaben wie die Identifizierung von Autos, Fußgängern und Radfahrern in städtischen, ländlichen und Autobahnumgebungen.
- LVIS: Ein groß angelegter Datensatz für Objekterkennung, Segmentierung und Bildunterschriften mit 1203 Objektkategorien.
- Medical-pills: Ein Datensatz mit Bildern von medizinischen Tabletten, annotiert für Anwendungen wie pharmazeutische Qualitätssicherung, Tablettensortierung und Einhaltung gesetzlicher Vorschriften.
- Objects365: Ein hochwertiger, groß angelegter Datensatz für Objekterkennung mit 365 Objektkategorien und über 600.000 annotierten Bildern.
- OpenImagesV7: Ein umfassender Datensatz von Google mit 1,7 Millionen Trainingsbildern und 42.000 Validierungsbildern.
- Roboflow 100: Ein vielfältiger Benchmark für Objekterkennung mit 100 Datensätzen, die sieben Bilddomänen umfassen, für eine umfassende Modellevaluierung.
- Signature: Ein Datensatz mit Bildern verschiedener Dokumente mit annotierten Unterschriften, der die Forschung zur Dokumentenverifizierung und Betrugserkennung unterstützt.
- SKU-110K: Ein Datensatz für die Erkennung von Objekten in dichten Umgebungen im Einzelhandel mit über 11.000 Bildern und 1,7 Millionen Bounding Boxes.
- TT100K: Entdecke den Tsinghua-Tencent 100K (TT100K) Verkehrsschilder-Datensatz mit 100.000 Straßenbildern und über 30.000 annotierten Verkehrsschildern für eine robuste Erkennung und Klassifizierung.
- VisDrone: Ein Datensatz mit Objekterkennungs- und Multi-Objekt-Tracking-Daten aus Drohnenaufnahmen mit über 10.000 Bildern und Videosequenzen.
- VOC: Der Pascal Visual Object Classes (VOC) Datensatz für Objekterkennung und Segmentierung mit 20 Objektklassen und über 11.000 Bildern.
- xView: Ein Datensatz für die Objekterkennung in Luftaufnahmen mit 60 Objektkategorien und über 1 Million annotierten Objekten.
Link to this sectionEigenen Datensatz hinzufügen#
Wenn du deinen eigenen Datensatz hast und diesen für das Training von Erkennungsmodellen im Ultralytics YOLO-Format verwenden möchtest, stelle sicher, dass er dem oben unter "Ultralytics YOLO-Format" angegebenen Format folgt. Konvertiere deine Annotationen in das erforderliche Format und gib die Pfade, die Anzahl der Klassen und die Klassennamen in der YAML-Konfigurationsdatei an.
Link to this sectionLabel-Formate portieren oder konvertieren#
Link to this sectionCOCO-Datensatzformat in YOLO-Format#
Du kannst Beschriftungen aus dem bekannten COCO-Datensatz-Format einfach mit dem folgenden Code-Schnipsel in das YOLO-Format konvertieren:
from ultralytics.data.converter import convert_coco
convert_coco(labels_dir="path/to/coco/annotations/")Dieses Konvertierungstool kann verwendet werden, um den COCO-Datensatz oder jeden Datensatz im COCO-Format in das Ultralytics YOLO-Format zu konvertieren. Der Prozess transformiert die JSON-basierten COCO-Annotationen in das einfachere textbasierte YOLO-Format, wodurch sie mit Ultralytics YOLO-Modellen kompatibel sind.
Denke daran, zu überprüfen, ob der Datensatz, den du verwenden möchtest, mit deinem Modell kompatibel ist und die notwendigen Formatkonventionen einhält. Korrekt formatierte Datensätze sind entscheidend für das Training erfolgreicher Objekterkennungsmodelle.
Link to this sectionFAQ#
Link to this sectionWas ist das Ultralytics YOLO-Datensatzformat und wie strukturiert man es?#
Das Ultralytics YOLO-Format ist eine strukturierte Konfiguration zur Definition von Datensätzen in deinen Trainingsprojekten. Sie umfasst das Festlegen von Pfaden zu deinen Trainings-, Validierungs- und Testbildern sowie den entsprechenden Beschriftungen. Zum Beispiel:
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# COCO8 dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco8/
# Example usage: yolo train data=coco8.yaml
# parent
# ├── ultralytics
# └── datasets
# └── coco8 ← 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: coco8 # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 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/coco8.zipBeschriftungen werden in *.txt-Dateien mit einer Datei pro Bild gespeichert, formatiert als class x_center y_center width height mit normalisierten Koordinaten. Einen detaillierten Leitfaden findest du im COCO8-Datensatzbeispiel.
Link to this sectionWie konvertiere ich einen COCO-Datensatz in das YOLO-Format?#
Du kannst einen COCO-Datensatz mithilfe der Ultralytics Konvertierungstools in das YOLO-Format konvertieren. Hier ist eine schnelle Methode:
from ultralytics.data.converter import convert_coco
convert_coco(labels_dir="path/to/coco/annotations/")Dieser Code konvertiert deine COCO-Annotationen in das YOLO-Format und ermöglicht eine nahtlose Integration mit Ultralytics YOLO-Modellen. Weitere Details findest du im Abschnitt Label-Formate portieren oder konvertieren.
Link to this sectionWelche Datensätze werden von Ultralytics YOLO zur Objekterkennung unterstützt?#
Ultralytics YOLO unterstützt eine Vielzahl von Datensätzen, darunter:
Jede Datensatzseite bietet detaillierte Informationen zur Struktur und Verwendung, die auf ein effizientes YOLO26-Training zugeschnitten sind. Entdecke die vollständige Liste im Abschnitt Unterstützte Datensätze.
Link to this sectionWie fange ich mit dem Training eines YOLO26-Modells unter Verwendung meines Datensatzes an?#
Um mit dem Training eines YOLO26-Modells zu beginnen, stelle sicher, dass dein Datensatz korrekt formatiert ist und die Pfade in einer YAML-Datei definiert sind. Verwende das folgende Skript, um das Training zu starten:
from ultralytics import YOLO
model = YOLO("yolo26n.pt") # Load a pretrained model
results = model.train(data="path/to/your_dataset.yaml", epochs=100, imgsz=640)Weitere Details zur Nutzung verschiedener Modi, einschließlich CLI-Befehlen, findest du im Abschnitt Nutzung.
Link to this sectionWo finde ich praktische Beispiele für die Verwendung von Ultralytics YOLO zur Objekterkennung?#
Ultralytics stellt zahlreiche Beispiele und praktische Leitfäden für die Nutzung von YOLO26 in verschiedenen Anwendungen bereit. Für einen umfassenden Überblick besuche den Ultralytics-Blog, wo du Fallstudien, detaillierte Tutorials und Community-Geschichten findest, die Objekterkennung, Segmentierung und mehr mit YOLO26 zeigen. Für spezifische Beispiele schau dir den Abschnitt Nutzung in der Dokumentation an.