- Departamento de Ciencias de la Computación

Anuncio
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.
3. Relace de la imagen en el
dominio espacial
a) Antecedentes.
b) Algunas transformaciones básicas de niveles
de gris.
c) Procesamiento del histograma.
d) Realce de la imagen utilizando operaciones
artméticas/lógicas.
e) Filtros espaciales básicos.
f) Filtros espaciales de suavizamiento (smooth).
g) Filtros espaciales de realce (sharp).
Filtros espaciales de suavizamiento
 Los filtros de suavizamiento se utilizan para emborronar la
imagen y para la reducción de ruido. El emborronamiento se
utiliza como un paso de preproceso, para remover pequeños
detalles de la imagen antes de extraer otros objetos más
grandes, también se utiliza como para rellenar pequeños
hoyos, líneas o curvas no muy bien definidas.
 La reducción del ruido se puede realizar con filtros lineales
y también con filtros no lineales. Son equivalentes a los
filtros paso-bajas en el espacio de la imagen.
Filtros de suavizamiento lineales
 La idea de los filtros de suavizamiento es obtener el
promedio de los pixeles contenidos en una vecindad del
tamaño del la máscara del filtro. A estos filtros se les conoce
como filtros promedio o filtros pasa-bajos.
 Al reemplazar cada pixel de la imagen por el promedio de
la vecindad definida por la máscara resulta en la reducción
de los detalles o cambios abruptos en los niveles de gris. La
aplicación más obvia es la reducción del ruido. Sin embargo,
los bordes de los objetos también son transiciones abruptas
de los tonos de gris por lo que los bordes resultan
emborronados después de la aplicación de estos filtros.
Filtros de suavizamiento lineales
 Otra aplicación de estos filtros incluye el emborronamiento
de los falsos contornos que hemos visto en secciones pasadas
que resultan de un número insuficiente de niveles de gris.
 Recordando la definición de convolución, y de manera
general la respuesta de un filtro está dada por:
mn
R   wi zi
i 1
donde wi son los
pesos o coeficientes
del filtro y zi son los
valores de los pixeles
de la imagen
correspodientes a los
coeficientes.
Filtros de suavizamiento lineales
 El filtro de suavizamiento de la izquierda nos da como
resultado el promedio estándar de los pixeles de la imagen
definidos en una vecindad de 3 x 3:
1 9
R   zi
9 i 1
Una máscara de tamaño m x n tendrá un
factor de normalización de 1/mn.
Filtros de suavizamiento lineales
 El filtro de suavizamiento de la derecha nos da como
resultado el promedio ponderado de los pixeles de la imagen
definidos en una vecindad de 3 x 3:
1 9
R   wi zi
16 i 1
Una máscara de tamaño m x n tendrá un
factor de normalización de wi .
Filtros de suavizamiento lineales
 El filtro de promedio ponderado da más importancia a
algunos pixeles a expensas de otros. El pixel central tiene
mayor importancia, mientras que las diagonales tienen
menos ya que se encuentran más alejadas del centro (2). Se
reduce la importancia del peso en función de su distancia
respecto al centro.
Filtros de suavizamiento lineales
 En la práctica es difícil observar alguna diferencia entre los dos
filtros vistos anteriormente cuando las vecindades son tan
pequeñas (3x3). De manera general, la implementación de un
filtro de promedio ponderado para una imagen f de tamaño M x N
con un filtro w de tamaño m x n (impar) se obtiene:
a
g ( x, y ) 
b
  w(s, t ) f ( x  s, y  t )
s   at   b
a
b
  w(s, t )
s   at   b
para a=(m-1)/2, b=(n-1)/2, x=0, 1, 2, ... , M-1, y y=0, 1, 2, ..., N-1
Filtros de suavizamiento lineales
A. Imagen original
B. Suavizamiento con n=3, un poco
borrosa. Los detalles del tamaño
del filtro son más afectados.
C. n=5, similar que B. Se incrementa
un poco más el emboronamiento.
D. n=9, más emb., el efecto del
emb. se ve claramente en los
objetos que tienen nivel de gris
cercano al fondo (Circ. y Rect.)
E. n=15, casos extremos respecto al
tamaño de los objetos.
F. n=35, lo mismo que E.
Filtros de suavizamiento lineales
 Como se mencionó anteriormente, la importancia de la
aplicación de filtros promedio espaciales es para emborronar
una imagen con el propósito de obtener una representación a
groso modo de los objetos de interés, de manera que las
intensidades de objetos pequeños se mezclen con la del
fondo y la de los objetos grandes se marquen como
“manchas” fáciles de detectar.
 El tamaño de las máscaras establece el tamaño relativo de
