YOLO Vision 2026:

Esporta annotazioni LabelMe in YOLO e Ultralytics Platform#

LabelMe è uno strumento di annotazione di immagini offline con una applicazione Python open-source. Non c'è alcuna connessione LabelMe live o chiave API da configurare in Ultralytics Platform. L'integrazione completa è un flusso di lavoro locale: annota in LabelMe, converti le annotazioni JSON di LabelMe nel formato YOLO con il LabelMe Toolkit e carica il file ZIP risultante come dataset della Platform.

1. Annota le immagini in LabelMe#

Installa LabelMe utilizzando l'app desktop o il pacchetto Python open-source, quindi apri la directory contenente le tue immagini. LabelMe salva le annotazioni di ciascuna immagine in un file JSON corrispondente.

Per il flusso di lavoro di rilevamento YOLO in questa guida, disegna rettangoli attorno a ciascun oggetto e assegna un nome di classe. La guida introduttiva a LabelMe copre l'apertura delle immagini, il disegno di forme e il salvataggio delle annotazioni, mentre la guida ai dataset di LabelMe copre la revisione e la preparazione di un dataset annotato completo.

La tua directory di origine dovrebbe contenere le immagini e i file JSON di LabelMe:

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

2. Installa LabelMe Toolkit#

Installa il LabelMe Toolkit seguendo la guida di installazione del toolkit di LabelMe. Il toolkit e le sue esportazioni vengono eseguiti localmente.

LabelMe Pro è richiesto per l'esportazione

export-to-yolo fa parte del LabelMe Pro Toolkit e il download del suo programma di installazione richiede l'accesso a LabelMe. Questo è un requisito del prodotto LabelMe; il file ZIP risultante può essere caricato su qualsiasi piano della Platform.

Verifica l'installazione, quindi elenca tutte le etichette trovate nel dataset di origine:

labelmetk --version
labelmetk list-labels your_dataset/

Rivedi l'output prima dell'esportazione. Le etichette omesse da --class-names vengono saltate e l'ordine che fornisci diventa l'ordine degli ID classe YOLO.

3. Esporta in formato YOLO#

Esegui export-to-yolo con la directory di origine e un elenco separato da virgole di nomi di classe:

labelmetk export-to-yolo your_dataset/ --class-names crack,normal

Sostituisci crack,normal con le etichette restituite da list-labels. LabelMe scrive il risultato in your_dataset.export/:

your_dataset.export/
├── classes.txt
├── images/
│   ├── image_001.jpg
│   └── image_002.jpg
└── labels/
    ├── image_001.txt
    └── image_002.txt

classes.txt conserva i nomi delle classi nello stesso ordine utilizzato dai file di etichette YOLO. Tienilo nella radice dell'esportazione.

Questo flusso di lavoro crea un dataset di rilevamento

LabelMe Toolkit esporta i rettangoli come bounding box YOLO. Riduce inoltre poligoni e maschere ai relativi bounding box allineati agli assi, quindi export-to-yolo non preserva la geometria di segmentazione. Disegna rettangoli quando prepari un dataset di rilevamento con questo flusso di lavoro.

4. Crea l'archivio ZIP#

Comprimi i contenuti di your_dataset.export/, non la directory che li circonda. Su macOS o Linux:

cd your_dataset.export
zip -r ../your_dataset.zip classes.txt images labels

Su Windows PowerShell:

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

Apri lo ZIP prima di caricarlo e conferma che classes.txt, images/ e labels/ si trovino alla sua radice. Un wrapper extra your_dataset.export/ impedisce alla Platform di trovare l'elenco delle classi radice.

5. Carica su Ultralytics Platform#

  1. Apri Settings > Integrations > LabelMe.
  2. Fai clic su Upload export.
  3. Carica your_dataset.zip e termina la creazione del dataset.
  4. Attendi il completamento dell'elaborazione, quindi rivedi le immagini, le classi e le annotazioni.
  5. Modifica le annotazioni, allena un modello e distribuiscilo dallo stesso workspace.

Ultralytics Platform LabelMe Dataset Import

LabelMe e l'esportazione YOLO rimangono completamente offline. Solo il file ZIP selezionato nella finestra di dialogo di caricamento viene inviato a Platform.

Risoluzione dei problemi#

  • Le classi sono denominate class0, class1 e così via: conferma che classes.txt sia presente alla radice dello ZIP.
  • Mancano alcune annotazioni: esegui nuovamente labelmetk list-labels your_dataset/ e includi ogni etichetta richiesta in --class-names.
  • I poligoni sono diventati box: questo è il comportamento documentato di export-to-yolo di LabelMe; converte le forme non rettangolari in bounding box.
  • Il dataset non ha immagini: conferma che la directory esportata images/ sia inclusa nello ZIP.
  • La Platform non riesce a trovare le classi: rimuovi qualsiasi directory esterna dall'archivio in modo che classes.txt, images/ e labels/ siano le voci di livello superiore.

Per il flusso di lavoro locale completo, consulta la guida all'addestramento YOLO di LabelMe e il riferimento export-to-yolo.

Collaboratori

Commenti