Segmentación de La Imagen Usando K

También podría gustarte

Está en la página 1de 6

Segmentación de la imagen usando k-medios agrupación,

EM y cortes normalizados

Resumen
Este proyecto aborda el problema de segmentar una imagen en diferentes regiones.
Analizamos dos algoritmos de aprendizaje no supervisados, a saber, los medios K y EM, y
los comparamos con un algoritmo basado en gráficos, el algoritmo de corte normalizado.
K-medios y EM son algoritmos de agrupación en clúster, que dividen un conjunto de datos
en grupos de acuerdo con una medida de distancia definida. El criterio de corte normalizado
mide la similitud entre los elementos de datos de un grupo y la diferencia entre los
diferentes grupos para segmentar las imágenes.
1. Introducción
Las imágenes son consideradas como uno de los medios más importantes para transmitir
información. Comprender las imágenes y extraer la información de ellas de manera que la
información se pueda utilizar para otras tareas es un aspecto importante del aprendizaje
automático. Un ejemplo de lo mismo sería el uso de imágenes para la navegación de robots.
Otras aplicaciones, como la extracción de tejidos malignos de exámenes del cuerpo, etc.,
forman parte integral del diagnóstico médico. Uno de los primeros pasos en la dirección de
la comprensión de las imágenes es segmentarlas y descubrir diferentes objetos en ellas.
Para hacer esto, se pueden usar características como los gráficos de histograma y la
transformación del dominio de la frecuencia. En este proyecto, observamos tres algoritmos,
a saber, la agrupación de medios K, la maximización de la expectativa y los cortes
normalizados y los comparamos para la segmentación de la imagen. La comparación se basa
en varias métricas de error y en la complejidad del tiempo de los algoritmos. Se ha asumido
que el número de segmentos en la imagen es conocido y, por lo tanto, se puede pasar al
algoritmo. El informe está organizado de la siguiente manera. La sección 2 describe cada
algoritmo de segmentación en detalle. Los resultados generados a partir de los algoritmos
se presentan en la sección 3. Finalmente, la sección 4 extrae algunas conclusiones.
2 algoritmos de segmentación de imágenes
Las imágenes se pueden segmentar en regiones mediante los siguientes algoritmos:
2.1 K-significa algoritmo de agrupamiento
El algoritmo K-medios es un algoritmo de agrupamiento no supervisado que clasifica los
puntos de datos de entrada en múltiples clases según su distancia inherente entre sí. El
algoritmo asume que las características de los datos forman un espacio vectorial y trata de
encontrar un agrupamiento natural en ellos. Los puntos se agrupan alrededor de los
centroides µi∀i = 1. . . k que se obtienen minimizando el objetivo

𝑉 = ∑ ∑ (𝑥𝑗 − 𝜇𝑖 )2 (1)
𝑖=1 𝑥𝑗 ∈𝑆𝑖

Donde hay K grupos Si, i=1, 2, …, k y 𝜇𝑖 es el centroide o punto medio de todos los puntos 𝑥𝑗 ∈ 𝑆𝑖

Como parte de este proyecto, se implementó una versión iterativa del algoritmo. El algoritmo toma
una imagen bidimensional como entrada. Varios pasos en el algoritmo son los siguientes:

1. Calcule la distribución de intensidad (también llamada histograma) de las intensidades.

2. Inicializa los centroides con k intensidades aleatorias.

3. Repita los pasos siguientes hasta que las etiquetas de clúster de la imagen ya no cambien.

4. Agrupe los puntos en función de la distancia de sus intensidades desde las intensidades del
centroide.
2
𝐶 (𝑖) ∶= 𝑎𝑟𝑔 min || 𝑥 (𝑖) − 𝜇𝑗 ||
𝑗 (2)

5. Calcule el nuevo centroide para cada uno de los grupos.

∑𝑚
𝑖=1 1{𝑐(𝑖) = 𝑗}𝑥
(𝑖) (3)
𝜇𝑖 ∶=
∑𝑚
𝑖=1 1{𝑐(𝑖) = 𝑗}

donde k es un parámetro del algoritmo (el número de agrupaciones que se encuentran), 𝑖 itera
sobre todas las intensidades, 𝑗 itera sobre todos los centroides y µi son las intensidades de los
centroides.

2.2 algoritmo EM

La maximización de la expectativa (EM) es uno de los algoritmos más comunes utilizados para la
estimación de la densidad de puntos de datos en una configuración no supervisada. El algoritmo se
basa en encontrar las estimaciones de máxima verosimilitud de los parámetros cuando el modelo
de datos depende de ciertas variables latentes. En EM, los pasos alternativos de Expectativa (E) y
Maximización (M) se realizan de forma iterativa hasta que los resultados convergen. El paso E calcula
la expectativa de probabilidad al incluir las variables latentes como si se observaran, y un paso de
maximización (M), que calcula las estimaciones de máxima verosimilitud de los parámetros al
maximizar la probabilidad esperada encontrada en la última etapa E [1]. Los parámetros que se
encuentran en el paso M se utilizan para comenzar otro paso E, y el proceso se repite hasta la
convergencia.

