tema 5: segmentaciÓnasignatura.us.es/imagendigital/tema5-1_segmentaciondisco...tema 5:...

77
1 Tema 5: SEGMENTACIÓN (I) INGENIERÍA INFORMÁTICA

Upload: others

Post on 22-Feb-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

1

Tema 5: SEGMENTACIÓN (I)

I N G E N I E R Í A I N F O R M Á T I C A

2

• El propósito de la segmentación de imágenes consiste en dividir una imagen en regiones significativas con respecto a una aplicación particular. • El nivel al que se llevará a cabo esta subdivisión dependerá del problema a resolver. Es decir, el proceso de segmentación debería detenerse en el momento en que los objetos de interés para la aplicación hayan sido aislados. • Su resultado es una representación simplificada de la imagen, mostrando los grupos significativos que la componen.

Tema 5: Segmentación

3

• Los algoritmos de segmentación se basan en propiedades básicas de los valores del nivel de gris: - Discontinuidad: Los bordes de las regiones son suficientemente diferentes del fondo lo que permite la detección de los mismos basándonos en cambios bruscos de nivel de intensidad. - Similitud: Se divide la imagen basándose en la búsqueda de zonas que tengan valores similares, conforme a unos criterios prefijados. - Umbralización: Un método básico para diferenciar un objeto del fondo de la imagen es mediante una simple binarización.

Tema 5: Segmentación

4

• Observación: Hay que tener en cuenta que al ser un proceso enormemente complejo, no hay soluciones perfectas. Cada solución tendrá una serie de ventajas e inconvenientes.

Tema 5: Segmentación

5

Tema 5: Segmentación

F U N D A M E N T O S

6

5.1. Detección de discontinuidades

7

• Los métodos de segmentación basados en la detección de cambios bruscos de intensidad (nivel de gris) usan técnicas de derivación.

Tema 5: Segmentación

8

Tema 5: Segmentación

• Los métodos de segmentación basados en la detección de cambios bruscos de intensidad (nivel de gris) usan técnicas de derivación.

9

Tema 5: Segmentación

- La respuesta a puntos aislados es mucho más fuerte por parte de la 2ª derivada.

- La 2ª derivada también da una respuesta más fuerte en la detección de líneas.

- El signo de la 2º derivada es usado para determinar si un borde es una transición de la luz a la oscuridad o de la oscuridad a la luz.

10

Tema 5: Segmentación

- La respuesta a puntos aislados es mucho más fuerte por parte de la 2ª derivada.

- La 2ª derivada también da una respuesta más fuerte en la detección de líneas.

- El signo de la 2º derivada es usado para determinar si un borde es una transición de la luz a la oscuridad o de la oscuridad a la luz.

11

Tema 5: Segmentación

- La respuesta a puntos aislados es mucho más fuerte por parte de la 2ª derivada.

- La 2ª derivada también da una respuesta más fuerte en la detección de líneas.

- El signo de la 2º derivada es usado para determinar si un borde es una transición de la luz a la oscuridad o de la oscuridad a la luz.

D E T E C C I Ó N D E P U N T O S A I S L A D O S

12

5.1. Detección de discontinuidades

13

• Un punto aislado de una imagen tiene un tono de gris que difiere significativamente de los tonos de gris de sus píxeles vecinos, es decir, de los ocho píxeles de su entorno 3 × 3.

• Una máscara (Laplaciano) para detectar un punto aislado es la

siguiente: • Diremos que un píxel es un punto aislado si el resultado de aplicar

la máscara sobre el píxel (en valor absoluto) es mayor o igual que un cierto valor umbral T, fijado por el decisor. Dicho valor depende de la aplicación que estemos realizando.

Tema 5: Segmentación de imágenes Detección de puntos aislados.

14

f (x,y) R(x,y) g(x,y)

Imagen original Resultado de aplicar Resultado de usar con una porosidad la máscara la transformación

punto aislado

Tema 5: Segmentación de imágenes Detección de puntos aislados.

15

Imagen original Resultado de aplicar la máscara

Máscara

Tema 5: Segmentación de imágenes Detección de puntos aislados.

16

Imagen original Resultado de aplicar la máscara

