filtro mediana adaptativo - Departamento de Ciencias de la

Download Report

Transcript filtro mediana adaptativo - Departamento de Ciencias de la

Curso de
Procesamiento Digital de Imágenes
Impartido por: Elena Martínez
Departamento de Ciencias de la Computación
IIMAS, UNAM, cubículo 408
http://turing.iimas.unam.mx/~elena/Teaching/PDI-Mast.html
[email protected]
Programa del Curso
1.
2.
3.
4.
Introducción.
Fundamentos de la imagen digital.
Realce de la imagen en el dominio espacial.
Realce de la imagen en el dominio de la
frecuencia.
5. Restauración de la imagen.
6. Representación del color.
7. Compresión de imágenes.
5. Restauración de la imagen
a) Modelo del proceso
degradación/restauración de una imagen.
b) Modelos de ruido.
c) Restauración en presencia de ruido (filtros
espaciales).
d) Filtros inversos.
e) Filtro Wiener.
Filtros adaptativos
 Una vez seleccionado el filtro, como los vistos en la clase
anterior, se aplica a la imagen sin importar cómo varian las
características de la imagen de un punto a otro.
 En esta sección veremos dos filtros adaptativos cuyo
comportamiento cambia según las características de la imagen
dentro de la región del filtro definida por una ventana rectangular
Sxy de tamaño m x n.
 Los filtros adaptativos son capaces de obtener un resultado
superior que los filtros vistos con anterioridad, el costo que se
paga es un incremento en la complejidad del filtro. Tenga en
mente que aún nos estamos refiriendo a imágenes degradadas
debido a ruido, y no otro tipo de degradación.
Filtros adaptativos de reducción
local de ruido

Recuerde que las medidas estadísticas más simples de una
variable aleatoria son su media y su desviación estándar. El
filtro adaptativo opera en una región local Sxy, la respuesta del
filtro en cualquier punto (x,y), en el cual la región está
centrada, se basa en 4 cantidades:
1. g(x,y), el valor de la imagen ruidosa en el punto (x,y),
2. 2, la varianza del ruido que corrompe a f(x,y) para formar
g(x,y),
3. mL, la media local de los pixeles en Sxy, y
4. 2L, la varianza local de los pixeles en Sxy
Filtros adaptativos de reducción
local de ruido

En base a lo anterior, queremos un filtro con el siguiente
comportamiento:
1. Si 2 es cero, el filtro debe regresa simplemente el valor de g(x,y).
Este es el caso trivial de ruido-cero donde g(x,y) es igual a f(x,y).
2. Si la varianza local es mayor con respecto a 2, el filtro debe
regresar un valor cercano a g(x,y). Una varianza local alta está
típicamente asociada con los valores de los bordes, y éstos deben
preservarse.
3. Si las dos varianzas son iguales, queremos que le filtro regrese el
valor de la media aritmética de los pixeles de Sxy. Esta condición
ocurre cuando el área local tiene las mismas propiedades que la
imagen en general, y el ruido local se reduce simplemente
promediando.
Filtros adaptativos de reducción
local de ruido
 Una expresión adaptativa para obtener fˆ ( x, y ) basada en los
supuestos anteriores, puede escribirse como:
2

ˆf ( x, y )  g ( x, y )   g ( x, y )  m 
L
2
L
La única cantidad que se necesita conocer o estimar es la varianza
del ruido general, 2 . Los otros parámetros se calculan de los pixeles
en Sxy en cada posición (x,y) en donde el filtro está centrado. Una
suposición tácita es que 2  2L. Recuerde que el ruido, en nuestro
modelo, es aditivo e independiente de la posición, ésta es una
suposición razonable ya que Sxy es un subconjunto de g(x,y).
Filtros adaptativos de reducción
local de ruido(a) Imagen de circuito
integrado con ruido
Gausiano aditivo, con
media cero y varianza
de 1000.
(b) Filtro promedio
aritmético de 7 x 7.
(c) Filtro promedio
geométrico de 7 x 7.
(d) Filtro adaptativo, con
2 = 1000.
Los resultados de (b) y (c) son
similares, teniendo en (c) menos
emborronamiento. La imagen
(d) en términos de reducción de
ruido es similar que las
anteriores, pero se nota más
definida en sus detalles.
Filtro mediana adaptativo
 Hemos discutido con anterioridad que el filtro mediana
trabaja bien siempre y cuando la densidad del ruido impulso
no sea muy grande. En esta sección se mostrará un filtro
mediana adaptativo que puede manejar ruido impulso con
probabilidades muy grandes. Una ventaja adicional de este
filtro es que busca preservar el detalle mientras suaviza ruido
diferente al impulso, algo que “tradicionalmente” los filtros
medianos no hacen.
Filtro mediana adaptativo
 El filtro mediana adaptativo también trabaja en una vecindad