Matemáticamente para un conjunto de datos de entrenamiento dado {𝑥(1) , 𝑥(𝑖2) , … 𝑥(𝑚) } y el


modelo 𝑝 (𝑥, 𝑧) donde z es la variable latente, tenemos:

𝑚
(4)
𝑙 (𝜃) = ∑ log 𝑝 (𝑥; 𝜃)
𝑖=1

𝑚
(5)
= ∑ log ∑ 𝑝 (𝑥, 𝑧; 𝜃)
𝑖=1 𝑧

Como se puede ver en la ecuación anterior, la probabilidad de registro se describe en términos


de x, z y θ. Pero como 𝑧, la variable latente no se conoce, usamos aproximaciones en su lugar. Estas
aproximaciones toman la forma de los pasos de E & M mencionados anteriormente y formulados
matemáticamente a continuación.

E Paso, para cada i:


(𝑖) )
𝑄𝑖 (𝑍 ∶= 𝑝 (𝑍 (𝑖) |𝑥 (𝑖) ; 𝜃) (6)

M Paso, para todo Z:

𝑝(𝑥 (𝑖) , 𝑧 (𝑖) ; 𝜃)


(𝑖)
(7)
𝜃 ∶= arg max ∑ ∑ 𝑄𝑖 (𝑧 ) log
𝜃
(𝑖)
𝑄𝑖 (𝑧 (𝑖) )
𝑖 𝑧

Donde 𝑄𝑖 es la distribucion posterior de 𝑍 (𝑖) ′s dada 𝑥 (𝑖) ′s

Conceptualmente, el algoritmo EM se puede considerar como una variante del algoritmo K Keans
donde la membresía de cualquier punto dado a los grupos no está completa y puede ser fraccional.
2.3 Cortes normalizados: un gráfico de partición

La segmentación de imágenes también se puede ver como una partición óptima de un gráfico. La
imagen se presenta como un gráfico no dirigido ponderado G = (V, E). Este gráfico de imagen se
puede dividir en dos subgrafos A y B modelando la partición para minimizar el corte como se define
a continuación:

𝑐𝑜𝑟𝑡𝑒 (𝐴, 𝐵) = ∑ 𝑤 (𝑢, 𝑣)


𝑢 ∈𝐴,𝑣 ∈𝐵
(8)

Donde w (i, j), el peso de cada borde es una función de la similitud entre los nodos i y j. Sin embargo,
el criterio de corte mínimo favorece el corte de pequeños conjuntos de nodos aislados en el gráfico.
Para superar estos valores atípicos, podemos usar una Función de costo, corte normalizado como
se define a continuación.

𝑐𝑜𝑟𝑡𝑒(𝐴, 𝐵) 𝑐𝑜𝑟𝑡𝑒 (𝐴, 𝐵)


𝑁𝑐𝑜𝑟𝑡𝑒 (𝐴, 𝐵) = + , 𝑎𝑠𝑠𝑜𝑐 (𝐴, 𝑉) = ∑ 𝑤(𝑢, 𝑡)
𝑎𝑠𝑠𝑜𝑐(𝐴, 𝑉) 𝑎𝑠𝑠𝑜𝑐(𝐵, 𝑉) (9)
𝑢∈𝐴,𝑡 ∈𝑉

El valor de asociación, assoc (A, V), es la conexión total desde los nodos A a todos los nodos en el
gráfico. El valor de Ncorte no será pequeño para el corte que particiona los puntos de aislamiento,
porque el valor de corte será un gran porcentaje de la conexión total de ese conjunto a los demás.

Dada una partición de un gráfico V en dos conjuntos complementarios desunidos A y B, sea 𝑥 una N
= | V | vector de indicación dimensional, 𝑥𝑖 = 1 si el nodo i está en A, -1 de lo contrario sea 𝑑𝑖 =
∑𝑗 𝑊(𝑖, 𝑗) la conexión total desde el nodo i a todos los demás nodos. Los Ncuts se pueden reescribir
como (3).
∑𝑥𝑖 >0,𝑥𝑗<0 − 𝑤𝑖𝑗 𝑥𝑖 𝑥𝑗 ∑𝑥𝑖 <0,𝑥𝑗>0 − 𝑤𝑖𝑗 𝑥𝑖 𝑥𝑗
𝑁𝑐𝑜𝑟𝑡𝑒 (𝐴, 𝐵) = + (10)
∑𝑥𝑖 >0 𝑑𝑖 ∑𝑥𝑖 <0 𝑑𝑖

Sea D = diag(𝑑1 , 𝑑2 . . . . 𝑑𝑁 ) una matriz diagonal NxN y W una simétrica NxN matriz con W (i, j) =
𝑤𝑖𝑗 El óptimo global de búsqueda se reduce a (4):

𝑦 𝑇 (𝐷 − 𝑊)𝑦
𝑚𝑖𝑛𝑥 𝑁𝑐𝑢𝑡(𝑥) = 𝑚𝑖𝑛𝑦 (11)
𝑦 𝑇 𝐷𝑦

∑𝑥 >0 𝑑𝑖
Con la condicion 𝑦(𝑖) ∈ {∑ 𝑖
} y 𝑦 𝑇 𝐷1 = 0. Si y está disponible para tomar valores reales,
𝑥𝑖 <0 𝑑𝑖

podemos minimizar (4) resolviendo el sistema de valores propios generalizados.


(𝐷 − 𝑊)𝑌 = 𝜆𝐷𝑦 (12)
Las restricciones en y vienen de la condición en el vector indicador x correspondiente. El segundo
vector propio más pequeño del sistema generalizado (4) satisface la restricción de normalidad. y1
es una solución valiosa para nuestro problema de corte normalizado.

2.3.1 El algoritmo de agrupación

El vector propio que corresponde al segundo valor propio más pequeño es la solución de valor real
que subparticiones de manera óptima el gráfico completo, el tercer valor más pequeño es una
solución que divide de manera óptima la primera parte en dos, etc. El algoritmo de agrupación
consiste de los siguientes pasos:

a) Dada una imagen, construya un gráfico ponderado G (V, E) tomando cada píxel como un
nodo y conectando cada par de píxeles por un borde. El peso en ese borde debe reflejar la
probabilidad de que los dos píxeles pertenezcan a un objeto. Usando solo el valor de brillo
de los píxeles y su ubicación espacial, podemos definir el peso del borde del gráfico que
conecta los dos nodos i y j como:

2
−||𝐹(𝑖) − 𝐹(𝑗) ||22 − ||𝑋(𝑖) − 𝑋(𝑗) ||
𝑤(𝑖, 𝑗) = 𝑒𝑥𝑝 ∗ 𝑒𝑥𝑝 2
𝑆𝑖 || 𝑋(𝑖) − 𝑋(𝑗) ||2 < 𝑟 (13)
2 2
𝜎𝐼 𝜎𝑋

de lo contrario el valor de w (i, j) es cero. En el enfoque actual F (i) = I (i), el valor de intensidad, para
segmentar imágenes de brillo. El peso w (i, j) = 0 para cualquier par de nodos i y j que estén
separados por más de r píxeles.

b) Resuelva (D - W) y = λDy para vectores propios con los valores propios más pequeños.

c) Utilice el vector propio con el segundo valor propio más pequeño para dividir en dos la gráfica al
encontrar los puntos de división de manera que se minimice el corte de N. d) Repartir las partes
segmentadas recursivamente (vaya al paso a).

e) Salir si N corte para cada segmento está sobre algún valor especificado.

3 resultados

Aplicamos el algoritmo de partición a las imágenes en escala de grises. Los resultados de la


segmentación como se generan en diferentes imágenes por cada algoritmo para un valor variable
de k es como se muestra en la figura 1, 2, 3 y 4.

4. Conclusión

Implementamos el algoritmo de agrupamiento de EM y K-medios y lo usamos para la segmentación


de intensidad. Para valores más pequeños de k los algoritmos dan buenos resultados. Para valores
mayores de k, la segmentación es muy gruesa, muchos grupos aparecen en las imágenes en lugares
discretos. Esto se debe a que la distancia euclidiana no es una métrica muy buena para los procesos
de segmentación. Mejores algoritmos como el NCuts basado en gráficos dan buenos resultados para
un valor mayor de k. Una diferencia básica entre Ncuts y los algoritmos de agrupación en clústeres
es que los algoritmos de agrupación en clúster consideran que los píxeles con valores de intensidad
relativamente cercanos pertenecen a un segmento, incluso si no están cerca de la ubicación. Ncuts
considera dichas áreas como segmentos separados. La implementación de Nuts es
computacionalmente compleja. El método de valor propio toma mucho tiempo para una imagen a
escala completa. Las imágenes deben cambiar de tamaño para obtener resultados más rápidos.
Usamos la implementación de NCuts de los autores para visualizar los resultados. El trabajo futuro
incluye el análisis de otros algoritmos de aprendizaje automático como las redes neuronales y SVM
para la segmentación de imágenes.

También podría gustarte