Máscara

Tema 5: Segmentación de imágenes Detección de puntos aislados.

- Si 0 < T ≤ 9: 4 puntos

17

Imagen original Resultado de aplicar la máscara

Máscara

Tema 5: Segmentación de imágenes Detección de puntos aislados.

- Si 0 < T ≤ 9: 4 puntos - Si 9 < T ≤ 72: 1 punto

18

Imagen original Resultado de aplicar la máscara

Máscara

Tema 5: Segmentación de imágenes Detección de puntos aislados.

- Si 0 < T ≤ 9: 4 puntos - Si 9 < T ≤ 72: 1 punto - Si T > 72: Ningún punto

D E T E C C I Ó N D E L Í N E A S

19

5.1. Detección de discontinuidades

Tema 5: Segmentación de imágenes Detección de líneas.

20

0 1 0

1 -4 1

0 1 0

1 1 1

1 -8 1

1 1 1

0 -1 0

-1 4 -1

0 -1 0

-1 -1 -1

-1 8 -1

-1 -1 -1

• La 2º derivada da una respuesta más fuerte a la detección de líneas por lo tanto, también se usa el Laplaciano para este tipo de discontinuidad.

21

Tema 5: Segmentación de imágenes Detección de líneas.

• El efecto de “línea doble” que produce el Laplaciano debe ser tratado adecuadamente.

Imagen Laplaciana: Gris medio = ceros

Gris oscuro = negativos Gris claro = positivos

Valor absoluto del Laplaciano: duplica el

grosor de las líneas

Sólo los valores positivos del

Laplaciano: líneas más delgadas

22

Tema 5: Segmentación de imágenes Detección de líneas.

• El efecto de “línea doble” que produce el Laplaciano debe ser tratado adecuadamente.

Observar que cuando las líneas son anchas en relación con la máscara Laplaciana (mínimo 5 píxeles de ancho), estás son separadas por un “cero valle”. Este caso es tratado con métodos de detección de bordes, no de líneas.

23

Tema 5: Segmentación de imágenes Detección de líneas.

• El detector Laplaciano es isotrópico, es decir, su respuesta es independiente de la dirección (horizontal, vertical y dos diagonales) de las líneas.

• Sin embargo, frecuentemente estamos interesados en detectar líneas en una determinada dirección. Los píxeles que forman parte de una línea horizontal, vertical o diagonal (de un pixel de ancha), tendrán respuestas extremas ante alguna de las máscaras siguientes:

24

1 1 1 1 1 1

1 1 1 1 1 1

1 1 1 1 1 1

5 5 5 5 5 5

1 1 1 1 1 1

1 1 1 1 1 1

1 1 1 1 1 1

-1 -1 -1

2 2 2

-1 -1 -1

- - - - - -

- 0 0 0 0 -

- -12 -12 -12 -12 -

- 24 24 24 24 -

- -12 -12 -12 -12 -

- 0 0 0 0 -

- - - - - -

Tema 5: Segmentación de imágenes Detección de líneas.

Sección de imagen

Máscara

Resultado de aplicar la máscara sin procesar el borde.

25

1 1 1 1 1 1

1 1 1 1 1 1

1 1 1 1 1 1

5 5 5 5 5 5

1 1 1 1 1 1

1 1 1 1 1 1

1 1 1 1 1 1

-1 -1 -1

2 2 2

-1 -1 -1

- - - - - -

- 0 0 0 0

- 0 0 0 0 -

- 1 1 1 1 -

- 0 0 0 0 -

- 0 0 0 0 -

- - - - - -

Tema 5: Segmentación de imágenes Detección de líneas.

Sección de imagen

Máscara

Valor absoluto y umbralización con T=20

26

1 1 1 1 1 1

1 1 1 1 1 1

1 1 1 1 1 1

5 5 5 5 5 5

1 1 1 1 1 1

1 1 1 1 1 1

1 1 1 1 1 1

2 -1 -1

-1 2 -1

-1 -1 2

- - - - - -

- 0 0 0 0 -

- 0 0 0 0 -

- 0 0 0 0 -

- 0 0 0 0 -

- 0 0 0 0 -

