• Aucun résultat trouvé

Si nous reprenons l’analogie du feu de prairie, le front enflammé peut être repré- senté par une courbe qui se déplace au cours du temps depuis le contour de la forme vers son centre. Selon Kimia et al., il est alors possible de rechercher le squelette par une équation différentielle partielle basée sur l’évolution de cette courbe [65]. Siddiqi et al. se sont intéressés à cette possibilité [115].

Soit une forme S de 2. Le front enflammé est représenté par une courbe

C

évo-

luant dans le temps, qui au départ du processus du feu de prairie correspond au contour de S :

C

(0) ≡

C

0≡ ∂S ≡ {(x0(s),y0(s))}, où s est l’abscisse curviligne, x0(s) et y0(s)

sont les coordonnées cartésiennes des points du contour de S (l’indice 0 indique qu’il s’agit de la position initiale de la courbe). Chaque point de cette courbe évolue en fonc- tion du temps dans une direction donnée. L’évolution de la courbe vérifie le système d’équations

 ∂C

∂t(s,t) = F · N,

C

(s,0) =

C

0(s), (5.10)

N est la normale interne, t est le paramètre de temps, F représente à la fois la vitesse

et la direction de l’évolution. Cette équation concerne les déformations constantes2. La

forme S de contour

C

0 équivaut la surface obtenue en superposant toutes les courbes

C

(s,t), avec t ≥ 0. Soit, T la fonction qui indique pour chaque point q de S la date à laquelle il est atteint par la courbe

C

. Ainsi, T (q) = DMS(q) pour tout point q de S. La figure 5.12 montre un exemple de courbe évoluant dans le temps.

En se basant sur les paramètres de la figure 5.12, la vélocité de la courbe est obtenue par F = d h = 1 tanα = 1 d0 = 1 ||∇T ||. (5.11)

Ainsi, T satisfait l’équation eikonale

||∇T || · F = 1. (5.12)

La résolution de cette équation peut être obtenue grâce à l’équation canonique d’Ha- milton. On pose

2Kimia et al. démontrent que l’évolution d’une courbe satisfaisant le système d’équations (5.10) est

équivalent à l’évolution d’une forme par les opérations d’érosion ou de dilatation définies en morpholo- gie mathématique [111, 108], avec comme élément structurant une boule de taille F. Utiliser l’évolution du front enflammé pour détecter le squelette revient donc à l’opération d’amincissement de la forme.

1 y t x C(s,t1) C(s,t2) C(s,t0) α h N d T (x,y) = t1 T (x,y) = t2 T (x,y) = t0 d0 q q0

Figure 5.12 – Évolution d’une courbe. Dans la figure, t0, t1 et t2 sont trois dates successives

et nous voyons l’évolution de la courbe C (en pointillé) pour ces trois dates. Chaque courbe vérifiant l’équation T (x,y) = ti apparaît en trait plein. Chacune de ces courbes est pondérée

avec la date ti.q est un point de la courbe d’équation T(x,y) = t1 etq0 correspond au pointq

mais pour la courbe d’équation T (x,y) = t2.N est la normale du vecteur q0− q, α est l’angle

du vecteurq0− q par rapport au plan horizontal, h = t2− t1, d est la longueur de la projection

du vecteurq0− q sur le plan horizontal et d0 est la longueur de la projection du la normale sur

le plan horizontal.

Dq0(qt) =dE(q0,qt) =DMS(qt) =t (5.13) la distance euclidienne entre q0, le point du contour

C

0 de la forme, et le point qt du front enflammé

C

(t), représentant la position à l’instant t de l’élément qui se trouvait initialement en q0. Pour tout point q0 du contour et point qt(x,y) correspondant, la valeur du gradient ||∇D|| =  ∂D ∂x,∂D∂y 

est de 1, ce qui signifie que la vitesse du front enflammé est constante. On posep = ∂D∂q, aussi appelé vecteur de la lenteur normale du front enflammé.p satisfait l’équation d’Hamilton-Jacobi

∂D

∂t +H(q,p,t) = 0, (5.14)

