Link to this sectionLabelMe-Annotationen in YOLO und die Ultralytics Platform exportieren#
LabelMe is an offline image annotation tool with an open-source Python application. There is no live LabelMe connection or API key to configure in Ultralytics Platform. The complete integration is a local workflow: annotate in LabelMe, convert the LabelMe JSON annotations to YOLO format with the LabelMe Toolkit, and upload the resulting ZIP as a Platform dataset.
Link to this section1. Die Bilder in LabelMe annotieren#
Installiere LabelMe über die Desktop-App oder das Open-Source-Python-Paket und öffne dann das Verzeichnis mit deinen Bildern. LabelMe speichert die Anmerkungen jedes Bildes in einer entsprechenden JSON-Datei.
Zeichne für den YOLO-Erkennungs-Workflow in diesem Leitfaden Rechtecke um jedes Objekt und weise einen Klassennamen zu. Der LabelMe-Leitfaden für den Einstieg behandelt das Öffnen von Bildern, das Zeichnen von Formen und das Speichern von Anmerkungen, während der LabelMe-Datensatz-Leitfaden das Überprüfen und Vorbereiten eines vollständigen annotierten Datensatzes beschreibt.
Dein Quellverzeichnis sollte die Bilder und LabelMe-JSON-Dateien enthalten:
your_dataset/
├── image_001.jpg
├── image_001.json
├── image_002.jpg
└── image_002.jsonLink to this section2. Das LabelMe Toolkit installieren#
Installiere das LabelMe Toolkit, indem du der Toolkit-Installationsanleitung von LabelMe folgst. Das Toolkit und seine Exporte werden lokal ausgeführt.
export-to-yolo ist Teil des LabelMe Pro Toolkit, und das Herunterladen des Installers erfordert eine Anmeldung bei LabelMe. Dies ist eine Produktanforderung von LabelMe; die resultierende ZIP-Datei kann in jedem Plattform-Tarif hochgeladen werden.
Überprüfe die Installation und liste dann jedes im Quelldatensatz gefundene Label auf:
labelmetk --version
labelmetk list-labels your_dataset/Überprüfe die Ausgabe vor dem Export. In --class-names weggelassene Labels werden übersprungen, und die von dir bereitgestellte Reihenfolge wird zur YOLO-Klassen-ID-Reihenfolge.
Link to this section3. 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 Labels. LabelMe schreibt das Ergebnis in 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 auf, die von den YOLO-Label-Dateien verwendet wird. Behalte sie im Stammverzeichnis des Exports bei.
Das LabelMe Toolkit exportiert Rechtecke als YOLO-Bounding-Boxen. Es reduziert außerdem Polygone und Masken auf ihre achsenausgerichteten Bounding-Boxen, sodass export-to-yolo keine Segmentierungsgeometrie beibehält. Zeichne Rechtecke, wenn du einen Erkennungsdatensatz mit diesem Workflow vorbereitest.
Link to this section4. Das ZIP-Archiv erstellen#
Komprimiere die Inhalte von your_dataset.export/ und nicht das Verzeichnis darum herum. 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 bestätige, dass sich classes.txt, images/ und labels/ an ihrem Stammverzeichnis befinden. Ein zusätzlicher your_dataset.export/-Wrapper verhindert, dass die Platform die Stammklassenliste findet.
Link to this section5. Auf die Ultralytics Platform hochladen#
- Öffne Settings > Integrations > LabelMe.
- Klicke auf Upload export.
- Lade
your_dataset.ziphoch und schließe das Erstellen des Datensatzes ab. - Warte, bis die Verarbeitung abgeschlossen ist, und überprüfe dann die Bilder, Klassen und Anmerkungen.
- Bearbeite die Anmerkungen, trainiere ein Modell und stelle es bereit 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.
Link to this sectionFehlerbehebung#
- Klassen heißen
class0,class1usw.: Stelle sicher, dassclasses.txtim Stammverzeichnis der ZIP-Datei vorhanden ist. - Einige Anmerkungen fehlen: Führe
labelmetk list-labels your_dataset/erneut aus und füge jedes erforderliche Label in--class-namesein. - Polygone wurden zu Boxen: Dies ist das dokumentierte Verhalten von LabelMe
export-to-yolo; es konvertiert Nicht-Rechteck-Formen in Bounding-Boxen. - Der Datensatz enthält keine Bilder: Stelle sicher, dass das exportierte
images/-Verzeichnis in der ZIP-Datei enthalten ist. - Die Platform kann die Klassen nicht finden: Entferne alle äußeren Verzeichnisse aus dem Archiv, sodass
classes.txt,images/undlabels/die Einträge der obersten Ebene sind.
Den vollständigen lokalen Workflow findest du im YOLO-Trainingsleitfaden und in der export-to-yolo-Referenz von LabelMe.