Esporta le annotazioni di LabelMe in YOLO e Ultralytics Platform#
LabelMe è uno strumento offline per annotare immagini con un’applicazione Python open source. Non è necessario configurare una connessione attiva a LabelMe né una chiave API in Ultralytics Platform. L’integrazione completa consiste in un flusso di lavoro locale: annota in LabelMe, converti le annotazioni JSON di LabelMe in formato YOLO con LabelMe Toolkit e carica lo ZIP risultante come dataset su Platform.
1. Annota le immagini in LabelMe#
Installa LabelMe usando l’app desktop o il pacchetto Python open source, quindi apri la directory che contiene le immagini. LabelMe salva le annotazioni di ogni immagine in un file JSON corrispondente.
Per il flusso di lavoro di rilevamento YOLO descritto in questa guida, disegna rettangoli intorno a ogni oggetto e assegna un nome di classe. La guida introduttiva a LabelMe spiega come aprire le immagini, disegnare forme e salvare le annotazioni, mentre la guida ai dataset LabelMe spiega come esaminare e preparare un dataset annotato completo.
La directory di origine deve contenere le immagini e i file JSON di LabelMe:
your_dataset/
├── image_001.jpg
├── image_001.json
├── image_002.jpg
└── image_002.json2. Installa LabelMe Toolkit#
Installa LabelMe Toolkit seguendo la guida all’installazione del toolkit di LabelMe. Il toolkit e i relativi export vengono eseguiti in locale.
export-to-yolo fa parte di LabelMe Pro Toolkit e per scaricare il relativo programma di installazione è necessario accedere a LabelMe. Si tratta di un requisito del prodotto LabelMe; lo ZIP risultante può essere caricato con qualsiasi piano Platform.
Verifica l’installazione, quindi elenca tutte le etichette presenti nel dataset di origine:
labelmetk --version
labelmetk list-labels your_dataset/Esamina l’output prima di esportare. Le etichette omesse da --class-names vengono ignorate e l’ordine specificato determina l’ordine degli ID di classe YOLO.
3. Esporta in formato YOLO#
Esegui export-to-yolo indicando la directory di origine e un elenco di nomi di classe separati da virgole:
labelmetk export-to-yolo your_dataset/ --class-names crack,normalSostituisci crack,normal con le etichette restituite da list-labels. LabelMe salva il risultato in your_dataset.export/:
your_dataset.export/
├── classes.txt
├── images/
│ ├── image_001.jpg
│ └── image_002.jpg
└── labels/
├── image_001.txt
└── image_002.txtclasses.txt mantiene i nomi delle classi nello stesso ordine usato nei file di etichette YOLO. Lascialo nella directory principale dell’export.
LabelMe Toolkit esporta i rettangoli come bounding box YOLO. Inoltre, riduce poligoni e maschere alle rispettive bounding box allineate agli assi, quindi export-to-yolo non conserva la geometria di segmentazione. Quando prepari un dataset di rilevamento con questo flusso di lavoro, disegna rettangoli.
4. Crea l’archivio ZIP#
Comprimi il contenuto di your_dataset.export/, non la directory che lo contiene. Su macOS o Linux:
cd your_dataset.export
zip -r ../your_dataset.zip classes.txt images labelsSu Windows PowerShell:
Compress-Archive -Path .\your_dataset.export\* -DestinationPath .\your_dataset.zipApri lo ZIP prima di caricarlo e verifica che classes.txt, images/ e labels/ si trovino nella directory principale. Una directory contenitore aggiuntiva your_dataset.export/ impedisce a Platform di trovare l’elenco delle classi nella directory principale.
5. Carica su Ultralytics Platform#
- Apri Impostazioni > Integrazioni > LabelMe.
- Fai clic su Carica export.
- Carica
your_dataset.zipe completa la creazione del dataset. - Attendi il completamento dell’elaborazione, quindi esamina immagini, classi e annotazioni.
- Modifica le annotazioni, addestra un modello e distribuiscilo dallo stesso spazio di lavoro.

LabelMe e l’export YOLO funzionano interamente offline. A Platform viene inviato solo il file ZIP che selezioni nella finestra di caricamento.
Risoluzione dei problemi#
- Le classi si chiamano
class0,class1e così via: verifica checlasses.txtsia presente nella directory principale dello ZIP. - Mancano alcune annotazioni: esegui di nuovo
labelmetk list-labels your_dataset/e includi tutte le etichette necessarie in--class-names. - I poligoni sono diventati riquadri: è il comportamento documentato di
export-to-yolodi LabelMe; converte le forme non rettangolari in bounding box. - Il dataset non contiene immagini: verifica che la directory
images/esportata sia inclusa nello ZIP. - Platform non riesce a trovare le classi: rimuovi dall’archivio qualsiasi directory esterna, in modo che
classes.txt,images/elabels/siano gli elementi al livello principale.
Per il flusso di lavoro locale completo, consulta la guida all’addestramento YOLO di LabelMe e il riferimento di export-to-yolo.
Domande frequenti#
No. LabelMe e l’export vengono eseguiti in locale e a Platform viene inviato solo lo ZIP che carichi. Il comando
export-to-yolofa parte di LabelMe Pro Toolkit, un requisito di LabelMe, ma lo ZIP risultante può essere caricato con qualsiasi piano Platform.Non con questo flusso di lavoro. LabelMe Toolkit riduce poligoni e maschere alle rispettive bounding box allineate agli assi, quindi il risultato è sempre un dataset di rilevamento. Quando prepari i dati per questo export, disegna rettangoli.
Platform legge i nomi delle classi da
classes.txtnella directory principale dello ZIP. Comprimi il contenuto della cartella di export, non la cartella stessa, in modo checlasses.txt,images/elabels/siano gli elementi al livello principale.Solo le etichette passate a
--class-names, nell’ordine in cui le elenchi. Esegui primalabelmetk list-labelse includi tutte le etichette che vuoi mantenere.