où H(q,p,t) est la fonction hamiltonienne. La résolution de cette équation se fait par

le système d’équations hamiltoniennes (

˙

p = −∂H∂q,

˙q = ∂H∂p. (5.15)

||p|| = ||∇D|| = 1 et ˙q · p = 1, car par le principe de Huygens la direction du rayon ˙q = dq

dt est le conjugué de la direction du mouvement. La fonction hamiltonienne H(q,p,t) est alors donnée par

H(q,p,t) = p · ˙q− || ˙q|| = 1 − ||∇D||, (5.16) et le système hamiltonien est donné par

( ˙

p = −∂H∂q = (0,0),

˙q = ∂H∂p = −∇D. (5.17)

Nous voyons bien que la vitesse de la courbe est constante. Le signe négatif de cette vitesse signifie que la courbe se déplace vers le centre de la forme.

Selon Siddiqi et al., si aucun fronts ne se rencontrent, l’énergie totale H(q,p,t) est

normalement constante le long de toutes trajectoires de la courbe du front enflammé [112]. Si un choc apparaît entre deux fronts enflammés, alors le principe de conserva- tion d’énergie est violé. Pour repérer les points du squelette, il suffit donc de retrouver les zones de non conservation de l’énergie.

La distinction des points squelettaux par rapport aux autres points se fait en calcu- lant le flux de sortie moyen du champ de vecteurs ˙q autour d’un point. Le flux de sortie moyen est défini comme le rapport entre le flux de sortie d’une région R contenant ce point et le périmètre de cette région

R

∂Rh ˙q,Nids

P

(R) , (5.18)

où h·,·i est le produit scalaire, ds est une portion du contour de R et N est la normale de sortie en chaque point du contour. Selon le théorème sur la divergence

Z

Rdiv( ˙q) da =

Z

∂Rh ˙q,Nids, (5.19)

où da est une portion de surface de R. De ce fait, la relation entre le flux de sortie et la divergence du champ de vecteurs ˙q est donné par

div( ˙q) = lim

A(R)→0

R

∂Rh ˙q,Nids

A

(R) . (5.20)

L’intégrale de la divergence de ˙q dans une région, ou plutôt le flux sortant à travers le contour de cette région, mesure le degré avec lequel le flux généré par ˙q préserve la surface. En particulier, il est négatif si le flux tend à diminuer l’aire dans le voisinage, positif si le flux tend à augmenter l’aire dans le voisinage et nul sinon. Cependant, le

théorème sur la divergence ne s’applique pas pour les régions contenant l’axe médian. Si q est un point quelconque, le flux sortant moyen donne une valeur proche de zéro. Si q est un point de l’axe médian, le flux sortant moyen donne une forte valeur négative.

L’algorithme 5.2 correspond à l’algorithme de Siddiqi et al. pour calculer les sque- lettes Hamilton-Jacobi [112].

Algorithme 5.2 Algorithme de calcul des squelettes Hamilton-Jacobi.

1. Partir de la courbe initiale

C

0=∂S représentant le contour de la forme S.

2. Créer une séquence ordonnée de particules le long du contour espacé deδs. 3. Calculer la carte des distances euclidienne de la forme S de tel sorte que chaque

point de la grille situé à l’intérieur de S soit associé à la plus petite distance par rapport aux particules.

4. Pour chaque point de la grille, calculer le gradient∇D. 5. Pour chaque étape {

Pour chaque particule {

Mettre à jour la position de la particule : x(étape + 1) = x(étape) − ∆t∂D∂x

y(étape + 1) = y(étape) − ∆t∂D∂y

Si dE(particule,particule_suivante) >ε { Créer une nouvelle particule

} } }

La particularité de la méthode de Siddiqi et al. est de se baser sur une approxima- tion curviligne du contour de la forme. Ce qui permet de ce rapprocher plus de ce que nous appellerons la forme perçue de la forme discrète. Cependant, contrairement à la méthode d’Ogniewicz, la méthode de Siddiqi et al. se base sur une trame discrète. Si bien que le squelette obtenu est composé d’un ensemble de points distants d’un pixel3.