Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas...

42
Filtros lineales aplicados al procesamiento de imágenes Taller Teórico-Práctico de Medicina Nuclear 26 de junio de 2013 Javier Cebeiro ECyT, UNSAM

Transcript of Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas...

Page 1: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Filtros lineales aplicados al procesamiento de imágenes

Taller Teórico-Práctico de Medicina Nuclear

26 de junio de 2013 Javier Cebeiro ECyT, UNSAM

Page 2: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Imágenes

• Señal discreta bidimensional con la variación de una magnitud en el espacio.

• Píxeles: elementos de la imagen que contienen la información • La teoría y técnicas desarrolladas para el estudio de señales discretas

unidimensionales se pueden utilizar para el análisis de imágenes • No enfocaremos en el análisis de Fourier y las técnicas de filtrado para

imágenes en escala de grises (Negro:0- Blanco: 255). Estos métodos pueden aplicarse a las componentes de los distintos espacios cromáticos (RGB, HSV, YIQ, etc).

y

x

y

x

1010)),(dim( MyyNxMNyxf

Page 3: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Versiones 2D de señales 1D

conocidas

Page 4: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Transformada de Fourier Discreta 2D

)//(21

0

1

0

),(),( NvyMuxjM

x

N

y

eyxfvuF

N

xwjN

x

exfwF21

0

)()(

1010 NvMu

• Para una imagen f(x,y) de dimensión N x M, su DFT2D esta dada por:

• Donde (u, v) es el plano transformado, espacio de Fourier, y las variables discretas u y v son frecuencias espaciales [ciclos/pixel]. • F(u,v) tiene las mismas dimensiones que la imagen, por lo que

• Se define como una extensión de la DFT 1D

• Hay una relación clara entre la resolución espacial y frecuencial:

yNv

xMu

11

Page 5: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Transformada de Fourier Discreta 2D

• Independientemente de que si f(x,y) es real, F(u,v) es generalmente un

número complejo.

• Que también puede ser expresado en notación de Euler:

• Con modulo y fase •La propiedad de simetría conjugada (caso 1D)

• E implica simetría en el módulo:

),(),(),( vujIvuRvuF

),(

),(tan),( 1

vuR

vuIvu

),(),(),( vujevuFvuF

),(),(),( 22 vuIvuRvuF

),(),( * vuFvuF

),(),( vuFvuF

•Grafiquemos estas cosas a ver que obtenemos.

Page 6: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

• Transformada de Fourier Discreta 2D Indicar en los graficos zonas de altas y bajas frecuancias (centro esqunas)

• F(0,0) es la componenete de continua

u

v

Page 7: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Transformada de Fourier Discreta 2D

),( vuF ),( vu

•La observación de las partes real e imaginaria, lo mismo que la fase no me brinda mucha información. •En el módulo hay algo que se parece más a lo que espero. Estamos mal pero vamos bien. •Usar algun truco para mejorar el detalle de la imagen de la fase.

),(1ln),( vuFvuS

Page 8: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Transformada de Fourier Discreta 2D

),(1ln),( vuFvuS),( yxf ),( vu

Page 9: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

The Image Processing Handbook, Russ, CRC Press, 1999.

Page 10: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Transformada de Fourier Discreta 2D

),( vu

),( vuR

),( vuI

DFT

),( vuF

),( vu

),(1ln),( vuFvuS

),( vuI

Page 11: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Implementación en Matlab • La DFT se puede implementar con un

algoritmo equivalente FFT (Fast Fourier Transform) si las imágenes son N2xM2

• Particularmente vamos a usar imágenes cuadradas N2xN2

• Poner instrucciones y ejemplos lo que vimos hasta ahora, sin escala logaritmica

• ¿Qué diferencia hay con lo que se hizo hasta ahora?

),(1ln),( vuFvuS

Page 12: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Transformada de Fourier Discreta 2D

• Periodicidad de la transformada: la DFT es en realidad una señal discreta periódica (que se extiende infinitamente) por lo que:

• En una implementación (fórmula) de la DFT se trabaja con un solo periodo, por lo que el tamaño es NxM

• Además las zonas de altas frecuencias están en el centro y no en las esquinas

• Lo que me entrega la formula DFT, es el cuadro rojo y yo estoy acostumbrado a ver el cuadro verde

),(),(),(),( NvMuFNvuFvMuFvuF

DFT

Page 13: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Transformada de Fourier Discreta 2D

fftshift

Hay otra manera de modificar el el algoritmo DFT o FFT para que entregue las transformada como la queremos, pero como no esta implementada en Matlab no la vamos a ver

Page 14: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Transformada de Fourier Discreta Inversa 2D

wjwe jw sencos

N

xujN

u

euFN

xf21

0

)(1

)(

)//(21

