Übersicht über Bildklassifizierungsdatensätze
Datensatzstruktur für YOLO Klassifizierungsaufgaben
Für Ultralytics YOLO Klassifizierungsaufgaben muss der Datensatz in einer spezifischen Struktur mit geteilten Verzeichnissen unter dem root
um die Schulung, das Testen und optionale Validierungsprozesse zu erleichtern. Diese Struktur umfasst separate Verzeichnisse für die Schulung (train
) und Prüfung (test
), mit einem optionalen Verzeichnis für die Validierung (val
).
Jedes dieser Verzeichnisse sollte ein Unterverzeichnis für jede Klasse des Datensatzes enthalten. Die Unterverzeichnisse werden nach der entsprechenden Klasse benannt und enthalten alle Bilder für diese Klasse. Stellen Sie sicher, dass jede Bilddatei einen eindeutigen Namen hat und in einem gängigen Format wie JPEG oder PNG gespeichert ist.
Beispiel für eine Ordnerstruktur
Nehmen Sie 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 in der Trainingsphase effektiv von gut organisierten Klassen lernen und die Leistung in der Test- und Validierungsphase genau bewerten kann.
Verwendung
Beispiel
Unterstützte Datensätze
Ultralytics unterstützt die folgenden Datensätze mit automatischem Download:
- Caltech 101: Ein Datensatz mit Bildern von 101 Objektkategorien für Bildklassifizierungsaufgaben.
- Caltech 256: Eine erweiterte Version von Caltech 101 mit 256 Objektkategorien und anspruchsvolleren Bildern.
- CIFAR-10: Ein Datensatz von 60K 32x32 Farbbildern in 10 Klassen, mit 6K Bildern pro Klasse.
- CIFAR-100: Eine erweiterte Version von CIFAR-10 mit 100 Objektkategorien und 600 Bildern pro Klasse.
- Mode-MNIST: Ein Datensatz bestehend aus 70.000 Graustufenbildern von 10 Modekategorien für Bildklassifizierungsaufgaben.
- ImageNet: Ein umfangreicher Datensatz zur Objekterkennung und Bildklassifizierung mit über 14 Millionen Bildern und 20.000 Kategorien.
- ImageNet-10: Eine kleinere Teilmenge von ImageNet mit 10 Kategorien zum schnelleren Experimentieren und Testen.
- Imagenette: Eine kleinere Teilmenge von ImageNet, die 10 leicht unterscheidbare Klassen enthält, um das Training und Testen zu beschleunigen.
- Imagewoof: Eine anspruchsvollere Teilmenge von ImageNet mit 10 Hunderassen-Kategorien für Bildklassifizierungsaufgaben.
- MNIST: Ein Datensatz mit 70.000 Graustufenbildern von handgeschriebenen Ziffern für Bildklassifizierungsaufgaben.
- MNIST160: Die ersten 8 Bilder jeder MNIST-Kategorie aus dem MNIST-Datensatz. Der Datensatz enthält insgesamt 160 Bilder.
Hinzufügen eines eigenen Datensatzes
Wenn Sie über einen eigenen Datensatz verfügen und ihn zum Trainieren von Klassifizierungsmodellen mit Ultralytics YOLO verwenden möchten, stellen Sie sicher, dass er dem oben unter "Datensatzstruktur" angegebenen Format entspricht, und zeigen Sie dann auf Ihre data
Argument auf das Verzeichnis des Datensatzes, wenn Sie Ihr Trainingsskript initialisieren.
FAQ
Wie strukturiere ich meinen Datensatz für YOLO Klassifizierungsaufgaben?
Um Ihren Datensatz für Ultralytics YOLO Klassifizierungsaufgaben zu strukturieren, sollten Sie ein bestimmtes Format für geteilte Verzeichnisse verwenden. Organisieren Sie Ihren Datensatz in separaten Verzeichnissen für train
, test
und wahlweise val
. Jedes dieser Verzeichnisse sollte Unterverzeichnisse enthalten, die nach jeder Klasse benannt sind und in denen sich die entsprechenden Bilder befinden. Dies erleichtert einen reibungslosen Trainings- und Bewertungsprozess. Ein Beispiel hierfür ist das Verzeichnis CIFAR-10 Dataset-Format:
cifar-10-/
|-- train/
| |-- airplane/
| |-- automobile/
| |-- bird/
| ...
|-- test/
| |-- airplane/
| |-- automobile/
| |-- bird/
| ...
|-- val/ (optional)
| |-- airplane/
| |-- automobile/
| |-- bird/
| ...
Weitere Einzelheiten finden Sie im Abschnitt Datensatzstruktur für YOLO .
Welche Datensätze werden von Ultralytics YOLO für die Bildklassifizierung unterstützt?
Ultralytics YOLO unterstützt das automatische Herunterladen verschiedener Datensätze zur 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 leicht mit YOLO verwendet werden können. Auf der Seite jedes Datensatzes finden Sie weitere Details über dessen Struktur und Anwendungen.
Wie füge ich meinen eigenen Datensatz für die Bildklassifizierung YOLO hinzu?
Wenn Sie Ihren eigenen Datensatz mit Ultralytics YOLO verwenden möchten, stellen Sie sicher, dass er dem angegebenen Verzeichnisformat entspricht, das für die Klassifizierungsaufgabe erforderlich ist, mit separaten train
, test
und wahlweise val
Verzeichnisse und Unterverzeichnisse für jede Klasse, die die jeweiligen Bilder enthalten. Sobald Ihr Datensatz korrekt strukturiert ist, zeigen Sie auf die data
Argument auf das Stammverzeichnis Ihres Datensatzes, wenn Sie das Trainingsskript initialisieren. Hier ist ein Beispiel in Python:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-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 Einzelheiten finden Sie im Abschnitt Hinzufügen eines eigenen Datensatzes.
Warum sollte ich Ultralytics YOLO für die Bildklassifizierung verwenden?
Ultralytics YOLO bietet mehrere Vorteile für die Bildklassifizierung, darunter:
- Vortrainierte Modelle: Laden Sie vortrainierte Modelle wie
yolo11n-cls.pt
um Ihren Trainingsprozess in Gang zu bringen. - Benutzerfreundlichkeit: Einfache API und CLI Befehle für Schulung und Bewertung.
- Hohe Leistung: Genauigkeit und Geschwindigkeit auf dem neuesten Stand der Technik, ideal für Echtzeitanwendungen.
- Unterstützung für mehrere Datensätze: Nahtlose Integration mit verschiedenen beliebten Datensätzen wie CIFAR-10, ImageNet und anderen.
- Gemeinschaft und Unterstützung: Zugang zu umfangreicher Dokumentation und einer aktiven Community für Fehlerbehebung und Verbesserungen.
Weitere Einblicke und Anwendungen aus der Praxis finden Sie unter Ultralytics YOLO.
Wie kann ich ein Modell mit Ultralytics YOLO trainieren?
Das Trainieren eines Modells mit Ultralytics YOLO kann sowohl in Python als auch in CLI einfach durchgeführt werden:
Beispiel
Diese Beispiele veranschaulichen den unkomplizierten Prozess des Trainings eines YOLO mit einem der beiden Ansätze. Weitere Informationen finden Sie im Abschnitt " Verwendung" und auf der Seite " Trainieren" für Klassifizierungsaufgaben.