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 :

Mélange de gaussiennes


Sujet :

Traitement d'images

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 15
    Par défaut Mélange de gaussiennes
    Bonjour,
    Je dois segmenter une image 3D contenant 3 régions. L'histogramme du volume peut être modélisé par un mélange de gaussiennes. Je cherche, donc, à estimer l'amplitude, la moyenne et l'écart-type de chaque gaussienne pour classifier les voxels.
    L'algorithme EM et les moindres carrés non linéaires (méthode de Levenberg Marquardt) appliqués sur l'histogramme ne donnent pas de bons résultats même avec une initialisation proche de la solution optimale ou ne convergent pas.

    Auriez-vous une idée pour déterminer les paramètres des gaussiennes?

    Je travaille en C# et je ne peux utiliser de librairie extérieure.
    J'ai mis en fichier joint un exemple d'histogramme. Les données sont bruitées même si cela n'est pas visible sur l'histogramme. Un lissage ne suffit pas à débruiter suffisamment l'histogramme pour que l'algorithme EM converge vers la solution optimale.

    Merci de votre aide.
    Images attachées Images attachées  

  2. #2
    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
    bonjour,

    Normalement tu aurais du y arriver avec les moindres carrés...

    G(x) = a.exp( -(x-b)² / 2c² )

    Pour simplifier le système linéaire tu peux deja chercher les 3 "meilleurs" maximum locaux: ca te donnera les 3 parametres "b". Tu n'auras plus qu'a faire un mondre carré sur les parametres a et c.

    Comme point de départ pour les "a", tu peux prendre la valeur de ta courbe pour le "b" correspondant. Ca ne devrait pas etre loin de la valeur exacte.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 15
    Par défaut
    Merci de ta réponse.
    Je vais essayer en faisant un moindre carré sur les paramètres a et c.

  4. #4
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 15
    Par défaut
    Même en fixant la valeur de b et en faisant un moindre carré sur a et c, la méthode en converge pas (lambda --> infini).
    Merci de ton aide.

  5. #5
    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
    Tu peux nous mettre en piece jointe la serie de valeurs (format csv ou autre) ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  6. #6
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 15
    Par défaut
    Voici la série de valeurs.
    Fichiers attachés Fichiers attachés

  7. #7
    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 premiere et la derniere valeur dans ton fichier parraissent aberantes.
    Un petit filtrage median sur ta serie de valeur permet de remedier a ce probleme.

    Ensuite les moindres carrés convergent.

    J'ai codé un truc en 3eme vitesse (sans doute avec des erreurs ) et je trouve:

    Y = a1.exp(-(X-b1)²/c1) + a2.exp(-(X-b2)²/c2) + a3.exp(-(X-b3)²/c3)

    avec
    a1=94729, b1=156, c1=5926
    a2=35840, b2=1086, c2=42329
    a3=19445, b3=1319, c3=4445

    Nom : 3gaussian.jpg
Affichages : 172
Taille : 10,2 Ko
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/06/2012, 15h31
  2. [Débutant] Eclipse mélange mes servlets
    Par kennie77 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 05/11/2005, 11h15
  3. réseau et mélange windows XP pro et window XP familiale
    Par maniaco_jazz dans le forum Développement
    Réponses: 5
    Dernier message: 15/08/2005, 11h01
  4. Mélange du résultat d'un select
    Par elmaxbo dans le forum Requêtes
    Réponses: 2
    Dernier message: 09/05/2005, 13h01
  5. événements mélangés
    Par ceugniet dans le forum C++Builder
    Réponses: 9
    Dernier message: 26/01/2005, 11h58

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