LabelMe-Annotationen in YOLO und die Ultralytics Platform exportieren#
LabelMe ist ein Offline-Tool zur Bildannotation mit einer Open-Source-Python-Anwendung. Für die Konfiguration in der Ultralytics Platform ist weder eine aktive LabelMe-Verbindung noch ein API-Schlüssel erforderlich. Die vollständige Integration ist ein lokaler Arbeitsablauf: Annotiere in LabelMe, konvertiere die LabelMe-JSON-Annotationen mit dem LabelMe Toolkit in das YOLO-Format und lade die resultierende ZIP-Datei als Datensatz in die Platform hoch.
1. Bilder in LabelMe annotieren#
Installiere LabelMe über die Desktop-App oder das Open-Source-Python-Paket und öffne anschließend das Verzeichnis, das deine Bilder enthält. LabelMe speichert die Annotationen jedes Bildes in einer zugehörigen JSON-Datei.
Zeichne für den YOLO-Erkennungsworkflow in diesem Leitfaden Rechtecke um jedes Objekt und weise ihm einen Klassennamen zu. Der LabelMe-Einstiegsleitfaden behandelt das Öffnen von Bildern, das Zeichnen von Formen und das Speichern von Annotationen. Der LabelMe-Datensatzleitfaden behandelt die Überprüfung und Vorbereitung eines vollständig annotierten Datensatzes.
Dein Quellverzeichnis sollte die Bilder und die LabelMe-JSON-Dateien enthalten:
your_dataset/
├── image_001.jpg
├── image_001.json
├── image_002.jpg
└── image_002.json2. LabelMe Toolkit installieren#
Installiere das LabelMe Toolkit gemäß dem Installationsleitfaden für das Toolkit von LabelMe. Das Toolkit und seine Exporte werden lokal ausgeführt.
export-to-yolo ist Teil des LabelMe Pro Toolkit. Für den Download des Installationsprogramms ist eine Anmeldung bei LabelMe erforderlich.
Dies ist eine Produktanforderung von LabelMe; die resultierende ZIP-Datei kann mit jedem Platform-Tarif hochgeladen werden.
Überprüfe die Installation und liste anschließend alle Bezeichnungen auf, die im Quelldatensatz gefunden wurden:
labelmetk --version
labelmetk list-labels your_dataset/Überprüfe die Ausgabe vor dem Export. Bezeichnungen, die in --class-names nicht enthalten sind, werden übersprungen. Die von dir angegebene Reihenfolge wird
zur Reihenfolge der YOLO-Klassen-IDs.
3. In das YOLO-Format exportieren#
Führe export-to-yolo mit dem Quellverzeichnis und einer durch Kommas getrennten Liste von
Klassennamen aus:
labelmetk export-to-yolo your_dataset/ --class-names crack,normalErsetze crack,normal durch die von list-labels zurückgegebenen Bezeichnungen. LabelMe schreibt das Ergebnis nach
your_dataset.export/:
your_dataset.export/
├── classes.txt
├── images/
│ ├── image_001.jpg
│ └── image_002.jpg
└── labels/
├── image_001.txt
└── image_002.txtclasses.txt bewahrt die Klassennamen in derselben Reihenfolge wie in den YOLO-Bezeichnungsdateien. Belasse die Datei im Stammverzeichnis des
Exports.
Das LabelMe Toolkit exportiert Rechtecke als YOLO-Bounding-Boxes. Außerdem reduziert es Polygone und Masken auf ihre
achsenparallelen Bounding-Boxes, sodass export-to-yolo die Segmentierungsgeometrie nicht bewahrt. Zeichne Rechtecke, wenn du mit diesem
Arbeitsablauf einen Erkennungsdatensatz vorbereitest.
4. ZIP-Archiv erstellen#
Komprimiere den Inhalt von your_dataset.export/, nicht das übergeordnete Verzeichnis. Unter macOS oder Linux:
cd your_dataset.export
zip -r ../your_dataset.zip classes.txt images labelsUnter Windows PowerShell:
Compress-Archive -Path .\your_dataset.export\* -DestinationPath .\your_dataset.zipÖffne die ZIP-Datei vor dem Hochladen und überprüfe, dass sich classes.txt, images/ und labels/ in ihrem Stammverzeichnis befinden. Ein zusätzliches
Wrapper-Verzeichnis your_dataset.export/ verhindert, dass die Platform die Klassenliste im Stammverzeichnis findet.
5. In die Ultralytics Platform hochladen#
- Öffne Einstellungen > Integrationen > LabelMe.
- Klicke auf Export hochladen.
- Lade
your_dataset.ziphoch und schließe die Erstellung des Datensatzes ab. - Warte, bis die Verarbeitung abgeschlossen ist, und überprüfe anschließend die Bilder, Klassen und Annotationen.
- Bearbeite die Annotationen, trainiere ein Modell und stelle es bereit – alles aus demselben Arbeitsbereich.

LabelMe und der YOLO-Export bleiben vollständig offline. Nur die ZIP-Datei, die du im Upload-Dialog auswählst, wird an die Platform gesendet.
Fehlerbehebung#
- Die Klassen heißen
class0,class1usw.: Bestätige, dassclasses.txtim Stammverzeichnis der ZIP-Datei vorhanden ist. - Einige Annotationen fehlen: Führe
labelmetk list-labels your_dataset/erneut aus und nimm jede erforderliche Bezeichnung in--class-namesauf. - Polygone wurden zu Boxen: Dies entspricht dem dokumentierten Verhalten von
export-to-yoloin LabelMe; Formen, die keine Rechtecke sind, werden in Bounding-Boxes umgewandelt. - Der Datensatz enthält keine Bilder: Bestätige, dass das exportierte Verzeichnis
images/in der ZIP-Datei enthalten ist. - Die Platform findet die Klassen nicht: Entferne jedes äußere Verzeichnis aus dem Archiv, sodass
classes.txt,images/undlabels/die Einträge auf oberster Ebene sind.
Den vollständigen lokalen Arbeitsablauf findest du im
YOLO-Trainingsleitfaden von LabelMe und in der
Referenz zu export-to-yolo.