- - - - - -

Tema 5: Segmentación de imágenes Detección de líneas.

Sección de imagen

Máscara

Resultado de aplicar la máscara sin procesar el borde.

No detecta la línea!

27

Tema 5: Segmentación de imágenes Detección de líneas.

g = resultado de aplicar la máscara

parea detectar líneas de +45º

Línea de más de un pixel de ancho

(“cero valle”)

Línea de un pixel de ancho

28

Tema 5: Segmentación de imágenes Detección de líneas.

g = resultado de aplicar la máscara

parea detectar líneas de +45º

h = valores positivos de g

Valores tales que g ≥ T, T = valor

máximo h

D E T E C C I Ó N D E B O R D E S

29

5.1. Detección de discontinuidades

30

• Borde de una imagen digital en escala de grises:

Borde ideal Borde “rampa”

Tema 5: Segmentación de imágenes Detección de bordes.

Forma un camino de un píxel de ancho en los que se

produce un cambio en el nivel de gris,

perpendicularmente.

Forma un conjunto de píxeles conexos en los que se produce, en una determinada dirección,

una variación gradual en el nivel de gris.

31

Tema 5: Segmentación de imágenes Detección de bordes.

• Borde de una imagen digital en escala de grises:

32

• Un píxel pertenece a un borde si se produce un cambio brusco entre

niveles de grises con sus vecinos. Por tanto, como ya hemos comentado, el fundamento para la detección de bordes está en la aplicación del operador derivada en un entorno de vecindad.

• Volvemos a analizar la respuestas de la derivada 1ª y 2ª con un ejemplo:

Tema 5: Segmentación de imágenes Detección de bordes.

33

Tema 5: Segmentación de imágenes Detección de bordes.

• La primera derivada toma un valor máximo o mínimo justamente cuando en la transición se pasa de cóncavo a convexo y viceversa, esto es en el punto de inflexión del borde.

• Si tomamos la segunda

derivada, el punto de inflexión de la primera coincidirá con un paso por cero, lo que llamaremos zero-crossing.

• Ambos razonamientos se

usarán para la detección de bordes.

34

• Inconveniente: La presencia de ruido en la imagen produce falsos

bordes al aplicar los operadores derivadas. Por esta razón, la detección de bordes está ligada a etapas de eliminación del ruido.

Tema 5: Segmentación de imágenes Detección de bordes.

35

• Inconveniente: La presencia de ruido en la imagen produce falsos

bordes al aplicar los operadores derivadas. Por esta razón, la detección de bordes está ligada a etapas de eliminación del ruido.

• Pasos fundamentales en la detección de bordes:

- Paso 1: Realizar un suavizado de la imagen para eliminar el ruido. - Paso 2: Detectar los posibles candidatos a ser puntos del borde. - Paso 3: Seleccionar, de entre los candidatos, aquellos que pertenecen realmente al borde.

Tema 5: Segmentación de imágenes Detección de bordes.

36

• Técnicas de detección de bordes: - Detección básica: Operadores gradiente - Operador cruzado de Roberts - Operador de Prewitt - Operador de Sobel - Técnicas más avanzadas: - Marr-Hildreth - Canny

Tema 5: Segmentación de imágenes Detección de bordes.

37

• Operadores gradiente:

- El operador gradiente sobre un pixel (x,y) de la imagen retorna un vector que indica la dirección de máxima variabilidad de la intensidad y su nivel de variación. Magnitud M(x,y) Dirección 𝛼 𝑥, 𝑦 - Obsérvese que gx, gy y M(x,y) son imágenes del mismo tamaño que la imagen original.

Tema 5: Segmentación de imágenes Detección de bordes.

38

• Operadores gradiente: - Un píxel se considerará que pertenece al borde si el módulo del gradiente supera un cierto umbral T. - En la práctica, generalmente se establece como umbral, T, cuando el módulo del vector gradiente está por encima del 70% al 80% del valor máximo de intensidad detectado en la imagen

Tema 5: Segmentación de imágenes Detección de bordes.

39

• Operadores gradiente:

Tema 5: Segmentación de imágenes Detección de bordes.

