Übersicht über die Objektdetektionsdatensätze
Um ein robustes und genaues Modell zur Objekterkennung zu trainieren, ist ein umfassender Datensatz erforderlich. In diesem Leitfaden werden verschiedene Formate von Datensätzen vorgestellt, die mit dem Modell Ultralytics YOLO kompatibel sind, und es wird erläutert, wie sie aufgebaut und verwendet werden und wie man zwischen verschiedenen Formaten konvertiert.
Unterstützte Datensatzformate
Ultralytics YOLO Format
Das Format Ultralytics YOLO ist ein Konfigurationsformat für Datensätze, mit dem du das Stammverzeichnis des Datensatzes, die relativen Pfade zu den Verzeichnissen für Trainings-, Validierungs- und Testbilder oder *.txt
Dateien mit Bildpfaden 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 es keine Objekte in einem Bild gibt, wird keine *.txt
Datei ist erforderlich. Die *.txt
Datei mit einer Zeile pro Objekt formatiert werden. class x_center y_center width height
Format. Die Box-Koordinaten müssen in normalisierte xywh Format (von 0 bis 1). Wenn deine Kästchen in Pixeln angegeben sind, solltest du dividieren x_center
und width
durch die Bildbreite, und y_center
und height
nach Bildhöhe. Die Klassennummern sollten einen Null-Index haben (mit 0 beginnen).
Die Etikettendatei, die dem obigen Bild entspricht, enthält 2 Personen (Klasse 0
) und ein Unentschieden (Klasse 27
):
Wenn du das Format Ultralytics YOLO verwendest, organisierst du deine Trainings- und Validierungsbilder und Beschriftungen wie im folgenden Beispiel des COCO8-Datensatzes.
Verwendung
Hier erfährst du, wie du diese Formate nutzen kannst, um dein Modell zu trainieren:
Beispiel
Unterstützte Datensätze
Hier ist eine Liste der unterstützten Datensätze und eine kurze Beschreibung für jeden:
- Argoverse: Eine Sammlung von Sensordaten, die von autonomen Fahrzeugen gesammelt wurden. Sie enthält 3D-Tracking-Anmerkungen für Fahrzeugobjekte.
- COCO: Common Objects in Context (COCO) ist ein umfangreicher Datensatz zur Objekterkennung, Segmentierung und Beschriftung mit 80 Objektkategorien.
- LVIS: LVIS ist ein umfangreicher Datensatz zur Objekterkennung, Segmentierung und Beschriftung mit 1203 Objektkategorien.
- COCO8: COCO8 ist eine kleinere Teilmenge des COCO-Datensatzes, die leichter und schneller zu trainieren ist.
- GlobalWheat2020: Ein Datensatz mit Bildern von Weizenköpfen für die Global Wheat Challenge 2020.
- Objekte365: Ein großer Objektdatensatz mit 365 Objektkategorien und 600k Bildern, der die Forschung zur Objekterkennung voranbringen soll.
- OpenImagesV7: Ein umfassender Datensatz von Google mit 1,7 Millionen Trainingsbildern und 42.000 Validierungsbildern.
- SKU-110K: Ein Datensatz mit Bildern von dicht verpackten Einzelhandelsartikeln, der für die Objekterkennung im Einzelhandel gedacht ist.
- VisDrone: Ein Datensatz, der sich auf Drohnenbilder konzentriert und verschiedene Objektkategorien wie Autos, Fußgänger und Radfahrer enthält.
- VOC: PASCAL VOC ist ein beliebter Objektdatensatz mit 20 Objektkategorien, darunter Fahrzeuge, Tiere und Möbel.
- xView: Ein Datensatz mit hochauflösenden Satellitenbildern, der für die Erkennung verschiedener Objektklassen in Überkopfansichten entwickelt wurde.
- Hirntumor: Dieser Datensatz umfasst MRT- oder CT-Bilder, die Informationen über das Vorhandensein, die Lage und die Merkmale von Hirntumoren enthalten. Er spielt eine wichtige Rolle beim Training von Computer-Vision-Modellen zur automatischen Tumorerkennung, die eine frühzeitige Diagnose und Behandlungsplanung ermöglichen.
- Afrikanische Wildtiere: Dieser Datensatz enthält Bilder von afrikanischen Wildtieren wie Büffel, Elefanten, Nashörnern und Zebras und ist wichtig für das Training von Computer-Vision-Modellen. Er ist unverzichtbar für die Identifizierung von Tieren in verschiedenen Lebensräumen und leistet einen wichtigen Beitrag zur Wildtierforschung.
Hinzufügen deines eigenen Datensatzes
Wenn du deinen eigenen Datensatz hast und ihn für das Training von Erkennungsmodellen mit dem Format Ultralytics YOLO verwenden möchtest, stelle sicher, dass er dem oben unter "Ultralytics YOLO Format" angegebenen Format entspricht. Konvertiere deine Annotationen in das erforderliche Format und gib die Pfade, die Anzahl der Klassen und die Klassennamen in der YAML-Konfigurationsdatei an.
Etikettenformate portieren oder konvertieren
COCO-Datensatzformat zu YOLO Format
Mit dem folgenden Codeschnipsel kannst du ganz einfach Etiketten aus dem beliebten COCO-Datensatzformat in das YOLO Format konvertieren:
Beispiel
Mit diesem Konvertierungstool kannst du den COCO-Datensatz oder jeden anderen Datensatz im COCO-Format in das Format Ultralytics YOLO umwandeln.
Vergiss nicht, zu überprüfen, ob der Datensatz, den du verwenden möchtest, mit deinem Modell kompatibel ist und den notwendigen Formatkonventionen entspricht. Ordnungsgemäß formatierte Datensätze sind entscheidend für das Training erfolgreicher Modelle zur Objekterkennung.
Erstellt 2023-11-12, Aktualisiert 2024-04-18
Autoren: glenn-jocher (7), IvorZhu331 (1), Laughing-q (1), RizwanMunawar (1)