• Nenhum resultado encontrado

3.3 Extra¸c˜ ao de estruturas

3.3.2 Extra¸c˜ ao de curvas

No mapa de saliˆencia para curvas, cada elemento ´e uma tupla (s, t) na qual t indica a dire¸c˜ao tangente da curva e s sua saliˆencia. Como no caso de extra¸c˜ao de superf´ıcies, ´e a presen¸ca dessas duas estimativas que viabiliza a extra¸c˜ao eficiente dos m´aximos locais que correspondem a curvas.

Um ponto P com (s, t) est´a em uma curva se qualquer deslocamento a partir de P, no plano normal `a t, resulta em um valor menor de saliˆencia, i.e.,

ds du =

ds dv = 0 ,

onde u e v s˜ao vetores ortogonais entre si e t, definindo o plano normal a t. Essa ´e uma condi¸c˜ao necess´aria para que Pi,j,k perten¸ca a uma curva. Uma condi¸c˜ao suficiente

´e definida em termos da passagem por zero da varia¸c˜ao de s no plano uv , que pode ser processada por uma adapta¸c˜ao do algoritmo marching cubes [MED 00], conforme descrito a seguir.

3.3.2.1 Determinando curvas localmente

A extra¸c˜ao local de curvas ´e realizada sobre cub´oides a partir de uma adapta¸c˜ao do algoritmo marching cubes. Dado um mapa de saliˆencia de curvas, o cub´oide em (i, j, k) ´e definido pelos oito elementos vizinhos que formam um cubo. Sendo (sr, tr), 1 6 r 6 8, as

tuplas que formam o cub´oide, a tangente no seu centro ´e definida pela m´edia das tangentes

w = 8 X r=1 tr 8 , (3.9)

que ´e normal ao plano uv e que define a tangente de uma poss´ıvel curva que passa pelo cub´oide.

O centro do cub´oide ´e transladado para a origem atrav´es de uma matriz T. O pr´oximo passo ´e calcular a interse¸c˜ao do plano uv com as arestas (Pm0 , Pm1 ), 1 6 m 6 12, do cub´oide. Os pontos de interse¸c˜ao Qm s˜ao dados pela equa¸c˜ao param´etrica das arestas

Qm= Pm0 + (Pm0 − Pm1 )um , um = − w· Pm 0 w· (Pm 0 − Pm1 ) ,

3.3. Extrac¸˜ao de estruturas 57

onde um define o ponto de interse¸c˜ao na aresta m. Se w · (Pm0 − Pm1 ) = 0 ou um < 0 ou

um> 1, ent˜ao n˜ao h´a interse¸c˜ao. O parˆametro um tamb´em ´e usado para interpolar o vetor

gradiente da saliˆencia em Qm

gm= gm0 + (gm0 − gm1 )um , (3.10)

onde gm

0 e gm1 s˜ao os vetores gradiente (Eq. 3.6) nos pontos Pm0 e Pm1 respectivamente.

O conjunto de n interse¸c˜oes encontradas forma um ciclo {Q1, Q2, . . . , Qn} sobre o

plano uv . Esse plano deve ser alinhado com o plano xy para facilitar a determina¸c˜ao do ponto no qual passa uma curva. Note que o centro do cub´oide est´a na origem devido `a transfoma¸c˜ao T. Portanto, a matriz de alinhamento ´e dada por

R= [x y (x × y )]T ,

com x = w / |w | e y = Ql/ |Ql|, onde 1 6 l 6 n indica qualquer ponto de interse¸c˜ao. Para toda interse¸c˜ao Qn calcula-se o vetor

qn= [qnx qny qnz] = R(w × gn) ,

onde gn´e o vetor gradiente em Qn interpolado (Eq. 3.10). O produto vetorial projeta gn no plano uv enquanto R calcula as coordenadas dessa proje¸c˜ao nesse mesmo plano. Ap´os a transforma¸c˜ao, qnx e qny s˜ao as coordenadas da proje¸c˜ao sobre u e v respectivamente e

qnz = 0. Por defini¸c˜ao, uma curva ´e o conjunto de pontos nos quais q = [qx qy] = 0 .

