Seminrio Introduo Viso Computacional The Cyclops Project CPGCC

  • Slides: 43
Download presentation
Seminário Introdução à Visão Computacional - The Cyclops Project CPGCC - INE -UFSC

Seminário Introdução à Visão Computacional - The Cyclops Project CPGCC - INE -UFSC

Domínio do Espaço - Parte II 2. Domínio do Espaço Parte II - Operações

Domínio do Espaço - Parte II 2. Domínio do Espaço Parte II - Operações sobre Regiões E 4. Crescimento de Regiões Simples • E 4. 1 Crescimento de Regiões com Medidas Simples • E 4. 2 Split & Merge E 4’ O Funcional de Mumford & Shah • E 4. 3 Mumford & Shah E 3’’ O Método do Divisor de Águas • E 4. 4 Watershed

Segmentação de Regiões A simplificação da imagem é uma questão central na visão computacional,

Segmentação de Regiões A simplificação da imagem é uma questão central na visão computacional, o que pode ser feito reduzindo-se as informações da imagem para regiões mais ou menos homogêneas. O resultado é uma “caricatura” da realidade onde somente a parte importante está presente, sendo que os detalhes desnecessários e ruídos são extraídos. Aplicações: • Controle de qualidade • Inspeção automatizada de peças em fábricas • Visão robótica

Existem métodos simples para segmentar a imagem, como: • Threshold • Filtros de Frequência

Existem métodos simples para segmentar a imagem, como: • Threshold • Filtros de Frequência • Histograma • etc. Mas esses métodos deixam restos de informações desnecessárias ou perdem informações. Threshold

Segmentação de Regiões • Para superar essas limitações de métodos no domínio do valor,

Segmentação de Regiões • Para superar essas limitações de métodos no domínio do valor, foram desenvolvidos métodos que operam no domínio do espaço e utilizam informações sobre: • vizinhança de pixel • variação de valor de pixel em uma vizinhança • estatísticas sobre agrupamentos de pixel. . . para gerar uma imagem resultante dividida em regiões.

Exemplos

Exemplos

E 4. 1. Crescimento de Regiões com Medidas Simples Crescimento de regiões • Conecção

E 4. 1. Crescimento de Regiões com Medidas Simples Crescimento de regiões • Conecção simples • Conecção híbrida

E 4. 1. Crescimento de Regiões com Medidas Simples - Conecção simples Pixels similares

E 4. 1. Crescimento de Regiões com Medidas Simples - Conecção simples Pixels similares são unificados em regiões: Princípios de similaridade • Normalização. • Valor absoluto da diferença com os seus vizinhos. • Diferença da média quadrática dos píxels da imagem. • Desvio padrão • Região vai crescendo e se permite que cresça até o desvio padrão de valores em seu interior ultrapassar um limiar.

E 4. 1. Crescimento de Regiões com Medidas Simples - Conecção simples

E 4. 1. Crescimento de Regiões com Medidas Simples - Conecção simples

E 4. 1. Crescimento de Regiões com Medidas Simples - Conecção híbrida Utiliza-se como

E 4. 1. Crescimento de Regiões com Medidas Simples - Conecção híbrida Utiliza-se como auxiliar uma imagem de bordas (gradientes): • Cada píxel possui uma propriedade vetorial que depende de sua vizinhança K x K (máscara), indicando a direção da borda. • Os píxels marcados como bordas são conectados por um arco/polígono. • Uma região não pode ser considerada um segmento enquanto sua fronteira estiver aberta. • A qualidade da técnica depende dos algoritmos de detecção de bordas utilizados. • Dentro de uma região definida por uma borda usa-se um dos métodos anteriores. A região pode ser subdividida.

E 4. 1. Crescimento de Regiões com Medidas Simples - Conecção híbrida Para facilitar

