UNIVERSIDADE ESTADUAL PAULISTA Campus de Sorocaba Segmentação
A separação dos pixeis relativos a cada objeto, ou região, é uma etapa fundamental para o sucesso do processo de análise da imagem. Embora o ser humano possa facilmente identificar regiões com as mesmas características ou objetos presentes em uma imagem, para se realizar a mesma tarefa com um computador deve-se implementar algoritmos que analisem as características de cada pixel ou da distribuição da população de pixeis.
O processo de agrupamento dos pixeis pertencentes a um mesmo objeto ou região é chamado de segmentação. As técnicas de segmentação de imagens podem ser classificadas nas seguintes categorias: detecção descontinuidades; técnicas de limiar; métodos baseados em região; métodos híbridos.
Métodos baseados em detecção de descontinuidades levam em consideração o fato de que entre duas regiões deve existir uma fronteira. Desta forma, procura-se identificar descontinuidades significativas na imagem que possam representar as bordas da região.
A operação clássica utilizada como exemplo é o gradiente que intensifica as variações de tonalidade presentes resultando em uma imagem com pixeis mais intenso, permitindo a binarização da imagem e a identificação dos contornos. Um dos principais problemas na aplicação do gradiente é a obtenção de regiões com bordas abertas devido a ruídos ou uso de iluminação não uniforme quando da aquisição da imagem.
Uma outra abordagem para se identificar bordas e que resultam em contornos fechados são os modelos baseados em snakes (Kass, 1987) que são curvas paramétricas fechadas que se deformam dinamicamente e movem-se em direção as bordas presentes na imagem sob a influência de forças internas e externas, através da minimização de uma função energia. KASS, M.; WITKIN, A. e TERZOPOULOS, D. Snakes: Active contour models. International Journal of Computer Vision, vol. 1. pp. 321-331, 1987.
Os métodos baseados em limiares partem do pressuposto de que os pixeis que pertencem a uma mesma região possuem características de tonalidade similares entre si. Os métodos baseados em região dividemse em: split e merge e crescimento de regiões.
No método de split e merge parte-se de regiões arbitrariamente sub-divididas que podem se juntar ou se subdividirem de acordo com critérios pré-determinados. Nos métodos de crescimento de regiões, a partir de um pixel inicial, chamado de semente, agrega-se outros pixeis também de acordo com um critério préestabelecido. Entre as características utilizadas nos critérios de agregação, estão: nível de cinza, cor, textura ou estatística da população de pixeis.
Os métodos híbridos procuram utilizar técnicas acopladas que visam minimizar as limitações de cada uma quando usadas separadamente.
Detecção de descontinuidades
Tipos Detecção de pontos; Detecção de linhas; Transformada Hough Detecção de bordas. Em geral, são usadas máscaras de convolução.
Detecção de bordas
Gradiente (Sobel) -1-2 -1 0 0 0 1 2 1-1 0 1-2 0 2-1 0 1
Laplaciano 0-1 0-1 4-1 0-1 0
Laplaciano cruzamento de bordas Convolução da imagem com o laplaciano de uma função gaussiana.
Limiarização
> = T T y x g 0 se argumento 1se argumento ), ( [ ] ), (,, ),, ( ), ( y x p y x y x f T y x g = p(x,y) é alguma propriedade da imagem em (x,y)
Limiar = 114
12000 10000 8000 6000 4000 2000 0 0 50 100 150 200 250 300 12000 10000 8000 6000 4000 2000 0 0 50 100 150 200 250 300
UNIVERSIDADE ESTADUAL PAULISTA Campus de Sorocaba Segmentação Crescimento de regiões
O processo de agrupamento dos pixeis pertencentes a um mesmo objeto ou região é chamado de segmentação. As técnicas de segmentação de imagens podem ser classificadas nas seguintes categorias: detecção descontinuidades; técnicas de limiar; métodos baseados em região; métodos híbridos.
O processo de agrupamento dos pixeis pertencentes a um mesmo objeto ou região é chamado de segmentação. As técnicas de segmentação de imagens podem ser classificadas nas seguintes categorias: detecção descontinuidades; técnicas de limiar; métodos baseados em região; métodos híbridos.
Nos métodos de crescimento de regiões, a partir de um pixel inicial, chamado de semente, agrega-se outros pixeis também de acordo com um critério préestabelecido. Entre as características utilizadas nos critérios de agregação, estão: nível de cinza, cor, textura ou estatística da população de pixeis.
Os algoritmos para a implementação do processo de crescimento de região, baseados na comparação com os primeiros quatro vizinhos: a i-1,j-1 a i-1,j a i-1,j+1 a i,j-1 a i,j a i,j+1 a i+1,j-1 a i+1,j a i+1,j+1
O algoritmo deve: realizar a comparação entre o pixel base e os seus vizinhos de acordo com algum critério de agregação; incorporar ou não estes vizinhos a região e prosseguir para um próximo pixel para repetir o processo; definir uma ordem de comparação com os vizinhos e como será escolhido o próximo pixel base. Nota-se que em cada passo do processo, até quatro podem ser os novos pixeis candidatos a pixel base na próxima interação. Ao se escolher um, deve-se manter os demais em espera e retornar a eles em algum momento
Duas maneiras de se implementar o processo de crescimento de região descrito são: com o uso de funções recursivas com pilhas.
Algoritmo com funções recursivas.
O algoritmo usando a abordagem de funções recursivas tem os seguintes passos: 1. defini-se uma função CresceRegião que recebe um pixel como sendo o pixel base;
2. a função verifica se o pixel base a(i,j) já foi comparado com o pixel a(i,j+1) 2.1 se a(i,j+1) não tenha sido comparado, utiliza-se um critério de agregação para se verificar se o pixel ai,j+1 pertence ou não a região 2.1.1 se o pixel a(i,j+1) pertencer a região, chama-se recursivamente CresceRegião, passando-se a(i,j+1) como parâmetro;
2.2 se a(i,j+1) já tenha sido comparado, verifica-se se a(i-1,j) já foi comparado; 2.2.1 se a(i-1,j) ainda não foi comparado, utiliza-se um critério de agregação para se verificar se o pixel a(i-1,j) pertence ou não a região 2.2.1.1 se o pixel a(i-1,j) pertencer a região, chama-se recursivamente CresceRegião passando-se a(i-1,j) como parâmetro;
2.2.2 se a(i-1,j) já tenha sido comparado, verifica-se se a(i,j-1) já foi comparado, 2.2.2.1 se a(i,j-1) ainda não foi comparado, utiliza-se um critério de agregação para se verificar se o pixel a(i,j-1) pertence ou não a região 2.2.2.1.1 se o pixel a(i,j-1) pertencer a região, chama-se recursivamente CresceRegião passandose a(i,j-1) como parâmetro;
2.2.2.2 se a(i,j-1) já tenha sido comparado, verificase se a(i+1,j) já foi comparado, 2.2.2.2.1 se a(i+1,j) ainda não foi comparado, utiliza-se um critério de agregação para se verificar se o pixel a(i+1,j) pertence ou não a região 2.2.2.2.1.1 se o pixel a(i+1,j) pertencer a região, chama-se recursivamente CresceRegião passando-se a(i+1,j) como parâmetro; 2.2.2.2.1.2 caso contrário, chama-se recursivamente CresceRegião passando-se o pixel anterior que pertence a região como parâmetro;
O processo termina se voltar-se ao pixel semente e todos os seus vizinhos tenham sido testados. Para se evitar que o algoritmo entre em um laço infinito em que um pixel testa outro e vice-versa, deve-se manter um rótulo em cada pixel que indique qual o caminho seguido no processo de comparação.
Algoritmo com pilha
Nesta abordagem, cria-se uma pilha e verifica-se, com o uso de um critério de agregação, se os primeiros quatro vizinhos do elemento que estava no topo da pilha pertencem a região de interesse. Quando o vizinho satisfaz o critério, coloca-o na pilha. O primeiro elemento a ser colocado na pilha é o pixel semente. Repete-se o processo até que a pilha esteja fazia. Na implementação deve-se manter um rótulo para se verificar se o pixel já foi avaliado.
Exemplos
171 120 Imagem sintética de 200 x 200 pixeis, com quatro regiões de tons de cinza diferentes: fundo é três círculos com valor 255, um dos círculos com valor 171, duas regiões não adjacentes com valor 120 e a região mais escura com valor 0.
171 120 Resultado do processo de crescimento de região com o método da função recursiva e com o método da pilha, pixel semente na posição (120, 120) e limiar de 10.
171 120 Resultado do processo de crescimento de região com o método da função recursiva e com o método da pilha, pixel semente na posição (120, 120) e limiar de 130.
Segmentação dos pixeis pertencentes ao lago da represa de Itupararanga utilizando- se o método da pilha, com diferença máxima entre os tons de cinza de 10.
Estudo temporal da área superficial de reservatórios de água.
25/10/1995 16/05/2003
25/10/1995 16/05/2003
Determinação de contornos urbanos.
Coleta de imagens no Rio Sorocaba Para a semana que vêm (15/05): Formar grupos de até três pessoas Selecionar pelo menos duas imagens adquiridas e enviar para amartins@sorocaba.unesp.br até 14/05 com os nomes dos integrantes do grupo Apresentar como o processamento de imagens poderia ser utilizado para a extração de informações da imagem
Apresentação de artigo A apresentação será feita por meio da gravação de um vídeo de no máximo 10 minutos que deverá conter: Informações do artigo (nome, revista e autores) Descrição do problema Técnica(s) utilizada(s) Resultados Data de entrega: 29/05/2018
Documento e apresentação da Proposta de Projeto A proposta de Projeto deverá ter: Título Motivação Objetivos Exemplo de imagem a ser utilizada Métodos Enviar o documento do projeto em pdf e vídeo de no máximo 5 minutos apresentando a proposta para amartins@sorocaba.unesp.br até 05/06.