T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: •...

20
Fundamentos de Visión por Computador Sistemas Informáticos Avanzados T8. Segmentación 2 T8. 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.

Transcript of T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: •...

Page 1: T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: • Identificación de regiones por su color. • Algunos objetos estarán formados por varias

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.

Page 2: T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: • Identificación de regiones por su color. • Algunos objetos estarán formados por varias

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.

Page 3: T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: • Identificación de regiones por su color. • Algunos objetos estarán formados por varias

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.

Page 4: T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: • Identificación de regiones por su color. • Algunos objetos estarán formados por varias

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

Page 5: T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: • Identificación de regiones por su color. • Algunos objetos estarán formados por varias

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

Page 6: T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: • Identificación de regiones por su color. • Algunos objetos estarán formados por varias

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.

Page 7: T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: • Identificación de regiones por su color. • Algunos objetos estarán formados por varias

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

Page 8: T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: • Identificación de regiones por su color. • Algunos objetos estarán formados por varias

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.

Page 9: T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: • Identificación de regiones por su color. • Algunos objetos estarán formados por varias

17T8. Segmentación

Crecimiento de regiones

18T8. Segmentación

Crecimiento de regiones

Imagen original Resultado

Page 10: T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: • Identificación de regiones por su color. • Algunos objetos estarán formados por varias

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.

Page 11: T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: • Identificación de regiones por su color. • Algunos objetos estarán formados por varias

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.

Page 12: T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: • Identificación de regiones por su color. • Algunos objetos estarán formados por varias

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.

Page 13: T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: • Identificación de regiones por su color. • Algunos objetos estarán formados por varias

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.

Page 14: T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: • Identificación de regiones por su color. • Algunos objetos estarán formados por varias

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.

Page 15: T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: • Identificación de regiones por su color. • Algunos objetos estarán formados por varias

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.

Page 16: T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: • Identificación de regiones por su color. • Algunos objetos estarán formados por varias

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.

Page 17: T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: • Identificación de regiones por su color. • Algunos objetos estarán formados por varias

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)

Page 18: T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: • Identificación de regiones por su color. • Algunos objetos estarán formados por varias

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.

Page 19: T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: • Identificación de regiones por su color. • Algunos objetos estarán formados por varias

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.

Page 20: T8. Segmentación · T8. Segmentación 5 Color Detección e identificación de objetos: • Identificación de regiones por su color. • Algunos objetos estarán formados por varias

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.