45
Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso [email protected] INF 2064 - Visão Computacional e Realidade Aumentada Trabalho Final

Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso [email protected] INF 2064 - Visão Computacional e Realidade

Embed Size (px)

Citation preview

Page 1: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Disparidades, Correspondências e

Corte Mínimo para EstéreoVitor Barata R. B. Barroso

[email protected]

INF 2064 - Visão Computacional eRealidade Aumentada

Trabalho Final

Page 2: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Introdução

Page 3: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

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: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

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: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

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: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

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: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Abordagens Análise local Correspondência entre dois pixels depende apenas das vizinhanças

(janelas) SSD/SAD (“sum of squared/absolute differences”) com janela fixa ou adaptativa Correlação cruzada normalizada

Análise global Correspondência entre pares de pixels estabelecida na imagem inteira por

meio de um problema de otimização (minimização de função de custo/erro/energia) Têmpera simulada (“Simulated annealing”) Difusão probabilística Corte mínimo de grafos

Análise por scanlines Dificuldade de preservar a ordem dos pixels e manter consistência entre

scanlines

Análise cooperativa Baseada na modelagem computacional da visão estéreo humana Operações locais iterativas resultando numa otimização global

Page 8: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Abordagens

Refinamento do mapa de disparidades Estimativas de disparidade sub-pixel Validação cruzada

Computam-se disparidades nos dois sentidos entre duas imagens

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

Filtros para eliminar erros espúrios Preenchimento de “buracos” por ajuste de

superfícies

Page 9: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Algoritmos de Análise Local

Correlação Cruzada

Page 10: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

SSD com janela fixa Idéia: a vizinhança de pixels correspondentes

deve ter alta correlação nas duas imagens

-

Page 11: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

SSD com janela fixa Problema: essa heurística nem sempre

funciona, principalmente perto de descontinuidades de oclusão

-

Page 12: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

SSD com janela fixa Erro associado a mapearmos um pixel A

(xA,yA) para um pixel B (xB,yB) com disparidade (u,v) Tomamos janelas de tamanho 2W ao redor de

ambos pixels Erro de intensidade = ||I2 – I1|| ou (I2 – I1)2

Erro de mapeamento = soma dos erros de intensidade ao longo de toda a janela

xA

yA

xB=xA+u

yB= yA +vA

B

Page 13: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

SSD com janela fixa Escolha do mapeamento do pixel A na

segunda imagem (u,v) que minimize a expressão abaixo, dentre

todas as opções de disparidade consideradas

Wx

Wxx

Wy

Wyy

A

A

A

A

