seminário introdução à visão computacional

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

Upload: arama

Post on 16-Jan-2016

26 views

Category:

Documents


0 download

DESCRIPTION

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 sobre Regiões E4. Crescimento de Regiões Simples E4.1 Crescimento de Regiões com Medidas Simples E4.2 Split & Merge - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Seminário Introdução à Visão Computacional

SeminárioSeminárioIntrodução à Visão Introdução à Visão ComputacionalComputacional

- The Cyclops Project - CPGCC - INE -UFSC

Page 2: Seminário Introdução à Visão Computacional

Domínio do Espaço - Parte IIDomínio do Espaço - Parte II

2. Domínio do EspaçoParte II - Operações sobre RegiõesE4. Crescimento de Regiões Simples

• E4.1 Crescimento de Regiões com Medidas Simples

• E4.2 Split & Merge

E4’ O Funcional de Mumford & Shah• E 4.3 Mumford & Shah

E3’’ O Método do Divisor de Águas• E 4.4 Watershed

Page 3: Seminário Introdução à 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

Page 4: Seminário Introdução à Visão Computacional

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

Page 5: Seminário Introdução à Visão Computacional

Segmentação de Segmentação de RegiõesRegiõ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.

Page 6: Seminário Introdução à Visão Computacional

ExemplosExemplos

Page 7: Seminário Introdução à Visão Computacional
Page 8: Seminário Introdução à Visão Computacional

E4.1. Crescimento de Regiões com E4.1. Crescimento de Regiões com Medidas SimplesMedidas Simples

Crescimento de regiões

• Conecção simples

• Conecção híbrida

Page 9: Seminário Introdução à Visão Computacional

E4.1. Crescimento de Regiões com E4.1. Crescimento de Regiões com Medidas Simples - Medidas Simples - Conecção simplesConecçã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.

Page 10: Seminário Introdução à Visão Computacional

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

Page 11: Seminário Introdução à Visão Computacional

E4.1. Crescimento de Regiões com E4.1. Crescimento de Regiões com Medidas Simples - Medidas Simples - Conecção híbridaConecçã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.

Page 12: Seminário Introdução à Visão Computacional

E4.1. Crescimento de Regiões com E4.1. Crescimento de Regiões com Medidas Simples - Medidas Simples - Conecção híbridaConecção híbrida

Para facilitar a montagem dos polígonos pode-seutilizar uma dilatação ou um fechamento após uma limiarização...

Page 13: Seminário Introdução à Visão Computacional

E4.2. Split & MergeE4.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.

Page 14: Seminário Introdução à Visão Computacional

União

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 que 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.

Page 15: Seminário Introdução à Visão Computacional

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.

 

Page 16: Seminário Introdução à Visão Computacional

ImplementaçãoO 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 tons de cinza, utiliza-se simplesmente a diferença absoluta.

Page 17: Seminário Introdução à Visão Computacional

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.

Page 18: Seminário Introdução à Visão Computacional

Média do centro de blocos e Distância Euclidiana

Original peso = 0.3 peso = 0.4 peso = 0.5

Page 19: Seminário Introdução à Visão Computacional

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

Page 20: Seminário Introdução à Visão Computacional

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

Page 21: Seminário Introdução à Visão Computacional

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 (xR,xG,xB)

Page 22: Seminário Introdução à Visão Computacional

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 – minR) e (maxR - Ri)

Page 23: Seminário Introdução à Visão Computacional

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

Page 24: Seminário Introdução à Visão Computacional

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.