E 4. 1. Crescimento de Regiões com Medidas Simples - Conecção híbrida Para facilitar a montagem dos polígonos pode-se utilizar uma dilatação ou um fechamento após uma limiarização. . .

E 4. 2. Split & Merge Família de Métodos que utiliza duas técnicas muito

E 4. 2. Split & Merge Família de Métodos que utiliza duas técnicas muito parecidas: • Dividir (Split) • Unir (Merge) Nos dois métodos inicia-se criando agrupamentos (clusters) de pixel similares.

União se baseia em igualar grupos próximos, do mesmo grupo ou de grupos separados.

União se baseia em igualar grupos próximos, do mesmo grupo ou de grupos separados. É uma técnica iterativa, com 2 estágios: Primeiro - Quantas cores RGB ou tons de cinza Para cada pixel na imagem Se o valor não foi visto antes Adiciona uma nova cor na lista de cores já obtida e indique a cor somente foi vista uma vez antes Senão Adiciona uma cor para o total de pixels vistos por cada cor Fim se Fim para.

Segundo – Calcula distância mínima Inter-Cluster e grava os agrupamentos produzidos e ao mesmo

Segundo – Calcula distância mínima Inter-Cluster e grava os agrupamentos produzidos e ao mesmo tempo calcula a distância média inter-cluster. Loop Calcule a distância mínima inter-cluster e grave os dois agrupamentos i e j, que ele produzir Calcule a média da distância inter-cluster Se (mínimo < peso % média ) Unir agrupamento i e j Senão Sair do loop Fim se Fim loop.

Implementação O método de agrupamento por união para imagens a cores foi implementado pelas

Implementação O método de agrupamento por união para imagens a cores foi implementado pelas duas seguintes medidas de distância para determinar a “proximidade” dos dois agrupamentos , isto é , distância euclidiana e absoluta. para dois agrupamentos centrais send: C = (R G B ) e C = (R G B ) a distância euclidiana pode ser calculada como: √ (R - R )² + (G - G ) ² + (B - B )² a distância absoluta pode ser calculada como: |R - R | + | G - G | + | B - B | Para imagens em a diferença absoluta. tons de cinza, utiliza-se simplesmente

Aplicação: Nos dois algoritmos descritos , por divisão e por união, há um quantificador

Aplicação: Nos dois algoritmos descritos , por divisão e por união, há um quantificador desconhecido “peso” que determinará o número de agrupamentos no resultado final da segmentação. Então os procedimentos como descritos não são totalmente automatizados. Então nós podemos submeter este problema a experiências com diferentes valores para cada peso assim encontraremos seu valor ótimo.

Média do centro de blocos e Distância Euclidiana Original peso = 0. 3 peso

Média do centro de blocos e Distância Euclidiana Original peso = 0. 3 peso = 0. 4 peso = 0. 5

Conclusão Para o método de agrupamento por união, o peso de aproximadamente 0. 4

Conclusão Para o método de agrupamento por união, o peso de aproximadamente 0. 4 parece ser um ótimo resultado para o ponto de segmentação vista. Então se o peso é fixado no valor 0. 4 , nós temos de fato alcançado nosso objetivo com a técnica de segmentação totalmente automatizada que também determina o número de agrupamentos presentes na imagem

Divisão Equalizar cada pixel pertencente a um grupo particular, sendo o critério a da

Divisão Equalizar cada pixel pertencente a um grupo particular, sendo o critério a da variância do pixel central no agrupamento. Grupo inicial sendo a variância neste agrupamento Loop Calcule a máxima variância e grave o agrupamento i, que o produziu Se (máxima > peso x inicial) Divida agrupamento i Senão Exit loop Fim se Designe novamente todos os pixels dos seus centros de agrupamento mais interno End loop

Implementação para Imagens Coloridas Este método foi implementado por permitir duas representações diferentes de

