procesamiento de imágenes por máscaras estadísticas
TRANSCRIPT
(ISBN 970‐32‐2673‐6)
PROCESAMIENTO DE IMÁGENES POR MÁSCARAS ESTADÍSTICAS
Norma Ramírez Hernández1, José Luis Ramos Quirarte2
1Departamento de Ciencias Computacionales, 2Departamento de Electrónica, CUCEI‐Universidad de Guadalajara, Jalisco, México
Resumen Este trabajo presenta algunos resultados obtenidos en el área del procesamiento espacial de imágenes. Se aborda el procesamiento estadístico de imágenes, para la implementación de máscaras del tamaño deseado y utilizando transformaciones que involucran: a la media, la mediana, la desviación estándar y la distribución Gaussiana. Métodos todos ellos aplicados para el suavizado, la remarcación de contraste o la eliminación de ruido de una imagen. Los algoritmos desarrollados se implementaron en MatLab. Palabras Clave Procesamiento de imágenes, máscaras estadísticas para procesamiento, promediado en el entorno, eliminación de ruido de una imagen, suavizado con distribución Gaussiana.
I. Introducción El procesamiento de imágenes con el uso de máscaras, es la modificación directa de los pixeles de la imagen utilizando un entorno alrededor del punto así, la función de procesamiento de una imagen en el dominio espacial puede definirse como [1] [2] [3]:
(1) Donde representa un operador aplicado a en el entorno definido (máscara) para producir la imagen procesada . La máscara o entorno alrededor del punto es una subimagen normalmente cuadrada o rectangular centrada en como se muestra en la Fig. 1.
a) b) Fig. 1. Definición de máscara: a) Entorno de alrededor del punto de una imagen,
b) Coeficientes de ponderación de la máscara.
(ISBN 970‐32‐2673‐6)
Para obtener la imagen procesada de (1), la máscara se mueve pixel a pixel aplicando el operador en cada posición . Cuando el entorno es , depende sólo del valor de en el punto , y se convierte en una función de transformación del nivel de gris. Las técnicas basadas en esta transformación, se conocen como procesamiento de punto. Para entornos mayores, y considerando a los niveles de gris de los pixeles de bajo la máscara como: , , … , la respuesta de una máscara lineal puede ser escrita como
(2)
II. Descripción de Algoritmos Para efectuar el procesamiento de una imagen a través de máscaras, éstas además de ser desplazadas sobre la imagen pixel a pixel, deben ser implementadas con flexibilidad para escoger fácilmente el tamaño deseado, si serán cuadradas, rectangulares, de línea o de columna, etc. Para el procesamiento de imágenes, se decidió utilizar el MatLab porque tiene un paquete de procesamiento de imágenes con una serie de rutinas ya implementadas y que son muy útiles. Se implementaron dos algoritmos el primero, que traslada de la imagen todos los valores a la máscara en cada desplazamiento y el segundo, que conserva los valores de las columnas en cada iteración, copiando solamente los valores de la columna nueva. En la Fig. 2, se muestra el diagrama de flujo simplificado para el primer algoritmo.
Completo el recorrido X?
Inicialización de variables.
Tamaño de la máscara
Determinación del centro de la máscara y de los límites del recorrido de la máscara sobre la imagen
Imagen procesada
Máscara completa X?
Se incrementa una fila
Se incrementa una fila la máscara
Completo el recorrido Y?
SI
Máscara completa Y?
SI
Copiar pixel de la imagen en la máscara
SI Crece la máscara una columna
Se avanza una columna
Aplicación del operador de procesamiento a la imagen
SI
INICIO
Fig. 2. Diagrama de flujo simplificado del algoritmo para cálculo completo de máscara.
(ISBN 970‐32‐2673‐6)
III. Procesamiento Estadístico
El procesamiento por máscaras también conocido como filtrado espacial, emplea filtros lineales o no lineales. Los filtros paso bajo o suavizantes, atenúan o eliminan las componentes de alta frecuencia en el dominio de Fourier y permiten el paso de las bajas frecuencias por lo que suelen hacer más borrosas a las imágenes. El procesamiento estadístico [4] [5] está basado justamente en el uso de parámetros estadísticos como el promedio, la media, la desviación estándar, etc. En la Fig. 3, se muestra un menú a través del cual se elige el procesamiento deseado.
Fig. 3. Menú para elegir el procesamiento deseado sobre la imagen.
A. Promediado en el Entorno
Para que el filtro sea suavizante, todos sus coeficientes deben de ser positivos por lo que una construcción simple de la máscara sería aquella en la que todos sus coeficientes , sean iguales a uno. El valor de la respuesta [6][7] de (2), sería igual a la suma de los niveles de gris , correspondientes por lo que para mantener a dentro de un intervalo válido de niveles de gris, se divide el resultado entre el número de pixeles de la máscara. Esto nos lleva a la definición del promedio o media aritmética de un conjunto finito de números, que es igual a la suma de todos sus valores dividida entre el número de sumandos,
(3)
La aplicación de (3) a los pixeles en el área de la máscara, sustituyendo el valor original del pixel central en la imagen para cada iteración, nos producirá como resultado lo que se conoce como promediado en el entorno. La Fig. 4 muestra el resultado de aplicar este método con una máscara de .
a) b)
(ISBN 970‐32‐2673‐6)
Fig. 4. Promediado en el entorno: a) imagen original, b) resultado con una máscara de . B. Filtros supresores de Ruido Basados en la Mediana
En el caso en que el objetivo del procesamiento de la imagen sea el de reducir el ruido sin difuminar bordes o detalles que realzan a la imagen, una buena alternativa es utilizar la mediana [6][7][8][9]. Con este método el nivel de gris de cada pixel de la imagen original será reemplazado por la mediana de los niveles de gris correspondientes a la posición de la máscara. Este proceso claramente representa un filtro no lineal. La mediana estadística
de un conjunto de valores es aquél que se encuentra en posición central después de que el conjunto ha sido ordenado en forma creciente o decreciente. Para máscaras con número impar, donde los pixeles correspondientes de la imagen en forma ordenada son: , entonces
(4)
Para máscaras con número par de pixeles, será el promedio obtenido de los dos valores centrales,
(5)
La Fig. 5, muestra el resultado de aplicar (4) a la imagen, para entornos de y .
a) b)
Fig. 5. Mediana en el entorno: a) entorno de , b) entorno de .
C. Filtrado por Promedio y Desviación Estándar Los resultados presentados en la sección A y en la sección B, utilizan la media y la mediana para conseguir suavizado en la imagen y supresión de ruido, respectivamente. Sin embargo, en ocasiones, es más conveniente el uso de operadores más sofisticados que suavicen una imagen pero que a la vez, le den mayor ganancia a aquellas áreas con menor contraste. Esta operación incluso podría aplicarse de manera variable a lo largo de la imagen, dependiendo de sus características propias. Una transformación muy apropiada para estos fines, es la que se presenta enseguida.
(6) Donde
(ISBN 970‐32‐2673‐6)
(7)
En (6) y (7), y representan la media (promedio de intensidad) y desviación estándar (medida del contraste) del entorno, respectivamente. es la media de la imagen original y es un coeficiente del factor de amplificación tomado como dependiendo de las características de la imagen. El algoritmo de procesamiento fue implementado usando (6,7) eligiendo diversos tamaños de máscaras y diversos valores para . La Fig. 6, muestra una mamografía a la cual se le aplicó este método para suavizar y resaltar detalles.
a) b)
Fig. 6. Promedio y desviación estándar en el entorno: a) mamografía original, b) entorno de con
D. Filtrado por Función Gaussiana
Otra aproximación para obtener un buen filtro suavizante es utilizar una máscara cuya función de respuesta , siga una distribución Gaussiana cuya expresión general viene dada por:
(8) donde y son coeficientes reales y . Para el caso en que
(9)
se convierte en la función de densidad de con distribución normal con media y varianza . Para la distribución normal estándar fija, (centrada) y por lo que (6) se reduce a:
(10)
El algoritmo de procesamiento fue implementado usando (10) para definir los coeficientes de la máscara en forma bidimensional y de acuerdo con la elección de su tamaño. La Fig. 7, muestra el resultado obtenido para este procesamiento, usando una máscara de .
(ISBN 970‐32‐2673‐6)
a) b)
Fig. 7. Promediado con distribución Gaussiana: a) imagen original, b) resultado con una máscara de .
IV. Resultados y Conclusiones
En este trabajo se presentan los resultados obtenidos para el procesamiento de imágenes utilizando filtros estadísticos que se basan en el desarrollo e implementación de algoritmos para definir entornos o máscaras sobre la imagen original y modificar los valores originales de estos entornos seleccionando los coeficientes de la máscara por métodos estadísticos tales como: la media, la mediana, la desviación estándar, distribución Gaussiana, etc., Los algoritmos fueron implementados en MatLab por ser una herramienta muy difundida, de fácil programación y que posee una gran cantidad de funciones implementadas y que nos son de utilidad. Por otra parte, MatLab posee filtros o herramientas de diseño para procesamiento con este objetivo disponibles en el dominio de a frecuencia por lo que nuestros desarrollos son otra alternativa viable para procesamiento de mejora de la imagen. Aunque mucho se ha publicado sobre el procesamiento espacial de imágenes [1], herramientas directas para su aplicación no son muy fáciles de obtener por lo que consideramos que estos resultados serán muy útiles para aquellos interesados en trabajar sobre esta interesante área. Ya que la mejora de una imagen es en buena medida una percepción subjetiva, y las aplicaciones del procesamiento de imágenes es cada vez más amplia, existen aún múltiples variantes en el procesamiento estadístico que deberían ser investigadas más a fondo por lo que seguimos en el estudio de otras características, extender este estudio a imágenes en color, y al uso de combinación de métodos. REFERENCIAS [1] R.C González, R.E.Woods “Tratamiento digital de imágenes” Ed. Addison‐Wesley, 1996. [2] Norma Ramírez Hernández, “Procesamiento de Imágenes Médicas”, Tesis de Maestría
en Ciencias en Ingeniería Electrónica, CUCEI, U. de G. Diciembre de 2006. [3] J. D. Martinez, J. M. Benlloch, J. Cerdá, Ch. W. Lerche, N. Pavón, and A. Sebastiá “High‐
Speed Data Acquisition and Digital Signal Processing System for PET Imaging
(ISBN 970‐32‐2673‐6)
Techniques Applied to Mammography”, IEEE transactions on nuclear science, vol. 51, no. 3, June 2004, pp. 407‐412.
[4] Papoulis. ”Probability, Random variables, and stochastic processes”, McGraw‐Hill, New York 1965.
[5] Octavio Sánchez. ”Probabilidad y Estadísticas” McGraw‐Hill, México 1998. [6] Liyang Wei, Yongyi Yang, Robert M. Nishikawa, Miles N. Wernick, and Alexandra
Edwardsm, ”Relevance Vector Machine for Automatic Detection of Clustered Microcalcifications”, IEEE transactions on medical imaging, vol. 24, no. 10, October 2005.
[7] Robert A. Brown*, Hongmei Zhu, and J. Ross Mitchell , “Correspondence Distributed Vector Processing of a New Local MultiScale Fourier Transform for Medical Imaging Applications” IEEE Transactions on medical imaging, vol. 24, no. 5, may 2005.
[8] Segyeong Joo, Yoon Seok Yang, Woo Kyung Moon, and Hee Chan Kim*, Member, IEEE, “Computer‐Aided Diagnosis of Solid Breast Nodules: Use of an Artificial Neural Network Based on Multiple Sonographic Features”, IEEE transactions on medical imaging, vol. 23, no. 10, october 2004, pp. 1292‐1300.
[9] Fu, K.S, González, R.C. y Lee C.S.G. ”Robotics control, sensing, vision and intelligence”, McGraw‐Hill, New York 1987.
(ISBN 970‐32‐2673‐6)