Apunta en dirección perpendicular al borde.

40

• Operadores gradiente:

Tema 5: Segmentación de imágenes Detección de bordes.

41

Tema 5: Segmentación de imágenes Detección de bordes.

• Operadores gradiente:

- Máscaras que modelan operadores gradiente:

42

Tema 5: Segmentación de imágenes Detección de bordes.

• Operadores gradiente:

- Máscaras que modelan operadores gradiente:

Detecta mejor los bordes horizontales y

verticales.

Mejora su localización en los bordes diagonales.

Muy sensible al ruido al ser

máscaras muy pequeñas.

43

Tema 5: Segmentación de imágenes Detección de bordes.

• Ejemplo Prewitt y Sobel:

44

Imagen original |gx|

|gy| |gx| + |gy|

• Ejemplo Sobel:

Tema 5: Segmentación de imágenes Detección de bordes.

45

Imagen original suavizada con un filtro de la media 5 x 5 |gx|

|gy| |gx| + |gy|

Tema 5: Segmentación de imágenes Detección de bordes.

• Ejemplo Sobel:

46

Tema 5: Segmentación de imágenes Detección de bordes.

• Gradiente + umbralización:

En algunas ocasiones es conveniente realizar una umbralización de la imagen gradiente obtenida.

a) Imagen resultante de aplicar Sobel b) Versión umbralizada tomando como umbral el 33% del valor de intensidad más alto de la imagen.

47

Tema 5: Segmentación de imágenes Detección de bordes.

• Gradiente + umbralización:

En algunas ocasiones es conveniente realizar una umbralización de la imagen gradiente obtenida.

a) Imagen resultante de aplicar Sobel a la imagen suavizada b) Versión umbralizada tomando como umbral el 33% del valor de intensidad más alto de la imagen.

48

Tema 5: Segmentación de imágenes Detección de bordes.

• Gradiente + umbralización:

En algunas ocasiones es conveniente realizar una umbralización de la imagen gradiente obtenida.

En la segunda imagen se produce una mejor conexión de los bordes (edges).

49

• Enlazado de bordes: - En la práctica, el conjunto de píxeles que se obtiene, rara vez caracteriza completamente un borde debido al ruido, a una iluminación no uniforme, etc. Por ello, los algoritmos de detección de bordes, normalmente se siguen de procedimientos de enlazado de los mismos. - Un procesamiento local consiste en analizar las características de los vecinos en un entorno de cada uno de los píxeles de la imagen que se han detectado como borde. Todos los puntos que son similares en algún sentido predeterminado, se enlazan.

Tema 5: Segmentación de imágenes Detección de bordes.

50

• Enlazado de bordes: Las dos principales propiedades utilizadas en este tipo de análisis para establecer la similitud de los píxeles del borde son: - La intensidad de la respuesta del operador: Un píxel del borde de coordenadas (x',y') que se encuentra en un entorno de vecindad determinado de un píxel de coordenadas (x,y), tiene intensidad similar si:

donde T es un valor umbral no negativo.

Tema 5: Segmentación de imágenes Detección de bordes.

51

• Enlazado de bordes: Las dos principales propiedades utilizadas en este tipo de análisis para establecer la similitud de los píxeles del borde son: - La dirección del gradiente. Un píxel del borde de coordenadas (x',y') que se encuentra en un entorno de un píxel de coordenadas (x,y), tiene ángulo similar si: donde A es un valor umbral no negativo.

Tema 5: Segmentación de imágenes Detección de bordes.

52

a) b)

c) d)

a) Imagen original

b) Componente x del gradiente (gx) usando Sobel.

c) Componente y del gradiente (gy) usando Sobel.

d) Resultado de enlazar todos los puntos que tienen módulo del gradiente mayor que 25 y cuya dirección del gradiente no difiere más de 15º.

• Enlazado de bordes:

Tema 5: Segmentación de imágenes Detección de bordes.

53

• Técnicas de detección de bordes: - Detección básica: Operadores gradiente - Operador cruzado de Roberts - Operador de Prewitt - Operador de Sobel - Otras, por ejemplo Máscaras de Kirsch - Técnicas más avanzadas: - Marr-Hildreth - Canny

