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

Documentos relacionados