Zum Inhalt springen

Objektdetektionsdatensätze Übersicht

Das Training eines robusten und präzisen Objekterkennungsmodells erfordert einen umfassenden Datensatz. In diesem Leitfaden werden verschiedene Formate von Datensätzen vorgestellt, die mit dem Modell Ultralytics YOLO kompatibel sind, und es werden Einblicke in ihre Struktur und Verwendung sowie in die Konvertierung zwischen verschiedenen Formaten gegeben.

Unterstützte Dataset-Formate

Ultralytics YOLO Format

Das Format Ultralytics YOLO ist ein Format für die Datensatzkonfiguration, mit dem Sie das Stammverzeichnis des Datensatzes, die relativen Pfade zu den Verzeichnissen der Trainings-, Validierungs- und Testbilder oder *.txt Dateien, die Bildpfade enthalten, und ein Wörterbuch mit Klassennamen. Hier ist ein Beispiel:

# 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: ../datasets/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 (80 COCO classes)
names:
    0: person
    1: bicycle
    2: car
    # ...
    77: teddy bear
    78: hair drier
    79: toothbrush

Etiketten für dieses Format sollten in das Format YOLO exportiert werden, mit einer *.txt Datei pro Bild. Wenn ein Bild keine Objekte enthält, wird keine *.txt Datei ist erforderlich. Die *.txt Datei sollte mit einer Zeile pro Objekt formatiert werden in class x_center y_center width height Format. Die Koordinaten der Box müssen in normierte xywh Format (von 0 bis 1). Wenn Ihre Kästchen in Pixeln angegeben sind, sollten Sie dividieren x_center und width nach der Bildbreite, und y_center und height nach Bildhöhe. Die Klassennummern sollten einen Null-Index haben (mit 0 beginnen).

Beispiel für ein beschriftetes Bild

Die Etikettendatei, die dem obigen Bild entspricht, enthält 2 Personen (Klasse 0) und ein Unentschieden (Klasse 27):

Beispiel einer Etikettendatei

Wenn Sie das Format Ultralytics YOLO verwenden, organisieren Sie Ihre Trainings- und Validierungsbilder und -beschriftungen wie im folgenden Beispiel des COCO8-Datensatzes gezeigt.

Beispiel für die Verzeichnisstruktur eines Datensatzes

Verwendung

Im Folgenden erfahren Sie, wie Sie diese Formate zum Trainieren Ihres Modells verwenden können:

Beispiel

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640

Unterstützte Datensätze

Hier finden Sie eine Liste der unterstützten Datensätze und eine kurze Beschreibung für jeden:

  • Argoverse: Ein Datensatz mit 3D-Tracking- und Bewegungsvorhersagedaten aus städtischen Umgebungen mit umfangreichen Anmerkungen.
  • COCO: Common Objects in Context (COCO) ist ein umfangreicher Datensatz zur Objekterkennung, Segmentierung und Beschriftung mit 80 Objektkategorien.
  • LVIS: Ein umfangreicher Datensatz zur Objekterkennung, Segmentierung und Beschriftung mit 1203 Objektkategorien.
  • COCO8: Eine kleinere Teilmenge der ersten 4 Bilder aus COCO train und COCO val, geeignet für schnelle Tests.
  • COCO128: Eine kleinere Teilmenge der ersten 128 Bilder aus COCO train und COCO val, geeignet für Tests.
  • Global Wheat 2020: Ein Datensatz mit Bildern von Weizenköpfen für die Global Wheat Challenge 2020.
  • Objekte365: Ein hochwertiger, umfangreicher Datensatz zur Objekterkennung mit 365 Objektkategorien und über 600.000 kommentierten Bildern.
  • OpenImagesV7: Ein umfassender Datensatz von Google mit 1,7 Millionen Trainingsbildern und 42.000 Validierungsbildern.
  • SKU-110K: Ein Datensatz mit dichter Objekterkennung in Einzelhandelsumgebungen mit über 11.000 Bildern und 1,7 Millionen Bounding Boxes.
  • VisDrone: Ein Datensatz mit Objekterkennungs- und Multi-Objektverfolgungsdaten aus von Drohnen aufgenommenen Bildern mit über 10.000 Bildern und Videosequenzen.
  • VOC: Der Pascal Visual Object Classes (VOC)-Datensatz zur Objekterkennung und -segmentierung mit 20 Objektklassen und über 11K Bildern.
  • xView: Ein Datensatz zur Objekterkennung in Overhead-Bildern mit 60 Objektkategorien und über 1 Million kommentierter Objekte.
  • Roboflow 100: Ein vielseitiger Benchmark zur Objekterkennung mit 100 Datensätzen aus sieben Bildbereichen für eine umfassende Modellbewertung.
  • Hirntumor: Ein Datensatz zur Erkennung von Hirntumoren umfasst MRT- oder CT-Scan-Bilder mit Angaben zu Vorhandensein, Lage und Merkmalen des Tumors.
  • Afrikanische Wildtiere: Ein Datensatz mit Bildern von afrikanischen Wildtieren, darunter Büffel, Elefanten, Nashörner und Zebras.
  • Unterschrift: Ein Datensatz mit Bildern verschiedener Dokumente mit kommentierten Unterschriften zur Unterstützung der Dokumentenprüfung und Betrugserkennung.