Tema 5: Segmentación de imágenes Detección de bordes.

54

• TÉCNICAS MÁS AVANZADAS:

- Los métodos anteriores están basados simplemente en filtrar la imagen aplicando una o varias máscaras de convolución, sin ninguna previsión de las características del borde ni el contenido de ruido. - Las técnicas que estudiamos a continuación hacen un intento de mejorar los métodos de detección simple, teniendo en cuenta factores como el ruido de la imagen y la naturaleza de los bordes.

Tema 5: Segmentación de imágenes Detección de bordes.

55

• TÉCNICAS MÁS AVANZADAS:

Un detector de bordes es considerado óptimo si cumple los siguientes puntos: - Buena detección: el algoritmo debe marcar el mayor número real en los bordes de la imagen como sea posible. - Buena localización: los bordes de marca deben estar lo más cerca posible del borde de la imagen real. - Respuesta mínima: El borde de una imagen sólo debe ser marcado una vez, y siempre que sea posible, el ruido de la imagen no debe crear falsos bordes.

Tema 5: Segmentación de imágenes Detección de bordes.

56

• Detector Marr-Hildreth:

Los pasos a seguir son: - Paso 1: Aplicar un filtro gaussiano. - Paso 2: Calcular el Laplaciano de la imagen resultante. - Paso 3: Determinar los píxeles de “paso por cero”.

Tema 5: Segmentación de imágenes Detección de bordes.

57

• Detector Marr-Hildreth:

- Paso 1: Filtro gaussiano Realizar una convolución a la imagen con una máscara de tamaño n que modelice la función gaussiana bidimensional: donde σ representa la desviación típica.

Tema 5: Segmentación de imágenes Detección de bordes.

58

• Detector Marr-Hildreth:

- Paso 1: Filtro gaussiano Recordar que la convolución de una imagen con una función de esta forma emborrona la imagen con un grado de emborronamiento proporcional a σ. Por lo tanto, produce una reducción del ruido.

Tema 5: Segmentación de imágenes Detección de bordes.

59

• Detector Marr-Hildreth:

- Paso 2: Laplaciano del gaussiano Calcular el Laplaciano de la imagen resultante del filtro Gaussiano. Usar por ejemplo la máscara

Tema 5: Segmentación de imágenes Detección de bordes.

60

• Detector Marr-Hildreth:

- Paso 2: Laplaciano del gaussiano Función Laplaciano del Gaussiano (Paso 1 + Paso 2):

Tema 5: Segmentación de imágenes Detección de bordes.

eyxyx

y

G

x

GG

22222

4

2

2

2

2

22

61

• Detector Marr-Hildreth: Laplaciano del Gaussiano (LoG)

Tema 5: Segmentación de imágenes Detección de bordes.

f(x,y) imagen original

G(x,y) imagen

suavizada

