T8. Segmentación - Computer Vision Group
Transcripción
T8. Segmentación - Computer Vision Group
T8. Segmentación Fundamentos de Visión por Computador Sistemas Informáticos Avanzados Í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. T8. Segmentación 2 Segmentación “Segmentation of nontrivial images is one of the most difficult tasks in image processing. Segmentation accuracy determines the success or failure of computerized analysis procedures”. (González & Woods, Digital Image Processing) 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) T8. Segmentación 3 Niveles de gris Detección e identificación de objetos: • Separación de los objetos del fondo según • T8. Segmentación el nivel de gris. Reconocimiento de objetos por su forma. 4 Color Detección e identificación de objetos: • Identificación de regiones por su color. • Algunos objetos estarán formados por varias regiones. T8. Segmentación 5 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. T8. Segmentación 6 Índice Segmentación. 9 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. T8. Segmentación 7 Umbralización Transformación de una imagen en niveles de gris en una imagen binaria. Suponemos fondo y objetos uniformes. Objetos claros sobre fondo oscuro 1 si f ( x, y ) ≥ T g ( x, y ) = 0 en otro caso Objetos oscuros sobre fondo claro 1 si f ( x, y ) ≤ T g ( x, y ) = 0 en otro caso Objetos en un intervalo de grises 1 si Tmin ≤ f ( x, y ) ≤ Tmax g ( x, y ) = 0 en otro caso T8. Segmentación 8 Umbralización Distintas medias y desviaciones típicas para fondos y objetos. ¿Cómo elegir el umbral? T8. Segmentación 9 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 T8. Segmentación 10 Cálculo automático del umbral Medias iterativas. Se suponen dos distribuciones Gaussianas con la misma desviación típica. N T0 = 2 N 1 ∑Ti=0 ih(i ) ∑i =T +1 ih(i ) Tk +1 = T + N 2 ∑i =0 h(i ) ∑i =T +1 h(i ) k k k k T8. Segmentación 11 Cálculo automático del umbral Método de Otsu. • Se suponen dos distribuciones Gaussianas. • Se minimiza la suma ponderada de las varianzas. T8. Segmentación 12 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. T8. Segmentación 13 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. Primer paso Repetir Repetir T8. Segmentación 14 Índice Segmentación. • Umbralización. 9 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. T8. Segmentación 15 Crecimiento de regiones Se eligen una serie de semillas iniciales. Píxeles contiguos con valores similares se unen a las T8. Segmentación 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. 16 Crecimiento de regiones T8. Segmentación 17 Crecimiento de regiones Imagen original T8. Segmentación Resultado 18 Índice Segmentación. • Umbralización. • Crecimiento de regiones. 9 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. T8. Segmentación 19 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. T8. Segmentación 20 Split & merge Imagen original Split & merge T8. Segmentación 21 Índice Segmentación. • Umbralización. • Crecimiento de regiones. • División y unión de regiones (split & merge). 9 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. T8. Segmentación 22 Minimización de una función de energía 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). T8. Segmentación 23 Í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. 9 Clustering. • Transformada Watershed. • Etiquetado de componentes conexas. • Estructuras de datos para la segmentación. • Caracterización de regiones. T8. Segmentación 24 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. T8. Segmentación 25 Clustering K-means + Deterministic annealing. 1. Establecer la temperatura inicial del sistema. 2. Elegir aleatoriamente los K centros de los 3. 4. 5. 6. T8. Segmentación clusters. Calcular la probabilidad de pertenencia de cada punto a cada cluster (función de la distancia al centro y de la temperatura). Recalcular los centros de cada cluster. Reducir la temperatura del sistema. Si no se alcanza una temperatura mínima y el sistema no es estable, ir al paso 3. 26 Clustering Original Iteración 1 Iteración 3 Iteración 10 Iteración 100 Resultado final T8. Segmentación 27 Í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. 9 Transformada Watershed. • Etiquetado de componentes conexas. • Estructuras de datos para la segmentación. • Caracterización de regiones. T8. Segmentación 28 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. T8. Segmentación 29 Transformada Watershed Comenzando por los mínimos, las cuencas se T8. Segmentación 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. 30 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. T8. Segmentación 31 Í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. 9 Etiquetado de componentes conexas. • Estructuras de datos para la segmentación. • Caracterización de regiones. T8. Segmentación 32 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. X Basado en una tabla de equivalencias X Sólo dos pasadas a través de la imagen T8. Segmentación 33 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) T8. Segmentación 34 Etiquetado de componentes conexas Algoritmo iterativo Inicializar cada punto de objeto con una etiqueta distinta 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 vecinos Si etiqueta_de_punto no es menor_etiqueta Cambiar etiqueta_de_punto Igual para cada línea (de abajo a arriba) T8. Segmentación 35 Í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. 9 Estructuras de datos para la segmentación. • Caracterización de regiones. T8. Segmentación 36 Estructuras de datos para la segmentación Quadtrees. Ventajas: Operaciones muy eficientes. • Recorridos. • Operaciones de vecindad en todos los niveles del árbol. Inconvenientes: Complejidad. T8. Segmentación 37 Í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. 9 Caracterización de regiones. T8. Segmentación 38 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. T8. Segmentación 39 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. T8. Segmentación 40