Hinzufügen eines eigenen Datensatzes

Wenn Sie einen eigenen Datensatz haben und diesen für das Training von Erkennungsmodellen mit dem Format Ultralytics YOLO verwenden möchten, stellen Sie sicher, dass er dem oben unter "Ultralytics YOLO format" angegebenen Format entspricht. Konvertieren Sie Ihre Annotationen in das gewünschte Format und geben Sie die Pfade, Anzahl der Klassen und Klassennamen in der YAML-Konfigurationsdatei an.

Etikettenformate portieren oder konvertieren

COCO-Datensatzformat in YOLO Format

Mit dem folgenden Codeschnipsel können Sie ganz einfach Etiketten aus dem beliebten COCO-Datensatzformat in das Format YOLO konvertieren:

Beispiel

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 einen beliebigen Datensatz im COCO-Format in das Format Ultralytics YOLO zu konvertieren.

Vergewissern Sie sich, dass der Datensatz, den Sie verwenden möchten, mit Ihrem Modell kompatibel ist und den erforderlichen Formatkonventionen entspricht. Korrekt formatierte Datensätze sind entscheidend für das Training erfolgreicher Objekterkennungsmodelle.

FAQ

Was ist das Format des Datensatzes Ultralytics YOLO und wie ist er zu strukturieren?

Das Format Ultralytics YOLO ist eine strukturierte Konfiguration zur Definition von Datensätzen in Ihren Trainingsprojekten. Dabei werden die Pfade zu den Trainings-, Validierungs- und Testbildern sowie die entsprechenden Beschriftungen festgelegt. Zum Beispiel:

path: ../datasets/coco8 # dataset root directory
train: images/train # training images (relative to 'path')
val: images/val # validation images (relative to 'path')
test: # optional test images
names:
    0: person
    1: bicycle
    2: car
    # ...

Etiketten werden gespeichert in *.txt Dateien mit einer Datei pro Bild, formatiert als class x_center y_center width height mit normalisierten Koordinaten. Eine ausführliche Anleitung finden Sie in der Beispiel eines COCO8-Datensatzes.

Wie kann ich einen COCO-Datensatz in das Format YOLO konvertieren?

Sie können einen COCO-Datensatz mit den Konvertierungswerkzeugen von Ultralytics in das Format YOLO konvertieren. Hier ist eine schnelle Methode:

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/")

Dieser Code konvertiert Ihre COCO-Anmerkungen in das Format YOLO , was eine nahtlose Integration in Ultralytics YOLO Modelle ermöglicht. Weitere Einzelheiten finden Sie im Abschnitt Portieren oder Konvertieren von Etikettenformaten.

Welche Datensätze werden von Ultralytics YOLO zur Objekterkennung unterstützt?

Ultralytics YOLO unterstützt eine breite Palette von Datensätzen, darunter:

Jede Datensatzseite bietet detaillierte Informationen über die Struktur und die Verwendung, die für ein effizientes YOLO11 Training zugeschnitten sind. Die vollständige Liste finden Sie im Abschnitt " Unterstützte Datensätze ".

Wie beginne ich mit dem Training eines YOLO11 Modells mit meinem Datensatz?

Um mit dem Training eines YOLO11 Modells zu beginnen, stellen Sie sicher, dass Ihr Datensatz korrekt formatiert ist und die Pfade in einer YAML-Datei definiert sind. Verwenden Sie das folgende Skript, um mit dem Training zu beginnen:

Beispiel

from ultralytics import YOLO

model = YOLO("yolo11n.pt")  # Load a pretrained model
results = model.train(data="path/to/your_dataset.yaml", epochs=100, imgsz=640)
yolo detect train data=path/to/your_dataset.yaml model=yolo11n.pt epochs=100 imgsz=640

Weitere Einzelheiten zur Verwendung der verschiedenen Modi, einschließlich der Befehle CLI , finden Sie im Abschnitt " Verwendung".

Wo kann ich praktische Beispiele für die Verwendung von Ultralytics YOLO zur Objekterkennung finden?

Ultralytics bietet zahlreiche Beispiele und praktische Anleitungen für den Einsatz von YOLO11 in verschiedenen Anwendungen. Einen umfassenden Überblick erhalten Sie im Ultralytics Blog, wo Sie Fallstudien, detaillierte Tutorials und Community-Stories finden, in denen Objekterkennung, Segmentierung und vieles mehr mit YOLO11 vorgestellt werden. Spezifische Beispiele finden Sie im Abschnitt " Verwendung" in der Dokumentation.

📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 1 Monat

Kommentare