LabelMe-Annotationen in YOLO und die Ultralytics Platform exportieren#
LabelMe ist ein Offline-Bildannotationswerkzeug mit einer Open-Source-Python-Anwendung. Es gibt keine Live-LabelMe-Verbindung oder keinen API-Schlüssel, die in Ultralytics Platform konfiguriert werden müssen. Die vollständige Integration ist ein lokaler Arbeitsablauf: Annotieren in LabelMe, Konvertieren der LabelMe-JSON-Annotationen in das YOLO-Format mit dem LabelMe Toolkit und Hochladen der resultierenden ZIP-Datei als Plattform-Dataset.
1. 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 Annotationen jedes Bildes in einer passenden JSON-Datei.
Zeichne für den YOLO-Erkennungs-Arbeitsablauf in diesem Leitfaden Rechtecke um jedes Objekt und weise einen Klassennamen zu. Der LabelMe-Einsteigerleitfaden behandelt das Öffnen von Bildern, das Zeichnen von Formen und das Speichern von Annotationen, während der LabelMe-Dataset-Leitfaden die Überprüfung und Vorbereitung eines vollständigen annotierten Datasets beschreibt.
Dein Quellverzeichnis sollte die Bilder und LabelMe-JSON-Dateien enthalten:
your_dataset/
├── image_001.jpg
├── image_001.json
├── image_002.jpg
└── image_002.json2. Das LabelMe Toolkit installieren#
Installiere das LabelMe Toolkit, indem du dem Toolkit-Installationsleitfaden von LabelMe folgst. Das Toolkit und dessen 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 Anforderung des LabelMe-Produkts; 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.
3. In das YOLO-Format exportieren#
Führe export-to-yolo mit dem Quellverzeichnis und einer kommagetrennten 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 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, die von den YOLO-Label-Dateien verwendet wird. Bewahre sie im Stammverzeichnis des Exports auf.
Das LabelMe Toolkit exportiert Rechtecke als YOLO-Bounding-Boxen. Es reduziert auch Polygone und Masken auf ihre achsenparallelen Bounding-Boxen, sodass export-to-yolo keine Segmentierungsgeometrie beibehält. Zeichne Rechtecke, wenn du ein Erkennungs-Dataset mit diesem Arbeitsablauf vorbereitest.
4. Das ZIP-Archiv erstellen#
Komprimiere den Inhalt 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 vergewissere dich, dass sich classes.txt, images/ und labels/ im Stammverzeichnis befinden. Ein zusätzlicher your_dataset.export/-Wrapper verhindert, dass die Plattform die Stammklassenliste findet.
5. Auf die Ultralytics Platform hochladen#
- Öffne Settings > Integrations > LabelMe.
- Klicke auf Upload export.
- Lade
your_dataset.ziphoch und schließe die Erstellung des Datasets ab. - Warte, bis die Verarbeitung abgeschlossen ist, und überprüfe dann die Bilder, Klassen und Anmerkungen.
- Bearbeite die Annotationen, trainiere ein Modell und stelle es bereit aus demselben Workspace.

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#
- Klassen sind benannt als
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 beziehe jedes erforderliche Label in--class-namesein. - Polygone wurden zu Boxen: Dies ist das dokumentierte Verhalten von LabelMe's
export-to-yolo; es konvertiert Formen, die keine Rechtecke sind, in Bounding-Boxen. - Das Dataset enthält keine Bilder: Vergewissere dich, dass das exportierte
images/-Verzeichnis in der ZIP-Datei enthalten ist. - Plattform 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.
Informationen zum vollständigen lokalen Arbeitsablauf findest du in LabelMes YOLO-Trainingsleitfaden und im export-to-yolo-Referenzhandbuch.