Snakes Contornos Ativos Processamento de Imagens Contornos Ativos

  • Slides: 21
Download presentation
Snakes / Contornos Ativos Processamento de Imagens

Snakes / Contornos Ativos Processamento de Imagens

Contornos Ativos • Curvas no domínio de imagens • Movem-se sob influência: – Forças

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.

Snakes - Aplicações • • • Splines deformáveis Detecção de bordas Modelagem de formas

Snakes - Aplicações • • • Splines deformáveis Detecção de bordas Modelagem de formas (shape modeling) Segmentação Ratreamento de movimento (motion tracking)

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

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.

a) Posição inicial da snake (pontilhado) b) Passo intermediário na processo iterativo de minimização

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

Snakes • Se tais propriedades desejadas são bordas, por exemplo, uma minimização desejável é

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)

Snakes • O funcional de energia que deverá ser minimizado é uma combinação ponderada

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.

Snake – representação paramétrica • Eint: energia interna devida ao curvamento • Eimage: Guia

Snake – representação paramétrica • 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

Snake – energia interna α(s) : elasticidade da curva (esticamento ou contração de seu

Snake – energia interna α(s) : elasticidade da curva (esticamento ou contração de seu comprimento) β(s) : rigidez (stiffness) da curva (curvatura) • 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)

Snake – Energia da Imagem • Line: níveis de cinza da imagem f(x, y)

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.

Eline • Eline = I(x, y) • O sinal Wline define se a snake

Eline • Eline = I(x, y) • O sinal Wline define se a snake será atraída por linhas claras ou escuras

Funcional de borda (Eedge) • Eedge = -|grad f(x, y)|2 • A snake será

Funcional de borda (Eedge) • Eedge = -|grad f(x, y)|2 • A snake será atraída p/ contornos com altos gradientes.

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

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 θ )

Restrições (Econ)

Restrições (Econ)

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

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

Snakes - deficiências • Contorno inicial: deve ser dado próximo a curva, senão há

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

GVF Snake • GVF: Gradient Vector Flow. – O campo de fluxo de vetores

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

GVF - Cálculo • Definir um mapa de arestas (edge map) f – Qq

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:

GVF - Cálculo • O GVF pode ser calculado usando as equações de Euler:

GVF - Cálculo • O GVF pode ser calculado usando as equações de Euler: É o operador laplaciano