0

1

0

),(1

),( NvyMuxjM

u

N

v

evuFMN

yxf

La operación inversa retorna la imagen original IDFT 2D

Análogamente a lo que se hizo para el caso directo, se define la DFT 2D como una extensión de la IDFT 1D

Finalmente se tiene f(x,y) expresada como una suma de senos y cosenos cuyos coeficientes son F(u,v)

N

vy

M

uxj

N

vy

M

uxe NvyMuxj 2sen2cos)//(2

Dado que

Page 15: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para
Page 16: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Transformada de Fourier Discreta 2D: propiedades

• Periodicidad de la f reconstruida

),(),(),(),( NyMxfNyxfyMxfyxf

DFT IDFT

Al igual que en el caso directo, en una implementación de la DFT se trabaja con un solo periodo, por lo que el tamaño es NxM En este momento no nos importa, pero esta propiedad, de carácter exclusivamente matemático, tendrá implicancias en los algoritmos de filtrado.

Page 17: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Filtros lineales

• El concepto de filtrado lineal tiene sus raíces en el análisis de Fourier

• La idea es aplicar una operación lineal a los píxeles de una señal con el objetivo de extraer las características de interés.

• Convolución (caso 1D): es la respuesta de un sistema lineal, en este caso un filtro, h(n) , frente a una entrada x(n)

k

kxhxxxhxx )()()()(

Page 18: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0

0

Señal x

dim=16

1 -1 y[0] = -1 x[0] +1 x[1] = -1 . 0 +1 . 0 = 0

Convolución 1D

h(n) 1 -1

x(n)

Máscara dim=2

Esta es una implementación muy libre de la operación de convolución en la que se ignoraron aspectos como el zero padding tanto del kernel como de la señal. La diferencia en el resultado está en la dimensiones de la señal resultado. Ver Gonzalez & Woods. Si hacen conv(x,h) en Matlab da una señal igual pero con un ceros más en cada extremo quedando dim(y)=17.

Señal y

dim=15

Al arreglo de coeficientes se lo denomina en general

máscara o kernel, en este caso [1 -1].

Page 19: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0

0 0

Señal x

dim=16

Convolución 1D

h(n) 1 -1

x(n)

Máscara dim=2

Señal y

dim=15

1 -1 y[1] = -1 x[1] +1 x[2] = -1 . 0 +1 . 0 = 0

Page 20: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0

0 0 0

Señal x

dim=16

Convolución 1D

h(n) 1 -1

x(n)

Máscara dim=2

Señal y

dim=15

1 -1 y[2] = -1 x[2] +1 x[3] = -1 . 0 +1 . 0 = 0

Page 21: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0

0 0 0 1

Señal x

dim=16

Convolución 1D

h(n) 1 -1

x(n)

Máscara dim=2

Señal y

dim=15

1 -1 y[3] = -1 x[3] +1 x[4] = -1 . 0 +1 . 1 = 1

Page 22: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0

0 0 0 1 0

Señal x

dim=16

Convolución 1D

h(n) 1 -1

x(n)

Máscara dim=2

Señal y

dim=15

1 -1 y[4] = -1 x[4] +1 x[5] = -1 .1 +1 . 1 = 0

Page 23: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0

0 0 0 1 0 0 0 0 0 0 0 -1 0 0 0

Señal x

dim=16

Convolución 1D

h(n) 1 -1

x(n)

Máscara dim=2

Señal y

dim=15

1 -1 y[11] = -1 x[11] +1 x[12] = -1 .1 +1 . 0 = -1

Page 24: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Convolución 1D

¿Qué operación representa la convolución de una señal con un filtro h= [1 -1]?

Page 25: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Filtros de convolución 2D

),(),(),( nymxfnmhfhyxgM

Mm

N

Nn

Filtrado: se desplaza el centro de la máscara del filtro de punto a punto en la imagen. Para cada punto (x,y) de la imagen, la respuesta del filtro es la suma de los productos entre los coeficientes del filtro y los píxeles en la vecindad dentro del área cubierta por la máscara.

y

x

y

x

Máscara 2D

n =-1, 0, 1 m =-1, 0, 1

Page 26: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Ejemplos de filtros por convolución

1 1 1

1 1 1

1 1 1

0.0113 .00838 0.0113

0.0838 0.6193 0.0838

0.0113 0.0838 0.0113

1 2 1

2 4 2

1 2 1

1 0 -1

2 0 -2

1 0 -1

Sobel (gradiente vertical) Suavizado

16

1

9

1Promediado

Gaussiano

¿Cuanto suman los coeficientes de cada máscara?

Page 27: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Teorema de la convolución

)()()()( wFwHxfxh

),(),(),(),( vuFvuHyxfyxh

•Expresa que la convolucón de dos funciones (i.e. imagen y filtro) en el espacio puede ser obtenida realizando la transformada inversa del producto de las transformadas de cada una de ellas. •Establece una equivalencia del resultados. •En el caso discreto, esto es la DFT, tanto la imagen como el filtro se consideran periódicos.

•Las funciones periódicas en la convolución pueden causar problemas de interferencia entre periodos adyacentes si estos están cerca con respecto a la duración de las partes no nulas de las funciones. •Un zero padding apropiado de la imagen puede alterar este efecto

Frecuencia espacial

),(),(),(),( NyMxfNyxfyMxfyxf

Page 28: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Filtros en frecuencia • Pipeline de procesamiento

DFT 2D

Implementación en Matlab

f(x,y)

Preprocesamiento

Filtro IDFT 2D

Postprocesamiento

g(x,y)

Imagen original

Imagen filtrada

Page 29: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Filtros en frecuencia

22 )2

