Bonjour à tous.
Je cherche à implémenter l’algorithme de « SNAKE » pour la segmentation d’image,j’ai donc cherché un peu partout sur la net ( sites anglais et français) puis j’ai consulté plusieurs topics sur ce sujet dans le forum.
Voici les différents points que je crois avoir compris,je vous demanderais SVP de me confirmer ou éventuellement me corriger les points suivants :
1-) Un Snake est un ensemble fini de points (Xi,Yi) où chaque point a un successeur et un prédécesseur ( Pour les contours fermés) .
2-) L’ensemble des points du snake ont une position initiale après déroulement de l’algorithme chaque point se déplacera et ainsi le Snake change de forme.
3-)Concernant le déplacement de chaque point !!là ça commence à s’embrouiller…
J’ai essayé de schématiser un peu pour pouvoir mieux comprendre.
Dans la figure les points rouges (1,2,…,7) sont ceux qui forment le Snake,les points bleus sont les 8 voisin de chaque point du Snake.
3-1) Chaque point du Snake prendra la place de l’un de ses 8 voisins.
3-2) LAQUELLE ??
Pour trouver la nouvelle position du point il faut calculer les 8 énergies des 8 points voisins (les poins bleus 1,2,3,…,8) pour trouver ainsi les valeur E1,E2,…,E8 associées aux énergies de chaque voisin.
Le point rouge se déplacerai ainsi vers le voisin ayant la plus PETITE valeur d’énérgie.
EST-CE BIEN CELA ?
3-3)COMMENT CALCULER CETTE ENERGIE ??
Energie= A* « Energie de continuité »+ B* « Energie de courbure » + C * « Energie Gradient »
A,B,C sont des paramètres que l’User spécifiera.
Pour ce qui est du calcul des énergies (continuité,courbure,gradient) là je suis vraiment bloqué !
J’ai trouvé plusieurs formules différentes les unes que les autres…
Quelqu’un pourrai m’expliquer à travers le schéma comment calculer ces 8 énergies afin de trouver ou est ce que le point du Snake se déplacera.
Si vous êtes arrivé jusque là dans la lecture de ce sujet je vous remercie de votre patience…![]()
J’ai vraiment besoin de confirmations pour pouvoir entamer l’implémentation.
Merci d’avance.
Réda
Partager