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.json2. 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.
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,normalSubstitui 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.txtclasses.txt preserva os nomes das classes na mesma ordem utilizada pelos ficheiros de etiquetas YOLO. Mantém-no na raiz da
exportaçã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 labelsNo Windows PowerShell:
Compress-Archive -Path .\your_dataset.export\* -DestinationPath .\your_dataset.zipAbre 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#
- Abre Definições > Integrações > LabelMe.
- Clica em Carregar exportação.
- Carrega
your_dataset.zipe termina a criação do conjunto de dados. - Espera que o processamento termine e, em seguida, revê as imagens, as classes e as anotações.
- Edita as anotações, treina um modelo e faz a respetiva implementação a partir do mesmo espaço de trabalho.

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,class1e assim por diante: confirma queclasses.txtestá 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-yolodo 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/elabels/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-yolofaz 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.txtna raiz do ficheiro ZIP. Comprime o conteúdo da pasta de exportação, e não a pasta em si, para queclasses.txt,images/, elabels/sejam as entradas de nível superior.Apenas as etiquetas passadas para
--class-names, na ordem em que as listam. Executalabelmetk list-labelsprimeiro e inclui todas as etiquetas que queres manter.