Implementação para Imagens Coloridas Este método foi implementado por permitir duas representações diferentes de centro de agrupamento , média e amostragem, no cálculo da variância da de um agrupamento particular representado pelo agrupamento central C = (R G B ) nós usamos a seguinte equação: N° de pixels no agrupamento C x é o vetor (x. R, x. G, x. B)

Quando dividimos um agrupamento nós levamos em conta todos os três componentes R G

Quando dividimos um agrupamento nós levamos em conta todos os três componentes R G e B, dado o agrupamento C mostrado acima nós queremos dois novos agrupamentos C ’ =( R ’ G ’ B ’) e C ” =( R ” G ” B ”), nós dividimos o agrupamento C para criar dois novos valores pra cada componente que são centralizados em volta do valor central do agrupamento. A seguinte equação mostra o formato geral do procedimento de divisão: Média entre (Ri – min. R) e (max. R Ri)

Média do centro de blocos , Distância Euclidiana e variância média peso = 0.

Média do centro de blocos , Distância Euclidiana e variância média peso = 0. 10 peso = 0. 15 peso = 0. 20 peso = 0. 25

Conclusão O peso 0. 15 para o método de agrupamento por divisão produz o

Conclusão O peso 0. 15 para o método de agrupamento por divisão produz o melhor resultado de segmentação, e fixando o peso neste valor, resulta no processo totalmente automatizado. Conclusão Geral: Os métodos split e merge são técnica bem simples , que podem ter grandes aplicações com respeito a seqüência de imagens médicas por exemplo, encontrando anomalias que podem ser agrupadas como um agrupamento separado. Também pode ser usado para imagens multiespectrais, sendo muito fácil para estender esta técnica a alguma dimensionalidade.

E 4. 3. O Funcional de Mumford & Shah Este é um método mais

E 4. 3. O Funcional de Mumford & Shah Este é um método mais preciso para a segmentação, baseado na equação funcional da energia de Mumford-Shah.

Ao lado temos uma sequência de imagens segmentadas pelo método Mumford-Shah. Na primeira imagem,

Ao lado temos uma sequência de imagens segmentadas pelo método Mumford-Shah. Na primeira imagem, cada ponto representa uma região. Na primeira segmentação, os pontos vizinhos foram agrupados numa mesma região segundo o critério de menor energia. O valor do nível de cinza dos pontos desta nova região é a média dos pontos agrupados.

Equação Funcional de Mumford-Shah: E(m, K) - Energia funcional de Mumford-Shah em função de

Equação Funcional de Mumford-Shah: E(m, K) - Energia funcional de Mumford-Shah em função de m e da fronteira K Função g(x, y) - tom de cinza de um pixel determinado - Domínio da imagem, geralmente um retângulo - Decomposição da imagem em “pedaços” K - fronteira entre as regiões

g(x, y) - é suave dentro de cada região g(x, y) - é descontínua

g(x, y) - é suave dentro de cada região g(x, y) - é descontínua no cruzamento com as bordas - comprimento dos arcos das bordas m - função diferenciavél dentro de - aproximação de g(x, y), esse valor constante será a média dos valores de intensidade g(x, y) de cada ponto da região.

- Mede se u é uma boa aproximação de g - Variação mínima de

- Mede se u é uma boa aproximação de g - Variação mínima de u em cada região - Penaliza o comprimento das fronteiras

Energia Funcional Simplificada de Mumford-Shah - Função constante - Média dos valores de g

Energia Funcional Simplificada de Mumford-Shah - Função constante - Média dos valores de g em cada região

Critérios de Junção - Área da região Oi

Critérios de Junção - Área da região Oi

Critério de Junção Quando não for mais possível juntar nenhuma região, deve-se aumentar o

Critério de Junção Quando não for mais possível juntar nenhuma região, deve-se aumentar o valor de lambda Variação de • Linear • Exponencial

Imagem Original Lambda 1 -10. 000 Lambda 1 -800 Lambda 1 -100. 000