los objetos a ser mezclados con el fondo.
Filtros de suavizamiento lineales
 Imagen tomada por el telescopio Hubble de la NASA. Se aplicó
un filtro promedio ponderado de tamaño 15 x 15. Se aplicó una
umbralización con valor igual al 25% de las intensidades más
altas en la imagen filtrada (Res=objetos más grandes y brillantes):
Filtros de orden estadístico
(no-lineales)
 Los filtros de orden estadístico son filtros espaciales no
lineales cuya respuesta está basada en el ordenamiento de los
pixeles contenidos en la imagen que encierra el filtro, y que
reemplazan el valor del pixel central por el valor
determinado por dicho ordenamiento.
 El ejemplo más conocido es el filtro mediana, que
reemplaza el pixel central por la mediana de los pixeles
contenidos en la vecindad del filtro. Los filtros mediana
eliminan cierto tipo de ruido de manera muy eficiente, el
llamado ruido impulso o sal y pimenta.
Filtros de orden estadístico
(no-lineales)
 La mediana, , de un conjunto ordenado de valores es
aquel valor para la cual la mitad del conjunto está por debajo
de ella y la otra mitad por arriba. Por ejemplo, en una
vecindad de 3 x 3 la mediana del conjunto ordenado sería el
5to elemento del conjunto. Si los valores son: {10, 20, 20,
20, 15, 20, 20, 25, 100} y el conjunto ordenado es: {10, 15,
20, 20, 20, 20, 20, 25, 100}, la mediana es: =20.
 La función principal del filtro mediana es forzar a puntos
que son diferentes de los niveles de gris del vecindario a ser
más parecidos a él.
Filtros de orden estadístico
(no-lineales)
A. Imagen de rayos X de un circuito integrado corrupto con
mucho ruido del tipo “sal y pimienta”.
B. Filtro promedio de 3 x 3.
C. Filtro mediana de 3 x 3, se nota la superioridad resp. a B.
Filtros de orden estadístico
(no-lineales)
 El filtro mediana es el más utilizado de los filtros de orden
estadístico no lineales pero no es el único. Existe el filtro
max que es útil para encontrar los puntos más brillantes en
una imagen: donde para un filtro de 3 x 3, R=max{zk | k=1,
2, …, 9}.
 Otro filtro es el llamado filtro min que se utiliza con el
propósito inverso al max. Los filtros mediana, max, min y
promedio se uitilizan en el área de restaruación de la imagen
como se verá más adelante.
3. Relace de la imagen en el
dominio espacial
a) Antecedentes.
b) Algunas transformaciones básicas de niveles
de gris.
c) Procesamiento del histograma.
d) Realce de la imagen utilizando operaciones
artméticas/lógicas.
e) Filtros espaciales básicos.
f) Filtros espaciales de suavizamiento (smooth).
g) Filtros espaciales de realce (sharp).
Filtros espaciales de realce
 El objetivo principal del realce (shapening) es resaltar
detalles finos en una imagen y resaltar los detalles que se han
vuelto borrosos dedibio a un error o bien al efecto natural de
la técnica de adquisición.
 Vimos en la sección anterior que el emborronamiento se
puede llevar a cabo por medio del promedio de los pixeles de
una vecindad. Como el promedio es análogo a la integración,
es lógico conlcuir que el realce (sharpening) pueda hacerse
utilizando diferenciación espacial.
Filtros espaciales de realce
 Fundamentalmente, la respuesta (valor) de un operador
derivativo es proporcional al grado de discontinuidad de la
imagen en el punto en el que se aplica el opereador. Por lo
tanto, la diferenciación de una imagen realza los bordes y
otras discontinuidades (como el ruido) y desenfatiza (atenúa)
las áreas que tienen baja variabilidad de valores de niveles
de gris.
Fundamentos
 Veremos en detalle en las proximas secciones filtros
basados en la primera y segunda derivada. Antes de llegar a
eso veremos algunas propiedades fundamentales de estas
derivadas en el contexto digital.
 Las derivadas de una función digital se definen en términos
de diferencias. Existen varias formas para definir estas
diferencias, sin embargo debemos asegurarnos que cumplan
con las siguientes propiedades:
Primera derivada
(1) Debe ser igual a cero en segmentos planos (áreas de
niveles de gris constantes).
(2) Debe ser diferente de cero al inicio de funciones escalón
y rampa de nivel de gris.
(3) Debe ser diferente de cero a lo largo de las rampas.
 Una definición básica de la primera derivada
