Source: http://docplayer.es/9717572-Realce-o-aumento-del-contraste-enhancement-suavizado-o-eliminacion-del-ruido-denoising-deteccion-de-bordes-edge-detection.html
Timestamp: 2019-02-22 21:39:30+00:00

Document:
Realce o aumento del contraste (enhancement). Suavizado o eliminación del ruido (denoising) Detección de bordes (edge detection) - PDF
Download "Realce o aumento del contraste (enhancement). Suavizado o eliminación del ruido (denoising) Detección de bordes (edge detection)"
Eugenio Juárez Villanueva
1 4 Técnicas de preprocesado Las técnicas de procesado pretenden mejorar o realzar las propiedades de la imagen para facilitar las siguientes operaciones de la Visión Artificial, tales como las etapas de segmentación, extracción de las características y finalmente la interpretación automática de las imágenes. Recuerde que el fin último de la Visión Artificial es la interpretación automática de la imagen o una mejora de la calidad de la imagen. Las técnicas de preprocesado se basan bien en técnicas derivadas del procesamiento digital de señales, vistas en el capítulo anterior, o bien en un conjunto de procedimientos heurísticos que han dado resultados satisfactorios. En este tema será objeto de estudio el segundo proceder. Las técnicas heurísticas son una combinación de procedimientos basados en el procesamiento digital de señales y en otros tipos de manipulaciones matemáticas. Su estudio se iniciará con una primera clasificación. Estos algoritmos se pueden catalogar en función de las pretensiones de sus transformaciones en alguna de las siguientes facetas: Realce o aumento del contraste (enhancement). Suavizado o eliminación del ruido (denoising) Detección de bordes (edge detection) El desarrollo de estas técnicas se realizará en la información de luminancia de las imágenes, esto es, sólo se analizarán sobre imágenes en niveles de grises. Muchas de Dpto. Electrónica, Automática e Informática Industrial 5
2 Carlos Platero Apuntes de Visión Artificial ellas pueden ser luego trasladadas a imágenes en color. Sin embargo, no se puede generalizar. Las técnicas de preprocesado sobre imágenes en color requieren un tratamiento diferenciado. 4. Realce o manipulación del contraste Las técnicas de realce pretenden aumentar el contraste de las imágenes. No en el sentido estricto de aumentar la calidad radiométrica, sino de mejorar algunas de sus características visuales para las siguientes etapas del análisis automático de las imágenes. Las causas de aplicar estos algoritmos se deben bien a una falta de iluminación uniforme en la escena o bien al deseo de aumentar el contraste entre los objetos presentes en la imagen. En el capítulo de formación de las imágenes se estudió las dificultades de la implementación del sistema de iluminación. Normalmente, la escena capturada por el sistema de visión se encuentra con unas fuentes de iluminación no colimadas y variables con el tiempo y con objetos que producen reflejos y sombras no deseadas. De otro lado, las ganancias de las cámaras no son lineales. El doble de intensidad radiada en un píxel, no se traduce en el doble de cuantificación en el nivel de gris de ese píxel. Todas estas imperfecciones deben ser corregidas tanto en la formación de las imágenes como con el uso de técnicas preprocesado de realce. Ambas deben ser utilizadas. Estas técnicas de realce también se aplican cuando se pretende utilizar técnicas de segmentación. El objetivo de este procesado es facilitar las tareas de partición de la imagen. Con este fin se aumenta el contraste entre los objetos de la imagen. Muchas de las aplicaciones de realzado se fundamentan en operaciones punto a punto, es decir, no tienen en cuenta el entorno de vecindad del píxel. Para su estudio se requiere introducir los conceptos de histograma, brillo y contraste. Los fundamentos de estas técnicas están en la adecuación del rango dinámico de la imagen y en la ecualización del histograma. Para acabar, también se explorarán algunos procedimientos basados en el uso de filtros paso banda. 4.. Histograma, brillo y contraste El histograma es una función discreta que contabiliza el número de ocurrencias de cada nivel de gris presenta en una imagen. Se representa en un diagrama donde en el eje de abscisa está el nivel de gris y en el de ordenadas la frecuencia de cada nivel de gris en la imagen. Si al histograma se le divide por el número de píxeles de la imagen se obtendrá la función de probabilidad muestreal de cada nivel de gris en la imagen: h ( i) p ( i) número de ocurrencia del nivel de gris i en la imagen ( i) h M N (4. ) 6 Dpto. Electrónica, Automática e Informática Industrial
3 Apuntes de Visión Artificial Capítulo 4: Técnicas de preprocesado Siendo M y N el número de filas y columnas de la imagen, h(i) es la función histograma y p(i) su probabilidad. Un histograma no dice nada sobre la disposición espacial de las distintas intensidades. Dos imágenes diferentes pueden tener igual histograma. Sin embargo, el histograma habla sobre el tipo de adquisición que ha sido realizado. El histograma proporciona información estadística de la imagen. Esta información es bastante útil para conocer cómo se ha producido el proceso de formación de la imagen. Así, se define el brillo de la imagen como el valor medio de la imagen que coincide con el valor medio del histograma: Brillo µ M N M N x y f I i p( i) i (4. ) Donde f(x, retorna el nivel de gris del píxel situado en las coordenadas (x,, I es el número de grises que se ha empleado en el proceso de cuantificación de la imagen. Una imagen que presente un valor de brillo mayor que otro sobre la misma escena, indica que el nivel de radiación medio que ha llegado a la cámara es mayor en una imagen que en otra, bien por que se disminuyó el número F de diafragma o por que se varió el tiempo de integración. Este efecto se observa en el histograma como un desplazamiento neto hacia la derecha del eje de abscisa. A medida de que la imagen parezca más clara, el histograma se mueve hacia valores más altos de los niveles de grises. La variación del brillo se efectúa con la operación aritmética de suma o resta a cada píxel de una cantidad determinada. Imagen de entrada Imagen de entrada Figura 4.. Imagen con dos valores distintos de brillo a) 76 b) 6 La varianza del histograma también es asociada al contraste de la imagen: Dpto. Electrónica, Automática e Informática Industrial 7
4 Carlos Platero Apuntes de Visión Artificial Contraste σ M N I i M N x y I ( f µ ) ( i µ ) h( i) ( i µ ) p( i) M i N (4. ) El contraste indica la dispersión de los niveles de grises en la imagen. Aunque se puede encontrar otras definiciones matemáticas del contraste, todas son medidas de dispersión. En todo caso, una imagen con poco contraste indica que hay poca variabilidad de los niveles de grises en la imagen. Su efecto se muestra en un histograma muy concentrado, con un rango dinámico pequeño. El rango dinámico es la variación de niveles de grises en la imagen. Otro estadístico interesante es la función energía: Energía I i p ( i) (4. 4) Ésta indica el grado de dispersión de grises en la imagen. Si hubiese un único nivel de gris la energía sería máxima y de valor uno. A medida de que aumente el número de niveles de grises existentes en la imagen disminuirá la energía. La función inversa a la energía es la entropía: Entropía I i p ( i) log( p( i) ) (4. 5) A mayor entropía más desorden en la imagen, esto es, más niveles de grises participan en la imagen. La entropía será máxima cuando todos los niveles de grises sean equiprobables. Se dice que una imagen está saturada cuando su histograma presenta valores muy altos en sus extremos del rango dinámico; el histograma tiene una forma en U. Las imágenes con bajo contraste o saturada tienen pérdidas de información en sus adquisiciones. La solución está en una nueva formación de la escena con valores diferentes de los parámetros de la captura. Las técnicas de preprocesado digital no aumentan el nivel de información, aunque acondicionan la imagen para las siguientes etapas de interpretación de las imágenes. Para aumentar el contraste se emplean las funciones de transferencias del histograma. Éstas son transformaciones matemáticas que asocian a un nivel de gris de entrada otro nivel en la salida: i ' T( i) (4. 6) T es la función matemática de transformación e i es el nuevo nivel de gris asociado. La transformación más generalizada consiste en adecuar el rango dinámico de la imagen de entrada a todo el espectro de valores de cuantificación: 8 Dpto. Electrónica, Automática e Informática Industrial
5 Apuntes de Visión Artificial Capítulo 4: Técnicas de preprocesado ( ) ( i a ) iout I i i a I a a a a ( ) in min out in max min max min min (4. 7) Siendo I el rango máximo de cuantificación y a min y a max el rango dinámico de la imagen de entrada. Ejemplo 4. Adecuar el rango dinámico de una imagen de resonancia magnética, cuyos valores varían entre el nivel de gris de a 88. Nótese el carácter saturado de la adquisición. i out i in Histograma original Transformación Histograma modificado Figura 4. Imagen de resonancia magnética y con aumento del contraste a)σ b) σ 96 Dpto. Electrónica, Automática e Informática Industrial 9
6 Carlos Platero Apuntes de Visión Artificial Resolución Matlab >>imagenimread( mri.tif`); >>imhist(imagen); >>max(max(imagen)) >>imagen_salimadjust(imagen); >>imhist(imagen_sal); >>imshow([imagen,imagen_sal]); >>std(imagen),std(imagen_sal) Evidentemente, las transformaciones no necesariamente deben ser lineales. Por ejemplo, las siguientes operaciones consiguen el negativo de la imagen de entrada y variaciones diferentes del contraste: i T 4 I γ ( i) I i T ( i) T ( i) I i T ( i) i (4. 8) La última transformación se la llama la corrección de gamma. Su propósito es adecuar la luminancia a la sensibilidad de los monitores de vídeo de rayos catódicos, los cuales presentan no linealidad entre la intensidad y el voltaje de excitación de la pantalla. Si γ <, la imagen de salida será más clara y con γ > se volverá más oscura. Este tipo de transformación se realiza con valores normalizados de intensidad en el intervalo [,]. Por ejemplo, suponga que gamma fuese y no estuviera el rango de intensidad normalizado, por ejemplo en el intervalo de [ 55]. Se observa que el rango de salida sería mayor a 56 niveles de grises. No obstante, como se ha comentado, estas transformaciones no introducen mayor información en las imágenes, pues estos resultados son sólo expansiones de los rangos dinámicos. En cambio, estas operaciones facilitan las siguientes etapas de extracción de información de mayor relevancia. La implementación de estas transformaciones se realiza a través de una tabla que se la denomina LUT (Look Up Table). Para aumentar la eficiencia de la conversión, en la tabla se entra por el valor de entrada de nivel de gris y ésta retorna el nivel de salida. Comúnmente a la LUT se la denomina paleta o mapa de color. 4.. Ecualización del histograma En cualquier función de densidad probabilística que es transformada a uniforme se maximiza la explotación de la información. Este fenómeno que rige a los procesos continuos también se puede aplicar sobre información discreta. La conversión de cualquier forma de histograma a uno uniforme, si bien es cierto que no aumentará la información, como ya se ha comentado anteriormente, si mejorará la imagen para las siguientes etapas. Recuerde que el valor máximo de la entropía se dará cuando el histograma sea uniforme. Dpto. Electrónica, Automática e Informática Industrial
7 Apuntes de Visión Artificial Capítulo 4: Técnicas de preprocesado El fundamento se basa en realizar una conversión en el histograma de forma que la probabilidad de cualquier nivel de gris en la imagen sea idéntica. Desde el punto de vista del histograma, esta transformación producirá que el número de ocurrencias de un M N nivel de gris sea el mismo valor siempre, h( i). I Para obtener esta técnica de preprocesado se partirá de la función de distribución de la imagen. Ésta se define, para variables aleatorias discretas, como el sumatorio de probabilidades desde el inicio de la variable hasta un valor prefijado. Por tanto, el sumatorio de la función en todo el espectro de la variable aleatoria independiente es la unidad: F F ( r) p( i) r i I ( I ) p( i) i (4. 9) En este caso, la probabilidad de la variable aleatoria corresponderá con la probabilidad de que aparezca el nivel gris i en la imagen. La función de distribución de una imagen estará determinada por el histograma acumulado relativizado por el tamaño de la imagen. Sea F(r) la función de distribución de una imagen cualquiera. Un histograma uniforme se caracterizará por tener: F r ' ( r' ) p( i) ( r + ) i I (4. ) Siendo F(r ) la función de distribución uniforme. La conversión del histograma se establece igualando las funciones de distribución que posee la imagen con la función de distribución deseada. Con esta relación se establece la función de transferencia del histograma, de r a r : F I ( r' ) F( r) ( r + ) F( r) r F( r) I (4. ) El carácter discreto de la variable supondrá una aproximación a una densidad uniforme. Dpto. Electrónica, Automática e Informática Industrial
8 Carlos Platero Apuntes de Visión Artificial Imagen de entrada Imagen ecualizada Histograma de entrada Histograma ecualizado Figura 4. Ejemplo de ecualización del histograma Resolución Matlabs >>imagenimread( tire.tif`); >>imhist(imagen); >>imagen_salhisteq (imagen); >>imhist(imagen_sal); Ejemplo 4. Se tiene esta subimagen: Calcular: Dpto. Electrónica, Automática e Informática Industrial
9 Apuntes de Visión Artificial Capítulo 4: Técnicas de preprocesado. Histograma. Brillo, contraste, energía y entropía. Ecualización del histograma. Nivel de gris Ocurrencias Probabilidad Brillo, contraste 4, energía.9, entropía.94 Nivel de gris de entrada Nivel de gris de salida (-.) (.7) () (4.) (5.) (6.8) (7.55) (7.64) (8) ó ó 7 7 ó 8 7 ó 8 8 Histograma ecualizado Realzado basado en el dominio frecuencial Las componentes de alta frecuencia están relacionadas con los bordes de los objetos y con los pequeños detalles de la imagen. El aumento del contraste puede estar basado en una combinación lineal entre la imagen original y el resultado de un filtro paso alto. La imagen salida será: Imagen Salida A*(Imagen) - (Paso bajo de la Imagen) (A-) *(Imagen) +(Imagen) -(Paso bajo de la Imagen) (A-) *(Imagen) + (Paso alto de la Imagen) A es un escalar; cuando es la unidad se tendrá el resultado del filtro paso alto, en cambio para A mayor a la unidad se estará realizando un énfasis sobre las componentes de alta frecuencia, produciendo el proceso de realzado y para A menor a la unidad aparece como el negativo de la imagen. A este algoritmo se le denomina unsharp masking. Desde el punto de vista de la implementación se suele utilizar la imagen menos el resultado de ésta con una máscara laplaciana; en un entorno de x queda definido como: Dpto. Electrónica, Automática e Informática Industrial
10 Carlos Platero Apuntes de Visión Artificial 4 (4. ) Figura 4. 4 Filtrado de realzado unsharp Resolución Matlab >>imagenimread( cameraman.tif`); >>Hfspecial( unsharp,) >>imagen_salimfilter (imagen, H); >>imshow([imagen,imagen_sal]); 4. Técnicas de suavizado Las técnica de suavizado de las imágenes intentan eliminar el nivel de ruido presente en la imagen. En el proceso de formación de la imagen se ha generado ruido que se ha sumado a la señal. Este ruido se explica como una variable aleatoria que sigue una función de densidad determinada. El origen del ruido es múltiple y existen tres tipos básicos: gaussiano, impulsional y multiplicatico. El ruido más común se origina en el proceso de captación al convertir los fotones en carga eléctrica, debido al carácter no determinista de esta transformación. Este tipo de ruido se explica mediante el modelo de función de densidad normal o gaussiana. El segundo tipo de perturbación se consigue como consecuencia de la saturación de carga que recibe un píxel ya sea por exceso o por defecto. A este tipo de ruido se le denomina de sal y pimienta. La saturación se produce debido a la sensibilidad de las cámaras al infrarrojo y al encontrar sobre el escenario objetos que están calientes. Este segundo tipo de comportamiento se modela con una función de densidad de tipo impulsional. Por último, hay ruido generado por la falta de iluminación uniforme sobre la escena capturada. Este error es como si la imagen estuviera formada por la multiplicación de dos imágenes, por un lado la imagen que refleja la intensidad de 4 Dpto. Electrónica, Automática e Informática Industrial
11 Apuntes de Visión Artificial Capítulo 4: Técnicas de preprocesado iluminación sobre los objetos y de otro la función de refracción de los cuerpos vistos en la escena. A esta categoría de ruido se le relacionado con los filtros homomórficos. Imagen original Imagen con ruido gaussiano Imagen con ruido sal y pimienta Imagen con ruido multiplicativo Figura 4. 5 Fuentes de error a) original b) gaussiano c)impulsional d)multiplicativo 4.. Mejora en la adquisición La adquisición de las imágenes es un proceso no determinista. La señal de vídeo está definida por la interacción de distintas causas aleatorias. Se puede suponer que la imagen resultante, g(x,, puede ser explicada como la suma entre la imagen ideal, f(x, y el de ruido blanco, r(x, : f + r( x g, (4. ) La ponderación de varias capturas sobre la escena producirá una disminución del ruido. Obviamente se necesitará que durante el intervalo de tiempo de la adquisición de las imágenes, los objetos permanezcan quietos y la iluminación sea constante. Se define ruido blanco a una variable aleatoria con función de densidad normal, de media cero y varianza determina, N(,σ ). Dpto. Electrónica, Automática e Informática Industrial 5
12 Carlos Platero Apuntes de Visión Artificial Figura Dos imágenes adquiridas consecutivamente y la resta de ambas A medida de que se tomen más imágenes disminuirá la influencia del ruido. De hecho al aplicar el operador esperanza sobre la imagen real conducirá hacia la imagen ideal: E n n n ( g ) lim g f i i (4. 4) El ruido queda cancelado con la ponderación de las imágenes. Este efecto se explica matemáticamente debido a que la suma de la variable aleatoria genera otra función de densidad probabilística de carácter normal, con media nula y varianza decreciente con el número de muestras: N, σ n (4. 5) El mayor inconveniente de esta técnica, en la práctica, consiste en mantener constante la iluminación durante la exposición, tener el tiempo suficiente para adquirir las imágenes y que no aparezcan objetos en movimiento durante las capturas. 4.. Filtros paso bajo El espectro del ruido corresponde a componentes de alta frecuencia, por tanto, la aplicación de un filtro paso bajo significará la reducción del ruido sobre la imagen. El precio a pagar será una pérdida en la calidad de los detalles finos y en la degradación de los bordes de la imagen. La aplicación del filtro paso bajo supone la cancelación parcial del ruido pero también perdida de la propia información de la imagen. Para la aplicación de los filtros se aplicará la relación fundamental de los sistemas discretos. No es necesario actuar sobre el espectro de la propia imagen para filtrarla frecuencialmente. Sólo se requiere aplicar una máscara de convolución cuya respuesta frecuencial corresponda a la cancelación del espectro deseado. A razón de lo comentado en el anterior apartado, el primer filtro paso bajo sería tomar un promediado del entorno de vecindad: 6 Dpto. Electrónica, Automática e Informática Industrial
13 Apuntes de Visión Artificial Capítulo 4: Técnicas de preprocesado f M N M / N / f ( x + i, y + j) i M / j N / (4. 6) sería: Por ejemplo, para una ventana de vecindad x, la máscara de convolución 9 (4. 7) Sin embargo, estos tipos de máscaras, las provenientes del promediado de vecindad, presentan lóbulos en su respuesta frecuencia, además de no tener la propiedad de ser de filtro de fase lineal, distorsionado gravemente la fase del espectro. Las máscaras construidas mediante la función de densidad binomial discreta generan filtros paso bajo de fase lineal y no presentan lóbulos en el módulo. Sus coeficientes son obtenidos mediante el triángulo de Pascal: n f máscara σ / /4 /4 / /8 /4 4 / n es el grado del filtro, f es el factor de escala y σ es la varianza efectiva de la máscara respecto al filtro de Gauss. Los filtros binomiales bidimensionales se construyen mediante la convolución discreta de un filtro binomial unidimensional con él mismo y su traspuesta: h h * h n D n x n y (4. 8) Por ejemplo, el filtro D más pequeño, x, se formará mediante la convolución de dos filtros D: h * D hx hy 4 ( ) * (4. 9) Esta propiedad de composición es posteriormente aplicada para el procesamiento de las imágenes, ahorrando tiempo en su ejecución: primero se pasa la máscara D por filas y luego por columnas. La algoritmia pasa del orden de operaciones de O(n ) a O(n), siendo n el número de píxeles a filtrar. Desde el punto de vista espacial, nótese que la máscara presenta un promediado en la cual pondera la influencia de cada vecino Dpto. Electrónica, Automática e Informática Industrial 7
14 Carlos Platero Apuntes de Visión Artificial en función de su distancia respecto del píxel de pivotación. La figura adjunta muestra la respuesta en frecuencia de los filtros basados en la ponderación y los filtros bidimensionales. 4.. Filtros gaussianos Los filtros gaussianos son máscaras de convolución que emplean la discretización de las funciones de densidad normal de media cero y varianza dada, N(,σ ): h σ ( x ( x + y ) e σ, (4. ) Las respuestas en frecuencia de estas máscaras son filtros pasos cuyos anchos de banda dependen de sus varianzas. No presentan rizados o lóbulos secundarios en el módulo y son de fase lineal. Al igual que los filtros binomiales, las máscaras de Gauss bidimensionales se construyen a partir de las unidimensionales. Su ventaja, respecto a los filtros binomiales, está en su parametrización dependiendo de la varianza. A medida de que la varianza sea más elevada significará que tiene en cuenta a vecinos más alejados, por el contrario, si la varianza es más pequeña indicará que sólo ponderará con los más próximos. La varianza funciona como grado de ponderación en la vecindad. Ésta es la interpretación en el dominio espacial. Desde el punto de vista frecuencial, la varianza determina el ancho de banda del filtro paso bajo que supone la máscara de Gauss. El lóbulo principal del módulo de la respuesta frecuencia viene determinado por la varianza. A mayor varianza menor ancho de banda. 8 Dpto. Electrónica, Automática e Informática Industrial
15 Apuntes de Visión Artificial Capítulo 4: Técnicas de preprocesado En el proceso de discretización de la máscara Gaussiana aparece el problema del número de coeficientes finitos a emular a la función continua. Para evitar la formación de lóbulos secundarios en la respuesta frecuencial de la máscara, se toma como regla que el tamaño del operador, w, debe ser al menos de: w c (4. ) Siendo c el tamaño del lóbulo central y dependiente de la varianza: c σ (4. ) Esta regla indica que el 98% de los posibles casos de la variación de la variable aleatoria normal están comprendidos. Si la varianza es unitaria, la máscara debería de ser al menos 9 x 9. Nótese que se busca una máscara bidimensional que tenga simetría par. También hay que considerar que esta máscara tiene simetría radial, por lo que sólo es necesario de calcular un cuadrante de la máscara. Ejemplo 4. Determinar la máscara de Gauss para una varianza de.5 y. será: El tamaño de la máscara para.5 c w 4 Los coeficientes de la máscara tendrá simetría radial y sólo se buscará para el radio igual a y : Figura Modulo de la respuesta en frecuencia de un filtro de Gauss a) σ.5, b) σ Para el caso de varianza unitaria la máscara será de 9x9: Dpto. Electrónica, Automática e Informática Industrial 9
16 Carlos Platero Apuntes de Visión Artificial Imagen de entrada Filtro promediado Filtro binomial Filtro gaussiano Figura 4. 8 Tipos de suavizado a) imagen original b)promediado c) binomial d) gaussiano con σ.5 Resolución Matlab >>hfspecial('average') >>hconv([ ],[ ]')/6 >>hfspecial('gaussian') >>imagen imnoise(imread('cameraman.tif'));imshow(imagen); >>imagenimfilter(imagen,h);imshow(imagen); >>imagenimfilter(imagen,h);imshow(imagen); >>imagenimfilter(imagen,h);imshow(imagen); Al igual que los filtros binomiales, los gaussianos bidimensionales también se construyen mediante la convolución discreta de un filtro gaussiano unidimensional con él mismo y su traspuesta. Esta propiedad es utilizada para disminuir el coste computacional Filtros basados en la mediana Con el procesamiento lineal, empleando técnicas de filtrado paso bajo, se ha observado que al eliminar el ruido se han desdibujado los bordes y cancelado los pequeños detalles. Este efecto secundario suele ser reducido empleando el filtrado basado en la mediana del entorno de vecindad. Esta técnica de procesamiento es no lineal, con lo cual no se aplica mediante máscara de convolución. Su actuación se basa en elegir el valor de la mediana en el entorno de vecindad. Se define la mediana como el valor intermedio de la ordenación de los píxeles vecinos en función de su intensidad. Si los vecinos son M+ píxeles, la mediana estará por encima de los M primeros valores Dpto. Electrónica, Automática e Informática Industrial
17 Apuntes de Visión Artificial Capítulo 4: Técnicas de preprocesado y por debajo de los M últimos. Por ejemplo, en un entorno de x, la mediana será el nivel del colocado en quinta posición: { } { } En este ejemplo, la mediana será el nivel 87. En consecuencia, si el ruido tiene un valor atípico en el entorno quedará colocado en los extremos de la ordenación. Véase cómo el nivel 4 queda desplazado. La mediana se presenta como una buena técnica para el suavizado en general y en particular para la cancelación de ruido impulsional. El mayor inconveniente es su alto coste computacional. Cuando la aplicación de Visión tiene restricciones de tiempo suele ser prohibitivo el uso de la mediana, optando por el filtrado lineal. Otro efecto adverso de la mediana es el desplazamiento de los bordes de la imagen. Si se desea precisión subpixel en la imagen, no es aconsejable esta técnica. Para evitar este inconveniente, se emplean entorno de vecindad N 4 (p). Si la vecindad está definida en las diagonales, preservará los bordes oblicuos. En caso de estar definida la vecindad en fila y columna, se mantendrá los bordes horizontales y verticales. Comparación entre filtrado gaussiano y mediana con el ruido impulsional Figura 4. 9 a) imagen con ruido de sal y pimienta, b) filtrado gaussiano c) mediana Resolución Matlab >>hfspecial('gaussian') >>imagen imnoise(imread('circuit.tif'),'salt & pepper');imshow(imagen); >>imagenimfilter(imagen,h);imshow(imagen); >>imagenmedfilt(imagen);imshow(imagen); 4..5 Filtros homomórficos El caso de iluminación no uniforme en la escena capturada es un ejemplo de ruido multiplicativo. La formación de la imagen depende básicamente de la iluminación sobre los objetos y del tipo de superficie de éstos. La intensidad en la imagen puede ser Dpto. Electrónica, Automática e Informática Industrial
18 Carlos Platero Apuntes de Visión Artificial modelada por la multiplicación entre la causa derivada de la iluminación y la causa proveniente del tipo de superficie: i o( x f, (4. ) f(x, será la intensidad del píxel, i(x, será el efecto de la iluminación y o(x, corresponderá a la función de reflactancia de la escena. Si se convolucionase la imagen con cualquier filtro, atacaría indistintamente a ambas componentes de iluminación y reflactancia. La forma de proceder es aplicar un sistema homomórfico capaz de separar los efectos y procesar por separado. Los sistemas homomórficos son operaciones de aplicar una función, procesar y aplicar su inversa. Por ejemplo, la función logarítmica y su inversa la exponencial. Para el caso que ocupa, la forma de separar los efectos es mediante la función logarítmica. Al aplicarla es posible obtener la respuesta frecuencial por separado de las componentes de iluminación y refractancia: ( f ) ln( i ) + ln( o ) F( ln( f )) F( ln( i )) F( ln( o )) ln + (4. 4) El espectro del efecto de iluminación estará dominado por la baja frecuencia, ya que los cambios de iluminación en la escena son paulatinos, por el propio carácter continuo de la luz. Sin embargo, los bordes de las superficies, los contactos entre los objetos y sus intersecciones, tendrán un perfil claramente de mayor frecuencia. Por tanto, la aplicación de un filtro paso alto, atenuará la falta de iluminación uniforme y realzará los bordes entre los objetos. Esta algoritmia acaba empleando la función inversa, después de haber filtrado las dos componentes. En la figura se muestra el diagrama a bloques del algoritmo. 4. Detección de bordes Estudios sobre el procesamiento visual humano indica que para la percepción de las escenas, el cortex visual utiliza información del color de los objetos, de sus texturas, de las sombras, pero sobre todo de los contornos o bordes de los objetos. Parece ser que existen neuronas, del sistema visual primario, especializadas en las discontinuidades de la intensidad lumínica o bordes. Según la teoría dominante, el cortex visual trabaja Figura 4.. Contornos subjetivos de Kanizsa Dpto. Electrónica, Automática e Informática Industrial
19 Apuntes de Visión Artificial Capítulo 4: Técnicas de preprocesado en una jerarquía de características visuales, donde agrupa los elementos primarios de los contornos en objetos geométricos más complejos hasta la interpretación de las figuras. Este subsistema biológico es capaz de completar bordes parcialmente ocluidos o explícitamente eliminados. En los contornos subjetivos de Kanizsa, figura 4., nótese como al visualizarlos quedan completos, aunque los objetos geométricos estén inacabados. Otro experimento psicofisiológico es la capacidad de interpretar la imagen con sólo apreciar los bordes de la escena. En la figura adjunta se presenta la imagen con sólo los bordes. Es fácil de interpretar que es una escena de bodegón. Bordes de una escena de bodegón Estos aspectos son aplicados y emulados en la Visión Artificial. Figura 4.. Imagen de contornos La detección automática de bordes es una tarea esencial en muchas aplicaciones de interpretación de las imágenes. Suele ser una etapa muy empleada para las tareas de segmentación o para la búsqueda de objetos geométricos más complejos como líneas, elipses, esquinas, etc. Se entiende como borde aquella región donde aparece una fuerte variación del nivel de intensidad en los píxeles adyacentes. Su causa principal es originada por la intersección de varios objetos, con diferentes niveles de reflactancia, que al ser proyectados sobre la cámara generan discontinuidades de intensidad en los píxeles correspondidos. Sin embargo, estas discontinuidades también aparecen de forma no deseada por la presencia del ruido, por el efecto de sombras sobre los propios objetos o por una iluminación no uniforme dentro la escena. El fundamento para la detección de los bordes está en la aplicación del operador derivada en un entorno de vecindad. Si se construye una imagen sintética con franjas de alto contraste y se adquiere una fila de la imagen, se observará una fuerte variación de la intensidad en el entorno de los bordes de las franjas. Al aplicar el operador derivada, se observa que Línea 6 ésta toma un valor de máximo o mínimo justamente cuando en la transición se pasa de cóncavo a convexo o viceversa, esto es, en el punto de inflexión del borde. Si en vez de emplear la primera derivada se realiza con la segunda, el punto de inflexión de la primera deriva coincidirá con un paso por cero (zero-crossing). Ambos razonamiento son empleados para la detección de los bordes. Cuando Figura 4.. Bordes ideales Dpto. Electrónica, Automática e Informática Industrial
20 Carlos Platero Apuntes de Visión Artificial se aplica el operador gradiente en la imagen se localizará valores que tengan un gran valor, normalmente, en el módulo del gradiente. Por el contrario, al emplear la laplaciana se trata de detectar píxeles en la imagen que sean pasos por cero. El problema reside en los bordes de las escenas reales, donde el modelo propuesto no está tan claramente definido y no se ajustan a la simplificación indicada. Las discrepancias entre el modelo de los bordes y lo almacenado en el computador, tras un proceso de formación de la imagen, está en: imagen capturada Las imágenes digitales son de carácter discreto y no continuo. 5 Perfil de la línea 5 La presencia de ruido en la imagen, la cual produce variaciones locales de intensidad, 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 Primera derivada de la línea Segunda derivada de la línea Figura 4.. Bordes reales Los orígenes diversos de los bordes, tales como oclusiones, superficies de diferentes orientaciones, cambios de texturas o de iluminación, reflejos, sombras, etc, hace que sea difícil la determinación de los bordes. 4.. Técnicas basadas en el operador gradiente El operador gradiente aplicado sobre un píxel (x, de la imagen, retorna un vector que indica la dirección de máxima variabilidad de la intensidad luminosa y su nivel de variación: f f x f y f f f f + x y f y arctan f x (4. 5) 4 Dpto. Electrónica, Automática e Informática Industrial
21 Apuntes de Visión Artificial Capítulo 4: Técnicas de preprocesado Sobre una imagen sintética se ha aplicado el operador gradiente y se visualiza el vector resultante en cada píxel. Nótese cómo cada vector indica la dirección de máxima variabilidad en su entorno y su magnitud está relacionada con la intensidad de la variación. Al aplicar el operador divergencia sobre este campo vectorial retornará un campo escalar, de manera que los valores positivos indica la presencia de una fuente y los valores negativos un sumidero. Justamente la transición de una fuente a sumidero será la presencia del borde. Operador gradiente en cada píxel Imagen sintética Figura Efecto del operador derivada Un píxel se considerará que pertenece a un contorno si el módulo del gradiente supera un cierto umbral T: g f f > T < T (4. 6) En la práctica, generalmente se establece como umbral, T, cuando el módulo del gradiente está por encima del 7% al 8% del valor máximo detectado en la imagen. Para el cálculo del módulo del gradiente se suele emplear la aproximación de la suma de sus derivadas parciales, mejorando el coste computacional: (, ) (, ) f x y f x y f + x y (4. 7) La discretización del operador gradiente se basa en las diferencias de los niveles de grises en el entorno de vecindad. En el escenario numérico de aproximación de las Dpto. Electrónica, Automática e Informática Industrial 5
22 Carlos Platero Apuntes de Visión Artificial derivadas por las diferencias, éstas suelen emplear el truncamiento del desarrollo de Taylor obteniendo las diferencias progresivas y regresivas: (, ) (, ) (, ) (, ) (, ) (, ) + + f x y f x + x y f x y f x y f x y + y f x y x x y y (, ) (, ) (, ) (, ) (, ) (, ) f x y f x y f x x y f x y f x y f x y + y x x y y (4. 8) Un promediado de ambas se consigue las diferencias centradas: f ( x + x, f ( x x, f f y + f y f x x y y (4. 9) Existen diferentes máscaras de convolución que implementan estas diferenciaciones. En un entorno de x se usa el operador de Roberts y en una máscara de x se aproximan por el operador de Prewitt, Sobel y el de Fre-Chen. Considerando el caso de un entorno de vecindad x, las derivadas parciales serían: f f f,,, f f f,,, f f f ( f, f, f, ) ( f, f, f, ) f x, x f y ( f, + f, + f, ) ( f, + f, + f, ),,, y, (4. ) Los incrementos de las variables independientes, x e y, no se consideran ya que son valores constantes correspondientes a la discretización espacial y en la detección de borde sólo importa el valor de módulo relativizado. De esta expresión se desprende las máscaras de Prewitt: x y (4. ) El operador derivada resulta ser muy sensible con el ruido, ya que su respuesta frecuencial tiende a ser un filtro paso alto. Para reducir el realce de éste se propone una máscara que sea la convolución entre el operador derivada con un filtro binomial, obteniéndose las máscaras de Sobel: 6 Dpto. Electrónica, Automática e Informática Industrial
23 Apuntes de Visión Artificial Capítulo 4: Técnicas de preprocesado T S D * B { }* x y (4. ) Mientras que Prewitt detecta mejor los bordes verticales, Sobel mejora su localización en los bordes diagonales. El operador isotrópico o de Frei-Chen intenta llegar a un compromiso entre ambos: x y (4. ) Experimentalmente se ha encontrado que todos los operadores tienen resultados similares, y que la respuesta se va deteriorando de acuerdo con la cantidad de ruido presente en la imagen. Debido al menor coste computacional se suele elegir el operador de Sobel. Máscaras de Prewitt y Sobel x en la dirección X Resolución Matlab >>imagen imread('cameraman.tif');imshow(imagen); >>imagenimfilter(imagen,fspecial( prewitt ));imshow(imagen); >>imagen imfilter (imagen, fspecial( sobel );imshow(imagen); 4.. Operadores basados en la laplaciana Para la detección de bordes, empleando la laplaciana, serán aquellos píxeles que sean paso por cero. El operador laplaciana se define en el dominio continuo como: Dpto. Electrónica, Automática e Informática Industrial 7
24 Carlos Platero Apuntes de Visión Artificial f ( x f, f + x y (4. 4) Obsérvese que a diferencia del gradiente, la laplaciana no retorna una información vectorial sino un escalar. La laplaciana al aplicarla sobre una zona homogénea de intensidad, ésta será nula en toda la región. Por el contrario al aplicar este operador sobre un borde, aparecerán en sus alrededores valores positivos y negativos. Este comportamiento indicará la regla de actuación para la detección de los bordes. Se le aplicará a la imagen el operador laplaciana y en píxeles con entornos de valores positivos y negativos indicará la presencia de un borde. Por la propiedades de la segunda derivada, este operador es más exacto en la precisión del borde que el uso del gradiente (véase las figuras 4. y 4. de los bordes ideales y reales). La discretización del operador laplaciana para un entorno de x estará constituida por la suma de las derivadas parciales de segundo orden: (, ) (, ) (, ) (, ) f x y f x y f x y f x y + + x x 4 f f y + ) f + f y ) y y (4. 5) Esta laplaciana se conoce como vecindad a 4. Obsérvese que no se ha cambiado el signo y no se ha normalizado, ya que sólo interesa conocer píxeles que transitan en un entorno de positivos a negativos o viceversa. También se emplea la máscara a vecindad a 8: 8 (4. 6) Al aplicarla, cualquiera de sus implementaciones, sobre una imagen real no habrá valores cero en los bordes sino que se aproximan a valores pequeños positivos o negativos, por el carácter discreto tanto de la señal como del operador. Eso sí, estos píxeles etiquetados de bordes, tendrán en su entorno valores positivos y negativos. Los bordes, con este operador, estarán formados por el ancho de un píxel a diferencia del método del gradiente. Además, el operador laplaciana es isotrópico a diferencia de las distintas máscaras que se implementan con el operador gradiente. Obsérvese, las diferencias entre la aplicación sobre una misma imagen del operador gradiente y del operador laplaciana. Los bordes detectados son más finos con el operador laplaciana y son de carácter isotrópico. 8 Dpto. Electrónica, Automática e Informática Industrial
25 Apuntes de Visión Artificial Capítulo 4: Técnicas de preprocesado Imagen de entrada y sus procesamiento con Sobel y con laplaciana de Gauss Figura 4. 5 Diferencias entre el operador gradiente y el operador laplaciana Resolución Matlab >>imagen imread('cameraman.tif');imshow(imagen); >>imagenimfilter(imagen,fspecial( sobel ));imshow(imagen); >>imagen imfilter (imagen, fspecial( log );imshow(imagen); El mayor inconveniente del operador laplaciana es su sensibilidad al ruido. Para disminuir los falsos bordes, se hace interaccionar con un filtro paso bajo, dando paso al operador laplaciana de Gauss (LoG) Laplaciana de Gauss Marr al final de la década de los 7 sintetizó las diferentes teorías de visión biológica de los mamíferos. Según esta teoría existen diferentes fases en el proceso de la percepción y en la primera etapa se basa en la detección de los bordes. Se observó que este proceso estaba constituido por dos características:. Medida del gradiente de luminancia en diferentes escalas. Las diferentes causas de discontinuidades en la imagen son variadas, tal como se ha comentado al principio de este apartado (iluminación, texturas, sombras,...). Todos estos cambios se producen a distintas escalas espaciales, propias de las causas que las originan.. La localización de los bordes debe de hacerse con precisión. El ruido de la imagen desvirtúa la posición exacta, conllevando a un suavizado previo de la imagen. En el dominio frecuencia supone la delimitación del ancho de banda del detector de bordes. La actuación del operador debe estar delimitado en las frecuencias. Estas condiciones de diferentes escalas en el dominio espacial y de ancho de banda delimitado en el dominio frecuencial, son contradictorias entre sí. Marr y Hildreth (98) proponen una solución de compromiso con el operador laplaciana de Gauss. Éste es un filtro paso banda, mezcla del filtro paso bajo que supone el suavizado con un filtro de Gauss y su posterior procesamiento con el operador laplaciana. Desde el punto de vista formal, el operador queda definido como: Dpto. Electrónica, Automática e Informática Industrial 9
26 Carlos Platero Apuntes de Visión Artificial ( f * h ) f * ( h ) f * LoG σ σ (4. 7) De la expresión se deduce la posibilidad de convolucionar la imagen de entrada con una sola máscara, originada ésta del proceso de discretización del operador LoG. En el dominio continuo este operador está definido como: ( ) x x x dh x σ d h σ x σ σ σ σ 4 hσ x e e e dx σ dx σ (4. 8) La represtación espacial del operador muestra una forma de sombrero mejicano. Notándose de la ecuación que tiene simetría radial, por tanto, sólo será necesario calcular un único cuadrante de los coeficientes. El resto son simétricos. Desde el punto de vista frecuencia, responde a un filtro paso banda bidimensional, cuyo ancho de banda depende de la varianza, σ. Figura 4. 6 a) máscara LoG 5x5 con varianza, b) Módulo de la respuesta en frecuencia El mayor inconveniente de este operador es su alto coste computacional. Una alternativa para la reducción de tiempos es una aproximación basada en la diferencia de la imagen suavizada por dos varianzas distintas, DoG, muy relacionado con el aspecto de diferentes escalas espaciales: ( x * DoG ( f * h ) ( f * h ( x ) f,, σ σ (4. 9) 4 Dpto. Electrónica, Automática e Informática Industrial
27 Apuntes de Visión Artificial Capítulo 4: Técnicas de preprocesado Según Marr y Hildreth, este proceder DoG se asemeja al operador LoG, cuando las varianzas se encuentran en una relación de: σ σ 6 (. ) (4. 4) En el proceso de discretización de la máscara de convolución del operador laplaciana de Gauss, ya sea mediante LoG o DoG, para evitar la aparición de lóbulos en la respuesta frecuencia de la máscara, el tamaño de ésta viene condicionado por la varianza: w c c σ (4. 4) La misma regla que ya se aplicó para el suavizado mediante máscaras gaussianas. No hay que olvidar que la varianza es la que delimita el ancho de banda del operador LoG. 4.. Operador de Canny Este algoritmo es ampliamente usado en la localización de contornos. 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 objetivos a maximizar:. Aumentar la relación señal-ruido de la imagen.. Disminuir todo lo posible la distancia entre el borde detectado y el borde real.. No identificar un borde por un único píxel, sino por un conjunto de píxeles que tengan una cierta conectividad. Según Canny, el operador óptimo está en la derivada de Gauss: ( f * h ) f * ( h ) f * DroG σ σ (4. 4) Donde el operador DroG es una combinación de suavizado y gradiente, haciendo de este operador menos vulnerable al ruido. Aquí también la varianza controlará el grado de suavizado deseado. El operador DroG quedará definido por: Dpto. Electrónica, Automática e Informática Industrial 4
28 Carlos Platero Apuntes de Visión Artificial DroG hσ h x σ y (4. 4) Pudiendo ser implementado en una sola máscara. Los pasos que sigue el algoritmo de Canny son tres:. Calcular el módulo y el argumento del gradiente de una imagen suavizada aplicando el operador derivada de Gauss.. En la dirección del gradiente, eliminar puntos que no sean máximos locales del módulo (equivalente a encontrar el paso por cero en el operador LoG). Se eliminan los píxeles que no sean máximos locales, mejorándose la localización y evitando falsas detecciones.. Para la detección de los bordes se emplean dos umbrales de histéresis, T y T, siendo este último el mayor. Con T habría pocos píxeles de bordes y con T habría muchos píxeles de bordes. T es empleado para localizar las semillas de los bordes. A partir de los píxeles que superen el umbral T, se seguirá construyendo el borde mediante la adición de píxeles que sean mayor a T y que sean perpendiculares a la normal del borde. En la figura adjunta, se ha pasado una imagen por cuatro operadores de bordes. Nótese cómo el operador de Canny presenta unos contornos cerrado respecto al resto. 4 Dpto. Electrónica, Automática e Informática Industrial
29 Apuntes de Visión Artificial Capítulo 4: Técnicas de preprocesado Detección de bordes de Prewitt, Sobel, LoG y Canny Figura 4. 7 Detección de bordes a) Prewitt, b) Sobel, c)log y d) Canny Resolución Matlab >>imagen imread('cameraman.tif'); >>imedge(imagen, prewitt ); imedge(imagen, sobel ); >>imedge(imagen, log ); imedge(imagen, canny ); >> imshow([im,im;im,im4]) 4.4 Cuestiones. Determinar las posibles transformaciones para obtener la imagen negativa y para realizar corrección de gamma.. Tipos de ruido en una imagen digital. Dpto. Electrónica, Automática e Informática Industrial 4
30 Carlos Platero Apuntes de Visión Artificial. Construir un filtro binomial de 5x5 4. Conseguir la máscara de convolución para realizar un énfasis de alta frecuencia, empleando un filtro binomial x. La constante es A Realizar un filtro de Gauss con varianza unitaria. 6. Discrepancias entre los operadores basados en la primera derivada y en la segunda derivada. 7. Obtener la máscara de LoG para una varianza igual a Determinar las máscaras del operador derivada de Gauss para una varianza igual a Problemas Ejercicio Dada la imagen de la figura, calcular la transformación mediante LUT para aumentar su contraste La imagen está saturada, por tanto, en una primera aproximación se podría una LUT de forma: 55 iout i I 55 I min ( in min ) Como dentro de la región es bastante uniforme γ sería. Ejercicio Dada la siguiente imagen de entrada junto con la LUT, determinar la imagen de salida. 44 Dpto. Electrónica, Automática e Informática Industrial
31 Apuntes de Visión Artificial Capítulo 4: Técnicas de preprocesado Dpto. Electrónica, Automática e Informática Industrial La relación no lineal entre la imagen de entrada y salida quedará definida por:..7.7 in in out in i i i i Ejercicio Para la siguiente figura, con 8 niveles de grises de cuantificación, obtener: a) Histograma b) Brillo y contraste c) Ecualización del histograma nivel(i) h(i) p(i) ( ) ( ) ( ) 5. ˆ ˆ.45 ˆ 7 7 i i i p i contraste i p i brillo µ σ µ
32 Carlos Platero Apuntes de Visión Artificial Nivel de gris de entrada Nivel de gris de salida (-.5) (.) (4.) (5.48) (5.48) (5.88) (6.66) (7) 4 5 ó 6 5 ó Histograma ecualizado Ejercicio 4 Dada la siguiente imagen, calcular para el píxel marcado, la media y mediana en un entorno de x: La media es 5. y la mediana corresponde a 6. Ejercicio 5 Dada la siguiente imagen, calcular para el píxel marcado el módulo y la dirección del gradiente, empleando los operadores de Sobel: Al aplicar el operador de Sobel sobre el píxel anotado, las derivadas parciales quedan definidas por: f f x y Por tanto, el módulo y dirección del gradiente será: f 6 6 arg( f ) π 46 Dpto. Electrónica, Automática e Informática Industrial
33 Apuntes de Visión Artificial Capítulo 4: Técnicas de preprocesado Ejercicio 6 Calcular las máscaras de las derivadas de Gauss D para una σ.5, sabiendo que el tamaño corresponde a x. Aplíquese sobre el píxel seleccionado para determinar el módulo del gradiente y su orientación. Indique cómo lo implementaría para aumentar su eficiencia computacional. La máscara de suavizado de Gauss quedará definida por: ( x ) h ( x) e σ σ.7 Mientras que su derivada estará definida por: {.5.5} dh dx σ x x e σ σ { } Las derivadas suavizadas se calculan con la derivada parcial en la dirección elegida y en la otra componente con la suavizada: x y Al aplicar las máscaras sobre el píxel señalado valdrá: (, ) (, ) f x y f x y π 4.85 f 4.85 arg ( f ) x y La implementación eficiente se realizará pasando por filas y columnas el operador D de la máscara de suavizado y de su derivada. Ejercicio 7 Calcular la máscara de la laplaciana de Gauss para una σ.5, sabiendo que el tamaño es de 5x5. Aplíquese sobre el píxel seleccionado. Dpto. Electrónica, Automática e Informática Industrial 47
34 Carlos Platero Apuntes de Visión Artificial La laplaciana de Gauss es formada a partir de la máscara de Gauss: x + y σ 4 ( σ ) hσ e x + y σ Utilizando la máscara de Gauss de 5x5 para σ.5: hσ { } h * ' x σ hσ h x σ x La máscara normalizada, dividiendo por la suma de los coeficientes: h σ n de Gauss: 4 σ Añadiendo el término ( x y σ ) + se obtendrá la máscara de la laplaciana h σ Al convolucionar esta máscara con el píxel marcado da un valor de Dpto. Electrónica, Automática e Informática Industrial

References: Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución