Link to this sectionÜbersicht über Bildklassifizierungsdatensätze#
Link to this sectionDatensatzstruktur für YOLO-Klassifizierungsaufgaben#
Für Ultralytics YOLO-Klassifizierungsaufgaben muss der Datensatz in einer spezifischen Split-Verzeichnisstruktur unter dem root-Verzeichnis organisiert sein, um ordnungsgemäßes Training, Testen und optionale Validierungsprozesse zu ermöglichen. Diese Struktur beinhaltet separate Verzeichnisse für Trainingsphasen (train) und Validierungsphasen (val), sowie optional ein Verzeichnis für Tests (test).
Jedes dieser Verzeichnisse sollte für jede Klasse im Datensatz ein Unterverzeichnis enthalten. Die Unterverzeichnisse sind nach der entsprechenden Klasse benannt und enthalten alle Bilder dieser Klasse. Stelle sicher, dass jede Bilddatei eindeutig benannt und in einem gängigen Format wie JPEG oder PNG gespeichert ist.
Link to this sectionBeispiel für die Ordnerstruktur#
Betrachte den CIFAR-10-Datensatz als Beispiel. Die Ordnerstruktur sollte wie folgt aussehen:
cifar-10-/
|
|-- train/
| |-- airplane/
| | |-- 10008_airplane.png
| | |-- 10009_airplane.png
| | |-- ...
| |
| |-- automobile/
| | |-- 1000_automobile.png
| | |-- 1001_automobile.png
| | |-- ...
| |
| |-- bird/
| | |-- 10014_bird.png
| | |-- 10015_bird.png
| | |-- ...
| |
| |-- ...
|
|-- test/
| |-- airplane/
| | |-- 10_airplane.png
| | |-- 11_airplane.png
| | |-- ...
| |
| |-- automobile/
| | |-- 100_automobile.png
| | |-- 101_automobile.png
| | |-- ...
| |
| |-- bird/
| | |-- 1000_bird.png
| | |-- 1001_bird.png
| | |-- ...
| |
| |-- ...
|
|-- val/ (optional)
| |-- airplane/
| | |-- 105_airplane.png
| | |-- 106_airplane.png
| | |-- ...
| |
| |-- automobile/
| | |-- 102_automobile.png
| | |-- 103_automobile.png
| | |-- ...
| |
| |-- bird/
| | |-- 1045_bird.png
| | |-- 1046_bird.png
| | |-- ...
| |
| |-- ...Dieser strukturierte Ansatz stellt sicher, dass das Modell während der Trainingsphase effektiv aus gut organisierten Klassen lernen und die Leistung während der Test- und Validierungsphasen präzise bewerten kann.
Link to this sectionVerwendung#
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-cls.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="path/to/dataset", epochs=100, imgsz=640)Die meisten integrierten Datensatznamen (zum Beispiel cifar10, imagenette oder mnist160) laden die Daten automatisch herunter und speichern sie im Cache, wenn du sie zum ersten Mal referenzierst. Verweise nur dann auf einen Ordnerpfad bei data, wenn du einen benutzerdefinierten Datensatz erstellt hast.
Link to this sectionUnterstützte Datensätze#
Ultralytics unterstützt die folgenden Datensätze mit automatischem Download:
- Caltech 101: Ein Datensatz mit Bildern von 101 Objektkategorien für Bildklassifizierungs-Aufgaben.
- Caltech 256: Eine erweiterte Version von Caltech 101 mit 256 Objektkategorien und anspruchsvolleren Bildern.
- CIFAR-10: Ein Datensatz mit 60.000 32x32 Farbbildern in 10 Klassen, mit 6.000 Bildern pro Klasse.
- CIFAR-100: Eine erweiterte Version von CIFAR-10 mit 100 Objektkategorien und 600 Bildern pro Klasse.
- Fashion-MNIST: Ein Datensatz bestehend aus 70.000 Graustufenbildern von 10 Modekategorien für Bildklassifizierungsaufgaben.
- ImageNet: Ein groß angelegter Datensatz für Objekterkennung und Bildklassifizierung mit über 14 Millionen Bildern und 20.000 Kategorien.
- ImageNet-10: Eine kleinere Teilmenge von ImageNet mit 10 Kategorien für schnellere Experimente und Tests.
- Imagenette: Eine kleinere Teilmenge von ImageNet, die 10 leicht unterscheidbare Klassen für schnelleres Training und Testen enthält.
- Imagewoof: Eine anspruchsvollere Teilmenge von ImageNet, die 10 Hunderassenkategorien für Bildklassifizierungsaufgaben enthält.
- MNIST: Ein Datensatz von 70.000 Graustufenbildern handschriftlicher Ziffern für Bildklassifizierungsaufgaben.
- MNIST160: Die ersten 8 Bilder jeder Ziffer (0-9) aus den MNIST-Trainings- und Test-Splits. Der Datensatz enthält insgesamt 160 Bilder.
Link to this sectionEigenen Datensatz hinzufügen#
Wenn du deinen eigenen Datensatz hast und diesen für das Training von Klassifizierungsmodellen mit Ultralytics YOLO verwenden möchtest, stelle sicher, dass er dem oben unter „Datensatzstruktur“ angegebenen Format folgt, und verweise dann beim Initialisieren deines Trainingsskripts auf das Datensatzverzeichnis mit dem data-Argument.
Link to this sectionFAQ#
Link to this sectionWie strukturiere ich meinen Datensatz für YOLO-Klassifizierungsaufgaben?#
Um deinen Datensatz für Ultralytics YOLO-Klassifizierungsaufgaben zu strukturieren, solltest du einem spezifischen Split-Verzeichnisformat folgen. Organisiere deinen Datensatz in separate Verzeichnisse für train, test und optional val. Jedes dieser Verzeichnisse sollte Unterverzeichnisse enthalten, die nach jeder Klasse benannt sind, mit den entsprechenden Bildern darin. Dies erleichtert reibungslose Trainings- und Evaluierungsprozesse. Als Beispiel betrachte das CIFAR-10-Datensatzformat:
cifar-10-/
|-- train/
| |-- airplane/
| |-- automobile/
| |-- bird/
| ...
|-- test/
| |-- airplane/
| |-- automobile/
| |-- bird/
| ...
|-- val/ (optional)
| |-- airplane/
| |-- automobile/
| |-- bird/
| ...Weitere Details findest du im Abschnitt Datensatzstruktur für YOLO-Klassifizierungsaufgaben.
Link to this sectionWelche Datensätze werden von Ultralytics YOLO für die Bildklassifizierung unterstützt?#
Ultralytics YOLO unterstützt den automatischen Download mehrerer Datensätze für die Bildklassifizierung, darunter Caltech 101, Caltech 256, CIFAR-10, CIFAR-100, Fashion-MNIST, ImageNet, ImageNet-10, Imagenette, Imagewoof und MNIST. Diese Datensätze sind so strukturiert, dass sie einfach mit YOLO verwendet werden können. Die Seite jedes Datensatzes bietet weitere Details zu seiner Struktur und Anwendung.
Link to this sectionWie füge ich meinen eigenen Datensatz für die YOLO-Bildklassifizierung hinzu?#
Um deinen eigenen Datensatz mit Ultralytics YOLO zu verwenden, stelle sicher, dass er dem für die Klassifizierungsaufgabe erforderlichen Verzeichnisformat entspricht, mit separaten train-, test- und optional val-Verzeichnissen sowie Unterverzeichnissen für jede Klasse, die die jeweiligen Bilder enthalten. Sobald dein Datensatz korrekt strukturiert ist, verweise beim Initialisieren des Trainingsskripts mit dem data-Argument auf das Stammverzeichnis deines Datensatzes. Hier ist ein Beispiel in Python:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-cls.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="path/to/your/dataset", epochs=100, imgsz=640)Weitere Details findest du im Abschnitt Hinzufügen deines eigenen Datensatzes.
Link to this sectionWarum sollte ich Ultralytics YOLO für die Bildklassifizierung verwenden?#
Ultralytics YOLO bietet mehrere Vorteile für die Bildklassifizierung, darunter:
- Vortrainierte Modelle: Lade vortrainierte Modelle wie
yolo26n-cls.pt, um deinen Trainingsprozess zu beschleunigen. - Benutzerfreundlichkeit: Einfache API- und CLI-Befehle für Training und Evaluierung.
- Hohe Leistung: Modernste Genauigkeit und Geschwindigkeit, ideal für Echtzeitanwendungen.
- Unterstützung für mehrere Datensätze: Nahtlose Integration mit verschiedenen beliebten Datensätzen wie CIFAR-10, ImageNet und mehr.
- Community und Support: Zugriff auf umfangreiche Dokumentation und eine aktive Community für Fehlerbehebung und Verbesserungen.
Für weitere Einblicke und praktische Anwendungen kannst du Ultralytics YOLO erkunden.
Link to this sectionWie kann ich ein Modell mit Ultralytics YOLO trainieren?#
Das Training eines Modells mit Ultralytics YOLO lässt sich einfach in Python und über die CLI durchführen. Hier ist ein Beispiel:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-cls.pt") # load a pretrained model
# Train the model
results = model.train(data="path/to/dataset", epochs=100, imgsz=640)Diese Beispiele demonstrieren den unkomplizierten Prozess des Trainings eines YOLO-Modells mit beiden Ansätzen. Für weitere Informationen besuche den Abschnitt Nutzung und die Train-Seite für Klassifizierungsaufgaben.