Fundamentos de Visión por Computador
Sistemas Informáticos Avanzados
T8. Segmentación
2T8. Segmentación
Índice
Segmentación.
• Umbralización.• Crecimiento de regiones.
• División y unión de regiones (split & merge).
• Minimización de una función de energía.
• Clustering.
• Transformada Watershed.
• Etiquetado de componentes conexas.
• Estructuras de datos para la segmentación.
• Caracterización de regiones.
3T8. Segmentación
Segmentación
Segmentación: División de una imagen en regiones.
Región: Conjunto de píxeles contiguos que presentan una serie de características comunes.
Características:
• Nivel de gris
• Color
• Otras (Ej. Textura)
“Segmentation of nontrivial images is one of the most difficult tasks in image processing. Segmentation accuracydetermines the success or failure of computerized analysis procedures”.
(González & Woods, Digital Image Processing)
4T8. Segmentación
Niveles de gris
Detección e identificación de objetos:
• Separación de los objetos del fondo según el nivel de gris.
• Reconocimiento de objetos por su forma.
5T8. Segmentación
Color
Detección e identificación de objetos:
• Identificación de regiones por su color.
• Algunos objetos estarán formados por varias regiones.
6T8. Segmentación
Textura
Detección e identificación de regiones:
• Los niveles de gris de las regiones no son uniformes. Se requieren características más complejas.
7T8. Segmentación
Índice
Segmentación.
Umbralización.• Crecimiento de regiones.
• División y unión de regiones (split & merge).
• Minimización de una función de energía.
• Clustering.
• Transformada Watershed.
• Etiquetado de componentes conexas.
• Estructuras de datos para la segmentación.
• Caracterización de regiones.
8T8. Segmentación
Umbralización
Transformación de una imagen en niveles de gris en una imagen binaria.
Suponemos fondo y objetos uniformes.
≥
=casootroen
Tyxfsiyxg
0),(1
),(
≤≤
=casootroen
TyxfTsiyxg
0),(1
),( maxmin
≤
=casootroen
Tyxfsiyxg
0),(1
),(
Objetos claros sobre fondo oscuro
Objetos oscuros sobre fondo claro
Objetos en un intervalo de grises
9T8. Segmentación
Umbralización
Distintas medias y desviaciones típicas para fondos y objetos.
¿Cómo elegir el umbral?
10T8. Segmentación
Cálculo automático del umbral
Mínimo entre máximos
1. Localizar máximo en el histograma H(Gmax)
2. Localizar Gx que maximice H(Gx)|Gmax-Gx|
3. Elegir mínimo entre Gx y Gmax
11T8. Segmentación
Cálculo automático del umbral
Medias iterativas. Se suponen dos distribuciones Gaussianas con la misma desviación típica.
∑∑+
∑∑=
+=
+=
=
=+ N
1Ti
N1Ti
Ti
Ti
1k
k
k
k
k
ih
iih
ih
iihT
)()(
)()(
21
0
0
20N
T =
12T8. Segmentación
Cálculo automático del umbral
Método de Otsu.
• Se suponen dos distribuciones Gaussianas.
• Se minimiza la suma ponderada de las varianzas.
13T8. Segmentación
Cálculo automático del umbral
Método de Kittler-Illingworth.
• Se suponen dos distribuciones Gaussianas.
• Se minimiza el error cometido al aproximar el histograma por la suma de Gaussianas.
14T8. Segmentación
Umbralización recursiva
¿Cómo proceder cuando hay varios fondos/objetos?
• Aplicar cualquiera de los métodos anteriores.
• Analizar cada histograma obtenido.
• Repetir el proceso cuando el histograma no sea uniforme.
Primerpaso
Repetir
Repetir
15T8. Segmentación
Índice
Segmentación.
• Umbralización.Crecimiento de regiones.
• División y unión de regiones (split & merge).
• Minimización de una función de energía.
• Clustering.
• Transformada Watershed.
• Etiquetado de componentes conexas.
• Estructuras de datos para la segmentación.
• Caracterización de regiones.
16T8. Segmentación
Crecimiento de regiones
Se eligen una serie de semillas iniciales.
Píxeles contiguos con valores similares se unen a las semillas.
Se repite mientras se añadan píxeles.
Cuando ninguna región pueda crecer se crean nuevas semillas.
Elección de las semillas:
• Aleatorio.
• Picos en el histograma.
Problemas:
• Los resultados dependen de las semillas iniciales.
• Suele sobresegmentar.
17T8. Segmentación
Crecimiento de regiones
18T8. Segmentación
Crecimiento de regiones
Imagen original Resultado
19T8. Segmentación
Índice
Segmentación.
• Umbralización.• Crecimiento de regiones.
División y unión de regiones (split & merge).
• Minimización de una función de energía.
• Clustering.
• Transformada Watershed.
• Etiquetado de componentes conexas.
• Estructuras de datos para la segmentación.
• Caracterización de regiones.
20T8. Segmentación
Split & merge
Se comprueba inicialmente si la imagen cumple una determinada característica de uniformidad.
De no ser así, se divide (split) en cuatro partes.
Para cada una de ellas se vuelve a comprobar si cumple dicha característica:
• Aquellas que la cumplan, tratarán de unirse (merge) entre sí o con otras partes que ya la cumplían de acuerdo con otro criterio de similitud.
• Las que no la cumplan, vuelven a dividirse y se repite el proceso.
Problemas: Si se limita el número de iteraciones no se respetan los contornos.
21T8. Segmentación
Split & merge
Imagen original
Split & merge
22T8. Segmentación
Índice
Segmentación.
• Umbralización.• Crecimiento de regiones.
• División y unión de regiones (split & merge).
Minimización de una función de energía.
• Clustering.
• Transformada Watershed.
• Etiquetado de componentes conexas.
• Estructuras de datos para la segmentación.
• Caracterización de regiones.
23T8. Segmentación
Definiremos una función Energía para una determinada segmentación:
• Mayor número de regiones mayor energía.
• Variabilidad en la región energía.
• Se pueden incorporar términos que penalicen de manera especial la existencia de bordes en el interior de una región.
Lo resolvemos como un problema general de minimización. La segmentación se va modificando hasta encontrar un mínimo en la función energía (probablemente local).
Minimización de una función de energía
24T8. Segmentación
Índice
Segmentación.
• Umbralización.• Crecimiento de regiones.
• División y unión de regiones (split & merge).
• Minimización de una función de energía.
Clustering.
• Transformada Watershed.
• Etiquetado de componentes conexas.
• Estructuras de datos para la segmentación.
• Caracterización de regiones.
25T8. Segmentación
Clustering
Clustering: Proceso para organizar una serie de muestras en grupos cuyos miembros guardan ciertas similitudes entre sí. ¿Segmentación?Cluster: Colección de muestras similares entre sí. ¿Región?
Técnica habitual en el ámbito del reconocimiento de patrones.Segmentación: Cada píxel de la imagen se considera un punto en un espacio N-dimensional.• Imágenes en color: Una dimensión por cada plano
disponible.• Texturas: Una dimensión por cada característica
que describa la textura de un punto.
26T8. Segmentación
Clustering
K-means + Deterministic annealing.1. Establecer la temperatura inicial del sistema.2. Elegir aleatoriamente los K centros de los
clusters.3. Calcular la probabilidad de pertenencia de cada
punto a cada cluster (función de la distancia al centro y de la temperatura).
4. Recalcular los centros de cada cluster.5. Reducir la temperatura del sistema.6. Si no se alcanza una temperatura mínima y el
sistema no es estable, ir al paso 3.
27T8. Segmentación
Clustering
Original Iteración 1 Iteración 3
Iteración 10 Iteración 100 Resultado final
28T8. Segmentación
Índice
Segmentación.
• Umbralización.• Crecimiento de regiones.
• División y unión de regiones (split & merge).
• Minimización de una función de energía.
• Clustering.
Transformada Watershed.
• Etiquetado de componentes conexas.
• Estructuras de datos para la segmentación.
• Caracterización de regiones.
29T8. Segmentación
Transformada Watershed
Watershed: En geografía, línea o cadena montañosa que separa las cuencas de dos ríos.
La imagen en niveles de gris se trata como una superficie topológica.
30T8. Segmentación
Transformada Watershed
Comenzando por los mínimos, las cuencas se inundan con agua, sin permitir que se mezcle el agua de cuencas distintas.
Como resultado, cada cuenca define una región y las líneas de separación (watersheds), los contornos de las mismas.
31T8. Segmentación
Transformada Watershed
Se aplica sobre la imagen gradiente de la imagen a segmentar.
• Objetos: Superficies planas serán cuencas
• Bordes de objetos: Crestas en el gradiente
Problema: En general, sobresegmenta.
32T8. Segmentación
Índice
Segmentación.
• Umbralización.• Crecimiento de regiones.
• División y unión de regiones (split & merge).
• Minimización de una función de energía.
• Clustering.
• Transformada Watershed.
Etiquetado de componentes conexas.
• Estructuras de datos para la segmentación.
• Caracterización de regiones.
33T8. Segmentación
Etiquetado de componentes conexas
Asignación de una etiqueta (valor numérico) a todos los píxeles de un mismo objeto (región), es decir, a todos aquellos que están unidos entre sí.
Conectividad: 4 u 8.
Algoritmos:
• Recursivo.
• Iterativo.
• Clásico.
Basado en una tabla de equivalencias
Sólo dos pasadas a través de la imagen
34T8. Segmentación
Etiquetado de componentes conexas
Algoritmo recursivo
Función Rellena(punto_dado, etiqueta_dada)
Para cada punto vecino del punto dado
Si pertenece a un objeto y no tiene etiqueta
Asignarle etiqueta_dada
Rellena(punto, etiqueta_dada)
Para cada punto en la imagen
Si no tiene etiqueta
Asignarle nueva_etiqueta
Rellena(punto, nueva_etiqueta)
35T8. Segmentación
Etiquetado de componentes conexas
Algoritmo iterativo
Inicializar cada punto de objeto con una etiquetadistinta
Repetir hasta que no haya cambios
Para cada línea (de arriba a abajo)
Para cada punto en la línea
Encontrar la menor_etiqueta entre las del punto y sus vecinosSi etiqueta_de_punto no es menor_etiqueta
Cambiar etiqueta_de_punto
Igual para cada línea (de abajo a arriba)
36T8. Segmentación
Índice
Segmentación.
• Umbralización.• Crecimiento de regiones.
• División y unión de regiones (split & merge).
• Minimización de una función de energía.
• Clustering.
• Transformada Watershed.
• Etiquetado de componentes conexas.
Estructuras de datos para la segmentación.
• Caracterización de regiones.
37T8. Segmentación
Estructuras de datos para la segmentación
Quadtrees.
Ventajas: Operaciones muy eficientes.
• Recorridos.
• Operaciones de vecindad en todos los niveles del árbol.
Inconvenientes: Complejidad.
38T8. Segmentación
Índice
Segmentación.
• Umbralización.• Crecimiento de regiones.
• División y unión de regiones (split & merge).
• Minimización de una función de energía.
• Clustering.
• Transformada Watershed.
• Etiquetado de componentes conexas.
• Estructuras de datos para la segmentación.
Caracterización de regiones.
39T8. Segmentación
Caracterización de regiones
Topológicas.
• Número de huecos en la región.
Métricas.
• Área.
• Perímetro.
• Centro de gravedad.
• Elongación: razón entre los lados de un rectángulo que circunscribe la región.
• Redondez: Área/(Eje mayor)2.
• Orientación: Ángulo de la recta de ajuste de los puntos de la región (p.e. mínimos cuadrados).
De textura.
40T8. Segmentación
Bibliografía
Visión por computador. Fundamentos y métodos, Arturo de la Escalera, Capítulo 7.2, Prentice Hall, 2001.
Visión por computador. Imágenes digitales y aplicaciones, G. Pajares y J.M. de la Cruz, Capítulos 7 y 9, Ra-Ma, 2001.
Top Related