Aplicación de las ondículas al análisis de imágenes Teresa Navarro Gonzalo Departament de Matemàtica Aplicada III. Universitat Politècnica de Catalunya. Colom 1, 08222-Terrassa
[email protected]
1. Introducción Las ondículas (wavelets en inglés) son una herramienta matemática moderna de aplicación en el tratamiento de señales, que engloba diversos campos como el tratamiento de imágenes y sonido, ingeniería nuclear, neurofisiología, imágenes médicas como tomografías y resonancias magnéticas, óptica, geología, radar, modelizaciones de la visión humana o la visión por computador. El análisis con ondículas ([1], [2], [3]) permite revelar la estructura de las señales en todas las escalas y detectar las variaciones locales. En el ambito específico del tratamiento de imágenes las ondículas se utilizan en codificación de la imagen y compresión, detección de contornos, eliminación de ruido y análisis de texturas. En las siguientes secciones 2 y 3 se describen las ideas básicas de la teoría de ondículas ([2], [4]). En la sección 4 se presenta como aplicación la detección de defectos de imágenes digitales de tejidos.
2. Análisis con ondículas Las técnicas clásicas de tratamiento de señales están basadas en el análisis de Fourier, cuya idea básica consiste en que las señales pueden ser representadas tanto en el dominio temporal (o espacial) como en el frecuencial, estando ambas representaciones relacionadas de manera unívoca y siendo, por tanto, equivalente trabajar con la señal en un dominio o en el otro. Una señal f (t ) se descompone en una suma infinita de armónicos eiwt de frecuencias w∈ R , cuyas amplitudes son los valores de la transformada de Fourier de f , fˆ ( w) :
1 f (t ) = 2π
+∞
∫
−∞
fˆ ( w) eiwt dw , donde fˆ ( w) =
+∞
∫
f (t ) e − iwt dt .
−∞
La transformación de Fourier proporciona la información global de la señal en el tiempo localizada en frecuencia. Se obtiene al correlacionar la señal f con eiwt ; como el soporte de
eiwt cubre toda la recta real, la transformada de Fourier de f depende de todos los valores de f (t ) , t ∈ \ . Esta información global mezclada dificulta el análisis de las propiedades locales de f a partir de su transformada. No se captan los aspectos locales de la señal (cambios bruscos, saltos,…) que se han de determinar a partir de su reconstrucción. Se puede mejorar la localización tiempo-frecuencia buscando correlaciones de la señal con funciones que tengan localizada la energia tanto en tiempo como en frecuencia.
31
La teoría de las ondículas (wavelets en inglés) se basa en la idea de procesar señales en todas las escalas y en distintas posiciones, a partir de una función ψ (t ) llamada ondícula básica, que tiene energía 1 y cuya integral se anula. Su gráfica es como la de una onda que se amortigua en el infinito.
1 t −u ψ , donde el s s parámetro u indica la posición y el parámetro s indica la escala. Para valores de s pequeños la ondícula básica se comprime, mientras que si s grande se dilata. A partir de la ondícula básica obtenemos las ondículas ψ u ,s (t ) =
La transformada continua en ondículas (CWT) de una señal se define mediante la correlación de la señal f con las ondículas ψ u ,s (t ) :
Wf (u, s ) = < f , ψ u ,s > =
+∞
∫
f (t )ψ u∗,s (t ) dt
−∞
Si la energía de la ondícula básica está concentrada en un intervalo de tamaño σ t centrado en 0, la de las ondículas ψ u ,s (t ) estará concentrada en un intervalo de tamaño s σ t centrado en u . Así, Wf (u, s ) depende esencialmente de cómo es la señal f en este intervalo. La CWT puede expresarse también como una integración en frecuencia:
1 Wf (u, s ) = < fˆ , ψˆ u , s > = 2π
+∞
∫
fˆ ( w)ψˆ u∗, s ( w) dw
−∞
donde ψˆ u ,s ( w) es la transformada de Fourier de ψ u ,s (t ) . Si la energía de ψˆ ( w) está concentrada en un intervalo de tamaño σ w centrado en µ , la de ψˆ u ,s ( w) = e − iuw s ψˆ ( sw) estará concentrada en un intervalo de tamaño
σw s
centrado en
µ s
. Siempre que ψˆ ( w) esté bien
localizada lejos del cero, Wf (u, s ) lleva también información local en frecuencia. Cada ondícula ψ u ,s ocupa simbólicamente un rectangulo en el plano tiempo-frecuencia centrado en
σw µ ; para distintas ondículas, las medidas de los u, de tamaño horizontal s σ t y vertical s s rectangulos son distintas pero las áreas son iguales. Así, los coeficientes Wf (u, s ) llevan información local tanto de la señal como de su transformada de Fourier: la información de la
σ µ señal f a escala s σ t y alrededor de u , y la de fˆ a escala w y alrededor de . s
s
De esta forma tenemos que las ondículas se adaptan automáticamente a todos los componentes de la señal. Utilizan una ventana pequeña para mirar los componentes transitorios, correspondientes a frecuencias altas, y una ventana más grande para los componentes de mayor duración, que son de baja frecuencia. Se puede recuperar la señal a partir de la CWT mediante la siguiente fórmula:
1 f (t ) = Cψ +∞
donde Cψ =
∫
−∞
ψˆ ( w) w
+∞
+∞
∫ ∫ Wf (u, s)ψ 0
−∞
u ,s
(t ) du
ds s2
dw < +∞ es la denominada condición de admisibilidad.
32
En la fórmula de reconstrucción de la señal hay una gran redundancia debido a que en el cálculo de la CWT pasamos de una función de una variable real a una de dos variables. Puede eliminarse esta redundancia restringiendo los parámetros (u, s ) a valores discretos. Si −
k 2
consideramos s = 2 , u = n 2 , las ondículas serán ahora ψ n ,k (t ) = 2 ψ (2 − k t − n ) ; de esta k
k
forma obtenemos la transformada discreta en ondículas Wf ( n 2 k , 2k ) . La cuestión estriba en si los coeficientes Wf ( n 2 k , 2k ) discretizan la señal f de una manera estable y no redundante, y si vale para todas ondículas. Las que cumplen esto se denominan ondículas ortonormales
{ } foman una base ortonormal).
( ψ n ,k
3. Análisis multiresolución La transformada en ondículas Wf (u, s ) , como función de u considerando fijo el parámetro de escala s , nos da la información del detalle que hay en la escala s . La idea del análisis multiresolución se basa en interpretar una señal como la superposición de todos los detalles en todas las escalas. Se trata de adaptar la resolución (inverso de la escala) de una señal para procesar únicamente los detalles relevantes. La aproximación de una señal a una resolución 2 − k (escala 2 k ) se hace a través de una red discreta de muestras que proporciona promedios locales sobre entornos de tamaño proporcional a 2 k . Los coeficientes f n ,k = < f ,ψ n ,k > llevan las variaciones de la señal a resolución 2 − k . Para
k fijo, la suma
∑ < f ,ψ
n ,k
>ψ n ,k se interpreta como el detalle a resolución 2 − k , y la suma de
n
todos los detalles de resoluciones menores,
∑ ∑ < f ,ψ j ≥k
n, j
>ψ n , j = Pk ( f ) es la aproximación
n
de la señal f a la resolución 2 − k . Para pasar de una resolución 2 − k a la siguiente mejor 2 − ( k −1) , a la aproximación de la señal a resolución 2 − k le añadimos el detalle Dk ( f ) que estaba en la señal a resolución 2 − ( k −1) pero se pierde al pasar a una resolución peor: Pk ( f ) + Dk ( f ) = Pk −1 ( f ) . El algoritmo de Mallat de la transformada rápida en ondículas (Fast Wavelet Transform, FWT) permite el cálculo rápido de los coeficientes d k [n ] = < f ,ψ k ,n > de la transformada en ondículas para cada nivel de resolución (detalle de la señal en ese nivel). Si se supone conocida la aproximación PJ ( f ) de la señal f a una cierta resolución 2 − J , determinada por unos coeficientes a J [n ] , se obtienen los coeficientes de la aproximación y los detalles del siguiente nivel, a J +1[n ] y d J +1[n ] , mediante convoluciones discretas por dos filtros ligados a la ondícula básica seguido de un submuestreo por un factor de 2. Repitiendo el proceso, con los mismos filtros, N veces obtenemos los coeficientes d J + k [n] , k = 1, 2...N , y
aJ + N [n] . De esta forma hemos efectuado una descomposición de la señal en sucesivos niveles de resolución. La reconstrucción de a J [n ] se hace a partir de aJ + N [n] , que es la aproximación de la señal en el nivel de resolución peor, con la contribución de todos los detalles intermedios d J + k [n] ,
33
k = 1, 2...N , insertando ceros primero y después efectuando convoluciones discretas con los mismos filtros que se utilizan en la descomposición.
4. Aplicación: detección de defectos de tejidos Se trata de establecer un proceso automático de detección de defectos de fabricación. Cuando los defectos son locales el análisis de Fourier no proporciona, en general, suficiente información para detectarlos y localizarlos. Se necesitan métodos que permitan tener localización en espacio y frecuencia. Los ejemplos que se mostrarán corresponden a imágenes digitales de tejidos; las señales son ahora bidimensionales y las ondículas que utilicemos también. Aquí entran en juego además de las diferentes escalas, las orientaciones del plano del dominio de la imagen con las que trabajemos. El procedimiento que se aplicará consiste en efectuar un análisis multiresolución para analizar los detalles en diferentes escalas y orientaciones, y un algoritmo de segmentación que permita localizar la zona defectuosa. Se trabaja con una imagen con defectos y una imagen sin defectos que actúa de patrón. Se descompone la imagen defectuosa con una profundidad de N niveles de forma que obtengamos los detalles de la imagen en cada nivel (son imágenes que en cada nivel son de la mitad del tamaño del nivel anterior) y cada orientación, y la aproximación de la imagen al peor nivel. Se hace lo mismo con la imagen patrón para obtener la media y la desviación estándar de cada imagen. A cada imagen de la descomposición de la imagen defectuosa, se le resta la media de la correspondiente imagen fruto de la descomposición de la imagen patrón. Estas diferencias se umbralizan de forma que se anulen cuando, en valor absoluto, son menores que un cierto valor límite proporcional a la desviación estándar correspondiente. Se trata de reducir la probabilidad de clasificar como defecto puntos del propio tejido. A partir de aquí se combina la información de todos los niveles y orientaciones para obtener una imagen que determina el mapa de defectos. A continuación se presentan 3 ejemplos de imágenes defectuosas en las que se ha detectado la zona de los defectos. En los ejemplos correspondientes a las figuras 1 y 2, se han utilizado ondículas de Gabor [5], y en de la figura 3 ondiculas de Daubechies. Tanto las imágenes de los tejidos como las de los mapas de defectos se representan en una escala de grises.
(a) tejido defectuoso
(b) mapa de defectos
Figura 1
34
(a) tejido defectuoso
(b) mapa de defectos
Figura 2
(a) tejido defectuoso
(b) mapa de defectos
Figura 3
5. Conclusiones La tranformada en ondículas se puede utilizar para efectuar un análisis de señales local y en todas las escalas. En el ámbito del tratamiento de imágenes es útil para el análisis de texturas, codificación de la imagen y compresión, detección de contornos y eliminación de ruido. En los ejemplos correspondientes a las figuras 1, 2 y 3 de la sección anterior se muestra la aplicación del análisis de ondículas en la detección de defectos locales de imágenes de tejidos.
6. Agradecimientos La autora agradece al profesor Jaume Escofet, del Departament d’Òptica i Optometria de la Universitat Politècnica de Catalunya, su contribución en este trabajo con los ejemplos mostrados en las figuras 1 y 2.
35
7. Referencias [1] Daubechies, I. Ten lectures on wavelets, SIAM, 1992. [2] Mallat, S. A wavelet tour of signal processing, Academic Press, 1998. [3] Meyer, Y. Les ondelettes, algorithms et applications, Armand Colin, 1992. [4] Bruna, J. “Representació i mostratge de funcions: de les sèries de Fourier a la teoria d’ondetes”, Butlletí de la Societat Catalana de Matemàtiques, 14 (1), 31-61, (1999). [5] Escofet, J., Navarro, R., Millán, M.S., Pladellorens, J. “Detection of local defects in textile webs using Gabor filtres”, Opt. Eng., 37 (8), 2297-2307, (1998).
36