Considere os elementos do ciclo projetado {RQn} e seus vetores associados qn. Em

cada segmento desse ciclo calcula-se a posi¸c˜ao na qual qx = 0 e qy = 0 pela interpola¸c˜ao linear dos componentes qnx e qny respectivamente. Se existem dois segmentos que contˆem

um ponto com qx = 0 cada um, ent˜ao esses pontos interpolados formam uma reta na qual ds

du = 0. Se existem dois segmentos que contˆem um ponto com qy = 0 cada um, ent˜ao

esses pontos interpolados formam uma reta na qual dvds = 0. A interse¸c˜ao dessas duas retas corresponde ao ponto extremo projetado Ip no qual passa uma curva. A Figura 3.13

ilustra o c´alculo do ponto no plano uv.

O ponto extremo I do cub´oide no qual passa uma curva ´e ent˜ao calculado pela transforma¸c˜ao inversa

I = T−1R−1Ip .

Note que esse processo calcula o ponto de curva de forma determinista. Assim, ou existe somente um ponto extremo ou nenhum, em cada cub´oide.

3.3.2.2 Extraindo curvas

A extra¸c˜ao come¸ca por um elemento (i, j, k) do mapa de saliˆencia de curvas que possui a maior saliˆencia. Como no caso de superf´ıcies, localidades com altos valores de saliˆencia tˆem maior probabilidade de pertencer a uma curva, embora isso n˜ao seja sempre o caso.

Processa-se o cub´oide definido por (i, j, k) conforme definido acima. Se existe o ponto de curva Ii nesse cub´oide, ent˜ao ele ´e guardado e o pr´oximo cub´oide ´e determinado

pela orienta¸c˜ao do vetor de pontos de curva Ii− Ii−1 ou por w , caso seja o inicio da cadeia.

Cap´ıtulo 3. Epistemologia da abordagem de Gideon Guy 58 tangentecurva I v u u v u v ++ -+ +- -- t

Figura 3.13: Determinando o ponto de pas- sagem de curva I, que tem saliˆencia localmente m´axima, no plano definido pela tangente.

O passo acima ´e repetido at´e que a saliˆencia associada ao cub´oide seja inferior a um limiar de controle. Os segmentos gerados formam a curva C1. Retorna-se ao ponto inicial

e o processo acima ´e realizado para a dire¸c˜ao -w . Ou seja, analisa-se o outro sentido da curva a partir do cub´oide inicial. A curva C2 gerada nesse processo ´e ent˜ao invertida e a

curva total direcionada C = C1∪ C2 ´e formada.

Se h´a m´ultiplas curvas, busca-se o elemento correspondente `a maior saliˆencia e cujo cub´oide ainda n˜ao tenha sido processado. O mesmo processo de extra¸c˜ao ´e ent˜ao realizado sobre esse novo elemento inicial.

3.3.2.3 Extra¸c˜ao de jun¸c˜oes

O mapa de saliˆencia de jun¸c˜oes ´e formado por escalares que indicam contribui¸c˜oes complexas de orienta¸c˜ao. Guy interpreta essa informa¸c˜ao como sendo a interse¸c˜ao entre v´arias estruturas. A sua extra¸c˜ao ´e realizada simplesmente pela localiza¸c˜ao de m´aximos e supress˜ao dos altos valores de saliˆencia em sua vizinha¸ca.

A extra¸c˜ao come¸ca pelo elemento (i, j, k) do mapa de saliˆencia que possui a maior saliˆencia. Esse ponto constitui a sa´ıda do processo. Em seguida, os n vizinhos mais pr´oximos contidos em uma esfera de raio fixo centrada em (i, j, k) s˜ao simplesmente zerados [GUY 96]. Esses vizinhos tendem a ter valores altos de saliˆencia, o que pode dificultar a detec¸c˜ao de outras jun¸c˜oes.

Se h´a v´arios pontos de jun¸c˜ao, realiza-se o mesmo processo no elemento correspon- dente `a maior saliˆencia e que n˜ao tenha sido processado.