Guia para iniciantes | Instalação | Uso | Exemplos
Labelme é uma ferramenta gráfica de anotação de imagens inspirada em http://labelme.csail.mit.edu.
Ele é escrito em Python e usa Qt como interface gráfica.
Exemplo de conjunto de dados VOC de segmentação de instância.
Outros exemplos (segmentação semântica, detecção de bbox e classificação).
Várias primitivas (polígono, retângulo, círculo, linha e ponto).
Anotação de imagem para polígono, retângulo, círculo, linha e ponto. (tutorial)
Anotação de sinalizador de imagem para classificação e limpeza. (#166)
Anotação de vídeo. (anotação de vídeo)
Personalização da GUI (rótulos/sinalizadores predefinidos, salvamento automático, validação de rótulos, etc). (#144)
Exportação de conjunto de dados em formato VOC para segmentação semântica/instância. (segmentação semântica, segmentação de instância)
Exportação de conjunto de dados no formato COCO para segmentação de instâncias. (segmentação de instância)
Se você é novo no Labelme, pode começar com o Labelme Starter, que contém:
Guias de instalação para todas as plataformas: Windows, macOS e Linux?
Tutoriais passo a passo : primeira anotação para edição, exportação e integração com outros programas?
Uma compilação de recursos valiosos para exploração adicional?.
Existem opções:
Instalação independente de plataforma: Anaconda
Instalação específica da plataforma: Ubuntu, macOS, Windows
Binários pré-construídos na seção de lançamento
Você precisa instalar o Anaconda e executar abaixo:
# python3conda create --name=labelme python=3source activate labelme# conda install -c conda-forge pyside2# conda install pyqt# pip install pyqt5 # pyqt5 pode ser instalado via pip em python3pip install labelme# ou você pode instalar tudo pelo comando conda # conda install labelme -c conda-forge
sudo apt-get install labelme# orsudo pip3 install labelme# ou instale o executável independente de:# https://github.com/labelmeai/labelme/releases# ou instale de sourcepip3 install git+https://github.com/labelmeai/ rotule-me
brew install pyqt # talvez pyqt5pip install labelme# ou instale executável/aplicativo independente de:# https://github.com/labelmeai/labelme/releases# ou instale de sourcepip3 install git+https://github.com/labelmeai/labelme
Instale o Anaconda e, em seguida, execute um Prompt do Anaconda:
conda criar --name=labelme python=3 conda ativar labelme pip install labelme# ou instale o executável/aplicativo independente de:# https://github.com/labelmeai/labelme/releases# ou instale a partir de sourcepip3 install git+https://github.com/labelmeai/labelme
Execute labelme --help
para obter detalhes.
As anotações são salvas como um arquivo JSON.
labelme # basta abrir o gui# tutorial (exemplo de imagem única)exemplos de cd/tutorial labelme apc2016_obj3.jpg # especifica a imagem filelabelme apc2016_obj3.jpg -O apc2016_obj3.json # fecha a janela após o savelabelme apc2016_obj3.jpg --nodata # não inclui dados de imagem, mas caminho relativo da imagem em JSON filelabelme apc2016_obj3.jpg --labels highland_6539_self_stick_notes,mead_index_cards,kong_air_dog_squeakair_tennis_ball # especificar lista de rótulos# exemplo de segmentação semântica exemplos de CD/segmentação_semântica labelme data_annotated/ # Abra o diretório para anotar todas as imagens em itlabelme data_annotated/ --labels rótulos.txt # especifique a lista de rótulos com um arquivo
--output
especifica o local onde as anotações serão gravadas. Se o local terminar com .json, uma única anotação será gravada neste arquivo. Somente uma imagem poderá ser anotada se um local for especificado com .json. Se o local não terminar com .json, o programa assumirá que é um diretório. As anotações serão armazenadas neste diretório com um nome que corresponda à imagem na qual a anotação foi feita.
Na primeira vez que você executar o labelme, ele criará um arquivo de configuração em ~/.labelmerc
. Você pode editar este arquivo e as alterações serão aplicadas na próxima vez que você iniciar o labelme. Se preferir usar um arquivo de configuração de outro local, você pode especificar esse arquivo com o sinalizador --config
.
Sem o sinalizador --nosortlabels
, o programa listará os rótulos em ordem alfabética. Quando o programa é executado com este sinalizador, ele exibirá os rótulos na ordem em que são fornecidos.
Os sinalizadores são atribuídos a uma imagem inteira. Exemplo
Os rótulos são atribuídos a um único polígono. Exemplo
Como converter arquivo JSON em array numpy? Veja exemplos/tutorial.
Como carregar o arquivo PNG da etiqueta? Veja exemplos/tutorial.
Como obter anotações para segmentação semântica? Veja exemplos/segmentação_semântica.
Como obter anotações para segmentação de instâncias? Veja exemplos/instance_segmentation.
Classificação de imagens
Detecção de caixa delimitadora
Segmentação Semântica
Segmentação de instância
Anotação de vídeo
git clone https://github.com/labelmeai/labelme.gitcd labelme# Instale anaconda3 e labelmecurl -L https://github.com/wkentaro/dotfiles/raw/main/local/bin/install_anaconda3.sh | bash -s .source .anaconda3/bin/ativar pip instalar -e.
Abaixo mostra como construir o executável independente no macOS, Linux e Windows.
# Configure condaconda create --name labelme python=3.9 conda activate labelme# Construa o executável independentepip install .pip install 'matplotlib<3.3'pip install pyinstaller pyinstaller labelme.spec dist/labelme --versão
Certifique-se de que o teste abaixo seja aprovado em seu ambiente.
Consulte .github/workflows/ci.yml
para obter mais detalhes.
pip install -r requisitos-dev.txt ruff format --check # `ruff format` para auto-fixruff check # `ruff check --fix` para auto-fixMPLBACKEND='agg' pytest -vsx testes/
Este repositório é o fork do mpitid/pylabelme.