procesamiento digital de imagenes

56
1 Procesamiento Digital de Imágenes Ingeniería Civil Biomédica Pamela Guevara Capítulo 2 parte 1

Upload: salvador-gallardo

Post on 07-Dec-2015

225 views

Category:

Documents


2 download

DESCRIPTION

Capitulo II - Procesamiento digital de imágenes, Ingeniería civil Biomedica, UdeC

TRANSCRIPT

Page 1: Procesamiento digital de imagenes

1

Procesamiento Digital de Imágenes

Ingeniería Civil Biomédica Pamela Guevara

Capítulo 2

parte 1

Page 2: Procesamiento digital de imagenes

2

Contenidos

– Redundancia• en el código

• entre píxeles

• psicovisual

– Transformada de Fourier

– Transformada del Coseno Discreta

Page 3: Procesamiento digital de imagenes

3

Representación de Imágenes Digitales

• Representar una imagen de n x n píxeles mediante una matriz requiere:

– n2 bits si es binaria

– n2 log2 (L) bits si la imagen es en niveles de gris, con L

niveles

– 3n2 log2 (L) bits si la imagen es a color (RGB) con L

niveles.

• Existen representaciones de imágenes que pueden ser más económicas que la representación matricial, ya que se elimina información redundante.

Page 4: Procesamiento digital de imagenes

4

Redundancia• Una imagen tiene redundancia cuando su representación o

significado abunda en la repetición de patrones o modelos.

• En una imagen digital hay tres tipos de redundancia:

– Redundancia en el código. • Código es un sistema de símbolos usado para

representar la información. A veces, la longitud de las palabras usadas en el código es mayor de lo necesario.

– Redundancia entre píxeles.• Debida a la correlación espacial entre un píxel y sus

vecinos.

– Redundancia psicovisual.• Parte de la información es ignorada por el ojo humano.

Page 5: Procesamiento digital de imagenes

5

Redundancia• Ejemplos de imágenes redundantes:

redundancia en el código

redundancia entre píxeles

redundancia psicovisual

Page 6: Procesamiento digital de imagenes

6

Redundancia

• La compresión de imágenes consiste en eliminar una o más de estas redundancias.

• Se pueden clasificar las distintas formas de compresión de imágenes en:

– con pérdida de información en la imagen:

• eliminan la redundancia psicovisual– sin pérdida de información en la imagen:

• eliminan la redundancia de código y/o entre píxeles no producen errores.

Page 7: Procesamiento digital de imagenes

7

Compresión de imágenes eliminando la redundancia de código

• Código de longitud variable tal que a aquellos valores con más probabilidad se le asigna un menor número de bits, entonces se consigue que el promedio sea menor.

– Ej. Código de Huffman• La codificación de Huffman consigue el número

más pequeño posible de símbolos de código.

• Codificación sin pérdida en imágenes en escala de grises

Page 8: Procesamiento digital de imagenes

8

Código de Huffman

Ejemplo: Consideremos una imagen con 6 niveles de grises:

Observemos que si usamos el código binario natural, necesitamos3 bits para codificar cada valor:

p(a1)=0,1 p(a2)=0,4 p(a3)=0,06 p(a4)=0,1 p(a5)=0,04 p(a6)=0,3

Valor Valor codificado

a1 000

a2 001

a3 010

a4 011

a5 100

a6 101

Page 9: Procesamiento digital de imagenes

9

Código de HuffmanEl código de Huffman, en función de la probabilidad será:

Valor Probabilidad Valor codificado con el código de Huffmana1 0,1 011

a2 0,4 1

a3 0,06 01010

a4 0,1 0100

a5 0,04 01011

a6 0,3 00

Ahora, el promedio de bits necesario es:

3(0,1) + 0,4 + 5(0,06) + 4(0,1) + 5(0,04) + 2(0,3) = 2,2

El radio de compresión sería: CR = 3/2,2 = 1,36 y la redundancia relativa es: R D = 1-(1/1,36) = 0,26. Por tanto, el 26% del primer código era redundante.

redundancia relativa : RD= 1 - (1/C

R)

Page 10: Procesamiento digital de imagenes

10

Compresión de imagen eliminando la redundancia entre píxeles

• Representación por filas o Run-Length Coding– Cada fila de una imagen está completamente

determinada mediante la especificación de las longitudes y los valores de secuencias de píxeles sucesivos del mismo color.

– Si hay sólo unas pocas secuencias (r es "pequeño"), esta representación es muy económica.

