Tutorial ferramentas de marcação: labelme e LabelImgTool

Tutorial Instalação labelme

marcação-citologia

Site: https://github.com/wkentaro/labelme

A instalação foi feita no sitema operacional linux – ubuntu

Para inicializar a instalação da ferramenta de anotação Labelme, é necessário que se abra o Terminal, pois os comandos serão executados pelo o mesmo, para abri – lo usa-se o “Ctrl + Alt + T”

Ps: Importante digitar ‘y’ ou ‘yes’ quando for requisitado, para dar prosseguimento à instalação.

Primeiramente, o labelme é na linguagem Python, e para que ele execute, é necessário o download do Python, e no nosso caso usaremos o python 3, a instalação se dá pelo seguinte comando:

$ sudo apt-get install python3.6

Como o download será pelo auxilio do GitHub, precisa-se instalar o git através do terminal, a instalação se dá pelo seguinte comando:

$ sudo apt install git

Após a instalação do git é necessário a instalação do cURL que é usado  para a transferência de dados, pois com ele poderemos fazer o download do Anaconda, que através dele(Anaconda) é executado a ferramenta de anotação labelme, a instalação se dá pelo seguinte comando:

$ sudo apt install curl

Feito isso, da-se início ao download do Anaconda, a instalação se dá pelo seguintes comandos:

$ curl -O https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh

$ chmod +x Anaconda3-5.2.0-Linux-x86_64.sh

$ ./Anaconda3-5.2.0-Linux-x86_64.sh

$ source ~/.bashrc

$ anaconda-navigator

Ps: Esse último se tiver o interesse em abrir o navegador anaconda.

Após a instalação do Anaconda, da-se a instalação do labelme.
Como o repositório da ferramenta encontra-se no GitHub, clona-se o link do mesmo ao terminal a partir do seguinte comando:

$ git clone https://github.com/wkentaro/labelme.git

Com isso, podemos preparar a execução da ferramenta com o anaconda, através do seguinte comando:

$ conda create --name=labelme python=3.6

Agora, inicia-se o ambiente Python em Anaconda parao labelme,  através do seguinte comando:

$ source activate labelme

Por fim, se instala o pyqt5 e o próprio labelme pelo pip, a instalação se dá pelo seguintes comandos:

$ pip install pyqt5

$ pip install labelme

Para abrir o a ferramenta, executa-se o comando:

$ labelme

Ps: Para se executar o labelme depois de instalado os comandos são:

$ source activate labelme

$ labelme

Usando labelme

Essa é a tela inicial da ferramenta de anotação labelme:

Screenshot from 2018-11-13 14-37-39

Na parte da esquerda encontra-se o menu de interação, onde se tem o criador de poligonos, usados para demarcar as imagens, onde se encontra demarcado em rosa na imagem abaixo:

Screenshot from 2018-11-13 14-56-52

Porém, há a possibilidade também de se criar retangulos, círculos, linhas e ponto. Ao clicar com o botão direito do mouse na imagem, ou clicar em edit no canto superior esquerdo da tela, aparecem essas possibilidades.

A seguir, usando os poligonos foi demarcada uma imagem:

Screenshot from 2018-11-13 16-59-11

A imagem é salva em formato ‘.json’, nela está contido toda as demarcações de pontos, como é mostrado na imagem abaixo:

Screenshot from 2018-11-13 17-12-25

Para vizualizar a marcação da imagem de forma rápida, pode-se utilizar o seguinte comando:
labelme_draw_json ‘nome da imagem’.json

Abra uma nova aba no terminal, aqui o arquivo ‘.json’ foi salvo no Desktop, neste caso o nome da imagem é ‘cr7’, então os comandos ficaram:

$ source activate labelme

$ cd Desktop/

$ labelme_draw_json cr7.json

A seguir a imagem:

Screenshot from 2018-11-13 17-25-25

Existe também a possibilidade de salvar a imagem em uma pasta, nela está contido em formato ‘.png’, as três possíveis imagens, abaixo se encontra os comandos:

$ source activate labelme

$ cd Desktop/

$ labelme_json_to_dataset cr7.json -o cr7_json

incluindo essa abaixo:

Screenshot from 2018-11-14 14-33-25

Gerando Dados em Formato VOC para Segmentação Semântica

O labelme permite você transformar um conjunto de imagens anotadas em um dataset para segmentação semântica. Para tanto ele gera um conjunto de dados em formato VOC, onde os pixels correspondentes a cada classe de seu dataset possuem uma cor diferente.

Um explicação completa está em: https://github.com/wkentaro/labelme/tree/master/examples/semantic_segmentation.


Tutorial Instalação LabelImgTool

