LabelMe-Annotationen nach YOLO und in die Ultralytics Platform exportieren#
LabelMe ist ein Offline-Tool zur Bildannotation mit einer Python-Anwendung mit offenem Quellcode. In der Ultralytics Platform musst du weder eine Live-Verbindung zu LabelMe noch einen API-Schlüssel einrichten. Die gesamte Integration ist ein lokaler Arbeitsablauf: Annote Bilder in LabelMe, wandle die LabelMe-JSON-Annotationen mit dem LabelMe Toolkit ins YOLO-Format um und lade die resultierende ZIP-Datei als Platform-Datensatz hoch.
1. Bilder in LabelMe annotieren#
Installiere LabelMe über die Desktop-App oder das Python-Paket mit offenem Quellcode und öffne dann das Verzeichnis mit deinen Bildern. LabelMe speichert die Annotationen jedes Bildes in einer passenden JSON-Datei.
Zeichne für den YOLO-Erkennungsworkflow in dieser Anleitung Rechtecke um jedes Objekt und weise jedem Objekt einen Klassennamen zu. Die LabelMe-Einführungsanleitung erklärt, wie du Bilder öffnest, Formen zeichnest und Annotationen speicherst. Die LabelMe-Anleitung zu Datensätzen behandelt das Überprüfen und Vorbereiten eines vollständig annotierten Datensatzes.
Dein Quellverzeichnis sollte die Bilder und 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äß der Installationsanleitung für das Toolkit von LabelMe. Das Toolkit und seine Exporte laufen lokal.
export-to-yolo ist Teil des LabelMe Pro Toolkit. Zum Herunterladen des Installationsprogramms musst du dich bei LabelMe anmelden.
Dies ist eine Produktanforderung von LabelMe; die resultierende ZIP-Datei kann mit jedem Platform-Tarif hochgeladen werden.
Überprüfe die Installation und liste dann alle im Quelldatensatz gefundenen Bezeichnungen auf:
labelmetk --version
labelmetk list-labels your_dataset/Überprüfe die Ausgabe vor dem Export. Bezeichnungen, die in --class-names fehlen, werden übersprungen. Die angegebene Reihenfolge bestimmt die Reihenfolge der YOLO-Klassen-IDs.
3. Ins YOLO-Format exportieren#
Führe export-to-yolo mit dem Quellverzeichnis und einer durch Kommas getrennten Liste der 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 behält die Klassennamen in derselben Reihenfolge wie in den YOLO-Labeldateien bei. Lass die Datei im Stammverzeichnis des Exports.
Das LabelMe Toolkit exportiert Rechtecke als YOLO-Begrenzungsrahmen. Außerdem werden Polygone und Masken auf achsenparallele Begrenzungsrahmen reduziert, sodass export-to-yolo die Segmentierungsgeometrie nicht beibehält. 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 labelsIn Windows PowerShell:
Compress-Archive -Path .\your_dataset.export\* -DestinationPath .\your_dataset.zipÖffne die ZIP-Datei vor dem Hochladen und überprüfe, ob sich classes.txt, images/ und labels/ in ihrem Stammverzeichnis befinden. Ein zusätzliches übergeordnetes Verzeichnis your_dataset.export/ verhindert, dass 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 dann die Bilder, Klassen und Annotationen.
- Bearbeite die Annotationen, trainiere ein Modell und stelle es bereit – alles im selben Arbeitsbereich.

LabelMe und der YOLO-Export laufen vollständig offline. Nur die ZIP-Datei, die du im Upload-Dialog auswählst, wird an Platform gesendet.
Fehlerbehebung#
- Klassen heißen
class0,class1usw.: Vergewissere dich, dassclasses.txtim Stammverzeichnis der ZIP-Datei vorhanden ist. - Einige Annotationen fehlen: Führe
labelmetk list-labels your_dataset/erneut aus und nimm alle erforderlichen Bezeichnungen in--class-namesauf. - Polygone wurden zu Rahmen: Dies ist das dokumentierte Verhalten von
export-to-yoloaus LabelMe. Das Tool wandelt Formen, die keine Rechtecke sind, in Begrenzungsrahmen um. - Der Datensatz enthält keine Bilder: Vergewissere dich, dass das exportierte Verzeichnis
images/in der ZIP-Datei enthalten ist. - Platform findet die Klassen nicht: Entferne alle übergeordneten Verzeichnisse aus dem Archiv, sodass
classes.txt,images/undlabels/die obersten Einträge sind.
Den vollständigen lokalen Arbeitsablauf findest du in der YOLO-Trainingsanleitung von LabelMe und in der Referenz zu export-to-yolo.
Häufig gestellte Fragen#
Nein. LabelMe und der Export laufen lokal, und nur die ZIP-Datei, die du hochlädst, wird an Platform gesendet. Der Befehl
export-to-yoloist Teil des LabelMe Pro Toolkit, das eine LabelMe-Anforderung ist. Die resultierende ZIP-Datei lässt sich jedoch mit jedem Platform-Tarif hochladen.Nicht mit diesem Arbeitsablauf. Das LabelMe Toolkit reduziert Polygone und Masken auf achsenparallele Begrenzungsrahmen, sodass das Ergebnis immer ein Erkennungsdatensatz ist. Zeichne Rechtecke, wenn du Daten für diesen Export vorbereitest.
Platform liest die Klassennamen aus
classes.txtim Stammverzeichnis der ZIP-Datei. Komprimiere den Inhalt des Exportordners, nicht den Ordner selbst, sodassclasses.txt,images/undlabels/die obersten Einträge sind.Nur die Bezeichnungen, die an
--class-namesübergeben werden, und zwar in der angegebenen Reihenfolge. Führe zuerstlabelmetk list-labelsaus und nimm alle Bezeichnungen auf, die du beibehalten möchtest.