Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso...

36
Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso [email protected] INF 2064 - Visão Computacional e Realidade Aumentada Trabalho Final

Transcript of Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso...

Page 1: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo

Vitor Barata R. B. [email protected]

INF 2064 - Visão Computacional eRealidade Aumentada

Trabalho Final

Page 2: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Introdução

Page 3: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

O Problema de Visão em Estéreo Duas câmeras capturam a mesma cena

simultaneamente A partir das duas seqüências de imagens,

queremos: Descobrir pontos, vistos por cada câmera num

mesmo instante, que correspondem ao mesmo ponto real

Deduzir posições reais dos pontos e gerar um modelo virtual do mundo

Cam 2Cam 1

Page 4: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

O Problema de Visão em Estéreo Simplificações comuns:

Câmeras sincronizadas, imagens do mesmo instante

Modelo das câmeras conhecido, imagens retificadas

Deslocamento apenas em um eixo, horizontal nas imagens

Distância e ângulo pequenos entre as câmeras Ruído desprezível

Page 5: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

O Problema das Disparidades Dadas duas imagens de estéreo:

Encontrar os pixels correspondentes e oclusos entre as duas

Gerar um mapa indicando, para cada pixel de uma imagem: A distância em relação ao pixel correspondente na

outra imagem Um valor especial para indicar oclusão

<x2,y2> = <x1,y1> d(x1,y1)

Page 6: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

O Problema das Disparidades Modelagem do problema

Superfícies lambertianas: a aparência não varia com o ponto-de-vista Semelhança entre pontos individuais medida pela

intensidade (luminância) Superfícies suaves por partes

Regiões com variação suave de intensidade devem ter variação suave de disparidade

Descontinuidades na intensidade indicam bordas e devem poder ser preservadas na disparidade

Page 7: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

BaseLine - SSD com janela fixa A vizinhança de pixels correspondentes deve

ter alta correlação nas duas imagens

-

Page 8: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

BaseLine - SSD com janela fixa Não funciona perto de descontinuidades de

oclusão

-

Page 9: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

BaseLine - SSD com janela fixa Validação Cruzada

Calculam-se disparidades nos dois sentidos entre as imagens

Se o pixel A for mapeado em B e este não for mapeado de volta, marca-se A como ocluso

Page 10: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Algoritmos de Corte de Grafo

Page 11: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Energia em Classificação de Pixels Encaramos a correspondência como um problema de

classificação de pixels A imagem é um conjunto P de pixels com um sistema de

vizinhança N O rótulo/etiqueta de um pixel p é sua disparidade fp, que pode

assumir apenas valores discretos (inteiros ou não) O mapeamento f pode ser associado à seguinte energia (a ser

minimizada):

Edata mede o erro de intensidade entre pixels correspondentes:

