Zum Inhalt springen

Ü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

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/dataset", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=path/to/data model=yolo11n-cls.pt epochs=100 imgsz=640

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 diesen für das Training von Klassifizierungsmodellen mit Ultralytics verwenden möchten, stellen Sie sicher, dass er dem oben unter "Format des Datensatzes" angegebenen Format entspricht, und verweisen Sie dann auf Ihre data Argument auf das Verzeichnis des Datensatzes.

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, testund 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. Betrachten wir als Beispiel das Format des CIFAR-10-Datensatzes:

cifar-10-/
|-- train/
|   |-- airplane/
|   |-- automobile/
|   |-- bird/
|   ...
|-- test/
|   |-- airplane/
|   |-- automobile/
|   |-- bird/
|   ...
|-- val/ (optional)
|   |-- airplane/
|   |-- automobile/
|   |-- bird/
|   ...

Weitere Einzelheiten finden Sie unter Datensatzstruktur für YOLO Klassifizierungsaufgaben.

Welche Datensätze werden von Ultralytics YOLO für die Bildklassifizierung unterstützt?

Ultralytics YOLO unterstützt das automatische Herunterladen verschiedener Datensätze für die Bildklassifizierung, darunter:

Diese Datensätze sind so strukturiert, dass sie leicht mit YOLO verwendet werden können. Auf der Seite jedes Datensatzes finden Sie weitere Einzelheiten über seine 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, testund 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

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load a pretrained model

# Train the model
results = model.train(data="path/to/dataset", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=path/to/data model=yolo11n-cls.pt epochs=100 imgsz=640

Diese Beispiele veranschaulichen den unkomplizierten Prozess des Trainings eines YOLO Modells mit einem der beiden Ansätze. Weitere Informationen finden Sie im Abschnitt " Verwendung".

📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 2 Monaten

Kommentare