Entrenamiento de un campo aleatorio de Markov básico para clasificar píxeles en una imagen

16

Estoy intentando aprender cómo usar los campos aleatorios de Markov para segmentar regiones en una imagen. No entiendo algunos de los parámetros en el MRF o por qué la maximización de expectativas que realizo a veces no puede converger en una solución.

A partir del teorema de Bayes, tengo p(x|y)=p(y|x)p(x)/p(y) , donde y es el valor de escala de grises del píxel x es una etiqueta de clase. Elegí usar una distribución gaussiana para p(y|x) , mientras que p(x) se modela usando el MRF.

Utilizo una función potencial para el MRF que tiene potenciales de camarilla por pares y un valor potencial para la etiqueta de clase del píxel que se clasifica. El valor potencial de un solo píxel es una constante αque depende de la etiqueta de clase x . Las funciones potenciales por pares se evalúan para los 4 vecinos conectados y devuelven positivo βsi el vecino tiene la misma etiqueta de clase que este píxel y β si las etiquetas difieren.

En el punto de la maximización de expectativas donde tengo que encontrar los valores de α(x) y β que maximizan el valor esperado de la probabilidad logarítmica, utilicé un método de optimización numérica (gradiente conjugado probado, BFGS, método de Powell) pero siempre descubra que el valor de β se volvería negativo, las α s aumentarían drásticamente y una o dos iteraciones más tarde la imagen completa se asignaría a una sola etiqueta (fondo: la asignación de etiquetas de clase dados los parámetros MRF se realizó usando ICM). Si eliminé los alfas, es decir, solo usando potenciales de camarilla por pares, entonces la maximización de expectativas funcionaría bien.

¿Explica cuál es el propósito de los alfas para cada clase? Pensé que estarían relacionados con la cantidad de esa clase que está presente en la imagen, pero parece que no. Una vez que conseguí que el MRF funcionara solo con potenciales por pares, lo comparé con un modelo de mezcla gaussiana directo y descubrí que producían resultados casi idénticos. Esperaba que los potenciales por pares suavizaran un poco las clases, pero eso no sucedió. Por favor avise dónde me equivoqué.

chippies
fuente
Por curiosidad, ¿por qué elegiste el modelo de gráfico no dirigido?
En mi aplicación, es más probable que el valor de escala de grises de los recuentos de píxeles y los píxeles vecinos tengan la misma etiqueta de clase, pero no hay ninguna razón para usar una beta diferente para cada camarilla por pares. Espero haber entendido bien tu pregunta.
Chippies
1
Los alfas constantes parecen servir para modelar la distribución previa en las etiquetas. Como supusiste, es probable que las alfa correctas superpongan las etiquetas que se encuentran con mayor frecuencia en el conjunto de entrenamiento. Si su modelo funciona bien sin ellos, ¿por qué no los suelta del modelo? Su descripción no es lo suficientemente detallada como para responder por qué los alfa crecerían y estropearían todo, pero probablemente necesite regularización. Intente agregar el gaussiano anterior en alfa al modelo, es decir, agregue al log-posterior, esto probablemente evitaría el sobreajuste. λα2
Roman Shapovalov
Lo que no está claro en su pregunta: 1) ¿Su probabilidad p (y | x) se descompone sobre píxeles, por lo que utiliza un gaussiano 1D para cada uno? 2) ¿Cuál es el objetivo exacto que optimiza en el EM (mencionó la probabilidad de registro, pero utiliza MRF para modelar previamente)? 3) ¿Define potenciales en el dominio logarítmico? ¿Incrementar beta significa aumentar P (x), o energía, que es -log P (x), o energía negativa? 4) ¿Se las arregla para disminuir realmente el objetivo EM al establecer tales alfa degenerados, o falla la optimización?
Roman Shapovalov
¿Qué pasa con la propagación de creencias disparatadas?
wolfsatthedoor

Respuestas:

1

Diagnóstico

Esto suena como un problema de inicialización.

El modelo MRF que está utilizando no es convexo y, como tal, tiene múltiples mínimos locales. Hasta donde sé, todas las técnicas de optimización existentes son sensibles a la inicialización, lo que significa que la calidad de la solución final se ve muy afectada por el lugar desde el que inicia el procedimiento de optimización.

Solución sugerida

Sugiero probar diferentes estrategias para inicializar el modelo. Por ejemplo, una estrategia que me viene a la mente es la siguiente:

  1. entrenar un modelo para primero e ignorar el término anterior por ahora; es decir, arreglar p ( x ) para que sea uniforme, por ejemplo, estableciendo α = β = 0 y manteniéndolos fijos . Si quieres ser más elegante, puedes arreglar p ( x ) para que sea una distribución mutinomimal que represente las frecuencias relativas de las etiquetas en el conjunto de entrenamiento. Puede hacer esto estableciendo los valores de α adecuadamente.p(y|x) p(x)α=β=0 p(x)α

  2. descongelar los términos unarios y por pares en el modelo MRF; es decir, deje que su optimizador cambie el valor de y β .αβ

La inicialización sugerida es, de ninguna manera, la mejor manera de inicializar su optimización, sino más bien, solo una opción posible.

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

Sobi
fuente