procesamiento digital de imágenes lcc-594daniel.valdes/docs/pdi-4-filtros...capaz de extender los...

Post on 16-May-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Procesamiento Digital de Imágenes LCC-594Benemérita Universidad Autónoma de Puebla

Facultad de Ciencias de la Computación

Daniel Alejandro Valdés Amaro, Ph.D

4. Operaciones regionales

Objetivo: Conocer los métodos de

transformación de una imagen digital

dependientes de la vecindad de un punto

(región).

I. Fundamentos

II. Propiedades y clasificación

III. Matriz filtro

IV. Aplicación de los filtros

V. Tipos de filtros lineales

4. Operaciones regionales

VI. Filtros de suavizado

VII. Filtros diferenciales

VIII. Bordes y contornos

IX. Detectores de bordes de segundo orden

4. Operaciones regionales

4.2 Filtros lineales

4.2.4 Bordes y contornos

• Los operadores de bordes de Prewitt y Sobel son dos métodos clásicos que difieren sólo en los filtros que utilizan.

• Los filtros lineales usados por estos operadores se extienden a más de tres líneas y columnas adyacentes respectivamente, para contrarrestar la sensibilidad al ruido de los operadores de gradiente simples (ecuaciones 17 y 18).

• El operador de Prewitt utiliza los filtros:

Operadores de Prewitt y Sobel

y (19)

que calculan las componentes del gradiente promedio a través de las tres líneas de vecinos o columnas respectivamente.

• Cuando los filtros están escritos en forma separada,

y tenemos que HPx realiza un suavizado simple (de caja) sobre tres líneas antes de calcular el gradiente de x (ecuación 17) y de forma análoga, HPy suaviza tres columnas antes de calcular el gradiente y (ecuación 18).

Operadores de Prewitt y Sobel

y (20)

• Los filtros para el operador de Sobel son casi idénticos, sin embargo, la parte del suavizado le asigna más peso a la línea central y la columna actual respectivamente:

Operadores de Prewitt y Sobel

y (21)

• Las estimaciones para los componentes del gradiente locales se obtienen a partir de los resultados del filtro por una escala adecuada:

para el operador de Prewitt y

para el operador de Sobel.

Operadores de Prewitt y Sobel

(22)

(23)

(a) y (b) Imágenes de prueba.

(a) (b)

Operadores de Prewitt y Sobel

(b) y (c) resultado de aplicar el filtro de Sobel en ambas direcciones.

(c) (d)

Operadores de Prewitt y Sobel

(e) y (f) resultado de aplicar el filtro de Prewitt en ambas direcciones.

(e) (f)

Operadores de Prewitt y Sobel

• El operador Roberts es uno de los más simples y antiguos detectores de bordes por lo que actualmente su interés es meramente histórico.

• Se emplea dos filtros pequeños de tamaño 22 para estimar el gradiente direccional a lo largo de las diagonales de imagen:

• Estos filtros obtienen una buena respuesta ante bordes diagonales, sin embargo las máscaras que se aplican a cada eje son en realidad una aproximación de la aplicación de la derivada.

Operador de Roberts

y (24)

• Por lo que la desventaja del operador de Roberts para la detección de bordes se da debido al uso de una máscara pequeña, lo que hace que sea muy sensible al ruido.

Operador de Roberts

(a) y (b) Imágenes de prueba.

(a) (b)

Operador de Roberts

(c) y (d) resultado de aplicar el filtro de Roberts en la dirección horizontal.

(c) (d)

Operador de Roberts

(c) y (d) resultado de aplicar el filtro de Roberts en la dirección vertical.

(e) (f)

Operador de Roberts

• El diseño de los filtros de borde lineal implica un equilibrio: mientras más fuerte un filtro responde a estructuras similares al borde, más sensible es a la orientación.

• En otras palabras, los filtros que son insensibles a la orientación tienden a responder a las estructuras sin bordes, mientras que los filtros más discriminantes sólo responden a los bordes en un rango estrecho de orientaciones.

