Ultralytics YOLO27: Iscriviti alla lista d'attesa.

Importare annotazioni LabelMe in Ultralytics Platform#

LabelMe è uno strumento offline per annotare immagini, disponibile come applicazione Python open source. Non è necessario configurare una connessione attiva a LabelMe né una chiave API in Ultralytics Platform, e non serve alcuna conversione: Platform legge direttamente i file JSON di LabelMe. Annota in LabelMe, comprimi la cartella in un archivio ZIP e caricalo 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. La guida introduttiva a LabelMe spiega come aprire le immagini, disegnare forme e salvare le annotazioni.

Disegna rettangoli per un dataset di rilevamento oppure poligoni per un dataset di segmentazione. LabelMe salva le annotazioni di ogni immagine in un file JSON accanto all'immagine:

your_dataset/
├── image_001.jpg
├── image_001.json
├── image_002.jpg
└── image_002.json

2. Crea l'archivio ZIP#

Comprimi la cartella contenente le immagini e i file JSON. Su macOS o Linux:

zip -r your_dataset.zip your_dataset

In Windows PowerShell:

Compress-Archive -Path .\your_dataset -DestinationPath .\your_dataset.zip

Sono supportate una cartella esterna, sottocartelle annidate e cartelle separate per immagini e annotazioni, purché il valore di imagePath in ogni file JSON punti a un'immagine contenuta nell'archivio ZIP. Platform legge il file immagine, non la copia che LabelMe può incorporare nel JSON come imageData, quindi mantieni i file immagine nell'archivio. Le immagini contenute in cartelle i cui nomi iniziano con train, val o test mantengono tale suddivisione. I file JSON di LabelMe vengono letti solo se l'archivio non contiene un file data.yaml o un file JSON COCO, quindi non includere questi file in uno ZIP di LabelMe.

3. Carica su Ultralytics Platform#

  1. Apri Impostazioni > Integrazioni > LabelMe.
  2. Fai clic su Carica esportazione.
  3. Carica your_dataset.zip e completa la creazione del dataset.
  4. Attendi il completamento dell'elaborazione, quindi controlla le immagini, le classi e le annotazioni.
  5. Modifica le annotazioni, addestra un modello e distribuiscilo dallo stesso spazio di lavoro.

Importazione di un dataset LabelMe in Ultralytics Platform

LabelMe funziona interamente offline. A Platform viene inviato solo il file ZIP che selezioni nella finestra di caricamento.

Come vengono importate le forme di LabelMe#

Forma LabelMeImportato come
rectangleRiquadro di delimitazione oppure poligono a 4 punti in un dataset di segmentazione
polygonPoligono
oriented_rectanglePoligono a 4 punti
circlePoligono a 32 punti
maskPoligono tracciato lungo il contorno esterno della maschera, con i fori riempiti
line, linestrip, point, pointsIgnorato, poiché queste forme non hanno area su cui effettuare l'addestramento
  • Attività: un dataset annotato solo con rettangoli viene importato come dataset di rilevamento. Qualsiasi poligono, rettangolo orientato, cerchio o maschera lo rende un dataset di segmentazione, e i rettangoli diventano poligoni a 4 punti, così non si perde alcuna annotazione.
  • Classi: i nomi delle etichette di LabelMe diventano i nomi delle classi, in ordine alfabetico. Quando importi in un dataset esistente, le etichette vengono associate alle sue classi in base al nome e le altre vengono aggiunte.
  • Forme raggruppate: le forme che condividono un'etichetta e un ID gruppo costituiscono un unico oggetto. Le loro parti vengono unite in un unico poligono, o in un unico riquadro in un dataset di rilevamento.
  • Ignorate: le forme senza etichetta, quelle con etichetta __ignore__ e i flag a livello di immagine non vengono importati. Le forme che oltrepassano il bordo dell'immagine vengono ritagliate.

Risoluzione dei problemi#

  • Immagini importate senza annotazioni: verifica che i file JSON siano nello ZIP e che il valore di imagePath in ciascun file indichi un'immagine nell'archivio. Platform cerca anche in base al nome del file, quindi un percorso assoluto non aggiornato funziona comunque se il nome del file immagine non è cambiato.
  • I poligoni sono diventati riquadri a 4 punti: nei dataset di segmentazione, i rettangoli vengono convertiti in poligoni a 4 punti. Disegna poligoni per gli oggetti che richiedono un contorno preciso.
  • Mancano linee o punti: queste forme non hanno area, quindi non possono essere usate per il rilevamento o la segmentazione e vengono ignorate.
  • Il dataset non contiene immagini: LabelMe può incorporare immagini nei file JSON, ma Platform legge i file immagine. Aggiungi le immagini allo ZIP.

Domande frequenti#

  • No. LabelMe funziona in locale, Platform legge direttamente i file JSON e a Platform viene inviato solo lo ZIP che carichi. Non è necessario avere un abbonamento LabelMe Pro né esportare con Toolkit.

  • Sì. Poligoni, rettangoli orientati, cerchi e maschere vengono importati come poligoni di segmentazione e il dataset diventa un dataset di segmentazione.

  • I nomi delle classi provengono dalle etichette di LabelMe, ordinate alfabeticamente, quindi le stesse etichette corrispondono sempre agli stessi ID delle classi. Quando aggiungi dati a un dataset esistente, le etichette vengono associate alle sue classi in base al nome.

  • Sì. Un'esportazione labelmetk export-to-yolo viene caricata come un normale dataset YOLO. Mantieni nello ZIP il file classes.txt dell'esportazione (Platform legge quello meno annidato) per conservare i nomi delle classi.

Commenti