YOLO Vision 2026:

Exportar anotações do LabelMe para YOLO e para a Ultralytics Platform#

O LabelMe é uma ferramenta offline de anotação de imagens com uma aplicação Python de código aberto. Não existe uma ligação ativa do LabelMe nem uma chave de API para configurar na Ultralytics Platform. A integração completa é um fluxo de trabalho local: anota no LabelMe, converte as anotações JSON do LabelMe para o formato YOLO com o LabelMe Toolkit e carrega o ZIP resultante como um conjunto de dados da Plataforma.

1. Anotar as imagens no LabelMe#

Instala o LabelMe através da aplicação para computador ou do pacote Python de código aberto e, em seguida, abre o diretório que contém as tuas imagens. O LabelMe guarda as anotações de cada imagem num ficheiro JSON correspondente.

Para o fluxo de trabalho de deteção YOLO deste guia, desenha retângulos à volta de cada objeto e atribui um nome de classe. O guia de iniciação do LabelMe explica como abrir imagens, desenhar formas e guardar anotações, enquanto o guia de conjuntos de dados do LabelMe explica como rever e preparar um conjunto de dados anotado completo.

O teu diretório de origem deve conter as imagens e os ficheiros JSON do LabelMe:

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

2. Instalar o LabelMe Toolkit#

Instala o LabelMe Toolkit seguindo o guia de instalação do toolkit do LabelMe. O toolkit e as respetivas exportações são executados localmente.

O LabelMe Pro é necessário para a exportação

export-to-yolo faz parte do LabelMe Pro Toolkit e a transferência do respetivo instalador requer iniciar sessão no LabelMe. Este é um requisito do produto LabelMe; o ZIP resultante pode ser carregado em qualquer plano da Plataforma.

Verifica a instalação e, em seguida, lista todas as etiquetas encontradas no conjunto de dados de origem:

labelmetk --version
labelmetk list-labels your_dataset/

Revê o resultado antes de exportar. As etiquetas omitidas de --class-names são ignoradas, e a ordem que forneces torna-se a ordem dos IDs de classe YOLO.

3. Exportar para o formato YOLO#

Executa export-to-yolo com o diretório de origem e uma lista de nomes de classe separados por vírgulas:

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

Substitui crack,normal pelas etiquetas devolvidas por list-labels. O LabelMe grava o resultado em your_dataset.export/:

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

classes.txt preserva os nomes das classes na mesma ordem utilizada pelos ficheiros de etiquetas YOLO. Mantém-no na raiz da exportação.

Este fluxo de trabalho cria um conjunto de dados de deteção

O LabelMe Toolkit exporta os retângulos como caixas delimitadoras YOLO. Também reduz polígonos e máscaras às respetivas caixas delimitadoras alinhadas pelos eixos, pelo que export-to-yolo não preserva a geometria da segmentação. Desenha retângulos ao preparar um conjunto de dados de deteção com este fluxo de trabalho.

4. Criar o arquivo ZIP#

Comprime o conteúdo de your_dataset.export/, não o diretório que o contém. No macOS ou Linux:

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

No Windows PowerShell:

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

Abre o ZIP antes de o carregar e confirma que classes.txt, images/ e labels/ estão na respetiva raiz. Um diretório your_dataset.export/ adicional como diretório envolvente impede a Plataforma de encontrar a lista de classes raiz.

5. Carregar para a Ultralytics Platform#

  1. Abre Definições > Integrações > LabelMe.
  2. Clica em Carregar exportação.
  3. Carrega your_dataset.zip e termina a criação do conjunto de dados.
  4. Espera que o processamento termine e, em seguida, revê as imagens, as classes e as anotações.
  5. Edita as anotações, treina um modelo e faz a respetiva implementação a partir do mesmo espaço de trabalho.

Importação de conjunto de dados LabelMe na Ultralytics Platform

O LabelMe e a exportação YOLO permanecem totalmente offline. Apenas o ficheiro ZIP que selecionares na caixa de diálogo de carregamento é enviado para a Plataforma.

Resolução de problemas#

  • As classes têm os nomes class0, class1 e assim por diante: confirma que classes.txt está presente na raiz do ZIP.
  • Faltam algumas anotações: executa novamente labelmetk list-labels your_dataset/ e inclui todas as etiquetas necessárias em --class-names.
  • Os polígonos tornaram-se caixas: este é o comportamento documentado de export-to-yolo do LabelMe; converte formas que não são retângulos em caixas delimitadoras.
  • O conjunto de dados não tem imagens: confirma que o diretório images/ exportado está incluído no ZIP.
  • A Plataforma não consegue encontrar as classes: remove qualquer diretório externo do arquivo para que classes.txt, images/ e labels/ sejam as entradas de nível superior.

Para veres o fluxo de trabalho local completo, consulta o guia de treino YOLO do LabelMe e a referência de export-to-yolo.

Perguntas frequentes#

  • Não. O LabelMe e a exportação são executados localmente, e apenas o ficheiro ZIP que carregas é enviado para a Platform. O comando export-to-yolo faz parte do LabelMe Pro Toolkit, que é um requisito do LabelMe, mas o ficheiro ZIP resultante é carregado em qualquer plano da Platform.

  • Não com este fluxo de trabalho. O LabelMe Toolkit reduz polígonos e máscaras às respetivas caixas delimitadoras alinhadas aos eixos, pelo que o resultado é sempre um conjunto de dados de deteção. Desenha retângulos ao preparar os dados para esta exportação.

  • A Platform lê os nomes das classes a partir de classes.txt na raiz do ficheiro ZIP. Comprime o conteúdo da pasta de exportação, e não a pasta em si, para que classes.txt, images/, e labels/ sejam as entradas de nível superior.

  • Apenas as etiquetas passadas para --class-names, na ordem em que as listam. Executa labelmetk list-labels primeiro e inclui todas as etiquetas que queres manter.

Contribuidores

Comentários