Sxy. Sin embargo, a diferencia de los demás filtros, el filtro
mediana adaptativo cambia (incrementa) el tamaño de Sxy durante
su operación, dependiendo en ciertas condiciones que veremos
más adelante. Recuerde que la salida del filtro es un sólo valor que
se utiliza para reemplazar el valor del pixel en la posición (x,y),
del punto central particular de la vecindad Sxy. Considere la
siguiente notación:
- zmin = valor mínimo de nivel de gris de Sxy
- zmax = valor máximo de nivel de gris de Sxy
- zmed = valor mediana de los niveles de gris de Sxy
- zxy = nivel de gris en las coordenadas (x,y)
- Smax = valor de tamaño máximo permitido para Sxy
Filtro mediana adaptativo
 El algoritmo del filtro mediana adaptativo trabaja en dos
niveles, denotados nivel A y nivel B como sigue:
Nivel A: A1 = zmed - zmin
A2 = zmed - zmax
Si A1 > 0 AND A2 < 0, ve al nivel B
si no incrementa el tamaño de la ventana
Si el tamaño de la ventana  Smax repita el nivel A
si no salida = zxy
Nivel B: B1 = zxy - zmin
B2 = zxy - zmax
Si B1 > 0 AND B2 < 0, salida = zxy
si no salida = zmed
Filtro mediana adaptativo

La clave para entender cómo funciona este filtro es no
olvidar que tiene 3 propósitos:
a) Eliminar ruido sal y pimenta (impulso),
b) Suavizar otro tipo de ruido que puede no ser impulso y
c) Reducir la distorsión, como un adelgazamiento o
engrozamiento excesivo en los bordes de los objetos.
Filtro mediana adaptativo
 Los valores de zmin y zmax se consideran estadísticamente por el
algoritmo como componentes de ruido “impulso” aunque éstos no
sean los valores mínimo y máximo en la imagen.
 Supóngase que en el nivel A se encuentra un ruido impulso (falla
el caso de encontrar la mediana e irse al nivel B). El algoritmo
entónces incrementa la ventana y repite el nivel A. Este ciclo
continua hasta que el algoritmo ya sea que encuentra el valor
mediano que no es impulso (y salta al nivel B), o bien alcanza el
límite máximo del tamaño de la ventana y regresa el valor zxy.
Filtro mediana adaptativo
(a) Imagen corrupta con ruido sal y pimenta de muy alta probablidad.
(b) Resultado del filtro mediana de tamaño 7 x 7.
(c) Resultado del filtro mediana adaptativo con Smax = 7.
El resultado en (b) muestra una buena eliminación del ruido, sin
embargo, se observa una alta degradación en los bordes de los objetos, lo
que no ocurre en el resultado (c).
5. Restauración de la imagen
a) Modelo del proceso
degradación/restauración de una imagen.
b) Modelos de ruido.
c) Restauración en presencia de ruido (filtros
espaciales).
d) Filtros inversos.
e) Filtro Wiener.
Filtros inversos
 El material en esta sección es el primer paso para el estudio de
la restauración de imágenes degradadas por una función de
degradación H. El método más simple para restauración es el
filtro inverso directo, en donde se calcula un estimado, Fˆ (u, v), de
de la transformada de Fourier de la imagen original simplemente
dividiendo la transformada de la imagen degradada entre la
función de degradación.
G (u, v)
ˆ
F (u, v) 
H (u, v)
Filtros inversos
 Las divisiones son entre elementos individuales de las
funciones. Recordando la expresión del modelo de degradación:
G(u, v)  H (u, v) F (u, v)  N (u, v)
Y sustituyendo en el cociente anterior:
N (u, v)
ˆ
F (u, v)  F (u, v) 
H (u, v)
Esta interesante expresión nos dice que aunque conozcamos la
función de degradación no podemos recobrar la imagen original
exactamente ya el N(u,v) es una función aleatoria cuya
transformada de Fourier desconocemos.
Filtros inversos
 Y más malas noticias! Si la degradación tiene valores cero o
muy pequeños, entónces la relación N(u,v)/H(u,v) puede
fácilmente dominar el estimado Fˆ (u, v). De hecho este es el caso
más frecuente.
 Un método para eliminar este problema es limitar las
frecuencias a valores cercanos al origen. Sabemos que H(0,0) es
igual al valor promedio de h(x,y) y éste es generalmente el valor
más alto de H(u,v) en el dominio de la frecuencia. Entónces,
limitando el análisis a frecuencias cercanas al origen reducimos la
probabilidad de encontrar valores cero.
Filtros inversos
Un modelo de
degradación basado en
las características físicas
de turbulencia
atmosférica definido por
Hufnagel y Stanley
(1964) como:
H (u, v)  e
 k ( u 2  v 2 )5 / 6