Page 11: Procesamiento digital de imagenes

11

Compresión de imagen eliminando la redundancia entre píxeles

Ejemplo de Representación por filas. Caso Imagen binaria.Sólo hay que indicar el primer elemento de la fila y las longitudes de las secuencias alternadas.

Page 12: Procesamiento digital de imagenes

12

Compresión de imagen eliminando la redundancia entre píxeles

• Representación por bloques: Árboles cuaternarios (quadtrees)

– Asumimos por simplicidad que las imágenes S son binarias y de tamaño 2k x 2k .

Método:

– El nodo raíz del árbol representa la imagen completa.

– Si un bloque tiene valor constante, su nodo es un nodo hoja; en otro caso, su nodo tiene cuatro descendientes correspondientes a los cuatro cuadrantes del bloque.

– El proceso se repite entonces para cada uno de esos nuevos nodos; así sucesivamente y como máximo k veces.

Page 13: Procesamiento digital de imagenes

13

Compresión de imagen eliminando la redundancia entre píxeles

• Representación por bloques: Árboles cuaternarios

Ejemplo: imagen binaria 23 x 23 Árbol cuaternario de altura 3.

El orden de los hijos de cada fila es NO, NE, SO, SE.

El espacio para almacenar el árbol es proporcional al número de nodos.No hay redundancia en cuanto a píxeles que aparezcan en dos nodos.

Page 14: Procesamiento digital de imagenes

14

Compresión de imagen eliminando la redundancia entre píxeles

• Los quadtrees tienen otras aplicaciones como indexación, segmentación de imágenes, análisis de elementos finitos, detección de colisiones, etc.

• En 3D se usan octrees.

Page 15: Procesamiento digital de imagenes

15

Compresión de imagen eliminando la redundancia psicovisual

• La codificación con pérdida se basa en la idea de comprometer la precisión de la imagen descomprimida con el fin de lograr una mayor compresión.

• Se necesitan indicadores que nos permitan medir el error que se comete después de comprimir y descomprimir con respecto a la imagen original.

• Por ejemplo, el error cuadrático medio en una imagen MxN, viene dado por:

con f(x,y) la imagen original y (x,y) la imagen obtenida después de comprimir y descomprimir.

f

Page 16: Procesamiento digital de imagenes

16

Codificación por transformaciónen bloques

• La imagen se divide en bloques de nxn y en cada uno de ellos se realiza una codificación por transformación.

• Para codificar se utiliza una transformada lineal, reversible, para hacer corresponder la imagen con un conjunto de coeficientes de la transformada, que después se cuantifican y se codifican.

Page 17: Procesamiento digital de imagenes

17

Codificación por transformaciónen bloques

• En la mayor parte de las imágenes naturales, un número significativo de coeficientes (en el dominio transformado) tiene pequeñas magnitudes y se pueden cuantificar de forma poco precisa (o se pueden eliminar totalmente) sin que ello suponga una distorsión apreciable en la imagen.

• En general no se utiliza compresión con pérdida en Imágenes Médicas

Page 18: Procesamiento digital de imagenes

18

Transformadas de la Imagen• Suponiendo que la imagen tiene tamaño NxN, su transformada

puede expresarse de la forma:

Donde:

– T(u,v) es la transformada de f(x,y); – g(x,y,u,v) es el núcleo (o kernel) de la transformada directa;– u y v toman valores de 0 a N-1.

• La transformada inversa se expresa como:

donde h(x,y,u,v) es el núcleo de la transformada inversa.

Page 19: Procesamiento digital de imagenes

19

Codificación por transformación en bloques• El núcleo directo es separable si g(x,y,u,v) = g

1(x,u) g

2(y,v).

– Luego, la transformada bidimensional se puede calcular realizando dos transformadas unidimensionales

• Además el núcleo es simétrico si g1 y g

2 son iguales.

Page 20: Procesamiento digital de imagenes

20

Codificación por transformación en bloques

Expresión matricial:

• Si el núcleo g(x,y,u,v) es separable y simétrico, la transformada se puede expresar en forma matricial. Sean F, G y T las matrices de elementos:

• La transformada:

puede escribirse de la forma:

• Para obtener la transformada inversa, se multiplica a derecha e izquierda por la matriz inversa de G y de su traspuesta:

Page 21: Procesamiento digital de imagenes

21

La Transformada de Fourier

• La transformada de Fourier es una importante herramienta de procesamiento.

• Se usa para descomponer una imagen en sus componentes de seno y coseno.

