Formation d'un champ aléatoire de Markov de base pour classer les pixels d'une image

16

J'essaie d'apprendre à utiliser les champs aléatoires de Markov pour segmenter des régions dans une image. Je ne comprends pas certains des paramètres du MRF ni pourquoi la maximisation des attentes que j'effectue ne parvient pas parfois à converger vers une solution.

En partant du théorème de Bayes, j'ai p(x|y)=p(y|x)p(x)/p(y) , où y est la valeur d'échelle de gris du pixel et x est une étiquette de classe. J'ai choisi d'utiliser une distribution gaussienne pour p(y|x) , tandis que p(x) est modélisé à l'aide du MRF.

J'utilise une fonction potentielle pour le MRF qui a à la fois des potentiels de clique par paire et une valeur potentielle pour l'étiquette de classe du pixel en cours de classification. La valeur potentielle d'un seul pixel est une constante α qui dépend de l'étiquette de classe x . Les fonctions potentielles par paire sont évaluées pour les voisins à 4 connectés et renvoient positif βsi le voisin a la même étiquette de classe que ce pixel et β si les étiquettes diffèrent.

Au moment de la maximisation des attentes où je dois trouver les valeurs de α(x) et β qui maximisent la valeur attendue de la vraisemblance logarithmique, j'ai utilisé une méthode d'optimisation numérique (gradient conjugué essayé, BFGS, méthode de Powell) mais toujours constater que la valeur de deviendrait négative, les augmenteraient considérablement et une itération ou deux plus tard, l'image entière serait affectée à une seule étiquette (arrière-plan: l'attribution des étiquettes de classe en fonction des paramètres MRF a été effectuée à l'aide d'ICM). Si je supprimais les alphas, c'est-à-dire en utilisant uniquement des potentiels de clique par paire, alors la maximisation des attentes fonctionnerait très bien.βα

Veuillez expliquer quel est le but des alphas pour chaque classe? Je pensais qu'ils seraient liés à la quantité de cette classe qui est présente dans l'image, mais cela ne semble pas. Une fois que le MRF a fonctionné avec seulement des potentiels par paire, je l'ai comparé à un modèle de mélange gaussien simple et j'ai constaté qu'ils produisaient des résultats presque identiques. Je m'attendais à ce que les potentiels par paire lissent un peu les classes, mais cela ne s'est pas produit. Veuillez indiquer où je me suis trompé.

chippies
la source
Juste curieux, pourquoi avez-vous choisi un modèle de graphique non orienté?
Dans mon application, la valeur d'échelle de gris du nombre de pixels et des pixels voisins est plus susceptible d'avoir la même étiquette de classe, mais il n'y a aucune raison d'utiliser une version bêta différente pour chaque clique par paire. J'espère avoir bien compris votre question.
chippies
1
Les alphas constants semblent servir à modéliser la distribution antérieure sur les étiquettes. Comme vous le supposiez, des alphas corrects risquent de superposer les étiquettes que l'on rencontre le plus souvent dans l'ensemble d'entraînement. Si votre modèle fonctionne bien sans eux, pourquoi ne les déposez-vous pas simplement du modèle? Votre description n'est pas assez détaillée pour expliquer pourquoi les alphas se développeraient et gâcheraient tout, mais vous avez probablement besoin de régularisation. Essayez d'ajouter l'a priori gaussien sur alpha au modèle, c'est-à-dire ajouter au log-postérieur, cela empêcherait probablement le sur-ajustement. λα2
Roman Shapovalov
Qu'est-ce qui ne ressort pas clairement de votre question: 1) Votre probabilité p (y | x) se décompose-t-elle en pixels, vous utilisez donc un gaussien 1D pour chacun? 2) Quel est l'objectif exact que vous optimisez dans l'EM (vous avez mentionné la vraisemblance logarithmique, mais vous utilisez au préalable MRF pour la modélisation)? 3) Définissez-vous des potentiels dans le domaine logarithmique? Augmenter le bêta signifie-t-il augmenter P (x), ou l'énergie, qui est -log P (x), ou l'énergie négative? 4) Parvenez-vous à diminuer réellement l'objectif EM en définissant de tels alphas dégénérés, ou l'optimisation échoue-t-elle?
Roman Shapovalov
Qu'en est-il de la propagation des croyances en boucle?
wolfsatthedoor

Réponses:

1

Diagnostic

Cela ressemble à un problème d'initialisation.

Le modèle MRF que vous utilisez n'est pas convexe et, en tant que tel, a plusieurs minima locaux. Pour autant que je sache, toutes les techniques d'optimisation existantes sont sensibles à l'initialisation, ce qui signifie que la qualité de la solution finale est fortement affectée par le point de départ de la procédure d'optimisation.

Solution suggérée

Je suggère d'essayer différentes stratégies pour initialiser le modèle. Par exemple, une stratégie qui me vient à l'esprit est la suivante:

  1. former d'abord un modèle pour et ignorer le terme précédent pour l'instant; qui est fix p ( x ) d'être uniforme, par exemple, par réglage α = β = 0 et les maintenir fixées . Si vous voulez être plus amateur, vous pouvez fixer p ( x ) pour être une distribution mutinomimale qui représente les fréquences relatives des étiquettes dans l'ensemble d'apprentissage. Vous pouvez le faire en définissant les valeurs α de manière appropriée.p(y|x) p(x)α=β=0 p(x)α

  2. dégeler les termes unaires et par paires dans le modèle MRF; c'est-à-dire, laissez votre optimiseur modifier la valeur de et β .αβ

L'initialisation suggérée n'est en aucun cas le meilleur moyen d'initialiser votre optimisation, mais plutôt une seule option possible.

λα||α||2+λβ||β||2λαλβ

Sobi
la source