vyuxIyxIvuE 212 ),(),(),(

xA

yA

xB=xA+u

yB= yA +vA

B

Page 14: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

SSD com janela fixa

Resultados após validação cruzada

Page 15: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Algoritmos de Análise Global

Corte Mínimo de Grafo baseado em Pixels

Page 16: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Minimização de Energia 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:

Eneighbor penaliza relações indesejadas entre disparidades de pixels vizinhos. Geralmente, é usado para garantir a conservação de regiões suaves ( V(a,a) = 0 ) e descontinuidades:

)()()( fEfEfE neighbordata

2)()(

Pp

pPp

ppdata pIfpIfDfE

Nqp

qppqsmoothneighbor ffVfEfE},{

,)()(

Page 17: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Minimização Local de Energia Minimizar E(f) para uma imagem é um problema NP-

difícil Milhões de mapeamentos possíveis! Muitos mínimos locais ruins!

Buscamos um mínimo local forte, próximo ao global

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

f pode ser alterado por “movimentos”, gerando vários possíveis f’ Para cada f’ que possa ser gerado a partir de f

Encontrar f’ que tem a menor energia Se E(f’) < E(f), fazemos f f’

Repetir o ciclo enquanto for possível qualquer atualização de f

Crítico: encontrar f’ de menor energia em cada iteração Conseguiremos em tempo polinomial, praticamente linear!

Page 18: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Tipos de movimentos Movimentos locais Alteração do rótulo (disparidade) de um pixel

para um valor qualquer Costuma achar mínimos locais muito distantes do

global

Movimentos globais Inversões

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

Achar mínimos locais muito fortes Expansões

Substituímos, de uma só vez, o rótulo de qualquer número de pixels por um rótulo

Acha mínimos locais a um fator pequeno e conhecido do global

Page 19: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Corte Mínimo de Grafos Solução por Grafos: Um nó para cada pixel da imagem

Apenas rótulos ou para inversões

Qualquer rótulo para expansões Nós terminais extras:

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 do grafo: Conjunto mínimo de arestas que separa os terminais Partição dos nós em subconjuntos contendo cada terminal Custo do corte é dado pela soma dos pesos das arestas Corte mínimo: aquele com o menor custo possível

Page 20: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Corte Mínimo de Grafos Relacionando com o problema: Corte do grafo mapeamento f’

O corte separa cada pixel de um, e apenas um, dos terminais Os pixels recebem o rótulo do nó terminal que foi separado pelo

corte Custo do corte energia de f’ Corte mínimo f’ de menor energia

Page 21: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Corte Mínimo de Grafos Construção do grafo: Pesos das arestas são penalidades pelo corte passar por elas

Projetados para casar o custo do corte com a energia do mapeamento

Refeita dinamicamente a cada ciclo do algoritmo Pode ser necessário criar vértices auxiliares

Para expansões α, aparecem apenas entre vértices com rótulos diferentes em f

Page 22: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Grafo para Inversões

Nqp

Pqpqp

PqNq qpp

PqNq qpp

Ve

PpfVDt

PpfVDt

p

p

,,, ),,(

,,

,,

Page 23: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Grafo para Expansões

PpDt

PpfDt

Ppt

pp

ppp

p

,

,

,

qppqp

qp

qpa

qqa

pap

ffNqpfVe

ffNqp

ffVt

fVe

fVe

,,),,(

,,

),(

),(

),(

,

,

,

Page 24: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

ComparaçãoImagem EsquerdaDisparidades Verdadeiras

Correlação Corte de Grafo por Pixels

Corte de Grafopor Atribuições

Page 25: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Algoritmos de Análise Global

Corte Mínimo de Grafo baseado em Atribuições

Page 26: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Reformulação do Problema A formulação anterior trata as imagens de forma

assimétrica e não trata: Oclusões – pixels de uma imagem sem correspondente na outra Unicidade – cada pixel só deveria ser mapeado a um único pixel

de destino

Abordagem alternativa Pixels:

Imagem da esquerda L com pixels l L Imagem da direita R com pixels r R União de todos os pixels p P = L R

Atribuições Conjunto A de todas as atribuições a = < l , r > 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) Unicidade: impomos que só pode haver uma (ou nenhuma) atribuição

ativa para cada pixel

Page 27: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Unicidade e Movimentos Unicidade

f = configuração de atribuições (ativas e inativas) active(f) = {a : fa = 1} = conjunto de atribuições ativas em f

Nl(f) = { <l,x> ativa } = atribuições ativas que envolvem o pixel l

Nr(f) = { <x,r> ativa } = atribuições ativas que envolvem o pixel r

Pixel ocluso: | Np(f) | = 0

Unicidade: | Np(f) | <= 1, p P

Expansão A = todas as atribuições com disparidade α active(f’) (active(f) A) Quaisquer atribuições podem ser desfeitas Atribuições com disparidade α podem ser acrescentadas

Inversão A = todas as atribuições com disparidade α ou β (active(f’) A) = (active(f) A) Atribuições com disparidades α ou β podem ser acrescentadas ou removidas

Page 28: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Função de Energia Usamos a seguinte função de energia:

Penalidades:

Vizinhança: atribuições são vizinhas quando partem ou chegam em pixels vizinhos Inversão: penaliza atribuições ativas próximas com disparidades diferentes

Expansão: penaliza a não existência de atribuições ativas próximas com a mesma disparidade

)()()()( fEfEfEfE smoothocclusiondata

2)(

factivea

srcdstdata aIaIfE

21

21 21},{ 21 1)(

adadNaa aasmooth afafTVfE

occPp

occlusion KpoccludedTfE

))(()(

21

21 21},{ 21)(

adadNaa aasmooth afafTVfE

Page 29: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Definições: A0 = {aactive(f) : d(a) α} A = {aA : d(a) = α} F = (f : active(f) = Ã), Ã = A0 A

Np(F) {0,1,2}, p P

Vértices: terminais s,t cada atribuição a Ã

Arestas direcionadas: (s,a) e (a,t) entre cada atribuição e os terminais (a1,a2) e (a2,a1) entre a1 e a2 vizinhas ({a1, a2} N, ambas A0 ou ambas A )

(a1,a2) e (a2,a1) entre a1A0 e a2A ambas envolvendo um pixel p

Relacionando: aA0 f’(a) = 1 se a ficar ligado a s (se (s,a) não for cortada) aA f’(a) = 1 se a ficar ligado a t (se (a,t) não for cortada) aà f’(a) = 0

Grafo para Expansões

t

s

aa0

1

10

0

Page 30: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Custo de dados Lembrando: aA0 f’(a) = 1 se a ficar ligado a s (se (s,a) não for cortada) aA f’(a) = 1 se a ficar ligado a t (se (a,t) não for cortada)

Então:

factiveafactivea

srcdstdata aDaIaIfE )()(2

t

s

aa0

D(a0)

D(a)

AaaDas

AaaDta

,),(

,),( 0

Page 31: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Custo de oclusão e unicidade Lembrando: aA0 f’(a) = 1 se a ficar ligado a s (se (s,a) não for cortada) aA f’(a) = 1 se a ficar ligado a t (se (a,t) não for cortada)

Definições:

Então:

occPp

occlusion KpoccludedTfE

))(()(

)1)(()(

),(

FactiveTKpD

rDlDrlaD

occocc

occoccocc

AaAa

apapPp

Kaa

aa

AaaDta

AaaDas

occ

occ

occ

20

1

21

12

21

0

,

,,

),(

),(

,),(

,),(

t

s

aa0

Docc(a0)

Docc(a)

Kocc

Page 32: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Custo de (des)continuidade Lembrando: aA0 f’(a) = 1 se a ficar ligado a s (se (s,a) não for cortada) aA f’(a) = 1 se a ficar ligado a t (se (a,t) não for cortada)

Definição:

Então:

21

21 21},{ 21)(

adadNaa aasmooth afafTVfE

Ãaadad

Naaaasmooth VaD

2

21

2121)()(

,,)(

AouAaa

adad

Naa

Vaa

Vaa

AaaDta

aa

aa

smooth

021

21

21

,12

,21

0

,

)()(

,

),(

),(

,),(

21

21

a1

d

a2d

a2d

a2d

a2d

Page 33: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Custo de (des)continuidade Lembrando: aA0 f’(a) = 1 se a ficar ligado a s (se (s,a) não for cortada) aA f’(a) = 1 se a ficar ligado a t (se (a,t) não for cortada)

Definição:

Então:

t

s

aa0

21

21 21},{ 21)(

adadNaa aasmooth afafTVfE

Dsmooth(a0)

AouAaa

adad

Naa

Vaa

Vaa

AaaDta

aa

aa

smooth

021

21

21

,12

,21

0

,

)()(

,

),(

),(

,),(

21

21

Ãaadad

Naaaasmooth VaD

2

21

2121)()(

,,)(

Page 34: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Grafo para Expansões Pesos:

AaAa

apapPp

Kaa

aa

Ãaa

Naa

Vaa

Vaa

AaaDas

AaaDaDta

AaaDta

AaaDas

occ

aa

aa

smooth

occ

occ

20

1

21

12

21

21

21

,12

,21

0

0

,

,,

),(

),(

,

,

),(

),(

,),(

,),(

,),(

,),(

21

21

ÃaadadNaa aasmooth

occoccocc

VaD

rDlDrlaD

22121 21),()(,, ,)(

),(

Page 35: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Grafo para Inversões Definições: A0 = {aactive(f) | d(a) α e d(a) β} A = {aA | d(a) = α}, A = {aA | d(a) = β} A = A Aβ

Vértices: terminais s,t cada atribuição aA

Arestas direcionadas: (s,a) e (a,t) entre cada atribuição e os terminais (a1,a2) entre a1A e a2A vizinhas ({a1, a2}N)

(a2,a1) entre a1A e a2A ambas envolvendo um pixel p

Relacionando: aA f’(a) = 1 se a ficar ligado a s (se (s,a) não for cortada) aAβ f’(a) = 1 se a ficar ligado a t (se (a,t) não for cortada) aAβ f’(a) = f(a)

t

s

aβaα

1

10

0

Page 36: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Custo de dados Lembrando: aA f’(a) = 1 se a ficar ligado a s (se (s,a) não for cortada) aAβ f’(a) = 1 se a ficar ligado a t (se (a,t) não for cortada)

Então:

factiveafactivea

srcdstdata aDaIaIfE )()(2

t

s

aβaα

D(aα)

D(aβ)

AaaDas

AaaDta

,),(

,),(

Page 37: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Custo de oclusão (e unicidade) Lembrando: aA f’(a) = 1 se a ficar ligado a s (se (s,a) não for cortada) aAβ f’(a) = 1 se a ficar ligado a t (se (a,t) não for cortada)

Definições:

Então:

occPp

occlusion KpoccludedTfE

))(()(

)1)(()(

),(

FactiveTKpD

rDlDrlaD

occocc

occoccocc

t

s

aβa

Docc(a)

Docc(aβ)

Kocc

AaAa

apapPp

Kaa

aa

AaaDta

AaaDas

occ

occ

occ

21

21

12

21

,

,,

),(

),(

,),(

,),(

Page 38: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Custo de (des)continuidade Lembrando: aA f’(a) = 1 se a ficar ligado a s (se (s,a) não for cortada) aAβ f’(a) = 1 se a ficar ligado a t (se (a,t) não for cortada)

Definição:

Então:

AaAa

Naa

aa

Vaa

AaaDas

AaaDta

aa

smooth

smooth

21

21

12

,21

,

,

0),(

),(

,),(

,),(

21

a

0

2

2121

, ,)(Aa

Naa aasmooth VaD

21

21 21},{ 21 1)(

adadNaa aasmooth afafTVfE

Page 39: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Custo de (des)continuidade Lembrando: aA0 f’(a) = 1 se a ficar ligado a s (se (s,a) não for cortada) aA f’(a) = 1 se a ficar ligado a t (se (a,t) não for cortada)

Definição:

Então:

t

s

aβa

Dsmooth(a)

21

21 21},{ 21 1)(

adadNaa aasmooth afafTVfE

Dsmooth(aβ)

0

2

2121

, ,)(Aa

Naa aasmooth VaD

AaAa

Naa

aa

Vaa

AaaDas

AaaDta

aa

smooth

smooth

21

21

12

,21

,

,

0),(

),(

,),(

,),(

21

Page 40: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Grafo para Inversões Pesos:

AaAa

apapPp

Kaa

aa

AaAa

Naa

Vaa

aa

AaaDaDas

AaaDaDta

AaaDta

AaaDas

occ

aa

smooth

smooth

occ

occ

21

21

12

21

21

21

,21

12

,

,,

),(

]),[(

,

,

),(

0),(

,),(

,),(

,),(

,),(

21

02

2121

, ,)(

),(

AaNaa aasmooth

occoccocc

VaD

rDlDrlaD

Page 41: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Inversões e Unicidade Unicidade no algoritmo de inversões Não incluir atribuições aαβ=<l,r> se Nl(f) = {a0} ou Nr(f) =

{a0} Como a atribuição a0 não será desligada, não podemos ligar aα

nem aβ

Custo ∞ para ligar simultaneamente aα e aβ envolvendo um mesmo pixel

Vantagens Unicidade garantida por construção Implementação mais simples, cada pixel admite

apenas uma atribuição ativa em cada instante Problema Inversões ficam restritas demais e perdem poder Atingimos mínimos locais muito ruins

Page 42: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Parâmetros Custo de dados

Custo de oclusão: Kocc

Custo de suavidade: Fixo ou proporcional à descontinuidade? Rezudido onde há descontinuidade de

intensidade?

contráriocaso

daIaIaIaIseV rrll

aa,3

,max, min2121, 21

max

2

max

,min)(

,min)(

daIaIaD

daIaIaD

srcdst

srcdst

Page 43: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

ComparaçãoImagem EsquerdaDisparidades Verdadeiras

Correlação Corte de Grafo por Pixels

Corte de Grafopor Atribuições

Page 44: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

Melhor Resultado Expansão de atribuições Custo de dados quadrático limitado em 400 Custo de oclusão 15 Custo de continuidade 10 Aumentado para 100 se intensidades diferem

menos de 10

Page 45: Disparidades, Correspondências e Corte Mínimo para Estéreo Vitor Barata R. B. Barroso vbarata@tecgraf.puc-rio.br INF 2064 - Visão Computacional e Realidade

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