Page 25: Seminário Introdução à Visão Computacional

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

)(*),(2

/

2KldxdyudxdyguKuE

K

Page 26: Seminário Introdução à Visão Computacional

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.

Page 27: Seminário Introdução à Visão Computacional

)(*),(2

/

2KldxdyudxdyguKuE

K

Equação Funcional de Mumford-Shah:

E(,K) - Energia funcional de Mumford-Shah em função de e da fronteira KFunçã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”i

Kn ...21

K - fronteira entre as regiões

Page 28: Seminário Introdução à Visão Computacional

)(*),(2

/

2KldxdyudxdyguKuE

K

g(x,y) - é suave dentro de cada região g(x,y) - é descontínua no cruzamento com as bordas

i

)(Kl - comprimento dos arcos das bordas

- 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.

in

i

1

Page 29: Seminário Introdução à Visão Computacional

)(*),(2

/

2KldxdyudxdyguKuE

K

dxdygu2

- Mede se u é uma boa aproximação de g

dxdyuK

2

/

- Variação mínima de u em cada região

)(* Kl - Penaliza o comprimento das fronteiras

Page 30: Seminário Introdução à Visão Computacional

Energia Funcional Simplificada de Mumford-Shah

u - Função constante- Média dos valores de g em cada região

)(*)(2

\

KldxdyguKEK

Page 31: Seminário Introdução à Visão Computacional

Critérios de Junção

)(*)(2

\

KldxdyguKEK

Oi - Área da região Oi

) , ( \ ) , ( )' ,' (Oj Oi K u K u ),()','( KuEKuE

Page 32: Seminário Introdução à Visão Computacional

),(***

)),(\(2

OjOilujuiOjOi

OjOiOjOiKE

Critério de Junção

Variação de • Linear• Exponencial

Quando não for mais possível juntar nenhuma região, deve-se aumentar o valor de lambda

Page 33: Seminário Introdução à Visão Computacional

Imagem Original Lambda 1-800

Lambda 1-10.000 Lambda 1-100.000

Page 34: Seminário Introdução à Visão Computacional

E4.4. Watershed: O Divisor de ÁguasE4.4. Watershed: O Divisor de Águas

• Cálculo do gradiente para toda a imagem.

• Utilizando o valor absoluto do gradiente, monta-se 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".

Page 35: Seminário Introdução à Visão Computacional

E4.4. Watershed: O Divisor de ÁguasE4.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

Page 36: Seminário Introdução à Visão Computacional

E4.4. Watershed: O Divisor de ÁguasE4.4. Watershed: O Divisor de Águas

Linha divisora de águas Bacias hidrográficas

Imagem de gradientes

Page 37: Seminário Introdução à Visão Computacional

E4.4. Watershed: ExemploE4.4. Watershed: Exemplo

• Tomamos uma imagem qualquer

Page 38: Seminário Introdução à Visão Computacional

E4.4. Watershed: ExemploE4.4. Watershed: Exemplo

• Calculamos seus gradientes usando Sobel, Roberts, Canny ou outro....

Page 39: Seminário Introdução à Visão Computacional

E4.4. Watershed: ExemploE4.4. Watershed: Exemplo

• Agrupamos pixels vizinhos de gradiente (praticamente) nulo....

Page 40: Seminário Introdução à Visão Computacional

E4.4. Watershed: ExemploE4.4. Watershed: Exemplo

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

Page 41: Seminário Introdução à Visão Computacional

E4.4. Watershed: ExemploE4.4. Watershed: Exemplo

• Agrupamos mais as regiões elevando mais o nível da água....

Page 42: Seminário Introdução à Visão Computacional

E4.4. Watershed: O Divisor de ÁguasE4.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.

Page 43: Seminário Introdução à Visão Computacional

TrabalhosTrabalhos

E3. Detecção de Bordas com Convolução Simples (1)• E3.1 Roberts, E3.2 Sobel, E3.3 Robinson

E3’ Operadores Avançados de Detecção de Bordas (2)• E 3.4 Canny

E3’’ Detecção de Estruturas Salientes (2)• E 3.5 Sha’aShua

E4. Crescimento de Regiões Simples (1)• E4.1 Crescimento de Regiões Simples E4.2 Split & Merge

E4’ O Funcional de Mumford & Shah (2)• E 4.3 Mumford & Shah

E4’’ O Método do Divisor de Águas (2)• E 4.4 Watershed