• La salida de la transformada es una imagen en el dominio de Fourier (dominio de la Frecuencia), mientras que la imagen de entrada está en el dominio espacial.

• En el dominio frecuencial, cada punto de la imagen representa una frecuencia particular contenida en el dominio espacial.

• Aplicaciones en análisis, filtrado, reconstrucción y compresión de imágenes.

Page 22: Procesamiento digital de imagenes

22

La Transformada de Fourier

• La transformada de Fourier de una función continua e integrable en una variable real x, se define por:

• La transformada multiplica la función por un set de funciones bases de senos y cosenos de frecuencia creciente:

• La variable u recibe el nombre de variable de frecuencia.

• La transformada de una función real es una función compleja. F(u) = R(u) + I(u)i, donde R(u) e I(u) son la parte real e imaginaria de F(u).

eiux=cos ux +i∗sen ux i=−1

Page 23: Procesamiento digital de imagenes

23

La Transformada de Fourier

• Ejemplo de funciones base: senos y cosenos, donde varía la frecuencia.• Las amplitudes de éstas son calculadas mediante la TF y dependen de la función analizada.

Page 24: Procesamiento digital de imagenes

24

La Transformada de Fourier Ejemplo para una señal unidimensional periódica (utiliza Serie de Fourier)

señal unidimensional

peródica

aproximación con una

función base

aproximación con dos

funciones base

aproximación con tres

función base

Page 25: Procesamiento digital de imagenes

25

La Transformada de Fourier

• Ejemplo para una señal periódica (utiliza Serie de Fourier)• Componentes en Frecuencia de la Señal

(A) oscilación sobre un valor medio(B) representacón por una forma lineal(C) y (E) representación por una suma de ondas:La onda C describe la forma B mucho peor que las cinco ondas del gráfico D que vemos sumadas en E.

Page 26: Procesamiento digital de imagenes

26

La Transformada de Fourier• El módulo de F(u), recibe el nombre del

Espectro de Fourier.

• El cuadrado del espectro se denomina espectro de potencias ó densidad espectral de f(x).

• Su ángulo P(u) = arctg( I(u)/R(u) ) recibe el nombre de fase.

F u = R u 2+I u

2

• ejemplo para una señal transitoria

densidad espectral

fase

frecuencia

frecuencia

tiempo

frecuencia

niveles

Page 27: Procesamiento digital de imagenes

27

La Transformada de Fourier

• La inversa de su transformada se define como:

• Análogamente, se define la Transformada de Fourier de una función continua e integrable de 2 variables:

y su inversa como:

Page 28: Procesamiento digital de imagenes

28

La Transformada de Fourier Discreta (DFT) Bidimensional

• Sea f(a,b) una imagen en niveles de grises (dominio espacial), tal que:

– x=0,1,...,N-1, y=0,1,…,N-1 (imagen cuadrada de NxN)

– f(a,b) toma valores discretos representando el nivel de gris del píxel (a,b)

entonces, la Transformada Discreta de Fourier de la imagen consiste en una función F(k,l) tal que k=0,1,...,N-1 y l=0,1,...,N-1:

y su inversa como:

el término exponencial es la función base correspondiente al punto F(k,l) en el espacio de Fourier.

Page 29: Procesamiento digital de imagenes

29

La Transformada de Fourier discreta• La DFT no contiene todas las frecuencias que forman la imagen,

pero el número de muestras es suficiente para describir la imagen en el dominio espacial.

• El número de frecuencias corresponde al número de píxeles en el dominio espacial de la imagen, i. e., las imágenes en los dominio Espacial y de Fourier tienen el mismo tamaño.

INTREPRETACIÓN

El valor de cada punto F(k,l) es obtenido al multiplicar la imagen espacial con la función base correspondiente y adicionar el resultado.

Las funciones base son el seno y el coseno con frecuencias crecientes. F(0,0) representa el valor promedio de la imagen.

F(N-1,N-1) representa la más alta frecuencia.

Page 30: Procesamiento digital de imagenes

30

Propiedades de la Transformada de Fourier

Transformada de Fourier Discreta (TFD) bidimensional

Núcleo separable y simétrico

• La ventaja que aporta esta propiedad es el hecho de poder obtener la transformada F(k,l) (o la inversa f(a,b)) en dos pasos, mediante la aplicación de la Transformada de Fourier 1-D (o su inversa):

donde:

La matriz de la transformada se puede obtener mediante un producto de matrices T=AT FA

