• Aucun résultat trouvé

4.2 Realisation d'algorithmes sur des modeles cellulaires

4.2.2 Algorithme de deformation homotopique d'un modele

dele cellulaire

Nous presentons ici le principe general de l'agorithme de deformation d'un modele cellulaire binaire sans le contraindre a une application particuliere. Ensuite, nous expliquons les precautions a prendre en vue d'implanter cet algorithme. En n nous formulons quelques remarques sur la rapidite de cet algorithme. L'utilisation de cet algorithme pour la segmentation de la surface corticale dans des images IRM sera abordee dans la partie suivante.

L'algorithme general de deformation utilise trois fonctions principales: modele initial

:

Cette fonction est chargee de construire le modele initial

devant ^etre deforme par la suite. La topologie de ce modele initial sera conservee tout au long du processus de deformation.

critere de selection

:

La selection des cellules devant ^etre modi ees est faite par l'intermediaire de cette fonction. C'est elle qui est chargee de guider la deformation vers le modele nal.

Considerations informatiques et algorithmiques

critere de fin

:

Ce critere d'arr^et de l'algorithme doit determiner si le modele courant de la deformation est une solution au probleme que l'on souhaite resoudre.

M est un modele cellulaire

P est l'ensemble des parametres de l'algorithme M = modele initial(P)

Tant que

critere de fin(M;P) est faux

Pour

chaque cellules de M

Si

s est simple et critere de selection(s;M;P) est vrai changer l'etiquette de s

Fin si

Fin pour

Fin tant que

Lors de l'utilisation de cet algorithme dans un cas concret il est important de noter qu'avecles m^emesfonctionsmodele initial,critere de selection et critere de fin, il est possible d'obtenir des resultats di erents en fonc- tion de l'ordre dans lequel les cellules du modele sont parcourues1. Cela pro-

vient du fait que la modi cation d'une cellule peut modi er la((simplicite))de

ses voisines. C'est une consequence directe du fait que la detection d'une cel- lule simplese fait en observant son voisinage. Dans le cas du modele cellulaire, il est possible, dans une certaine mesure, de limiter l'in uence geometrique de ce phenomene en tirant pro t du fait que deux cellules de m^eme dimen- sion ne sont jamais voisines. Ainsi, il est possible de modi er globalement un ensemble de cellules simples de m^eme dimension. En utilisant une boucle qui parcourt d'abord toutes les cellules de dimension zero, puis toutes les cellules de dimension un et ainsi de suite, on evite de privilegier la suppression de cellules dans une direction opposee a celle du sens de parcours des cellules. Cela n'est pas directement possible avec une structure classique. Prenons l'exemple de la gure 4.6a. En supprimant toutes les cellules simples de la gauche vers la droite on obtient l'objet de la gure 4.6b, si on le fait de la droite vers la gauche on obtient l'objet de la gure 4.6c. Si on supprime les cellules simples de dimension zero puis celles de dimension un et ainsi de suite, on enlevera successivement les couples de cellules suivants: (1;7), (2;6) et (3;5). A la n il restera l'objet de la gure 4.6d; on obtiendra le m^eme resultat quel que soit l'ordre choisi pour parcourir les cellules de m^eme dimension.

1: Notons que cela n'est pas speci que aux modeles cellulaires, mais se retrouve dans les methodes de suppression des points simples dans des images 2D ou 3D classiques.

4.2 Realisation d'algorithmes sur des modeles cellulaires (d) (c) (b) (a) 1 2 3 4 5 6 7

Fig. 4.6 { In uence de l'ordre de suppression des cellules simples. (a) Ob- jet initial. (b) Suppression de la gauche vers la droite. (c) Suppression de la droite vers la gauche. (d) Suppression simultanee des cellules de m^eme dimension.

Dans cet algorithme de deformation, on utilise de maniere intensive la detection des cellules simples. Le nombre de detections des cellules simples a donc une grande in uence sur la rapidite de l'algorithme general. A n d'op- timiser la rapidite de l'algorithme il faut remarquer que les cellules simples se trouvent toujours a la frontiere entre un objet et le fond car le voisinage d'une cellule simple comporte une composante connexe du fond et une composante connexe de l'objet. Il y a donc dans beaucoup de cas peu de cellules simples par rapport au nombre total de cellules. Il serait donc interessant au cours du processus de deformation de ne pas systematiquementexaminer toutes les cellules mais seulement celles qui sont dans le voisinage de cellules simples. Pour cela il faut associer une valeur booleenne a chaque cellule indiquant si elle est simple ou non. Apres l'initialisation du modele, il est necessaire de parcourir toutes les cellules a n d'initialiser les valeurs booleennes. Cepen- dant, au cours des iterations, la detection des cellules simples sera immediate car precalculee et il sura, chaque fois que l'on modi era une cellule simple, d'examiner ses voisins pour recalculer leur ((simplicite)). On diminue ainsi

d'une dimension la complexite de l'algorithme en terme de nombre de detec- tions de cellules simples.

L'algorithme de deformation est facilement adaptable au cas d'un mo- dele comportant plusieurs objets; il sut de choisir, pour chaque cellule s parcourue par l'algorithme, un objet appartenant a l'ensemble d'homotopie de s puis faire appartenir s a cet objet. Ce choix est une partie crutiale de l'algorithme de deformation car c'est sur lui que reposent les deformations du modele.

Considerations informatiques et algorithmiques