Snakes / Contornos Ativos Processamento de Imagens.

21
Snakes / Contornos Ativos Processamento de Imagens

Transcript of Snakes / Contornos Ativos Processamento de Imagens.

Page 1: Snakes / Contornos Ativos Processamento de Imagens.

Snakes / Contornos Ativos

Processamento de Imagens

Page 2: Snakes / Contornos Ativos Processamento de Imagens.

Contornos Ativos

• Curvas no domínio de imagens• Movem-se sob influência:

– Forças internas da própria curva– Forças externas provenientes da imagem

• Tais forças, combinadas, levam a curva a se moldar à borda da imagem ou outra característica selecionada.

Page 3: Snakes / Contornos Ativos Processamento de Imagens.

Snakes - Aplicações

• Splines deformáveis • Detecção de bordas• Modelagem de formas (shape modeling)• Segmentação• Ratreamento de movimento (motion

tracking)

Page 4: Snakes / Contornos Ativos Processamento de Imagens.

Snakes

• Por que ativos ?– As snakes estão sempre tentando minimizar seu

funcional de energia, exibindo, portanto, comportamento dinâmico.

• Snakes são curvas cuja energia depende de sua forma e localização na imagem.

• Um mínimo local desta curva corresponde às propriedades desejadas da imagem.

Page 5: Snakes / Contornos Ativos Processamento de Imagens.

a) Posição inicial da snake (pontilhado)

b) Passo intermediário na processo iterativo de minimização

c) Estágio final de minimização (snake “empurrada” de encontro ao contorno real).

Page 6: Snakes / Contornos Ativos Processamento de Imagens.

Snakes

• Se tais propriedades desejadas são bordas, por exemplo, uma minimização desejável é aquela que mais aproxima a curva snake das bordas presentes na imagem.

• O processo é interativo (usuário define uma curva inicial), iterativo (processo no “tempo” em busca do ponto de mínimo)

Page 7: Snakes / Contornos Ativos Processamento de Imagens.

Snakes

• O funcional de energia que deverá ser minimizado é uma combinação ponderada das forças internas e externas: função custo!

• Forças internas: – Emanam da forma da snake

• Forças externas:– Vem da imagem ou de algum outro processo de

alto nível (image understading) da imagem.

Page 8: Snakes / Contornos Ativos Processamento de Imagens.

Snake – representação paramétrica

dssvEconsvEimagesvE

dssvE

ntE

E

))(())(())(( snake

))(( snake

1

0i

1

0snake

]1,0[ contorno do scoordenada )( e )(

)](),([)(

ssysx

sysxsv •Eint: energia interna devida ao curvamento•Eimage: Guia a snake junto a caract. importantes da imagem•Econ: forças restrição externas impostas pelo usuário

Page 9: Snakes / Contornos Ativos Processamento de Imagens.

Snake – energia interna2

2

22 ||)(||)(int

dsvds

dsdvsE

: elasticidade da curva (esticamento ou contração de seu comprimento)

: rigidez (stiffness) da curva (curvatura)β(s)

α(s)

•A energia interna mantém o modelo relativamente próximo à forma original do objeto. Depende do peso de α e β. Mais ou menos rígido.

•α e β podem ser globais ou locais (para certos segmentos)

Page 10: Snakes / Contornos Ativos Processamento de Imagens.

Snake – Energia da Imagem

• Line: níveis de cinza da imagem f(x,y)• Edge: gradiente de f(x,y)• Term (terminações de linhas): alguma

medida de curvatura.

termtermedgeedgelinelineimage EEEE

Page 11: Snakes / Contornos Ativos Processamento de Imagens.

Eline

• Eline = I(x,y)

• O sinal Wline define se a snake será atraída por linhas claras ou escuras

Page 12: Snakes / Contornos Ativos Processamento de Imagens.

Funcional de borda (Eedge)

• Eedge = -|grad f(x,y)|2

• A snake será atraída p/ contornos com altos gradientes.

Page 13: Snakes / Contornos Ativos Processamento de Imagens.

Funcional de terminação (Eterm)• Seja C(x,y) = Gσ(x,y) * I(x,y)

• θ = tan-1 (Cy/Cx) : ângulo gradiente

• n = (cos θ , sem θ) e n┴ = -sen θ, cos θ )

Page 14: Snakes / Contornos Ativos Processamento de Imagens.

Restrições (Econ)

Page 15: Snakes / Contornos Ativos Processamento de Imagens.

Minimização

• Uma snake que minimiza E deve satisfazer a equação de Euler:

0)]([])([])([ 2

2

2

2

svEds

vdsdsd

dsdvs

dsd

ext

Page 16: Snakes / Contornos Ativos Processamento de Imagens.
Page 17: Snakes / Contornos Ativos Processamento de Imagens.

Snakes - deficiências

• Contorno inicial: deve ser dado próximo a curva, senão há o risco de se convergir para o local errado

• Dificuldade em convergir para áreas côncavas.

• Uma variante do modelo “resolve” esse problema: GVF snake

Page 18: Snakes / Contornos Ativos Processamento de Imagens.
Page 19: Snakes / Contornos Ativos Processamento de Imagens.

GVF Snake• GVF: Gradient Vector Flow.

– O campo de fluxo de vetores gradiente são computados a partir da imagem original. É bastante denso e, por isso, mesmo que a curva inicial seja dada “longe” das bordas, essa irá convergir para o local desejado, quer seja expandindo-se, quer seja contraindo-se

Page 20: Snakes / Contornos Ativos Processamento de Imagens.

GVF - Cálculo

• Definir um mapa de arestas (edge map) f– Qq cálculo que dê valores altos nos bordos e

baixos no restante (qq operador passa alta serve)

• O campo GVF é v(x,y) = (u(x,y),v(x,y)) que minimiza o funcional de energia:

dxdyfvfvvuuu yxyx222222 ||||)(

Page 21: Snakes / Contornos Ativos Processamento de Imagens.

GVF - Cálculo

• O GVF pode ser calculado usando as equações de Euler:

0))((

0))((222

222

yxy

yxx

fffvv

fffuu

2 É o operador laplaciano