Page 31: Procesamiento digital de imagenes

31

Propiedades de la Transformada de FourierLa linealidad

• La transformada de Fourier y su inversa son transformaciones lineales, es decir, poseen la propiedad distributiva respecto de la suma.

La traslación

• Caso particular: mover el origen de la TF de f(a,b) al centro de la matriz N X N, es decir al punto (N/2,N/2). Para ello, podemos hacer uso de que:

TF[ f(a,b)(-1)x+ya] se hace corresponder con F(k-N/2, l-N/2).

• Un desplazamiento en la función f(a,n), no provocará un cambio en la magnitud de su transformada de Fourier:

(se traslada el origen de la transformada a (K, L))

TF [ f a,b ei2pi Ka+Ly

N ]=F k−K,l−L

TF [ f a−A,b−B ]=F k,l e−i2pi kA+lB

N

F k,l e−i2pi kA+lB

N = F k,l

Page 32: Procesamiento digital de imagenes

32

La Transformada de Fourier

La simetría y periodicidad

• Si f(a,b) es real, la transformada de Fourier satisface:

|F(k,l)|=|F(-k, -l)|

• La transformada discreta de Fourier y su inversa son funciones periódicas de periodo N; es decir,

F(k,l) = F(k+N, l) = F(k, l+N) = F(k+N, l+N)

Consecuencia:

• Si se desplaza el origen de la transformada al punto (N/2, N/2), para calcular la transformada de Fourier, F(k-N/2, l-N/2), en un periodo completo sólo necesitamos calcularla en los N/2 + 1 puntos primeros.

Page 33: Procesamiento digital de imagenes

33

La Transformada de Fourier

La simetría y periocidad

imagen

Espectro de Fourier sin desplazamiento

Espectro de Fourier sin desplazado al centro de la imagen

Page 34: Procesamiento digital de imagenes

34

La Transformada de Fourier

La rotación

Si rotamos la función f(a,b) un ángulo determinado, la transformada de Fourier también será afectada por una rotación del mismo ángulo.

Esta propiedad también se da a la inversa, es decir, si la transformada se rota en un determinado ángulo, la transformada inversa también se verá rotada ese mismo ángulo.

Page 35: Procesamiento digital de imagenes

35

La Transformada de Fourier

Representación del logaritmo del espectro

• El espectro de Fourier suele tener un rango mucho mayor que los usuales para mostrar una imagen. Una técnica usual es considerar el logaritmo del espectro usando la fórmula

D(k,l) = C( log( 1+|F(k,l)| ) )

donde C es una constante adecuada de reescalamiento de la imagen, que se aplica para obtener valores dentro de la paleta de colores disponible.

Page 36: Procesamiento digital de imagenes

36

La Transformada de Fourier

Valor Promedio

• Una definición ampliamente utilizada del valor promedio de una función discreta de dos dimensiones es:

Propiedad:

Esto quiere decir que en el centro de la imagen (si tenemos la FT centrada), tenemos el valor medio de la imagen o componente constante.

Page 37: Procesamiento digital de imagenes

37

La Transformada de Fourierimagen DFT (punto amplificado) DFT escala logarítmica

fase imagen reconstruida sin faseen procesamiento de imágenes normalmente se usa sólo la magnitud para obtener información pero la fase es necesaria para aplicar la transformada inversa

Page 38: Procesamiento digital de imagenes

38

La Transformada de Fourier

Imagen con líneas verticales de 2 píxeles de ancho

DFT(puntos amplificados)

imagen

La frecuencia máxima que puede representar la imagen es: fmax = 1 / (2 píxeles)La frecuencia que contiene la imagen es: f = 1 / (4 píxeles) = fmax / 2 (en la mitad del rango)

componente DC (valor promedio)

Page 39: Procesamiento digital de imagenes

39

La Transformada de Fourier

DFT(puntos amplificados)

imagen

Imagen con líneas oblícuas

Se necesitan más frecuencias para representar las líneas en diagonal con las funciones base.

Page 40: Procesamiento digital de imagenes

40

La Transformada de Fourier

DFT(puntos obtenidos con segmentación por valor umbral y

amplificados)

DFT en escala logarítmica

Imagen con líneas oblícuas

Page 41: Procesamiento digital de imagenes

41

La Transformada de Fourier

Distributividad con respecto a la adición

imagen reconstruida con la DFT inversa

(se obtiene el equivalente a una suma de las dos imágenes

originales en el dominio espacial)

