Visão Computacional
1.  Representação de 
     imagens
2.  Filtragem de imagens
3.  Detecção de Bordas
4.  Segmentação Simples
5.  Crescimento de Regiões
6.  Segmentação com
     Filtros
7.  Segmentação a Cores
8.  Análise de Texturas
9.  Análise de Texturas
     Multiescalar 
10. Redes Neurais
11. Morfologia Matemática
12. Convolução
13. Esqueletonização
14. Técnicas Estatísticas
15. Fractais
16. Reconhecimento de
      Formas
17. Representação de 
      Objetos
18. Quadtrees e Octrees
19. Visão Estereo
20. Inteligência Artificial
21. Controle de qualidade
22. Robótica
23. Medicina
24. Sensoriamento remoto

Prof. Aldo von Wangenheim 
Currículo...
Publicações
Pesquisa
Projetos
Ensino de Graduação
Ensino de Pós Graduação 
Cursos

Você lê?
 

Técnicas de Segmentação Simples 
no Espaço de Valor
  1. Visão Geral de Conceitos e Técnicas para Segmentação de Imagens - Apresentação de Sylvio Mantelli - 1998

  2.  

     
     
     


Exemplo: Tomografia computadorizada de crânio e segmentação das partes ósseas por limiarização de tons de cinza (Imagem: Cortesia do Centro de Epilepsia do Hospital Universitário - UFSC. Equipamento: Toshiba 600S instalado no Hospital Celso Ramos, Florianópolis).


Alguns Exemplos

Com técnicas simples de segmentação como a Limiarização ( Thresholding) seguida de algumas operações matemáticas simples, você já pode fazer muitas coisas.
Vamos aqui abaixo exemplificar uma seqüência de operações onde o objetivo é o de identificar onde estão os carros em um semáforo. Suponha que isto sej aparte de uma aplicação hipotética onde um sistema automatizado identifica as placas dos veículos que cruzam o sinal fechado.

Poderíamos postular um algoritmo hipotético de altíssimo nível da seguinte forma:

  1. Encontrar os carros que furaram o sinal
  2. Identificar a placa destes carros
  3. Identificar o número da placa
  4. Outros processamentos com esse número que não são mais Visão Computacional
Para realizarmos a primeira etapa desse algoritmo, poderíamos imaginar que seria necessário um complexo método "identificador de carros" capaz de identificar o que é um carro e o que são outras coisas. Na verdade com limiarização a mais algumas técnicas extremamente simples isto se torna desnecessário.

As outras etapas, identificar onde está a placa no carro e ler os números da placa já são mais complexas, mas ficam bem mais simples se o espaço de busca é somente o carro e não a imagem como um todo. Mais adiante neste curso vamos ver também como se resolve estes problemas.

A Imagem: Suponha que os carros que você está vendo nesta imagem estão "furando" o sinal e foram fotografados por uma câmara postada na beira da rua.

Como fazemos para identificar os carros na imagem?

Podemos partir do princípio que a câmera está funcionado o tempo todo e tem a capacidade de tirar fotos da rua quando está vazia:

Se partirmos dessa premissa: Vamos sempre ter uma foto tirada em condições de luminosidade, sujeira na rua e tempo muito semelhantes ao "flagrante" que nos interesse, podemos dizer o seguinte: "carro é tudo aquilo na imagem que não estava lá antes".

Se partimos dessa afirmativa um tanto filosófica e tentamos implementá-la na prática, podemos afirmar que a diferença entre as duas imagens representa os carros.

Isto pode ser facilmente calculado através da diferença absoluta entre as duas imagens. Para facilitar a nossa vida, vamos converter as imagesn acima para P&B antes de iniciar. 
Veja agora o cálculo da diferença absoluta:

Esta diferença absoluta, que nada mais é que a subtração das duas imagens convertida para valores absolutos, como pode ser visto, não representa bem o que queremos ver, mas sim os valores de pixel resultantes de calcularmos o quanto cada pixel variou de uma foto para a outra. As imagens parecem fantasmas porque seus valores refletem tanto o que estava representado em uma imagem como o que estava na outra. À esquerda por exemplo, vemos um "fantasma" do carro que estava estacionado na calçada.

Como fazemos para retirar este efeito ? 

É aqui que a limiarização entra em jogo: Vamos usar esta imagem de diferenças acima como uma máscara para obter os pixels originais da imagem que contém os carros. Para isso vamos aplicar uma limiarizacão sobre a imagem de diferenças para gerar a máscara:

Neste caso acima utilizamos um valor bastante sensível: 20. Isto significa que todos os píxeis com valor acima de 20, significando que diferença resultante entre as duas imagens originais naquele ponto era maior ou igual a 20, foram transformados para branco. Assim criamos uma máscara binária, com comente dois valores de pixel: 1 para branco e 0 para preto. Observe que este valor sensível trouxe um monte de lixo para a máscara. Mesmo assim, ela representa bem a área onde "há carros".

Esta máscara possui propriedades matemáticas interessantes. Podemos utilizá-la para multiplicar a imagem original contendo os carros e gerar uma nova imagem:

Nesta imagem resultante, todo pixel multiplicado por 1 (um pixel membro da máscara) produziu um pixel resultante de igual valor. Todo pixel multiplicado por 0 foi substituído por 0 na imagem resultante. Assim obtemos uma imagem com os pixeis originais onde a diferença foi maior do que o limiar estabelecido por nós e preto onde essa diferença esteve abaixo. A imagem acima foi filtrada para eliminar os resíduos de pequeno tamanho. Como fazer isto você vai aprender mais tarde.

Testando você mesmo

No link abaixo você vai encontrar um Workspace com a seqüência de operadores utilizada.



 
Contato:
Tel.: +55-48-331 7552/9498
FAX: +55-48-331-9770
awangenh@inf.ufsc.br