Filtro gaussiano de paso bajo

),(2 yxGLaplaciano

Máscara 5x5 directa

62

• Detector Marr-Hildreth:

- Paso 3: Determinar los píxeles de paso por cero.

Tema 5: Segmentación de imágenes Detección de bordes.

63

• Detector Marr-Hildreth:

- Paso 3: Determinar los píxeles de paso por cero. Recuerda que los píxeles del borde son aquellos tales que el Laplaciano de dos de sus vecinos en posiciones opuestas tienen distinto signo (píxeles de paso por cero).

Tema 5: Segmentación de imágenes Detección de bordes.

64

• Detector Marr-Hildreth:

- Paso 3: Determinar los píxeles de paso por cero. Recuerda que los píxeles del borde son aquellos tales que el Laplaciano de dos de sus vecinos en posiciones opuestas tienen distinto signo (píxeles de paso por cero). Un método para detectar dichos píxeles p consiste en usar entornos de vecindad 3 x 3 centrados en p de forma que p es un pixel de paso por cero si la diferencia numérica entre posiciones opuestas supera un cierto umbral.

Tema 5: Segmentación de imágenes Detección de bordes.

65

• Detector Marr-Hildreth:

Tema 5: Segmentación de imágenes Detección de bordes.

f(x,y) imagen original

G(x,y) imagen

suavizada

Filtro gaussiano de paso bajo

),(2 yxGLaplaciano del

gaussiano con la máscara

Zero-crossing

66

Tema 5: Segmentación de imágenes Detección de bordes.

• Detector Marr-Hildreth:

67

Tema 5: Segmentación de imágenes Detección de bordes.

• Detector Canny:

- Es el operador borde más potente. Se caracteriza por evitar la ruptura de los bordes de los objetos. - Su fundamento se basa en un proceso de optimización, teniendo en cuenta los siguientes dos objetivos a maximizar: 1. Disminuir todo lo posible la distancia entre el borde detectado y el borde real. 2. No identificar un borde por un único pixel, sino por un conjunto de píxeles que tengan cierta conectividad.

68

Tema 5: Segmentación de imágenes Detección de bordes.

• Detector Canny:

Los pasos principales del algoritmo son: - Paso 1: Se realiza una convolución con un filtro gaussiano para suavizar la imagen (eliminar ruidos).

69

Tema 5: Segmentación de imágenes Detección de bordes.

• Detector Canny:

Los pasos principales del algoritmo son: - Paso 1: Se realiza una convolución con un filtro gaussiano para suavizar la imagen (eliminar ruidos). - Paso 2: Se calcula la imagen gradiente de la imagen suavizada. También se determina la dirección del vector gradiente.

M(x,y) ≈ |gx| + |gy|

α(x,y) = tan-1(gy/gx)

70

Tema 5: Segmentación de imágenes Detección de bordes.

• Detector Canny:

- Paso 3: Se aplica un procedimiento para eliminar (igualar a cero) aquellos píxeles que no son máximos locales en la dirección del gradiente (que es perpendicular al borde), considerando un entorno 3 x 3.

71

Tema 5: Segmentación de imágenes Detección de bordes.

• Detector Canny:

- Paso 3: Se aplica un procedimiento para eliminar (igualar a cero) aquellos píxeles que no son máximos locales en la dirección del gradiente (que es perpendicular al borde), considerando un entorno 3 x 3. Sean d1, d2, d3 y d4 las cuatro direcciones básicas (horizontal, -45º, vertical y +45º). Entonces, para cada pixel (x,y): 1. Encuentra la dirección dk más cercana a α(x,y). 2. Si M(x,y) es menor que al menos uno de sus dos vecinos a lo largo de la dirección dk, sea gN(x,y)=0; en caso contrario gN(x,y)=M(x,y).

72

Tema 5: Segmentación de imágenes Detección de bordes.

• Detector Canny:

- Paso 4: Se realiza un proceso de doble umbralización para determinar los píxeles del borde: - se marcan los píxeles con valor por encima de un umbral T1

(se localizan las semillas borde); - se marcan aquellos píxeles conectados a los primeros cuyo valor esté por encima de un segundo umbral T2 (T2 < T1). Esto eliminará falsos bordes al mismo tiempo que permite un resultado conexo.

73

Tema 5: Segmentación de imágenes Detección de bordes.

• Detector Canny:

El filtro Gaussiano se ha realizado para σ=4 y una máscara de tamaño 25x25. Los umbrales considerados han sido T1=0.1 y T2=0.04.

74

Tema 5: Segmentación de imágenes Detección de bordes.

• Comparando Sobel y Canny:

75

Tema 5: Segmentación de imágenes Detección de bordes.

• Comparando Marr-Hildreth y Canny:

76

Tema 5: Segmentación de imágenes Detección de bordes.

77

• Resumen:

(1) La detección de bordes usando operadores de aproximación del gradiente tiende a funcionar bien en los casos en que se involucran imágenes con transiciones de intensidad claramente definidas y ruidos relativamente bajos.

(2)Los pasos por cero ofrecen una alternativa en los casos en que los bordes están emborronados o cuando está presente un alto contenido de ruido. El precio a pagar por estas ventajas es el incremento de complejidad de cálculo y tiempo.

(3)El algoritmo de Canny es el que ofrece mejores resultados para bordes de imágenes con ruido gaussiano.

• b) c) d)

Tema 5: Segmentación de imágenes Detección de bordes.