You are on page 1of 13

Materia: Procesamiento de Imgenes SEPI ESIME Unidad Culhuacan Instituto Politcnico Nacional 07 de Octubre, 2012 Ciudad de Mxico, DF,

Mxico

Filtros Lineales y No Lineales


Programacin de filtros bidimencionales Misael Ramrez Muiz
Abstracto El procesamiento de imgenes es un procedimiento que permite recuperar informacin til de muestras que contienen ruido, y que de otra manera estas muestras seran imposibles de utilizar. Actualmente existen muchos mtodos comprobados que permiten realizar dicho procedimiento, teniendo todos un algoritmo especifico y resolviendo cada uno de ellos un problema especifico. Por eso presento este artculo que habla sobre la programacin de los algoritmos de filtros bidimensionales para el filtrado de imgenes ms conocidos, utilizando Matlab como compilador. Introduccin Las muestras que sirven de datos para los sistemas de procesamiento basados en imgenes pueden contaminarse con ruido por muchas maneras: Por una mala calidad del transductor de la cmara fotogrfica, por movimiento en la escena capturada, o se puede deber a la mala calidad del scanner con la que se digitaliza si es que estas imgenes estn en formato analgico, o bien debido a problemas en la transmisin de los datos cuando se envan a travs de una red. Ruido El ruido digital es una variacin aleatoria de los datos correspondientes al brillo y al color en una imagen y es usualmente causado por el ruido electrnico asociado al sensor que digitaliza dicha escena. El ruido se clasifica de acuerdo a sus caractersticas y a la forma en que se origin, y aunque existe una gran variedad en esta ocacin solo revisaremos aquellos que son ms comunes en el rea de procesamiento de imgenes. Ruido Gaussiano El ruido gaussiano es un ruido estadstico, su intensidad es equivalente a su funcin de densidad de probabilidad. Esta funcin de densidad de probabilidad es igual a una curva de distribucin normal.

Figura 1: Curva de funcin de densidad de probabilidad de Gauss En otras palabras, los valores que el ruido puede tomar estn distribuidos de acuerdo a la curva de distribucin normal. Ruido Poisson Tambien llamado ruido de disparo o ruido shot, este fenmeno ocurre cuando las partculas de luz que inciden sobre el sensor de la cmara fotogrfica son tan pocas que aparecen fluctuaciones estadsticas perceptibles en la imagen capturada.

(a) (b) Figura 2: Fotografas del mismo lugar con diferencia de iluminacin natural, haciendo que en la imagen (b) se perciba el ruido Poisson

A este fenmeno se le llama ruido Poisson por que la distribucin de su aparicin corresponde a una distribucin de Poisson y representa un problema solamente cuando se trata de imgenes capturadas en condiciones de baja luminosidad. Ruido Impulsivo Es un tipo de ruido tambin conocido como ruido sal y pimenta (salt & pepper). En l los pixeles cambian de manera aleatoria a valores saturados de blanco o negro, generalmente esto ocurre solo sobre unos pocos pixeles en la imagen, lo que genera una imagen salpicada de puntos blancos y negros.

Este ruido provoca que la imagen se muestre granulada y sin detalles. Para poder recuperar la informacin de las imgenes cuando han sido contaminadas por cualquiera de los tipos de ruido mencionados anteriormente es necesario un proceso de filtrado. Desarrollo Filtros Bidimensionales Los filtros bidimensionales son aquellos que tienen como objetivo fundamental obtener, a partir de una imagen origen, una imagen final cuyo resultado sea ms adecuado para una aplicacin especifica, mejorando ciertas caractersticas de la misma que posibiliten efectuar operaciones de procesado sobre ella. Los principales objetivos que se busca alcanzar con los filtros bidimensionales son: Suavizar la imagen: Esto es reducir la cantidad de variaciones de intensidad entre pixeles vecinos. Eliminar ruido: Se entiende como la eliminacin de aquellos pixeles cuyo nivel de intensidad es muy diferente al de los pixeles que lo rodean, cuyo origen es a causa de la contaminacin de la imagen con ruido. Detectar y realzar bordes: Estos detectan y realzan los bordes que se localizan en la imagen, localizando los cambios bruscos en los valores de intensidad de los pixeles. En este reporte solo se abordarn los filtros de suavizado y eliminacin de ruidos. Filtros lineales Los filtros lineales se basan en conceptos que se introducen en el dominio transformado. La forma de operar de estos filtros es por medio de la utilizacin de mscaras que recorren toda la imagen centrando las operaciones sobre los pixeles que se encuadran en la regin de la imagen original que coincide con la mscara y el resultado se obtiene mediante la computacin entre los pixeles originales y los coeficientes de las mscaras.

Figura 3: Imagen en blanco y negro contaminada con ruido impulsivo El ruido impulsivo es generalmente consecuencia de errores en la conversin analgica-digital o por errores de codificacin en la transmisin. Ruido Multiplicativo Tambin conocido como speckled noise, es un ruido no deseado que se genera durante la captura, transmisin o procesamiento de una imagen. Es un ruido comn en la captura de ultrasonidos o resonancias magnticas debido a la naturaleza propia de estos procedimientos.

(a) (b) Figura 4: Ejemplo de una imagen de resonancia magnetica filtrada (a) y la misma resonancia sin filtrar (b)

Filtro Promedio Aritmtico Es el ms simple de los filtros promedios. Sea un conjunto de coordenadas en una subimagen rectangular de tamao , centrada en el punto a este conjunto se le llamar ventana. En el caso de una imagen contaminada , el filtro aritmtico calcula el valor promedio de los pixeles de dentro de la ventana El valor del pixel de la imagen restaurada en el punto es simplemente el valor del promedio aritmtico calculado dentro de la ventana La expresin matemtica para representar este algoritmo es:

Filtro Promedio con Pesos El filtro promedio con pesos, tambin conocido como filtro promedio ponderado es en esencia el mismo que el promedio aritmtico, manteniendo sus caractersticas. La diferencia radica en que en el filtro ponderado con pesos existe una matriz de pesos del mismo tamao de la ventana, que contiene las ponderaciones con las que se filtrar la imagen contaminada. As pues la representacin matemtica de el algoritmo queda:

El filtro promedio suaviza las variaciones locales por lo tanto el ruido se reduce como resultado del suavizamiento. Las ventanas pueden tener cualquier tamao pero usualmente se utilizan matrices cuadradas de tamao impar, debido a que as es posible mantener un pixel al centro.

Cabe mencionar que el denominador de la divisin no ser el nmero de elementos en la ventana , si no la suma de los elementos de la ventana ser dividida entre el valor de la suma en los elementos de la matriz de pesos El cdigo de este programa se encuentra en el archivo adjunto FPP.m para su revisin. Filtro Promedio Geomtrico El promedio geomtrico de un conjunto se define como la raz n-esima del producto de todos los nmeros de dicho conjunto. Cuando se utiliza este filtro, el valor del pixel en el punto de la imagen restaurada corresponde al clculo del valor promedio geomtrico de la ventana. La representacin matemtica de este algoritmo es:

Figura 5: Matriz 3x3, 5x5 y 7x7 con el pixel central sombreado La programacin de este algoritmo tiene como reto el entender que al utilizar estas mscaras en necesario agregar filas extras de informacin para poder procesar la imagen completa, de lo contrario se perdera informacin de los bordes de la imagen. Debido a la extensin del cdigo, los programas se anexan en la carpeta que se encuentra junto a este reporte en el correo enviado. El archivo donde se localiza el cdigo es FP3.m

Entonces el valor de cada pixel est dado por el producto de los pixeles en la ventana, elevado a la potencia. El promedio geomtrico realiza un suavizamiento comparable con el realizado por un filtro promedio aritmtico pero tiende a perder menos detalles de la imagen en el proceso.

El cdigo de este programa se encuentra en los archivos adjuntos con el nombre de FPG.m Filtro Promedio Armnico El promedio armnico de un conjunto de nmeros se define como el reciproco o inverso del promedio aritmtico de los recprocos de dichos valores. El valor de los pixeles en la posicin estn dados por la siguiente expresin matemtica del algoritmo del filtro:

Cuando Q = 0 el filtro contra-armnico se vuelve un filtro promedio y se convierte en un filtro promedio armnico cuando Q = -1. El cdigo de este programa se encuentra en la carpeta de archivos adjuntos y se llama FPC.m Filtros No Lineales Los filtros no lineales son tambin conocidos como filtros de orden estadstico. Estos filtros no lineales son filtros estadsticos que se basan en el orden o ranking de los pixeles contenidos en la ventana evaluada. La respuesta del filtro en cualquier punto est determinada por el resultado de este ordenamiento. Filtro Mediano El filtro mediano o filtro mediana es el filtro de orden estadstico ms conocido, el cual remplaza el valor del pixel por la mediana de los valores que se encuentren en la ventana. La expresin matemtica de este algoritmo es:

El filtro promedio armnico funciona muy bien para el ruido sal, pero falla para el ruido pimienta. Tambin funciona muy bien para otros tipos de ruido como el gaussiano. El cdigo correspondiente al filtro promedio armnico se encuentra en la carpeta de archivos adjuntos con el nombre de FPA.m Filtro Promedio Contra-armnico El promedio contra-armnico es la funcin matemtica complementara de el promedio armnico. Se define matemticamente como el promedio aritmtico de la suma de los nmeros al cuadrado sobre el promedio aritmtico de la suma de los nmeros. Para el filtro, la expresin matemtica del algoritmo queda definida como:

El valor del pixel central tambin es incluido para el clculo de la mediana. Los filtros medianos son muy populares porque funcionan muy bien para ciertos tipos de ruido aleatorio, evitando que la imagen final se torne demasiado borrosa. Los filtros mediano trabajan particularmente bien cuando se trata de filtrar ruidos del tipo impulso unipolar o bipolar. El programa de este filtro se encuentra dentro de la carpeta de archivos adjuntos bajo el nombre de FM.m

Q representa el orden del filtro. Este filtro es excelente para reducir o virtualmente eliminar los efectos del ruido sal y pimienta. Utilizando valores positivos de Q, el filtro elimina ruidos pimienta, para valores negativos elimina ruido sal. Lgicamente no puede realizar ambos filtrados de manera simultnea.

Filtros Max y Min El filtro max se utiliza para encontrar los puntos ms brillantes en una imagen, por lo tanto es excelente para eliminar el ruido pimienta. La definicin matemtica es:

Por otro lado el filtro min se utiliza para encontrar los puntos ms oscuros por lo tanto elimina el ruido sal. La definicin matemtica de este algoritmo es:

Es importante recalcar que el valor del parmetro d debe encontrarse en el rango . Cuando d=0 el filtro alfa-acotado se comporta como un filtro promedio aritmtico, cuando d=(mn-1/2) el filtro se comporta como un filtro mediana Con otros valores para d el filtro se desenvuelve bastante bien para eliminar ruidos de diferentes naturalezas como ruido gaussiano o ruido sal y pimienta. Resultados Se utiliz una imagen original, la cual fue contaminada, esa imagen contaminada se introdujo a los filtros y los resultados fueron los siguientes: Imagen original:

El cdigo de este programa est en la carpeta de archivos adjuntos con el nombre de FMM.m Filtro Midpoint El filtro midpoint o de punto medio es un filtro bastante sencillo en el cual solo es necesario calcular el punto medio entre los valores mximo y mnimo de la ventana. El algoritmo que definido como:

Este filtro combina el orden estadstico con promedio, por lo tanto funciona mejor para ruidos con distribucin aleatoria como el ruido gaussiano o el ruido uniforme El cdigo para este programa se encuentra en la carpeta de archivos adjuntos y tiene el nombre de FMP.m Filtro Promedio Alfa-Acotado El filtro promedio alfa-acotado es un filtro que podra llamarse hibrido, ya que utiliza procedimientos tanto del filtro promedio como del filtro mediano. La idea bsica de este filtro es que cada vez que se inspeccionen los elementos del la imagen contaminada dentro de la ventana, se eliminarn los elementos ms atpicos del conjunto y calcula el valor promedio del resto de los elementos. Se llama Filtro Alfa-Acotado por que existe un parmetro d que es el encargado de numerar cuantos elementos atpicos del conjunto ventana se van a acotar o eliminar. El algoritmo se expresa matemticamente de la siguiente manera:

Figura7: Imagen original que fue contaminada para obtener un patrn de entrada Filtro Promedio Utilizando una ventana de 3x3 Imagen contaminada:

Figura 8: Imagen contaminada con ruido gaussiano

Salida del filtro

Es posible aceptar que a medida que aumenta el tamao de la ventana, los bordes de la imagen filtrada se obscurecen ms, esto es debido a que cuando ocupamos una venta 3x3 solo se agrega dos filas y dos columnas de ceros a los bordes de la imagen, en cambio para ventanas de 5x5 y 7x7 se agregan cuatro y seis filas y columnas de ceros a los bordes de la imagen respectivamente. Es necesario agregar estas filas y columnas de informacin extra para que el algoritmo funcione, caso contrario perderamos una fila de informacin en la imagen filtrada con dos ventana 3x3, cuatro filas en la imagen filtrada con ventana de 5x5 y seis filas en la imagen filtrada con una ventana de 7x7.

Figura 9: Salida del filtro Promedio con una ventana a 3x3 Utilizando una ventana 5x5 Se utiliza la figura 8 como entrada al filtro Salida del filtro

Filtro Promedio con Pesos La matriz de pesos utilizada para este experimento es:

1 2 1
Imagen contaminada

2 4 2

1 2 1

Figura 10: Salida del filtro Promedio con una ventana 5x5 Utilizando una ventana 7x7 Se utiliza la figura 8: como entrada al filtro Salida del filtro

Figura 10: Imagen contaminada con ruido gaussiano Para en este caso especfico la suma de los elementos de la ventana multiplicados por los valores de la matiz de pesos ser:

Figura 11: Salida del fitro Promedio con una ventana de 7X7

Salida del filtro

Figura 11: Salida del filtro Promedio con Pesos con bordes En el cdigo del programa del filtro promedio con pesos se puede notar que se desarroll la programacin tanto para el caso en el que se tomaba el proceso de la imagen tanto con bordes como sin bordes. En el caso del procesamiento con bordes se aaden filas y dos columnas de ceros a la imagen. Si no se toman en cuenta los bordes la imagen generada es dos pixeles ms angosta y ms baja, lo que puede provocar que al utilizar muchas veces el proceso de filtrado se generen imgenes mucho ms pequeas que las originalmente procesadas. El funcionamiento del filtro con otros ruidos diferentes al ruido gaussiano es moderadamente bueno, tiene un suavizamiento de imagen comparable al filtro promedio aunque el filtro promedio geomtrico no pierde tantos detalles. Filtro Promedio Geomtrico Imagen contaminada

En este caso en particular fue necesario realizar un arreglo en el programa, debido a que al tratarse de un algoritmo basado en los productos de los valores de la ventana, si aadamos las filas y columnas extras de ceros se anularan los valores de los pixeles de los bordes de la imagen por eso se decidi hacer el procesamiento del filtrado sin bordes, pero para mantener las mismas dimensiones de la imagen a la salida y para no afectar los posibles futuros procesamientos de dicha imagen se realiz un pequeo proceso en el cual la primera y ltima fila y la primera y ltima columna de pixeles de la imagen original es agregada en el orden correcto a la imagen filtrada. As se asegura la integridad de la imagen resultante del filtrado. Salida del filtro

Figura 12: Salida del filtro Promedio geomtrico con bordes Filtro Promedio Armnico Imagen contaminada

Figura 12: Imagen contaminada con ruido gaussiano

Figura 13: Imagen contaminada con ruido gaussiano

La parte ms interesante de la programacin de este algoritmo fue el comprender el proceso matemtico que involucraba su correcta compilacin. Salida del filtro

Salida del filtro

Figura 16: Salida del filtro de promedio armnico Como se puede notar la entrada era una imagen casi imperceptible, pero a la salida tenemos una imagen bastante definida. Filtro Promedio Contra-armnico El filtro promedio contra-armonico tiene la capacidad de filtrar ruido salt o ruido pepper de acuerdo al signo de el parmetro d. Si el parmetro d es positivo el filtro eliminar ruido de tipo pepper. Por otro lado si el parmetro es negativo entonces el filtro eliminar ruido tipo salt. As mismo el parmetro d es el que indica el orden del filtro. Primero se prueba el filtro con una imagen contaminada con ruido pepper y un parmetro Imagen contaminada

Figura 14: Salida del filtro Promedio Armnico As mismo aunque aqu se prob la efectividad del filtro utilizando una muestra contaminada con ruido gaussiano, ste tambin funciona extremadamente bien para eliminar el ruido salt, aunque no el pepper. Por eso su uso para filtrar las imgenes en caso de que el ruido a filtrar sea salt and pepper no est sugerido. Pero si est recomendado en caso de que el ruido sea solamente salt puesto que la misma naturaleza matemtica del algoritmo permite eliminar de manera eficaz las saturaciones blancas. Imagen contaminada

Figura 15: Imagen contaminada con ruido salt

Figura 17: Imagen contaminada con ruido pepper

Salida del filtro

No se puede realizar el filtrado de el ruido salt y el ruido pepper al mismo tiempo. Con el valor de el filtro se vuelve un filtro armnico, siendo capaz de eliminar ruido gaussiano de una forma eficaz. Filtro Mediano El filtro mediano funciona a travs de un proceso estadstico y es funcional para eliminar ruido del tipo salt & pepper. Utilizando una ventana de 3x3 Imagen contaminada

Figura 18: Salida del filtro Promedio Contra-armnico con d=2 Ahora se prueba el filtro con una imagen contaminada con ruido salt y un parmetro Imagen contaminada

Figura 21: Imagen contaminada con Ruido salt & pepper Salida del filtro

Figura 19: Imagen contaminada con ruido salt Salida del filtro

Figura 22: Salida del filtro Mediana Con una ventana 3x3 El filtro es bastante eficaz pero an as quedan pequeos rastros del ruido. Figura 20: Salida del filtro Promedio Contra-armnico con d=-2

Utilizando una ventana de 5x5 Imagen contaminada Utilizando una ventana de 7x7 Imagen contaminada

Figura 23: Imagen contaminada con Ruido salt & pepper Salida del filtro Figura 21: Imagen contaminada con Ruido salt & pepper Salida del filtro

Figura 24: Salida del filtro Mediana Con una ventana 5x5 El filtrado del ruido salt 6 pepper de la imagen es casi total, aunque en los bordes hay grupos de pixeles saturados en negro, esto es debido a la combinacin de los filas y columnas de ceros extras que se le aaden a la imagen para poder procesar en una ventana de 5x5 y a los pixeles ya saturados debido al ruido de la imagen a filtrar. Aunque el hecho de utilizar la mediana de un vector de 25 elementos provoca que los bordes de las figuras de la imagen pierdan definicin. Aun as la imagen no necesariamente queda suavizada o borrosa, pero si se nota la perdida de informacin durante el proceso de filtrado. Figura 25: Salida del filtro Mediana Con una ventana de 7x7 El ruido tambin desaparece y algunos grupos de pixeles en el borde se encuentran saturados en negro. Filtro Max y Filtro Min El filtro max es eficaz en la eliminacin del ruido pepper puesto que encuentra los puntos ms brillantes de la ventana Por su parte el filtro min sirve para la eliminacin del ruido salt por que al contrario del filtro max, sirve para encontrar los puntos ms obscuros de la imagen Se demuestra la eficacia del filtro con los siguientes casos

Filtro max Imagen contaminada

Filtro min Imagen contaminada

Figura 26: Imagen contaminada con ruido pepper Salida del filtro max

Figura 29: Imagen contaminada con ruido salt Salida del filtro max

Figura 27: Salida del filtro Max Salida del filtro min

Figura 30: Salida del filtro Max Salida filtro min

Figura 28: Salida del filtro Min h Como se puede apreciar el filtro max elimin de manera correcta el ruido pepper mientras que el ruido mn no pudo hacerlo, al contrario contamin ms la imagen

Figura 31: Salida del filtro Min Si la imagen est contaminada con ruido salt es el caso contrario, el filtro max contamina ms la imagen mientras que el filtro min logra eliminar el ruido.

Filtro Midpoint Debido a que combina los procesos estadsticos con los lineales el filtro responde bien filtrando ruido gaussiano Imagen contaminada

Imagen contaminada

Figura 34: Imagen contaminada con Ruido gaussiano y ruido salt & pepper Salida del filtro Figura 32: Imagen contaminada con Ruido gaussiano Salida del filtro Utilizando el parmetro

Figura 35: Salida del filtro Alfa-acotado Con d=1 Figura 33: Salida del filtro Midpoint Utilizando el parmetro Se puede notar que el ruido gaussiano se suaviza, pero tambin se suavizan los bordes de la imagen, an as fuicona bastante bien. El proceso de filtrado es ms notorio en las areas extensas del mismo tono, como en el fondo de la imagen. Este filtro es efectivo eliminando cualquier tipo de ruido uniforme. Filtro Alfa-Acotado El filtro alfa-acotado sirve para la eliminacin de una combinacin de ruidos, por eso se prueba con una imagen que presenta tanto ruido gaussiano como ruido salt & pepper.

Figura 35: Salida del filtro Alfa-acotado Con d=6

Los valores del parmetro d van de 0 a 8 Se puede observar que el cambio de valor del parmetro d genera respuestas diferentes del filtro. Conclusiones La comprensin y el uso de los filtros a la hora de hacer procesos que requieren un sistema que compute datos obtenidos a travs de una imagen hacen que el proceso se optimice, se disminuye el gasto computacional y genera resultados ms rpidos. Los filtros bidiminesionales son la base de la teora sobre algoritmos diseados para obtener la mxima informacin de una coleccin de datos almacenada en forma de imagen, sin importar que esta tenga corrupciones en forma de ruido. Al utilizar los diferentes tipos de filtros, podemos obtener la experiencia necesaria para utilizarlos en los proyectos futuros que involucren el procesamiento de imgenes. Personalmente quede muy asombrado con la cantidad de ruido que pueden eliminar los filtros de promedio armnico y los alfa-acotados. El uso de los filtros lineales, genera imgenes suavizadas en las que es posible eliminar ruidos aleatorios como el gaussiano y el salt & pepper. Aunque se pierde un poco de la calidad de la imagen. En el caso de los filtros estadsticos, estos sirven para eliminar ruidos uniformes ya que se basan totalmente en la posicin de los pixeles y no en su valor como tal. Observ que los filtros que tenan los mejores resultados eran los que combinaban procesos tanto lineales como estadsticos. Referencias http://turing.iimas.unam.mx/~elena/PDILic/Tema_5_C.pdf DigitalImage Processing Stefan G. Stanciu Editorial InTech 2012 Fundamentals of Image Processing I. Young, J. Gerbrands, L. van Vliet Editorial: Delft University of Technology 2009

Fundamentos del Procesamiento de imgenes Jose Jaime Esqueda Elizondo Luis Enrique Palafox Maestre Editorial:Universidad Autnoma de Baja California

You might also like