Processamento de imagens na prática

Introdução à Classificação de Imagens

Quem seguiu o tutorial da semana passada, sobre medição da cor dos objetos, salvou uma tabela gerada pelo ImageJ. Eram os resultados da medidas da cores dos objetos em uma imagem (na verdade, um desenho…).

Para discutir o que fazer com estes dados, vou começar por uma visão de onde estamos, num processo completo de reconhecimento de padrões. Por completo, eu me refiro a um processo que teve um inicio, numa imagem captada, e procura alcançar um objetivo, ou resolver um problema.

Etapas do Reconhecimento de padrões

Imagem segmentada.

Imagem segmentada.

Processamento: operações com ou sobre as imagens, que possibilitam a execução dos próximos passos, como correções ou obtenção de imagens processadas (como as imagens binárias que usamos para a segmentação).
Segmentação: operações que separam e identificam os objetos que serão medidos.
Análise: medição das características da imagem ou dos objetos segmentados.
Classificação: separa os objetos em grupos, identificando-os de acordo com os padrões que estão sendo pesquisados.

No exemplo dos círculos, processamos a imagem tornando-a binária para a segmentação, e separando seus canais de cor para a medição dos valores dos pixels. Depois segmentamos usando threshold e watershed, obtendo uma imagem adequada para as medições que pretendíamos fazer. Analisamos usando o Analyse Particles, do ImageJ, que forneceu os valores médios dos pixels para cada objeto: a cor.

Agora chegou a vez da próxima etapa: a classificação. Para isto, vamos ver o que conseguimos até aqui…

Dispersão das medidas de vermelho e verde.

Dispersão das medidas de vermelho e verde.

A tabela que obtive com o ImageJ, eu importei para o calc (BrOffice.org) para poder fazer operações e gráficos com os números. Um gráfico de dispersão entre os valores de vermelho e verde para cada objeto traz alguma informação sobre como usar os dados que temos.

O gráfico separou visivelmente os dados em três grupos, ficando apenas um ponto afastado de todos os grupos. Olhando a imagem em que estamos trabalhando, percebemos que temos três cores de objetos, e que dois deles não puderam ser segmentados apropriadamente, e foram considerados um só pelo programa (o objeto de número 8 no Outline).

Outline da imagem analisada.

Outline da imagem analisada.

Classificação

Apesar de conseguirmos um gráfico em que é visível a separação, instruir o computador sobre como identificar os objetos não é tão simples como instruir uma pessoa.

Se o objetivo do seu trabalho se restringe a apenas uma imagem, como no exemplo, pode-se criar regras do tipo:

  • Objetos com G maior que 80 são azuis;
  • Objetos com R maior que 150 são vermelhos;
  • Objetos com R e G menor que 50 são pretos.

Só que no mundo real, as coisas não são tão simples. Em pesquisas científicas, ou procedimentos laboratoriais, fala-se em lotes de imagens. Imagens do mundo real têm variações do mundo real, e os objetos nem sempre se comportam da mesma forma.

Por isso usamos métodos com validade estatística para classificar objetos em imagens. Por isso existem vários métodos diferentes, cada um com suas particularidades. A escolha do método adequado faz parte da atividade de pesquisa, e muitas vezes é decisiva para o cumprimento ou não dos objetivos.

Por isso nas próximas semanas vou abordar alguns métodos de classificação. Em geral eles podem ser divididos em dois grupos:  supervisionados e não supervisionados. Os supervisionados, como o nome sugere. necessitam de intervenção humana.

Por onde eu começo?  Bom, isso é assundo para o próximo post.

1 Comentário para Introdução à Classificação de Imagens

  1. João's Gravatar João - 11 de agosto de 2010 at 15:53 | Permalink

    Oi Gabriela,
    não é comentário, ou melhor, até vou dizer que como é fantástico o seu conhecimento nessa área de processamento de imagens!! Parabéns!
    Bom, o que eu estou querendo é um programa que conte o número de pixels de determinada cor… é que eu sou biólogo e trabalho com folhas de mangue, que nos contam se o ambiente é mais saudável ou não pela área foliar (maior área, mais saudável) e também o grau de herbivoria (quanto mais comida, menos saudável é o ambiente) e ainda pela cor, quanto maiores as áreas amarelas, com fungos, menos saudável… Eu digitalizo as folhas e avalio a área , a área comida e as áreas descoloridas ou fungadas…
    Assim, você poderia me indicar um programa que faça tudo isso? Obrigado! João

Comente

Você pode usar estas tags e atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>