• Una solución es utilizar no sólo un único par de filtros relativamente “anchos” para dos direcciones (como el Prewitt y el operador Sobel simple discutido anteriormente), si no un mayor conjunto de filtros con orientaciones espaciadas.

Operadores de dirección

• Así, este tipo de filtros se utilizan para detectar estructuras que siguen una determinada dirección en el espacio resaltando el contraste entre los pixeles situados a ambos lados de la estructura.

• Un ejemplo clásico es el operador de Sobel extendido, que emplea los siguientes ocho filtros con orientaciones espaciadas en 45º:

Operadores de dirección

(25)

Operadores de dirección

(26)

(27)

(28)

• En realidad sólo resultados de cuatro de los ocho filtros anteriores HSHSHSHHSHS deben de calcularse ya que los cuatro restantes son idénticos excepto por el signo cambiado.

• Otro operador direccional clásico es el propuesto por Kirsch, que también se basa en ocho filtros direccionales con las siguientes máscaras:

Operadores de dirección

(29)

Operadores de dirección

(30)

(31)

(32)

• Nuevamente, debido a las simetrías, sólo cuatro de los ocho filtros necesitan ser aplicados.

• Nótese además de las ecuaciones 29–32 cómo los pesos positivos igualan a los negativos.

• Si los valores positivos y negativos de los pixeles también se igualasen, el resultado sería cero. Por eso, en muchos filtros de detección de bordes vemos en tonos muy oscuros las regiones homogéneas.

• Las figuras siguientes muestra los resultados de aplicar los operadores de Sobel modificados.

Operadores de dirección

(a) y (b) Imágenes de prueba.

(a) (b)

Operadores de dirección

Resultado de aplicar el filtro de Sobel direccional.

Operadores de dirección

Resultado de aplicar el filtro de Sobel direccional.

Operadores de dirección

Resultado de aplicar el filtro de Sobel direccional.

Operadores de dirección

Resultado de aplicar el filtro de Sobel direccional.

Operadores de dirección

• Los operadores de gradiente por filas y por columnas que vimos localizan bien los cambios de tono, pero son excesivamente sensibles al ruido, al igual que el operador de Roberts, que rastrea en diagonal.

• En la práctica, este y otros operadores de tipo “brújula” muestran beneficios menores a través de los operadores simples descritos anteriormente, incluyendo la pequeña ventaja de no requerir el cálculo de las raíces cuadradas (que es considerada una operación relativamente “cara”).

Operadores de dirección

4.2.5 Detectores de bordes de segundo orden

• Un problema con los operadores de borde de primer orden es que los bordes resultantes son tan anchos como la transición de intensidad subyacente y por lo tanto los bordes puede ser difíciles de localizar con precisión.

• Una clase alternativa de los operadores de bordes hace uso de la segunda derivada de la función de imagen, incluyendo algunos operadores de borde populares modernos que también tratan de solucionar el problema de los bordes que aparecen en los diversos niveles de escala.

• La segunda derivada de una función es una medida de su curvatura local.

Detectores de bordes de segundo orden

• La idea es que los bordes se pueden encontrar en posiciones cero o mejor aún, en los cruces cero de las segundas derivadas de la función de la imagen, como se ilustra en la figura siguiente para el caso unidimensional.

• Dado que las segundas derivadas generalmente tienden a amplificar ruido de la imagen, una cierta clase de presuavización se aplica generalmente con filtros de paso bajo adecuados.

Detectores de bordes de segundo orden

Detectores de bordes de segundo orden

Principio de detección de bordes utilizando la segunda derivada: función original (a), primera derivada (b) y segunda derivada (c). Los puntos del borde se encuentran donde la segunda derivada cruza a través de la derivada cero y la primera derivada tiene una

magnitud alta.

• Desafortunadamente, los resultados de los operadores de borde simples que se han discutido hasta ahora muy a menudo se desvían de lo que los seres humanos perciben como bordes importantes y la dos razones principales para esto son:

1. Los operadores de borde sólo responden a las diferencias de intensidad locales, mientras que nuestro sistema visual es capaz de extender los bordes entre las áreas de contraste mínimo o de degradado.