Esmooth tenta garantir a conservação de regiões suaves sobre cada objeto e descontinuidades entre objetos diferentes:

)()()( fEfEfE smoothdata

2)()(

Pp

pPp

ppdata pIfpIfDfE

Nqp

qppqsmooth ffVfE},{

,)(

Page 12: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Minimização Local de Energia Algoritmo iterativo:

Começamos com um mapeamento f arbitrário Ciclo:

Geramos vários candidatos f ’ aplicando uma regra quedefina os tipos de perturbação (“movimentos”) possíveis

Encontrar o candidato f’ que tem a menor energia Se E(f’) < E(f), fazemos f f ’ e repetimos o ciclo

Movimentos Inversões

Substituímos, de uma só vez, rótulos por e vice-versa,para qualquer número de pixels

Expansões Substituímos, de uma só vez, o rótulo de qualquer número

de pixels por um rótulo

αβ

α

Page 13: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Corte Mínimo de Grafos Solução por Grafos:

Um nó central para cada pixel da imagem Nós terminais:

e para inversões e ! para expansões

Arestas entre cada pixel e ambos terminais Arestas entre pares de pixels vizinhos Pesos apropriados nas arestas

Corte mínimo do grafo: Arestas que separam os terminais com o menor custo possível

Custo = soma dos pesos das arestas O corte separa cada pixel de um dos terminais

Relacionando com o problema: Cada corte do grafo define um mapeamento f’ Corte mínimo determina o candidato f’ de menor energia

Page 14: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Reformulação do Problema Abordagem alternativa

Atribuições Conjunto A de todas as atribuições a = < pl , pr > que podem ser feitas

correspondendo pares de pixels nas duas imagens O rótulo fa de uma atribuição a só pode ser 1 (ativa) ou 0 (inativa) Oclusão: nenhuma atribuição ativa para determinado pixel Unicidade: não pode haver mais de uma atribuição ativa para cada pixel

Movimentos Expansão

Quaisquer atribuições podem ser removidas Atribuições com disparidade α podem ser acrescentadas

Inversão Atribuições com disparidades α ou β podem ser removidas Atribuições com disparidades α ou β podem ser acrescentadas

Page 15: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Minimização Local de Energia Função de energia:

Penalidades:

Custo de suavização: dado um pixel e sua disparidade, penalizamos... Inversão: cada vizinho que tiver uma atribuição com disparidade

diferente Expansão: cada vizinho que não tiver uma atribuição com a

mesma disparidade

)()()()( fEfEfEfE smoothocclusiondata

2)( ativas

lrdata aIaIfE

occPp

occlusion KpoccludedTfE

))(()(

Page 16: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Resultados

Page 17: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Métrica para Avaliação Mapas de referência (ground truth)

Disparidades sub-pixel! Redução de mapas de imagens em 4x Algoritmos precisariam interpolar

superfícies Vantagem de precisão: trabalhar com

resolução original e reduzir Disparidades extrapoladas/ausentes!

Bordas laterais das imagens “Sombras” de objetos

Avaliação Base middlebury exige interpolações e extrapolações! Inviável.

Falta de referências de estado-da-arte utilizáveis Avaliador próprio:

acertos, erros próximos, erros grosseiros falsas oclusões, falsas correspondências

Page 18: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Resultados Swap x Expand

Em ambos tipos de grafo, expand é mais rápido e correto

Parâmetros Funções de custo para dados, suavidade e oclusão Algoritmos são muito sensíveis

Execução leva vários minutos Inviável explorar plenamente os parâmetros

Idéias Uso de swap para melhorar ou perturbar expand (ruim!) Custo de oclusão e suavidade incrementais (vale à pena?) Filtro de pós-processamento para limpar ruídos

Page 19: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Resultados - Cones

Vista Direita

Page 20: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Resultados - Cones

Vista Esquerda

Page 21: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Resultados - Cones

Ground Truth original

Page 22: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Resultados - Cones

Ground Truth com oclusões

Page 23: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Resultados - Cones

Técnica CorretosPróximo

sGrosseir

osF

InclusosF

Oclusos

Incremental

79.78 12.08 2.90 3.30 1.94

Map Expand

79.24 12.26 3.28 3.29 1.93

Pixel Expand

79.84 5.56 0.73 1.51 12.36

SSD 7x7 77.43 4.94 2.91 3.28 11.45

Page 24: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Resultados - Cones

Ground Truth com oclusões

Page 25: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Resultados - Cones

Expansões Incrementais

Page 26: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Resultados - Cones

Comparação

Page 27: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Resultados - Teddy

Vista Direita

Page 28: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Resultados - Teddy

Vista Esquerda

Page 29: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Resultados - Teddy

Ground Truth original

Page 30: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Resultados - Teddy

Ground Truth com oclusões

Page 31: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Resultados - Teddy

Técnica CorretosPróximo

sGrosseir

osF

InclusosF

Oclusos

Incremental

63.99 23.64 7.94 2.43 2.00

Map Expand

62.31 24.79 8.48 2.44 1.98

Pixel Expand

69.68 8.72 1.78 1.66 18.17

SSD 7x7 72.41 5.68 5.02 12.80 14.08

Page 32: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Resultados - Teddy

Ground Truth com oclusões

Page 33: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Resultados - Teddy

Expansões Incrementais

Page 34: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Resultados - Teddy

Comparação

Page 35: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Conclusão Graph Cut é um método muito útil para visão, pois

permite encontrar mínimos locais fortes em problemas de otimização difíceis.

Problema: não é tempo real Movimentos de expansão são mais rápidos E poderosos Primeiro ciclo já dá resultados interessantes em 15

segundos

Os algoritmos estudados dão resultados aparentemente satisfatórios, mas infelizmente não foi possível comparar com as técnicas do estado-da-arte atual

Page 36: Algoritmos de Corte de Grafo para Mapas de Disparidades em Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional.

Referências Y Boykov, O Veksler, R Zabih, Fast Approximate

Energy Minimization via Graph Cuts - IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 23, no. 11, pp. 1222-1239, November, 2001.

V Kolmogorov, R Zabih, Computing Visual Correspondence with Occlusions via Graph Cuts - International Conference on Computer Vision, 2001

D Scharstein, R Szeliski, A taxonomy and evaluation of dense two-frame stereo correspondence algorithms - International Journal of Computer Vision, vol. 47, no. 1-3, pp. 7-42, April, 2002