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 :

Segmentation Level Set


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 Segmentation Level Set
    Bonjour à tous, j’ai passé toute la matinée à me documenter sur la segmentation d'images en particulier par la méthode Level Set .Hélas je n’ai pas compris grand-chose
    Voici ce que j’ai trouvé :
    Cette méthode permet de faire évoluer une courbe paramétrique fermée C(p) suivant une équation de type dC/dt=FN


    Tel que :
    t est le temps,
    N : normale unitaire à la courbe
    F : vitesse d’évolution



    Quelqu’un peut me donner plus de précision SVP ?

  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
    Bonjour,

    tu peux également ajouter :
    - ce n'est pas forcément une courbe paramétrique, mais des fois justes des points reliés entre eux.
    - La fonction est une fonction d'énergie !!! Avec une énergie interne et une énergie externe, plus quelques petits paramètres selon besoins. Tu fais donc varier ta courbe ou tes points grace à la fonction.

    Si tu veux un exemple de Snake, il y a un plugin déjà implémenté dans ImageJ.
    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 réponses, pouvez vous me donner un exemple d'application de cette formule car je dois l'implémenter et je ne sais par quoi commencer.
    Sinon auriez vous un cours en français sur cette méthode ?

  4. #4
    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
    La courbe C "bouge" en fonction du temps. Elle se déplace vers la contour de la zone a segmenter.

    Pour savoir de combien elle bouge, on calcule la vitesse de déplacement de chaque point de la courbe. D'ou le calcul de dC/dt = vitesse de la courbe (en chaque point).

    Dans ton cas, tu sais déja que ce calcul donne dC/dt=FN, c'est a dire que:
    1. chaque point de la courbe se deplace perpendiculairement au rayon de courbure.
    2. la grandeur (norme) du déplacement est F, qui est une fonction que l'on va devoir construire.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Novembre 2007
    Messages : 5
    Par défaut level set et segmentation,
    je suis la pour t'aider et de faire te comprendre la méthode level set
    pour la segmentation d'image, généralement soit en utilisant les contours actifs "snakes" sont des courbe paramétriques, enérgie interne qui dépend du snake lui même c-à-d optimisation de la courbure et de la longueur,
    si on a par exemple une courbe ouverte distance entre deux point (extr'miités)" la longueur optimale est bien une droite, si la courbe est fermé donc la forme la longueur optimale est un cercle, l'enérgie externe dépend de l'image, "des contours de l'image (le gradient d'image ou un variation de l'intensité des pixels)...etc
    pour la méthode level set est une méthode géométrique, son interet est l'adaptation topologique à la forme actuelle de l'objet sans connaissance préalable. la suite vient avec la discussion

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Mai 2007
    Messages : 27
    Par défaut
    Attention à ne pas confondre les snakes (contours actifs dont on cherche à minimiser l'énergie, "inventés" pour le traitement d'images) avec les level sets (méthode numérique, beaucoup plus générale, de résolution d'équations différentielles partielles qui apparaissent dans une modélisation du problème de segmentation).

    Pour l'implémentation des level sets et leur application à la segmentation, voir par exemple le site de Baris Sumengen
    http://barissumengen.com/level_set_methods/index.html
    Son implémentation est très facile à comprendre, à défaut d'être optimisée.

    Deux mises en garde :
    - si tu ne peux pas lire l'anglais
    - si tu ne peux pas suivre les développements mathématiques derrière la méthode des level sets
    tu finiras très vite dans une impasse. Un seul conseil : lis!

    Nous sommes ici pour te conseiller et t'orienter si tu as une question précise et si tu as raisonnablement défriché le terrain.

    Bonne chance.

  7. #7
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 56
    Par défaut
    Bonjour,
    J'essaye de comprndre la différence entre level set et les snakes et ce que j'ai compris c'est que avec les snakes ont connait à prioris la forme géométrique de l'objet qu'ont cherche par contre avec le level set c'est tout à fait le contraire.
    est ce que c'est vrais?
    Citation Envoyé par tiougare Voir le message
    pour la méthode level set est une méthode géométrique, son interet est l'adaptation topologique à la forme actuelle de l'objet sans connaissance préalable. la suite vient avec la discussion
    d'apres cette explication je comprend que l'interret de level set est l'adaptation topologique vous pouvez m'expliquez un peux plus svp

    Merci

  8. #8
    Invité de passage
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 1
    Par défaut Segementation d'images par LevelSet
    Salam,

    Un modèle de contour actif : un ensemble de points mobiles et répartis sur une courbe en deux dimensions. Dans le cas de la segmentation, on fait évoluer la courbe vers les frontières de l’objet a segmenter par des forces internes et externes.
    Les forces internes dépendent des propriétés de la courbe (Courbure, Longueur…),
    Les forces externes dépendent des caractéristiques de l’image (Gradient, Bruits,…)
    Cette méthode n’est plus utilisée actuellement parce qu’elle présente plusieurs limitations :

    - Pas de Stabilité numérique : si des points se trouvent très rapprochés lors de l’évolution de la courbe, il serait très difficile d’estimer les dérivées….

    - Pas de changement de topologie : la courbe ne peut pas se scinder pour segmenter plusieurs objets. Pas de fusion de courbes.

    Solution : LevelSet

    Faire évoluer la courbe de façon implicite : LevelSet
    La courbe (2D) est représentée comme le niveau zéro d’une surface (3D). On fait évoluer la surface sous l’effet d’une force de telle sorte que la courbe reste toujours son niveau zero.
    La force dépend des quantités géométriques et des caractéristiques de l’image.

    Segmentation par LevelSet:

    1 - Définir une énergie qui dépend de la courbe (Frontières ou région internes de l’objet à segmenter)
    2 - Minimiser cette énergie par rapport a la courbe : ceci conduit a une équation d’évolution de la courbe : dC/dt = FN
    3 - Intégrer cette équation dans une formulation LevelSet
    d(Phi)/dt = F |grad(Phi)|, Phi est la fonction LevelSet
    4 - Discrétiser :
    d(Phi), dt, F, |grad(Phi)|
    5 - Implémenter

  9. #9
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 2
    Par défaut La vexation me guette...
    Bonjour,

    Je regrette, je ne peux pas laisser passer cela :

    Citation Envoyé par Abrahib Voir le message
    Cette méthode n’est plus utilisée actuellement parce qu’elle présente plusieurs limitations :
    Vu la biblio existante sur les contours actifs paramétriques basés 'snakes', c'est une énorme imprudence que de dire que ceux-ci ne sont plus utilisés !

    Premièrement,
    Citation Envoyé par Abrahib Voir le message
    - Pas de Stabilité numérique : si des points se trouvent très rapprochés lors de l’évolution de la courbe, il serait très difficile d’estimer les dérivées….
    le problème de stabilité numérique vient simplement du passage de la modélisation continue du 'snake' à l'implantation discrète. Une reparamétrisation de la courbe est triviale, rapide, et résoud le problème sans avoir recours à une dimension supérieure (cf plus loin)

    Deuxièmement,
    Citation Envoyé par Abrahib Voir le message
    - Pas de changement de topologie : la courbe ne peut pas se scinder pour segmenter plusieurs objets. Pas de fusion de courbes.
    Si ne pas changer de topologie est une limitation, je peux dire de même sur le fait que changer de topologie à tout va en est une !! Un avantage des contours actifs paramétriques explicites est donc d'avoir une topologie définie a priori. Un avantage des contours actifs implicites (level-set) est de ne pas en avoir. tout dépend de l'application. Si je cherche UN cercle dans une image, je ne veux pas en trouver DEUX.

    De plus, plusieurs idées existent pour l'adaptation de la topologie d'un contour actif paramétrique (cf les travaux de McInerney).

    Donc :
    Citation Envoyé par Abrahib Voir le message
    Solution : LevelSet

    Faire évoluer la courbe de façon implicite : LevelSet
    La courbe (2D) est représentée comme le niveau zéro d’une surface (3D). On fait évoluer la surface sous l’effet d’une force de telle sorte que la courbe reste toujours son niveau zero.
    Exactement : les level-set impliquent l'utilisation d'une fonction implicite 2D pour représenter une courbe 1D. D'où les problèmes d'optimisation récurrents, pour lesquels des solutions de paramétrisation de la courbe (!) ainsi qu'une recherche de solutions dans une zone restreinte autour du niveau zero (narrow band) sont proposées.

    Je regrette de ne pouvoir répondre à la question initiale - il semble que le lien donné par navhpf soit amplement suffisant pour comprendre l'implantation level-set dont je ne suis pas spécialiste. Par contre, pour des questions sur les contours actifs paramétriques, je peux m'en sortir.

  10. #10
    Invité de passage
    Inscrit en
    Mars 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 1
    Par défaut
    est ce que vous pouvez m'envoyé le code de la methdes level sets implémeneter en java et merci

  11. #11
    Membre à l'essai
    Inscrit en
    Novembre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Novembre 2010
    Messages : 6
    Par défaut level set
    slt, mon projet de fin d'étude porte sur la segmentation par les level sets, est ce que vous pouvez me donner un algorithme simple de la méthode. Merci

  12. #12
    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 INFOset Voir le message
    slt, mon projet de fin d'étude porte sur la segmentation par les level sets, est ce que vous pouvez me donner un algorithme simple de la méthode. Merci
    Hum... le principe de l'algo en lui meme est assez simple, mais il nécessite quelques bases mathématiques pour le comprendre et donc l'implémenter correctement.

    Je conseille la lecture du papier "Distance Regularized Level Set Evolution and its Application to Image Segmentation", Li, Xu & co.

    Tu peux passer directement au chapitre 3 (APPLICATION TO IMAGE SEGMENTATION) si la partie théorique des level-sets ne t'intéresse pas.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  13. #13
    Membre à l'essai
    Inscrit en
    Novembre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Novembre 2010
    Messages : 6
    Par défaut level set
    Merci pour le pdf , c vraiment gentil

  14. #14
    Membre à l'essai
    Inscrit en
    Novembre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Novembre 2010
    Messages : 6
    Par défaut level set
    slt, je suis un peu perdu dans la méthode level set , est ce que le modèle de Chan & Vese est le même que le modèle de Munford? et est ce qu'il ya deux Approches de level set "approche région et approche contour"? et Merci

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/04/2015, 02h02
  2. segmentation des images par la méthode Level Set
    Par nicole_elc dans le forum Images
    Réponses: 2
    Dernier message: 16/03/2015, 10h30
  3. Segmentation par Level-set (Chan&Vese)?
    Par lili22 dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 18/10/2011, 11h24
  4. Segmentation level set sur des images 3D+T
    Par saracen dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 24/04/2011, 20h34
  5. Réponses: 5
    Dernier message: 19/03/2008, 12h43

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