2. Los bordes no existen en una resolución fija única o en una cierta escala, si no que en una amplia gama de escalas diferentes.

Detectores de bordes de segundo orden

• Los operadores típicos de borde pequeños como el operador de Sobel, sólo pueden responder a las diferencias de intensidad que se producen en su filtro con región de 3×3 pixeles.

• Para reconocer más bordes, se necesitan operadores de bordes más grandes (con filtros correspondientemente grandes) o bien, usar los operadores originales (pequeños) en imágenes reducidas (es decir, escaladas).

Operador de Canny

• Esta es la idea principal de las técnicas de “resolución múltiple” (también referidas como técnicas “jerárquicas” o de “pirámide”), las cuales se han utilizado tradicionalmente en muchas aplicaciones de procesamiento de imágenes.

• En el contexto de la detección de bordes, este se traduce normalmente a la detección de bordes en diferentes niveles de escala primero y luego decidir que borde (si existe) en que nivel de escala es el dominante en cada posición de la imagen.

Operador de Canny

• El operador de bordes de Canny emplea un conjunto de filtros relativamente grandes, orientados a resoluciones de imagen de múltiples y combina los resultados individuales en un mapa de bordes común.

• El método intenta alcanzar tres objetivos principales:

1. Reducir al mínimo el número de puntos de borde falsos,

2. Lograr una buena localización de los bordes y

3. Entregar solamente una sola marca en cada borde.

Operador de Canny

• En esencia, el “filtro” de Canny es un método de gradiente (con base en la primera derivada), pero utiliza los cruces cero de la segunda derivada para una localización de bordes precisa.

• Con frecuencia, sin embargo, sólo una aplicación de una sola escala del algoritmo con un radio de filtro ajustable (parámetro suavizado σ) es superior a la mayoría de los operadores de borde simples.

• Por lo tanto, incluso en su forma básica, el operador de Canny es preferido a los otros métodos de detección de bordes.

Operador de Canny

(a) y (b) Imágenes de prueba.

(a) (b)

Operador de Canny

Resultado de aplicar el filtro de Canny.

Operador de Canny

• El principal objetivo de los filtros de nitidez es el de resaltar los detalles finos en una imagen o mejorar los detalles que han sido difuminados, ya sea por error o por algún efecto natural de algún método de adquisición de imágenes.

• Así tenemos que intuitivamente se quiere aplicar el proceso inverso al suavizado, lo cuál es cierto dado que el promediar es análogo a la integración, por lo que es entonces lógico concluir que que los procesos de nitidez se pueden realizar mediante diferenciación.

Nitidés de bordes

• La for taleza de los operadores de derivada es que proporcionan un grado de discontinuidad de la imagen en el punto en el que se aplica el operador, proporcionando así un método para resaltar los bordes y otras discontinuidades (como el ruido) dando poco énfasis a áreas que tienen valores de niveles de gris que varían lentamente.

• Como se mencionó anteriormente, un método común para la localización de los cambios rápidos de intensidad son los filtros basados en las segundas derivadas de la función de la imagen.

• La figura siguiente ilustra esta idea en una función continua unidimensional f(x).

Nitidés de bordes

Nitidés de bordes

Borde realzado con la segunda derivada. Se

muestran la función de la intensidad original f(x), la primera derivada f ’(x), la

segunda derivada f ’’(x), y la función de intensidad f^(x) = f(x) - w f ’’(x) para la nitidez.

• La segunda derivada, f ’’(x) de la función escalón muestra un pulso positivo en el extremo inferior de la transición y un impulso negativo en el extremo superior.

• El borde se agudiza restando una cierta fracción w de la segunda derivada f ’’(x) de la función original f(x):

• Dependiendo del factor de ponderación w ≥ 0, la expresión en la ecuación 33 provoca que la intensidad de la función tienda a rebasar ambos lados de un borde, exagerando así los bordes y aumentando la nitidez percibida.

Nitidés de bordes

(33)

• La agudización o realce de una función de dos dimensiones se puede lograr con las segundas derivadas en las direcciones horizontales y verticales, combinados por el operador de Laplace.

• El operador de Laplace ∇2 de una función bidimensional f(x, y) definida como la suma de las segundas derivadas parciales a lo largo de las direcciones x y y:

Operador de Laplace

(34)

• Dependiendo del factor de ponderación w ≥ 0, la expresión en la ecuación 40 provoca que la intensidad de la función tienda a rebasar ambos lados de un borde, exagerando así los bordes y aumentando la nitidez percibida.

• Una vez más, varias versiones, se han propuesto; por ejemplo, los dos siguientes filtros unidimensionales para estimar las segundas derivadas a lo largo de las direcciones x y y, respectivamente, se combinan para hacer el filtro bidimensional de Laplace:

Operador de Laplace

y

• para estimar las segundas derivadas a lo largo de las direcciones x y y, respectivamente, se combinan para hacer el filtro bidimensional de Laplace:

Operador de Laplace

(36)

(35)

• De forma análoga que para los filtros de gradiente (para estimar las primeras derivadas), la suma de los coeficientes es cero en cualquier filtro de Laplace, de manera que su respuesta es cero en áreas de intensidad constante (plana).

• Otras variantes comunes de 3×3 pixeles de filtros Laplace son:

Operador de Laplace

y

(37) (38)

• Así, para realzar los bordes de una imagen, como se describe por la ecuación 39 para el caso unidimensional, primero es necesario aplicar un filtro de Laplace a la imagen I y luego se resta una fracción del resultado de la imagen original:

• El factor w especifica la proporción del componente de Laplace y por lo tanto la fuerza del realce de bordes.

• La elección apropiada de w también depende de la especificación del filtro de Laplace utilizado en la ecuación 39 ya que ninguno de los filtros anteriores se encuentra normalizado.

Operador de Laplace

(39)

(a) y (b) Imágenes de prueba.

(a) (b)

Operador de Laplace

Resultado de aplicar el filtro de Laplace.

Operador de Laplace

Resultado de aplicar el filtro de Laplace.

Operador de Laplace

Resultado de aplicar el filtro de Laplace.

Operador de Laplace

• Sin embargo, el Laplaciano no se suele usar directamente en la práctica por ser muy sensible al ruido, por lo que se suele usar sumado o restado (según la máscara usada) con la imagen original para realzar los contornos.

• Por lo anterior, también a veces se usa primero un filtro gaussiano para eliminar ruido, lo que da lugar al filtro llamado Laplaciano del Gaussiano (LoG), cuyo núcleo puede calcularse componiendo ambos:

Operador de Laplace

(40)

• Los filtros lineales tienen una desventaja importante cuando se usan para el suavizado o la eliminación ruido: todas las estructuras de la imagen, incluyendo puntos, bordes y líneas, son también difuminadas, por lo que la calidad de la imagen completa se reduce uniformemente (figura siguiente).

• Este efecto no se puede evitar, y por lo tanto el uso de filtros lineales para estos tipos de tareas (eliminación de ruido, en particular) es limitada.

Filtros no lineales

Filtros no lineales

Cualquier estructura de la imagen se suaviza mediante un filtro de suavizado lineal. Estructuras importantes de la imagen tales como los bordes de los escalones (arriba) o de líneas finas (inferior) se ensanchan, y el

contraste local se reduce.

• Es imposible diseñar un filtro que elimine cualquier clase de ruido y al mismo tiempo mantenga todas las estructuras importantes de la imagen intactas, ya que los filtros no pueden discriminar que contenido de la imagen es importante y que no lo es.

• El filtro de la mediana es uno de los más populares y es al menos una posible solución.

• El filtro de la mediana reemplaza cada pixel de la imagen por la mediana de los pixeles en la región correspondiente del filtro R:

Mediana

(41)

• La mediana de una secuencia de 2K + 1 valores de pi se define como el valor central pK después de la secuencia P = (p0,…,p2K) se ordena, es decir :

donde pi ≤ pi + 1 (para 0 ≤ i < 2K).

