IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Traitement d'images Discussion :

Implementation algorithme Snake


Sujet :

Traitement d'images

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Par défaut Implementation algorithme Snake
    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

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonsoir,

    je ne suis pas un spécialiste des snakes, mais voilà quelques explications :
    - il me semble qu'un point du snake peut se déplacer de plusieurs pixels, pas seulement sur un huit voisinage.
    - la formule de l'énergie n'est JAMAIS unique, c'est pour cela que tu en as trouvé autant de différentes. Chaque application a sa propre formule d'énergie.
    En général, une formule d'énergie est du type : E = Alpha * Einterne + Beta * Eexterne + ... (une série d'énergies complémentaires : courbure, torsion, nombre de points du snake, ...). Par exemple, dans celui que j'ai utilisé pour un projet, je calculais la variance de l'intérieur (Einterne) et de l'extérieur (Eexterne) de mon snake, car je voulais séparer deux zones relativement homogènes.

    Voilà un petit exemple.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  3. #3
    Membre émérite Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Par défaut
    Merci pour ces précisions,le problème c'est que je ne sais pas exactement comment calculer les énergies Internes et externes,est ce que vous pouvez me montrer à l'aide du Schéma comment on peut appliquer la formule
    Energie interne = A/2 *||v'(s)||² + B/2 *||v''(s)||² ??
    ainsi que l'energie externe

    ToTo13
    Voilà un petit exemple.
    Ce lien est mort je crois.

  4. #4
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    peux tu détailler cette formule ?
    A et B sont très certainement deux coefficients qu'il te faut régler (des paramètres du snake).
    Mais que sont v'(s) et v"(s) ?
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  5. #5
    Membre émérite Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Par défaut
    Bonjour,

    peux tu détailler cette formule ?
    A et B sont très certainement deux coefficients qu'il te faut régler (des paramètres du snake).
    Mais que sont v'(s) et v"(s) ?
    Bonjour,
    A et B sont les parametres de continuité et courbure respectivements (Alpha,Beta)


    V(s)=Vs=(Xs,Ys) Coordonnés du point « s » dans le snake.
    Je pense donc qu’il serait plus exacte d’ecrire :
    Energie interne(s) = A/2 *||v'(s)||² + B/2 *||v''(s)||²

    v'(s) et v"(s) sont la dérivé et dérivé seconde respectivements de v(s).(dérivé par rapport à « s »)
    Comment calculer cette dérivé ?

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par b_reda31 Voir le message
    v'(s) et v"(s) sont la dérivé et dérivé seconde respectivements de v(s).(dérivé par rapport à « s »)
    Comment calculer cette dérivé ?
    par les différences finies sur les coordonnées curvilignes ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme sur l'algorithme "snake"
    Par OoYoO dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 19/11/2009, 10h38
  2. implementation de l'algorithme Roy-Warshall-Floyd
    Par adilou1981 dans le forum Général Java
    Réponses: 0
    Dernier message: 30/07/2009, 11h50
  3. Algorithme snake sur Matlab
    Par laiture dans le forum Images
    Réponses: 2
    Dernier message: 18/02/2009, 17h04
  4. implementation des algorithmes dans le Driver de la cam
    Par ASSAMO dans le forum Traitement d'images
    Réponses: 0
    Dernier message: 28/03/2008, 12h31
  5. problème d'algorithme snake
    Par skysee dans le forum Développement 2D, 3D et Jeux
    Réponses: 7
    Dernier message: 14/11/2007, 20h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo