Exporte anotações do LabelMe para YOLO e Ultralytics Platform#
LabelMe é uma ferramenta offline de anotação de imagens com um aplicativo Python de código aberto. Não há conexão ativa com o LabelMe nem chave de API para configurar na Ultralytics Platform. A integração completa é um fluxo de trabalho local: faça as anotações no LabelMe, converta as anotações JSON do LabelMe para o formato YOLO com o LabelMe Toolkit e envie o ZIP resultante como um conjunto de dados da Platform.
1. Anote as imagens no LabelMe#
Instale o LabelMe usando o aplicativo para desktop ou o pacote Python de código aberto e, em seguida, abra o diretório que contém as imagens. O LabelMe salva as anotações de cada imagem em um arquivo JSON correspondente.
Para o fluxo de trabalho de detecção YOLO deste guia, desenhe retângulos ao redor de cada objeto e atribua um nome de classe. O guia inicial do LabelMe explica como abrir imagens, desenhar formas e salvar anotações, enquanto o guia de conjuntos de dados do LabelMe explica como revisar e preparar um conjunto de dados totalmente anotado.
O diretório de origem deve conter as imagens e os arquivos JSON do LabelMe:
your_dataset/
├── image_001.jpg
├── image_001.json
├── image_002.jpg
└── image_002.json2. Instale o LabelMe Toolkit#
Instale o LabelMe Toolkit seguindo o guia de instalação do toolkit do LabelMe. O toolkit e suas exportações são executados localmente.
export-to-yolo faz parte do LabelMe Pro Toolkit, e é necessário entrar na conta do LabelMe para baixar o instalador.
Este é um requisito do produto LabelMe; o ZIP resultante pode ser enviado em qualquer plano da Platform.
Verifique a instalação e, em seguida, liste todos os rótulos encontrados no conjunto de dados de origem:
labelmetk --version
labelmetk list-labels your_dataset/Revise a saída antes de exportar. Os rótulos omitidos de --class-names são ignorados, e a ordem informada define
a ordem dos IDs de classe YOLO.
3. Exporte para o formato YOLO#
Execute export-to-yolo com o diretório de origem e uma lista de nomes de
classes separados por vírgulas:
labelmetk export-to-yolo your_dataset/ --class-names crack,normalSubstitua crack,normal pelos rótulos retornados 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 de classe na mesma ordem usada pelos arquivos de rótulos YOLO. Mantenha-o na raiz da
exportação.
O LabelMe Toolkit exporta retângulos como caixas delimitadoras YOLO. Ele também reduz polígonos e máscaras às suas
caixas delimitadoras alinhadas aos eixos; por isso, export-to-yolo não preserva a geometria da segmentação. Desenhe retângulos ao
preparar um conjunto de dados de detecção com este fluxo de trabalho.
4. Crie o arquivo ZIP#
Comprima o conteúdo de your_dataset.export/, e 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.zipAbra o ZIP antes de enviá-lo e confirme que classes.txt, images/ e labels/ estão na raiz. Um diretório extra
your_dataset.export/ envolvendo esses arquivos impede que a Platform encontre a lista de classes na raiz.
5. Envie para a Ultralytics Platform#
- Abra Configurações > Integrações > LabelMe.
- Clique em Enviar exportação.
- Envie
your_dataset.zipe conclua a criação do conjunto de dados. - Aguarde a conclusão do processamento e, em seguida, revise as imagens, classes e anotações.
- Edite as anotações, treine um modelo e implante-o no mesmo espaço de trabalho.

O LabelMe e a exportação YOLO permanecem totalmente offline. Somente o arquivo ZIP selecionado na caixa de diálogo de envio é enviado para a Platform.
Resolução de problemas#
- As classes têm os nomes
class0,class1e assim por diante: confirme queclasses.txtestá presente na raiz do ZIP. - Faltam algumas anotações: execute
labelmetk list-labels your_dataset/novamente e inclua todos os rótulos necessários em--class-names. - Os polígonos foram convertidos em caixas: esse é o comportamento documentado de
export-to-yolodo LabelMe; ele converte formas que não são retângulos em caixas delimitadoras. - O conjunto de dados não tem imagens: confirme que o diretório
images/exportado está incluído no ZIP. - A Platform não encontra as classes: remova qualquer diretório externo do arquivo para que
classes.txt,images/elabels/sejam as entradas de nível superior.
Para conhecer o fluxo de trabalho local completo, consulte o
guia de treinamento YOLO e a
referência de export-to-yolo do LabelMe.
Perguntas frequentes#
Não. O LabelMe e a exportação são executados localmente, e somente o ZIP que você envia é encaminhado à Platform. O comando
export-to-yolofaz parte do LabelMe Pro Toolkit, que é um requisito do LabelMe, mas o ZIP resultante pode ser enviado em qualquer plano da Platform.Não com este fluxo de trabalho. O LabelMe Toolkit reduz polígonos e máscaras às suas caixas delimitadoras alinhadas aos eixos; por isso, o resultado é sempre um conjunto de dados de detecção. Desenhe retângulos ao preparar dados para esta exportação.
A Platform lê os nomes das classes de
classes.txtna raiz do ZIP. Comprima o conteúdo da pasta de exportação, não a pasta em si, para queclasses.txt,images/elabels/sejam as entradas de nível superior.Somente os rótulos passados para
--class-names, na ordem em que você os listar. Executelabelmetk list-labelsprimeiro e inclua todos os rótulos que deseja manter.