• La figura siguiente demuestra el cálculo del filtro de la mediana o de un filtro de tamaño de región de 3×3 pixeles.

Mediana

(42)

Mediana

Cálculo de un filtro de mediana de 3×3 pixeles. Los nueve valores de pixel extraído a partir de la región de imagen 3×3 están dispuestos como un vector (P) que está ordenado, y el resultante

valor central se toma como la mediana.

• La ecuación 42 define la mediana de un conjunto de tamaño irregular de valores, y si la longitud del lado del filtro rectangular es impar (que es generalmente el caso), entonces el número de elementos en la región de filtro es impar también.

• En este caso, el filtro mediana no crea nuevos valores de pixeles que no existían en la imagen original. Sin embargo, si el número de elementos es par (2K para algún K > 0), entonces la mediana de la secuencia ordenada P = (p0,…,p2K-1) se define como la media aritmética de los dos valores centrales p2K-1 y pK :

Mediana

• Debido a la interpolación anterior, nuevos valores de pixeles son introducidos generalmente por el filtro de la mediana si la región es de tamaño par.

• La figura siguiente ilustra los efectos de un de filtro de la mediana de 3×3 pixeles en estructuras de dos dimensiones seleccionadas en la imagen.

Mediana

(43)

Mediana

Mediana

• En particular, las estructuras muy pequeñas (más pequeña de la mitad del tamaño del filtro) se eliminan, pero todas las demás estructuras siguen en gran parte sin cambios.

• Sin embargo, un efecto producido, que es imperceptible después de la aplicación del filtro, es que se crean pequeños puntos de intensidad homogénea.

Mediana

• La mediana es una estadística de orden de importancia, y en cierto sentido, la “mayoría” de los valores de pixeles implicados determinan el resultado.

• Un único valor excepcionalmente alto o bajo (un outlier) no puede influir mucho en el resultado, y en su lugar sólo cambia el resultado hacia arriba o hacia abajo del siguiente valor.

• Así, la mediana (en contraste con el promedio lineal) es considerado una medida “robusta” .

• En un filtro de mediana estándar, cada pixel en la región del filtro tiene la misma influencia, independientemente de su distancia desde el centro.

Mediana ponderada

• El filtro de la mediana ponderada asigna pesos individuales a las posiciones en la región del filtro, que se puede interpretar como el “número de votos” para los correspondientes valores de pixel.

• Similar al coeficiente de la matriz H de un filtro lineal, la distribución de pesos se especifica mediante una matriz de ponderación W, con W(i, j) ∈ N.

• Para calcular el resultado del filtro modificado, cada valor de pixel I(x + i, y + j) involucrado se inserta W(i, j) veces en el vector extendido de pixeles:

Mediana ponderada

• Este vector se ordena y el valor central resultante se toma como la mediana, tal como en el filtro de mediana estándar.

• La figura siguiente ilustra el cálculo del filtro de mediana ponderada utilizando una matriz de pesos de 3×3:

que requiere un vector de pixeles extendido de largo L=15, igual a la suma de los pesos en W.

Mediana ponderadade largo

(44)

Mediana ponderada

Ejemplo de mediana ponderada: Cada valor de pixel se introduce en el vector de pixeles extendido múltiples veces, según como se especifica la matriz de ponderación W. Por ejemplo, el valor de 0 para el pixel central se inserta tres veces (ya que W(0, 0) = 3) y el

valor de pixel 7 se inserta dos veces. Luego el vector de pixeles se ordena y el valor central (2) se toma como la mediana.

• Este método también puede ser usado para implementar filtros de mediana ordinarios de forma no rectangular, por ejemplo, un filtro de mediana en forma de cruz con la matriz de peso:

• Sin embargo no cada disposición de los pesos es útil, en particular si el peso asignado al pixel central es mayor que la suma de todos los otros pesos.

Mediana ponderada

• Entonces ese pixel siempre tendría la “mayoría” y dictará el valor resultante, inhibiendo de este modo cualquier efecto del filtro.

Mediana ponderada

top related