Imagem Original Lambda 1 -10. 000 Lambda 1 -800 Lambda 1 -100. 000

E 4. 4. Watershed: O Divisor de Águas • Cálculo do gradiente para toda

E 4. 4. Watershed: O Divisor de Águas • Cálculo do gradiente para toda a imagem. • Utilizando o valor absoluto do gradiente, montase uma espécie de "topografia". • Segmentos são organizados em ordem crescente de valores. • Regiões homogêneas compõem as regiões planas da "topografia".

E 4. 4. Watershed: O Divisor de Águas • Watershed segmentation gets its name

E 4. 4. Watershed: O Divisor de Águas • Watershed segmentation gets its name from the manner in which the algorithm segments regions into catchment basins. • If a function f is a continuous height function defined over an image domain, then a catchment basin is defined as the set of points whose paths of steepest descent terminate at the same local minimum of f. • The choice of height function depends on the application and the basic watershed algorithm is independent of the choice of height function. • For intensity-based image data, you might typically use some sort of gradient magnitude calculation for the input to the algorithm

E 4. 4. Watershed: O Divisor de Águas Linha divisora de águas Imagem de

E 4. 4. Watershed: O Divisor de Águas Linha divisora de águas Imagem de gradientes Bacias hidrográficas

E 4. 4. Watershed: Exemplo • Tomamos uma imagem qualquer

E 4. 4. Watershed: Exemplo • Tomamos uma imagem qualquer

E 4. 4. Watershed: Exemplo • Calculamos seus gradientes usando Sobel, Roberts, Canny ou

E 4. 4. Watershed: Exemplo • Calculamos seus gradientes usando Sobel, Roberts, Canny ou outro. .

E 4. 4. Watershed: Exemplo • Agrupamos pixels vizinhos de gradiente (praticamente) nulo. .

E 4. 4. Watershed: Exemplo • Agrupamos pixels vizinhos de gradiente (praticamente) nulo. .

E 4. 4. Watershed: Exemplo • Agrupamos regiões elevando o nível da água (função

E 4. 4. Watershed: Exemplo • Agrupamos regiões elevando o nível da água (função f). .

E 4. 4. Watershed: Exemplo • Agrupamos mais as regiões elevando mais o nível

E 4. 4. Watershed: Exemplo • Agrupamos mais as regiões elevando mais o nível da água. .

E 4. 4. Watershed: O Divisor de Águas Possíveis melhorias: • Adicionar Critério de

E 4. 4. Watershed: O Divisor de Águas Possíveis melhorias: • Adicionar Critério de inhomogeneidade: • Além de verificar se uma bacia passa por cima de um limiar para outra região ou não, antes de unir as duas regiões utilizar algum dos critérios de inhomogeneidade vistos anterioremente para saber se se une ou não as duas regiões. • Duas regiões com um gradiente pequeno entre elas podem na verdade ser relativamente diferentes. • Duas regiões que não se conseguiu unir podem na verdade ser bastante similares, a água só não subiu o suficiente por pouco. • Critério de inclinação: • A água passa mais fácil sobre fronterias menos íngremes. • Possibilita unir grandes regiões com um gradiente constante.

Trabalhos E 3. Detecção de Bordas com Convolução Simples (1) • E 3. 1

Trabalhos E 3. Detecção de Bordas com Convolução Simples (1) • E 3. 1 Roberts, E 3. 2 Sobel, E 3. 3 Robinson E 3’ Operadores Avançados de Detecção de Bordas (2) • E 3. 4 Canny E 3’’ Detecção de Estruturas Salientes (2) • E 3. 5 Sha’a. Shua E 4. Crescimento de Regiões Simples (1) • E 4. 1 Crescimento de Regiões Simples E 4. 2 Split & Merge E 4’ O Funcional de Mumford & Shah (2) • E 4. 3 Mumford & Shah E 4’’ O Método do Divisor de Águas (2) • E 4. 4 Watershed