ferramenta para rotular imagens para classificação

12

Alguém pode recomendar uma ferramenta para rotular rapidamente várias centenas de imagens como entrada para classificação? Eu tenho ~ 500 imagens microscópicas de células. Desejo atribuir categorias como 'íntegro', 'morto', 'inválido' manualmente para um conjunto de treinamento e salvá-las em um arquivo csv.

basicamente o mesmo descrito nesta pergunta, exceto que eu não tenho imagens proprietárias, então talvez isso abra possibilidades adicionais?

jlarsch
fonte
Isso é algo que você terá que fazer várias vezes? Nesse caso, pode valer a pena construir uma ferramenta. Veja isto: datascience.stackexchange.com/questions/13335/…
Hobbes
Pode seguir esse caminho, se necessário, mas parecia algo que muitas pessoas poderiam usar e para o qual já existe uma solução?
jlarsch
Parece que o anotador de pilab ou o pylabelme são úteis, mas podem ser um exagero. stackoverflow.com/questions/10609455/…
Hobbes
esses parecem voltados para a anotação de recursos nas imagens. Talvez eu pudesse usá-los da maneira mais básica para um rótulo apenas atribuir a toda a imagem
jlarsch
11
Existem algumas ferramentas para fora lá para anotação de imagem, o mais popular e fácil de usar é: github.com/tzutalin/labelImg
olive_tree

Respostas:

5

Acabei de hackear um auxiliar muito básico em python, que exige que todas as imagens sejam armazenadas em uma lista pyton allImages.

import matplotlib.pyplot as plt
category=[]
plt.ion()

for i,image in enumerate(allImages):
    plt.imshow(image)
    plt.pause(0.05)
    category.append(raw_input('category: '))
jlarsch
fonte
Se isso solucionou o problema, você deve aceitar a sua própria resposta para que ele não aparece como uma "pergunta sem resposta" sobre este site :)
Eskapp
1

Tente com supervisão .

Para sua tarefa, você pode criar classes: 'saudável', 'morto', 'doente' e associá-las à ferramenta Retângulo. Depois, basta colocar uma caixa em torno de cada célula com a classe correspondente. Abaixo está um exemplo:

  1. Definições de classes insira a descrição da imagem aqui
  2. Marcação insira a descrição da imagem aqui

Se suas categorias não forem mutuamente exclusivas, você poderá criar a classe "célula" (e associá-la ao retângulo) e, em seguida, criar várias tags - uma para cada uma de suas categorias. Abaixo está um exemplo:

  1. Definições de classes e tags insira a descrição da imagem aqui
  2. Marcação insira a descrição da imagem aqui
Yuri
fonte
1

Eu criei um código fazendo o que você precisa, ele está disponível no GitHub como image-sorter2 . Em vez de "rotular" imagens, ele as coloca em uma nova pasta, mas criar o csv de que você está falando é uma extensão direta. Comparado com os outros scripts sugeridos aqui, o image-sorter2 é 100% gratuito e você não precisa gastar tempo desenhando caixas delimitadoras - o script simplesmente abre uma GUI para você, você clica em um dos vários botões e corresponde a cada imagem é classificado na pasta de classe desejada, por exemplo, "gatos", "cães", "caminhões" aso

insira a descrição da imagem aqui

NeStack
fonte
1

pidgey - widget para notebook jupyter com aprendizado ativo

Acabei de encontrar essa ferramenta de código aberto e parece incrível: insira a descrição da imagem aqui

É um widget interativo para o Jupyter Notebook e o melhor de tudo - de acordo com este commit, você pode adicionar seu próprio classificador semelhante ao sklearn e usá-lo para prever as classes à medida que anota! O classificador continua aprendendo à medida que você avança na rotulagem.


tkteach - Ferramenta super rápida de categorização de imagens em Python

Além disso, existe uma ferramenta chamada tkteach e é ótima porque você pode anotar imagens muito rapidamente usando apenas o teclado. Eu melhorei a versão original um pouco. O garfo está aqui: https://github.com/Serhiy-Shekhovtsov/tkteach

insira a descrição da imagem aqui

Serhiy
fonte
0

Tente usar a ferramenta de anotação EVA. Ericsson / eva , isso tem uma excelente função de rastreamento. você marca o objeto em apenas 1 quadro e os demais / muitos dos quadros são anotados automaticamente. Isso também possui o recurso de desbloqueio de bloqueio para ajudar a anotar um número mais rápido e maior de objetos em cada quadro. Isso suporta upload de vídeo ou conjuntos de dados de imagem.

Melhor coisa, completamente grátis / código aberto! insira a descrição da imagem aqui

Manish S
fonte