()2

(),( NvMuvuD

Consisten en funciones 2D es el espacio de frecuencias H(u,v) que van a multiplicar a la transformada de una imagen para mantener algunas características y eliminar/modificar otras. Consideraremos filtros con simetría circular, por lo que definiremos una función que sea la distancia al centro del espacio de frecuencias.

u

v

Page 30: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Filtro Pasa Bajos Ideal

0

0

),(1

),(0),(

DvuDsi

DvuDsivuH

Comportamiento ideal: ciertas frecuencias permanecen inalteradas y otras son suprimidas totalmente. No es un filtro realizable analogicamente ero si puede ser simulado digitalmente. Intuitivamente sería el mejor filtro, pero...

Page 31: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

filtrosFM.m • La función entrega la respuesta en

frecuencia 2D de varios tipos de filtros pasa bajos cuadrados y simetría circular: ideal, Butterworth, gaussiano, Hann, Hamming.

• También realiza los gráficos • Lo que calcula es una matriz H(u,v) con

simetría radial que es el filtro en frecuencia • El filtrado se realiza a traves del producto

G(u,v) =H(u,v) F(u,v) • Posteriormente se antitransforma para

obtener la imagen filtrada • Mostrar como es el filtro ideal

Page 32: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Entre los filtros que se corresponden más con la realidad y que es realizable fisicamente es el denominado de Butterworth. Dicho filtro se va a caracterizar por la desaparición de la discontinuidad brusca que separa las frecuencias permitidas y las no permitidas y que se convertirá en una función en donde los cambios se producen sin brusquedad. Quepresenta el orden? Cuanto mayor es n (orden del filtro) más se parece al ideal (el cambio es más brusco) Los valores que toma el filtro en las regiones de banda paso y eliminada siguen siendo 1 y 0, respectivamente, mientras que las regiones entre ambas quedan atenuadas. En la frecuencia de corte, el valor de la respuesta de frecuencia es 0.5, ésta es la definición de la frecuencia de corte usada en diseño del filtro.

Filtro Butterworth.

Filtro Pasa Bajos BTW

n

DvuD

vuH2

0

),(1

1),(

Page 33: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Familia Butterworth

• Pasa altos n

vuDD

vuH2

0

),(1

1),(

Pasa altos. Algunos se pueden pensar como combinaciones de los otros filtros.

Page 34: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Comentarios Filtros: ¿cómo afectan la fase?

• Las transformadas de la imágenes son números complejos

• con el siguiente modulo y fase:

• Los filtros Butterworth mostrados son funciones reales en el espacio de frecuencias (u,v).

• El filtrado en frecuencia viene dado por el siguiente producto

• Y el resultado tendrá la siguiente fase:

• Que es la fase de la imagen original. • Conclusión: todo el cambio que realizan estos filtros es en el modulo • Dado que no alteran la fase, se llaman zero-phase shift filters (filtros de

fase cero)

),(),(),(),(),(),( vuIvujHvuRvuHvuFvuH

),(),(),(),( ),( vujIvuRevuFvuF vuj

),(

),(tan

),(),(

),(),(tan),( 11

vuR

vuI

vuRvuH

vuIvuHvu

),(),(),( 22 vuIvuRvuF

),(

),(tan),( 1

vuR

vuIvu

Page 35: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Filtros para Retroproyección Filtrada (FBP)

• La técnica de diseño de ventanas intenta llevar los filtros ideales a la práctica. Se basa en la aplicación de ventanas temporales para restringir la duración de la respuesta al impulso de un filtro ideal y así obtener filtros FIR.

• La ventanas con transición menos abruptas producirán menos oscilaciones.

• La utilización de las mismas ventanas en frecuencia lleva a un efecto equivalente a la aplicación de un filtro pasa bajos con características superiores a las del filtro ideal.

• Estas mismas ventanas (en el dominio frecuencial) pueden ser utilizadas, en combinación con un filtro rampa, para filtrar las proyecciones en una técnica de reconstrucción de imágenes tomográficas conocida como Retroproyección Filtrada (FBP).

• Los filtros heredados del procesamiento digital de señales son: Hann, Hamming.

• Adicionalmente están: Coseno, Ram-Lak, Shepp-Logan, Metz, etc

Page 36: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Filtros FIR mediante ventanas para señales (Oppenheim, 1975)

Page 37: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Filtros para Retroproyección Filtrada (FBP)

• Hann 2D

0

0

0

),(),(

cos15.0

),(0

),(

DvuDsiD

vuD

DvuDsi

vuH

•Hamming 2D

0

0

0

),(),(

cos46.054.0

),(0

),(DvuDsi

D

vuD

DvuDsi

vuH

Simetria radial 22 )2

()2

(),( NvMuvuD

Page 38: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

Anexo II: Modulo y fase en la

transformada de Fourier

Page 39: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

El papel del modulo y la fase en una imagen

En los 80s, Oppenheim investigó el rol que juegan el módulo y la fase de la DFT de una imagen. La conclusiones obtenidas sirven para entender los problemas de “phase retrieval” y “magnitude retrieval” para la recosntrucción a partir de datos incompletos que son de utilidad en algunos problemas como difracción

Page 40: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

El papel del modulo y la fase

Page 41: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

El papel del modulo y la fase

Page 42: Filtros lineales aplicados al procesamiento de imágenes · • La teoría y técnicas desarrolladas para el estudio de señales discretas unidimensionales se pueden utilizar para

El papel del modulo y la fase