unidimensional de la función f(x) es la diferencia:
f
 f (x  1)  f (x)
x
Segunda derivada
(1) Debe ser igual a cero en segmentos planos (áreas de
niveles de gris constantes).
(2) Debe ser diferente de cero al inicio y al final de las
funciones escalón y rampa de nivel de gris.
(3) Debe ser cero a lo largo de las rampas de pendientes
constantes.
 Una definición básica de la segunda derivada
unidimensional de la función f(x) es la diferencia:
2f
 f ( x  1)  f ( x  1)  2 f ( x)
2
x
Primera y Segunda derivada
Observaciones
 Las derivadas de primer orden generalmente producen
bordes gruesos en una imagen.
 Las segundas derivadas tienen un respuesta mayor a
detalles finos, como líneas delgadas y puntos aislados.
 Las derivadas de primer orden tienen una respuesta mayor
a funciones escalón de nivel de gris.
 Las derivadas de segundo orden producen una doble
respuesta en cambios escalón en los niveles de gris.
 Las derivadas de segundo orden, para cambios con valores
similares de los niveles de gris, tienen una respuesta mayor
para líneas que escalones, y para puntos que líneas.
Observaciones
 En algunas aplicaciones de realce de imágenes la segunda
derivada es más utilizada que la primera, esto es debido a su
habilidad de realzar detalles finos. Es por esta razón y por su
simplicidad de implementación que iniciaremos con la
descripción de la segunda derivada.
 La aplicación que más hace uso de las primeras derivadas
es la detección de bordes, aunque también tiene importantes
usos para el realce. Pueden también utilizarse, en algunos
procesos, en conjunto con las segundas derivadas.
Uso de las segundas derivadas
para el realce: LAPLACIANO
 El método consiste en definir la formulación discreta de las
derivadas de segundo orden y luego construir una máscara
basada en esta formulación. Estamos interesados en filtros
isotrópicos, cuya respuesta es independiente de la dirección
de las discontinuidades de la imagen a la cual se la aplica el
filtro. En otras palabras, los filtros isotrópicos son
invariantes a la rotación, en el sentido de que rotar la
imagen y luego aplicar el filtro da el mismo resultado que si
aplicamos primero el filtro y luego rotamos el resultado.
Uso de las segundas derivadas
para el realce: LAPLACIANO
 Se puede demostrar que el operador derivativo isotrópico
más simple es el Laplaciano, el cual, sea una función
(imagen) f(x,y) de dos variables, se define como:
 f  f
 f  2  2
x
y
2
2
2
Como las derivadas son operadores lineales, el Laplaciano es
un operador lineal.
LAPLACIANO: Versión discreta
 Tomando en cuenta que ahora tenemos dos variables, (x,y),
utilizamos la siguiente notación para la derivada parcial de
segundo orden discreta en dirección-x y en dirección-y,
respectivamente:
 f
 f (x  1, y)  f (x 1, y)  2 f (x, y)
2 2
 x
2
 f
 f (x, y  1)  f (x, y 1)  2 f (x, y)
2 2
 y
2
LAPLACIANO: Implementación
 La implementación digital del Laplaciano bi-dimensional
se obtiene sumando los dos componentes anteriores:
 2 f  [ f ( x  1, y )  f ( x  1, y )  f ( x, y  1)  f ( x, y  1)]  4 f ( x, y )
La máscara de este
filtro es la de arriba a
la izquierda, que da un
resultado isotrópico
para rotaciones con
incrementos de 90°.
LAPLACIANO: Implementación
 Se pueden incorporar las direcciones diagonales en la
definición del Laplaciano, sumando dos términos más uno para
cada dirección. Como cada término diagonal también contiene un
–2f(x,y), la forma total de términos diferenciables será: –8f(x,y).
La máscara de este
filtro es la de arriba a
la derecha, que da un
resultado isotrópico
para rotaciones con
incrementos de 45°.
LAPLACIANO: Implementación
 Las dos máscaras mostradas en la fila de abajo de la figura,
corresponden a la versión negativa de la definición anterior.
Como tal, dan lugar a los mismos resultados pero diferentes
en signo. Esta diferencia de signo debe ser considerada
cuando se opere (a
través de una suma o
resta) una imagen
filtrada con
Laplaciano con otra
imagen.
LAPLACIANO
 Como el Laplaciano es un operador derivativo, se utiliza
