Ultralytics YOLO27: Inscreve-te na lista de espera.

Importar anotações do LabelMe para a Ultralytics Platform#

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 ao LabelMe nem uma chave de API para configurar na Ultralytics Platform, nem é necessário converter os ficheiros: a Platform lê diretamente os ficheiros JSON do LabelMe. Faz as anotações no LabelMe, compacta a pasta num ficheiro ZIP e carrega-o como conjunto de dados da Platform.

1. Anotar as imagens no LabelMe#

Instala o LabelMe através da aplicação de ambiente de trabalho ou do pacote Python de código aberto e, em seguida, abre o diretório que contém as imagens. O guia de iniciação do LabelMe explica como abrir imagens, desenhar formas e guardar anotações.

Desenha retângulos para um conjunto de dados de deteção ou polígonos para um conjunto de dados de segmentação. O LabelMe guarda as anotações de cada imagem num ficheiro JSON junto à imagem:

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

2. Criar o arquivo ZIP#

Comprime a pasta com as imagens e os ficheiros JSON. No macOS ou Linux:

zip -r your_dataset.zip your_dataset

No Windows PowerShell:

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

Uma pasta exterior, subpastas aninhadas e pastas separadas para imagens e anotações funcionam, desde que o valor imagePath de cada ficheiro JSON aponte para uma imagem dentro do ZIP. A Platform lê esse ficheiro de imagem, não a cópia que o LabelMe pode incorporar no JSON como imageData, por isso mantém os ficheiros de imagem no arquivo. As imagens dentro de pastas cujos nomes começam por train, val ou test mantêm essa divisão. O JSON do LabelMe só é lido quando o arquivo não contém nenhum ficheiro data.yaml nem ficheiro JSON COCO, por isso não os incluas num ZIP do LabelMe.

3. Carregar para a Ultralytics Platform#

  1. Abre Definições > Integrações > LabelMe.
  2. Clica em Carregar exportação.
  3. Carrega your_dataset.zip e conclui a criação do conjunto de dados.
  4. Aguarda 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 implementa-o no mesmo espaço de trabalho.

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

O LabelMe funciona totalmente offline. Só o ficheiro ZIP que selecionas na janela de carregamento é enviado para a Platform.

Como importar formas do LabelMe#

Forma do LabelMeImportado como
rectangleCaixa delimitadora ou polígono de 4 pontos num conjunto de dados de segmentação
polygonPolígono
oriented_rectanglePolígono de 4 pontos
circlePolígono de 32 pontos
maskPolígono delineado a partir do contorno exterior da máscara, preenchendo os orifícios
line, linestrip, point, pointsIgnoradas, pois estas formas não têm área para treinar
  • Tarefa: um conjunto de dados anotado apenas com retângulos é importado como conjunto de dados de deteção. Qualquer polígono, retângulo orientado, círculo ou máscara faz com que seja um conjunto de dados de segmentação, e os respetivos retângulos tornam-se polígonos de 4 pontos para que nenhuma anotação se perca.
  • Classes: os nomes das etiquetas do LabelMe passam a ser os nomes das classes, por ordem alfabética. Ao importar para um conjunto de dados existente, as etiquetas são associadas às classes pelo nome e as restantes são adicionadas.
  • Formas agrupadas: as formas que partilham uma etiqueta e um ID de grupo correspondem a um único objeto. As partes são combinadas num único polígono ou numa única caixa num conjunto de dados de deteção.
  • Ignoradas: as formas sem etiqueta, as formas com a etiqueta __ignore__ e as flags ao nível da imagem não são importadas. As formas que ultrapassam os limites da imagem são recortadas.

Solução de problemas#

  • Imagens importadas sem anotações: confirma que os ficheiros JSON estão no ZIP e que o valor imagePath de cada ficheiro identifica uma imagem no arquivo. A Platform também faz a correspondência pelo nome do ficheiro, por isso um caminho absoluto desatualizado continua a funcionar se o nome do ficheiro de imagem não tiver mudado.
  • Os polígonos tornaram-se caixas de 4 pontos: os retângulos são convertidos em polígonos de 4 pontos nos conjuntos de dados de segmentação. Desenha polígonos para objetos que precisem de um contorno preciso.
  • Faltam linhas ou pontos: estas formas não têm área, por isso não podem ser usadas para deteção ou segmentação e são ignoradas.
  • O conjunto de dados não tem imagens: o LabelMe pode incorporar imagens nos ficheiros JSON, mas a Platform lê os ficheiros de imagem. Adiciona as imagens ao ZIP.

Perguntas frequentes#

  • Não. O LabelMe funciona localmente, a Platform lê diretamente os ficheiros JSON e só o ZIP que carregas é enviado para a Platform. Não é necessária uma subscrição LabelMe Pro nem uma exportação do Toolkit.

  • Sim. Os polígonos, retângulos orientados, círculos e máscaras são importados como polígonos de segmentação, e o conjunto de dados passa a ser um conjunto de dados de segmentação.

  • Os nomes das classes vêm das etiquetas do LabelMe e são ordenados alfabeticamente, pelo que as mesmas etiquetas são sempre associadas aos mesmos IDs de classe. Quando adicionas dados a um conjunto de dados existente, as etiquetas são associadas às classes pelo nome.

  • Sim. Uma exportação labelmetk export-to-yolo é carregada como um conjunto de dados YOLO normal. Mantém o ficheiro classes.txt da exportação no ZIP (a Platform lê o ficheiro mais superficial) para preservar os nomes das classes.

Comentários