suma de las DFTs (complejas) de las 2 imágenes anteriores

(puntos amplificados)

zoom

Page 42: Procesamiento digital de imagenes

42

La Transformada de Fourier

Filtrado en Frecuencia (Filtro pasa bajos)

imagen reconstruida con la DFT inversa

(las líneas oblícuas presentan variaciones de más baja frecuencia en los bordes

(suavizado))

DFT en escala logarítmica

(selección de bajas frecuencias)

Page 43: Procesamiento digital de imagenes

43

La Transformada de Fourier

Filtrado en Frecuencia (Filtro pasa bajos)

Page 44: Procesamiento digital de imagenes

44

La Transformada de Fourier

Filtrado en Frecuencia (Filtro pasa altos)

parte real positiva FFT(espectro) amplitud

parte real + parte DC (punto al centro del espectro)

Page 45: Procesamiento digital de imagenes

45

La Transformada de Fourier

Ejemplo: búsqueda de orientación de un texto

DFTimagen

Page 46: Procesamiento digital de imagenes

46

La Transformada de Fourier

DFTimagen rotada

Ejemplo: búsqueda de orientación de un texto

Page 47: Procesamiento digital de imagenes

47

La Transformada de Fourier

• ver sitios:

http://www.cs.unm.edu/~brayer/vision/fourier.html

http://homepages.inf.ed.ac.uk/rbf/HIPR2/fourier.htm

• ver applet:

http://escher.epfl.ch/fft/

Page 48: Procesamiento digital de imagenes

48

La Transformada Coseno

• Utiliza sólo funciones coseno.

• Tiene la ventaja de entregar como salida una imagen real y que es una transformada rápida.

• Se utiliza en compresión de imágenes (JPEG)

• Después de calcular la transformada, es posible descartar los coeficientes que codifican las componentes de alta frecuencia

• La cantidad de información puede reducirse sin afectar seriamente la forma cómo la imagen es percibida por el ojo humano.

Page 49: Procesamiento digital de imagenes

Transformada del CosenoDiscreta (DCT)

• En la transformada del coseno discreta (DCT) los vectores base son funciones cosenos muestreadas, resultando siempre real.

• La DCT muestra una alta compactación de la energía para datos altamente correlacionados, por lo que se ha convertido en una de las preferidas en cuanto a la compresión de datos de imágenes.

Page 50: Procesamiento digital de imagenes

Transformada del CosenoDiscreta (DCT)

• La transformada del coseno es real y ortogonal.• En 2D las funciones base son vectores.• En 3D las funciones base son matrices.• Debido a la ortogonalidad de las funciones base, el producto

de cualquiera de estos dos vectores (o matrices), sumados a lo largo de todos los puntos de muestreo, produce un resultado nulo.

Page 51: Procesamiento digital de imagenes

Transformada del CosenoDiscreta (DCT)

La DCT unidimensional se define de la siguiente forma:

De forma análoga definimos la DCT inversa:

donde, para ambas ecuaciones:

Page 52: Procesamiento digital de imagenes

Transformada del CosenoDiscreta (DCT)

• Funciones bases cosinoidales 1D

Page 53: Procesamiento digital de imagenes

Transformada del CosenoDiscreta (DCT)

Podemos definir ahora la DCT bidimensional donde, f (x,y) es la imagen y C(u,v) su transformada:

para u,v = 0:N-1

para x,y = 0:N-1

Page 54: Procesamiento digital de imagenes

Transformada del CosenoDiscreta (DCT)

• Ejemplos de la DCT para diferentes imágenes. En este caso se calcula DCT de la imagen completa (no de un bloque).

Page 55: Procesamiento digital de imagenes

Transformada del CosenoDiscreta (DCT)

• Representación gráfica de las NxN matrices base, asumiendo que cada elemento de una matriz base corresponde a un nivel de gris

Conjunto de 64 funciones base cosinusoidales bidimensionales (imágenes base) que se generaron al multiplicar un conjunto de funciones base unidimensionales (de ocho puntos)orientadas horizontalmente por un conjunto verticalmente orientado de las mismas funciones.

Page 56: Procesamiento digital de imagenes

Transformada del CosenoDiscreta (DCT)

• El bloque original NxN se descompone en una combinación lineal de estas matrices:

∑ y ij⋅¿

¿

X

=

Los coeficientes de la combinación lineal son los coeficientes de la DCT.

La compresión JPEG considera sólo los coeficientes más inportantes, correspondientes a las frecuencias más bajas (arriba e izquierda).