para enfatizar (realzar) las discontinuidades en una imagen y
desenfatizar (atenuar) las regiones con niveles de gris que
varían poco. Esto tiende a producir imágenes que tienen
líneas borde de colores grisaseos junto con otras
discontinuidades, todas superimpuestas sobre un fondo
oscuro sin característica alguna. Las características del fondo
pueden “recobrarse” y aún preservar el efecto de realce del
operador Laplaciano simplemente sumando la imagen
original y la imagen Laplaciano.
LAPLACIANO
 Por lo tanto, la manera básica en que utilizamos el
Laplaciano para realce de imágenes es como sigue:
 f ( x, y )   2 f ( x, y )
g ( x, y )  
2
f
x
y
f ( x, y )
(
,
)



(1)
(2)
(1) Si el coeficiente del centro de la máscara Laplaciana es
negativo.
(2) Si el coeficiente del centro de la máscara Laplaciana es
positivo.
(a) Polo Norte de la
Luna.
(b) Resultado del
filtro con
máscara
Laplaciana (con
valores + y -).
(c) Escalamiento
para despliegue
(es como
típicamente se
ven los
Laplacianos).
(d) Suma la original
con la
Laplaciana: (a)
+(c).
LAPLACIANO
LAPLACIANO: Simplificaciones
 En el ejemplo anterior, implementamos el realce con
Laplaciano primero filtrando la imagen con la máscara
Laplaciana y luego subtrayéndola (o sumándola) de la
imagen original. Esto fue hecho sólo para explicar el método,
en la práctica la ecuación anterior se implementa con sólo
una pasada de una sóla máscara como sigue:
g(x,y)  f (x,y) [ f (x 1,y)  f (x 1,y)  f (x,y 1)  f (x,y 1)] 4 f (x,y)
g(x, y)  5 f (x,y) [ f (x 1, y)  f (x 1,y)  f (x,y 1)  f (x, y 1)]
LAPLACIANO: máscaras compuestas
(a) Máscara compuesta.
(b) Máscara compuesta
que incluye
diagonales.
(c) Imagen de
microscopía
electrónica de un
filamento de
tungsteno (250x).
(d) Resultado de filtrar
la imagen (c) con (a).
(e) Resultado de filtrar
la imagen (c) con (b).
Filtro con máscara “unsharp”
 Un proceso que se ha utilizado durante muchos años en la
industria de la publicidad es el realzar una imagen restando a
la imagen original una versión emborronada de la misma. A
este proceso se la conoce como máscara unsharp, y se
expresa como:
f s ( x, y )  f ( x, y )  f ( x, y )
donde fs(x,y) denota la imagen resultado obtenida con la
máscara unsharp, y f ( x, y ) es la versión emborronada de
f(x,y). El resultado es una imagen con detalles finos
realzados.
Filtro “high-boost”
 Una generalización del filtro con máscara “unsharp” es el
llamado filtro “high-boost” (levantar, aumentar). Una
imagen filtrada con filtro high-boost, fnb, se define en el
punto (x,y) como:
f hb ( x, y )  Af ( x, y )  f ( x, y )
donde A  1, y f como antes, es la versión emborronada de
f. Esta ecuación se puede escribir como:
f hb ( x, y )  ( A  1) f ( x, y )  f ( x, y )  f ( x, y )
f hb ( x, y )  ( A  1) f ( x, y )  f s ( x, y )
Filtro “high-boost”
 Esta última ecuación es general, y no especifíca
explícitamente cómo debe obtenerse la imagen “sharp”
(realzada). Si elegimos hacerlo con el Laplaciano entonces
conocemos a fs(x,y) y podemos escribirla como:
 Af ( x, y )   2 f ( x, y )
f nb ( x, y )  
2
Af
x
y
f ( x, y )
(
,
)



(1)
(2)
(1) Si el coeficiente del centro de la máscara Laplaciana es
negativo.
(2) Si el coeficiente del centro de la máscara Laplaciana es
positivo.
Filtro “high-boost”
 El filtro “high-boost” se puede implementar con una pasada de
alguna de las dos máscaras siguientes:
Cuando A=1, el filtro high-boost se vuelve un Laplaciano
estándar. Mientras el valor de A se incrementa por arriba de 1, la
contribución del proceso de realce se vuelve menos importante.
Eventualmente, si A es suficientemenet grande, la imagen filtrada
con el filtro high-boost se volverá approximadamente igual que la
original multiplicada por una constante.
Filtro “high-boost”