Site: https://github.com/lzx1413/LabelImgTool
#python 2.6

A instalação foi feita no sitema operacional linux – ubuntu

Para inicializar a instalação da ferramenta de anotação LabelImgTool, é necessário que se abra o Terminal, pois os comandos serão executados pelo o mesmo, para abri – lo usa-se o “Ctrl + Alt + T”

Ps: Importante digitar ‘y’ ou ‘yes’ quando for requisitado, para dar prosseguimento à instalação.

Se caso não tenha instalado o GitHub, o comando encontra-se abaixo:

$ sudo apt install git

Para clonar o repositório do GitHub onde se encontra a ferramenta de anotação o comando é:

$ git clone https://github.com/lzx1413/labelImgPlus.git

Abaixo estão os comandos que contém os requisitos que necessitam ser baixados para executar a ferramenta, é executado em python e usa Qt para sua interface gráfica.

$ sudo apt-get install pyqt4-dev-tools

$ sudo apt-get install python-opencv

Como a ferramenta está em python 2.6, e foi instalado o python 3.6, é necessário especificar qual versão do python está se referindo na hora de executar.

Se acaso não há o pip instalado no seu computador, é necesário fazer o download, pois é um sitema de gerenciamento de pacotes usado para instalar e gerenciar pacotes de software escritos na linguagem de programação Python, a instalação se dá pelo seguintes comandos:

$ sudo apt-get install pip2

$ sudo apt-get install python-pip

A seguir existem mais dois comandos que são requisitos para a execução da ferramenta:

$ pip2 install lxml

$ pip2 install qdarkstyle

Pode-se tentar executar a ferramenta através do comando:

$ python2 labelImg.py

Se caso der erro e for pedido para instalar o requests, o comando para download está abaixo:

$ sudo pip install requests

Ainda se persistir o erro e for requisitado ‘PIL’ o comando para download está abaixo:

$ sudo pip install Pillow

Se tudo foi instalado corretamente pode executa-lo:

$ cd LabelImgTool/

$ python2 labelImg.py

Essa é a tela inicial da ferramenta de anotação LabelImgTool:

Screenshot from 2018-11-19 13-48-26

Assim como a ferramenta labelme, o LabelImgTool conta com o seu menu de interação no canto esquerdo da tela:

Screenshot from 2018-11-19 14-02-27

Ao contrário da outra ferramenta, o LabelImgTool dispõe de um menu onde pode-se escolher qual o tipo de marcação que o usuário deseja, existem 4 opções:

Para acessa-las vai em: Files(canto superior esquerdo da tela) → Settings →

Ai aparece essa Tela:

Screenshot from 2018-11-19 14-22-06

As opções são: CLS, DET, SEG E BRU:

CLS Mode: Não se faz nada nesse modo*

DET Mode:
Permite a criação de RectBoxes:

Screenshot from 2018-11-19 14-47-37

SEG Mode:
Assim como o labelme, permite a criação de polígonos:

Screenshot from 2018-11-19 14-57-35

BRU Mode:
Permite o usuário desenhar na imagem para seleciona-la:

Screenshot from 2018-11-19 15-08-04

Ps: Há um erro para salvar o BRU Mode, não consigo fazer reconhecer a marcação.

As imagens demarcadas são salvas em ‘.xml’ , a seguir um exemplo salvo em SEG Mode:

Screenshot from 2018-11-19 15-47-22

Mouse ou Caneta? – Que Ferramenta eu uso?

Você pode usar seu mouse para marcar as imagens. Funciona.

Se você quiser ser mais produtivo, vale usar uma mesa digitalizadora (tablet) com caneta. Existem tablets bastante acessíveis, a partir de aproximadamente USD 49,00.  É importante, no entanto, ter certeza de que o tablet vai funcionar com Linux: muitos tablets possuem drivers que são Windows-only ou Mac-only.

Uma marca indicada em vários fóruns na Internet e que nós testamos e que funciona muito bem com Linux é HUION. Nos nossos testes utilizamos um tablet grande, em formato A4 (Huion Giano Wireless Graphic Drawing Tablet with 13.8-by-8.6 Inch and 8GB MicroSD Card – WH1409 – https://www.amazon.com/gp/product/B01CYCOYSU/), mostrado na imagem abaixo:

61V9-Ho9KUL._SL1500_

Este tablet da imagem acima é semi-profissional e vai custar um pouco a mais. Existem também modelos menores e mais em conta do mesmo fabricante. Procure nos fóruns na Internet para saber quais modelos funcionam bem com Linux antes de comprar algum.

Sobre o Autor

Graduando em sistemas de informação na UFSC, atualmente cursando o sexto semestre, bolsista de telemedicina.