(a) Casi sin turbulencia.
(b) Turbulencia severa
k=0.0025.
(c) Turbulencia
moderada k=0.001
(d) Baja turbulencia
k=0.00025.
Filtros inversos
(a) Restauración con el
filtro completo.
G (u, v)
ˆ
F (u, v) 
H (u, v)
(b) Restauración cortando
H por fuera de un
radio de 40.
(c) Cortando H fuera de
un radio de 70.
(d) Cortando H fuera de
un radio de 85.
Este ejemplo muestra en general como el filtro inverso
directo tiene una respuesta pobre. Veremos un a
continuación un método que mejora este desempeño.
Radios por debajo de 40
y por arriba de 85
degradan la imagen.
Para el radio 70 aún se
ve que el ruido domina
el resultado.
5. Restauración de la imagen
a) Modelo del proceso
degradación/restauración de una imagen.
b) Modelos de ruido.
c) Restauración en presencia de ruido (filtros
espaciales).
d) Filtros inversos.
e) Filtro Wiener.
Filtro Wiener
 El filtrado inverso directo visto no puede de manera explícita
manejar el ruido. En esta sección veremos un método que
incorpora ambos, la función de degradación y las características
estadísticas del ruido, en el proceso de restauración.
 El método consiste en considerar imagen y ruido como un
proceso aleatorio, y el objetivo es encontrar un estimador fˆ de la
imagen no-corrupta f de tal manera que el error promedio al
cuadrado entre ellas sea mínimo. Este error está dado por:

e 2  E ( f  fˆ ) 2

donde E{•} es el valor esperado (esperanza) del argumento.
Filtro Wiener
 Se asume que el ruido y la imagen no están correlacionados, que una
o la otra tienen media igual a cero, y que los niveles de gris en la
estimación son una función lineal de los niveles de la imagen
degradada. Basados en estas condiciones, la función de error mínima
está dada en el dominio de la frecuencia por:


H
*
(
u
,
v
)
S
(
u
,
v
)
f
G (u , v)
Fˆ (u, v)

2
 S f (u , v) H (u, v)  S (u, v) 


H * (u, v)
G (u , v)

2
 H (u, v)  S (u, v) / S f (u, v) 
2
 1

H (u , v)
G (u, v)

2
 H (u, v) H (u, v)  S (u, v) / S f (u , v) 
Filtro Wiener
 En la ecuación anterior usamos el hecho de que el producto
de una cantidad compleja con su conjugado es igual a la
magnitud de la cantidad compleja al cuadrado. Este resultado
se le conoce como filtro Wiener, propuesto por Wiener
(1942). El filtro que consiste en los términos dentro de los
corchetes, también se conoce como filtro de error promedio
mínimo al cuadrado, o filtro de error de mínimos cuadrados.
Filtro Wiener
 Los términos de la ecuación anterior son como sigue:
- H(u,v) = función de degradación.
- H*(u,v) = conjugado complejo de H(u,v).
- |H(u,v)|2 = H*(u,v)H(u,v).
- S(u,v) = |N(u,v)|2 = espectro de potencia del ruido.
- Sf(u,v) = |F(u,v)|2 = espectro de potencia de la imagen no
degradada.
Como antes, H(u,v) es la transformada de la función de
degradación y G(u,v) la transformada de la imagen degradada.
Note que si el ruido es cero, el espectro de potencia se elimina y el
filtro Wiener se convierte en un filtro inverso.
Filtro Wiener
 Cuando nos encontramos con ruido espectral blanco, el espectro
|N(u,v)|2 es una constante, lo cual simplifica las cosas
considerablemente. Sin embargo, el espectro de potencia de la
imagen no degradada casi nunca es conocido. Una técnica
utilizada regularmente cuando estas cantidades no se conocen o no
pueden ser estimadas es aproximarlas utilizando la expresión:
2
 1

H
(
u
,
v
)
Fˆ (u, v)  
G(u, v)
2
 H (u, v) H (u, v)  K 
donde K es una constante especificada.
Filtro Wiener
(a) Restauración con el filtro inverso completo.
(b) Restauración con filtro inverso limitado en un radio de 70.
(c) Restauración con el filtro Wiener.
El valor de K se eligió iterativamente hasta conseguir el resultado
deseado. Se puede ver la mejora del filtro Wiener sobre el filtro inverso,
en (c) casi se obtiene la imagen original.
Filtro Wiener
T
H (u, v) 
sin  (ua  vb)e  j (uavb )
 (ua  vb)
Para a=b=0.1 y T=1.
Filtro Wiener
(a) Imagen degradada anterior y
corrompida con ruido aditivo
Gausiano, m=0, =650.
(b) Resultado del filtro inverso directo.
(c) Resultado del filtro Wiener.
(d) Misma que (a) pero ruido reducido
en un orden de magnitud.
(e) Filtro inverso directo de (d).
(f) Filtro Wiener de (d).
(g) Mismo que (a) pero ruido reducido
en cinco ordenes de magnitud.
(h) Filtro inverso directo de (g).
(i) Filtro Wiener de (g).
Esta es una muestra de las
posibilidades del filtro Wiener,
siempre y cuando se conozca una
aproximación razonable de la
función de degradación H.
Instituto de Investigaciones en
Matemáticas Aplicadas y en Sistemas
(IIMAS)
http://turing.iimas.unam.mx/~elena/Teaching/PDI-Mast.html