Imagen original
oscurecida.
Laplaciano con la
segunda máscara,
con A=0.
Imagen realzada
con el Laplaciano,
utilizando la
segunda mascara,
con A=1. Ha sido
realzada pero sigue
oscura.
Lo mismo que en
(c) con A=1.7. Se
ve más clara que
(c).
 Aplicación principal: cuando la imagen de entrada es
oscura. Variando el coeficiente boost, generalmente es
posible obtener una incremento general del promedio de
niveles de gris de la imagen.
Uso de las primeras derivadas
para el realce: GRADIENTE
 Las primeras derivadas en el procesamiento de imágenes,
son implementadas utilizando la magnitud del gradiente.
Para una función f(x,y), el gradiente de f en el punto (x,y)
está definido como el vector columna en dos dimensiones:
 f 
Gx   x 
F      f 
G y   
 y 
y la magnitud de este vector como:
f 2 f 2 1/ 2
f  mag(f )  [Gx2  G ]       


x  y  
1
2 2
y
Uso de las primeras derivadas
para el realce: GRADIENTE
 Las componentes del vector gradiente son operadores
lineales, pero la magnitud de este vector no, debido a las
operaciones de cuadrados y las raíz cuadrada.
 Las derivadas parciales, no son invariantes a la rotación
(isotrópicas), pero la magnitud del vector gradiente si.
 Aunque no es estrictamente correcto, a la magnitud del
vector gradiente generalmente se le conoce como gradiente.
Y ese es el término que seguiremos usando.
Uso de las primeras derivadas
para el realce: GRADIENTE
 El cálculo del gradiente así definido, sobre la imagen
completa, no es trivial y es de práctica común aproximar la
magnitud del gradiente utilizando los valores absolutos en
lugar de los cuadrados y la raíz cuadrada:
f  Gx  Gy
 Sin embargo, como en el caso del Laplaciano, las
propiedades de isotropía, para un gradiente discreto se
preservan sólo para un número limitado de incrementos
rotacionales dependiento de las máscaras que se utilicen.
GRADIENTE: Implementación
 Sea una región de 3 x 3 pixeles, sea el punto central igual a
z5, que denota f(x,y), z1 denota f(x-1,y-1) y así sucesivamente.
La aproximación más simple de la derivada de primer orden
que satisfacen las condiciones anteriores son: Gx=(z8-z5) y
Gy=(z6-z5). Existen otras dos definiciones propuestas por
Roberts (1965) que utilizan las diferencias cruzadas:
Gx=(z9-z5) y Gx=(z8-z6). De aquí la aproximación al llamado
operador gradiente crusado de Roberts está dada por:
f  z9  z5  z8  z6
GRADIENTE: Implementación





Máscara general.
Operador de gradiente
cruzado Robert en x.
Operador de gradiente
cruzado Robert en y.
Operador de gradiente
Sobel en x.
Operador de gradiente
Sobel en y.
GRADIENTE: Implementación
 Las máscaras de números pares son raras de utilizar. El
filtro más pequeño generalmente es de 3 x 3. Una
aproximación utilizando valores absolutos, aún sobre el
punto z5, pero utilizando máscaras de 3 x 3 es el llamado
operador Sobel:
f  (z 7  2z 8  z 9 )  (z1  2z 2  z 3 )  (z 3  2z 6  z 9 )  (z1  2z 4  z 7 )
 La idea de utilizar los pesos = 2 es para obtener más
suavizamiento dando más importancia a los pixeles
centrales. Note que los coeficientes de todas las máscaras
suman 0, esto es para asegurar una respuesta es igual a cero
en partes de la imagen con niveles de gris constantes.
GRADIENTE
 El gradiente se utiliza frecuentemente en inspecciones
industriales, para ayudar a los humanos a encontrar defectos,
y lo que es más común, como un paso de preproceso para
una inspección automática. La figura muestra una imagen de
un lente de contacto donde se pueden ver imperfeccciones en
dos partes del borde (a las 4 y 5).
Combinación de métodos de
realce espacial
 Hasta el momento, hemos enfocado nuestra atención
principalmente al realce con métodos enfocados de manera
individual. Frecuentemente, una tarea dada de realce puede
involucrar la aplicación de varias técnicas de realce de
manera complementaria para poder alcanzar una tarea muy
difícil de realce. Aquí veremos, a través de un ejemplo, este
tipo de combinaciones.
Combinación de métodos de
realce espacial
Instituto de Investigaciones en
Matemáticas Aplicadas y en Sistemas
(IIMAS)
http://turing.iimas.unam.mx/~elena/Teaching/PDI-Mast.html
Descargar