Utp pdiva_s6_fundamento matematico del pdi

Post on 20-Jul-2015

2.577 views 0 download

Transcript of Utp pdiva_s6_fundamento matematico del pdi

Procesamiento Digital de Imágenes

y Visión Artificial

(PS02)

Facultad de Ingeniería Electrónica y Mecatrónica

(PS02)

Sesión: 6

Ing. José C. Benítez P.

Fundamentos matemáticos del PDI

Sesión 6. Fundamentos matemáticos

� Secuencias

� Tipos básicos de secuencias

� Propiedades de una secuencia

� Números complejos:

� Representación cartesiana: Operaciones básicas

� Representación polar: Operaciones básicas

� Teorema de De Moivre

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.2

� Transformada de Fourier: Twiddle

� Propiedades de la DFT:

� Periodicidad de la DFT

� Simetría de la DFT

� Inversa de la DFT

� Respuesta en frecuencia de un sistema

� Transformada rápida de Fourier (FFT)

� Mariposa de N puntos

� Aplicaciones de la FFT

Secuencias

� Una secuencia es una función cuyo dominio es el conjunto de los números enteros. Se expresan mediante:

� Enumeración: x[n] = {1; 2; 3; 4; 5}

� Formulación: x[n] = n + 1, 0 <= n <= 4

� El primer elemento definido corresponde a x[0] (en caso contrario el elemento correspondiente a x[0] se subraya) y

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.3

contrario el elemento correspondiente a x[0] se subraya) y los valores no definidos se consideran nulos:

� x[n] = {1; -1; 1; -1; 1}

� La longitud de una secuencia se define como el número de muestras contenidas en el intervalo más estrecho que recoge todas las muestras no nulas y que contiene a x[0]:

� x[n] = {1; 1; 0; 2; 3; 0; 0; 1} => long(x[n]) = 8

Tipos básicos de secuencias

� Muestra unitaria (MU) o delta:

� δ[n] = 1, n = 0

� Escalón unitario:

� µ[n] = 1, n >= 0

� Signo:

� signo[n] = 1, n > 0

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.4

� signo[n] = 1, n > 0

� signo[n] = 0, n = 0

� signo[n] = -1, n < 0

� Pulso:

� pL[n] = 1, 0 <= n < L

� Exponencial:

� x[n] = an

� Sinusoidal:

� x[n] = A sen(w0n + R)

Operaciones con secuencias

� Suma: consiste en sumar sus elementos de dos en dos (tomando uno de cada secuencia). Ejemplo:

a[n] = {1; 2; 3; 4; 5}b[n] = {1; 0; 1; -1; -2}a[n] + b[n] = {2; 2; 4; 3; 3}

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.5

a[n] + b[n] = {2; 2; 4; 3; 3}

� Escalado: consiste en multiplicar una secuencia a[n] por un escalar K. Es decir, multiplicar cada elemento de a[n] por K. Ejemplo:

a[n] = {1; 2; 3; 4; 5}2a[n] = {2; 4; 6; 8; 10}

Operaciones con secuencias

� Producto: Consiste en multiplicar sus elementos de dos en dos (tomando uno de cada secuencia).

Ejemplo:

a[n] = {1; 2; 3; 4; 5}

b[n] = {1; 0; 1; -1; -2}

a[n]b[n] = {1; 0; 3; -4; -10}

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.6

Nota. En matLab: a[n].*b[n]

� Desplazamiento: la operación de desplazamiento (también llamada retardo) consiste en desplazar los elementos de una secuencia a[n] un determinado número K de muestras.

Ejemplo:

a[n] = {1; 2; 3; 4; 5}a[n − 3] = {0; 0; 0; 1; 2; 3; 4; 5}

Operaciones con secuencias

� Convolución (Suma de): se denota con un asterisco (*) y se calcula como:

c[n] = a[n] * b[n] = Σk=-∞,∞ a[k]b[n – k]

� Longitud de la convolucion siempre es 1 menos que la

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.7

� Longitud de la convolucion siempre es 1 menos que la suma de las longitudes:

long(a[n] * b[n]) = long(a[n]) + long(b[n]) - 1

Operaciones con secuencias

� Diagrama de flujo de una convolución (c[n] = a[n] * b[n])

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.8

� Técnica rápida para calcular la convolución entre a[n] = {1; -2; 3} y b[n] = {-1; 0; 2}. Deben multiplicarse los elementos entre sí y sumar las diagonales: a[n] * b[n] = {-1; 2; -1; -4; 6}.

Operaciones con secuencias

Convolucion Discreta: Método de la Tira Deslizante (Sliding Strip Method)

Dado x[n]={2;5;0;4} h[n]={4;1;3}.

Hallar la convolucion y[n]=x[n]*h[n]

Nota. Las dos secuencias empiezan en 0 (cero).

Hacemos el “reflejo” de una

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.9

Hacemos el “reflejo” de una de ellas: h[-n]={3;1;4}

Convolucion Discreta es: y[n]={8,22,11,31,4,12}Dado ts=1/2.La Convolucion numérica es: {4,11,5.5,15.5,2,6}

Operaciones con secuencias

Convolucion Discreta: Método de la Suma por columnas

Hacemos el mismo ejemplo:

Dado x[n]={2;5;0;4} h[n]={4;1;3}. Hallar la convolucion y[n]=x[n]*h[n]

Nota. Las dos secuencias empiezan en 0 (cero).

“No es necesario reflejar” una de las secuencias.

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.10

“No es necesario reflejar” una de las secuencias.

Convolucion Discreta es: [8,22,11,31,4,12]

Operaciones con secuencias

Convolucion Discreta: Método de la MallaHacemos el mismo ejemplo:

Dado x[n]={2;5;0;4} h[n]={4;1;3}. Hallar la convolucion y[n]=x[n]*h[n]

Nota. Las dos secuencias empiezan en 0 (cero).

“No es necesario reflejar” una de las secuencias.

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.11

Operaciones con secuencias

� Propiedades de la convolución:

� Conmutativa:

a[n] * b[n] = b[n] * a[n]

� Asociativa:

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.12

(a[n] * b[n]) * c[n] = a[n] * (b[n] * c[n])

� Distributiva respecto a la suma:

a[n] * (b[n] + c[n]) = a[n] * b[n] + a[n] * c[n]

� Elemento neutro (δ[n] es la secuencia delta):

a[n] * δ[n] = a[n]

Operaciones con secuencias

� Correlación y autocorrelacion:

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.13

Operaciones con secuencias

� Correlación y autocorrelacion:

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.14

Propiedades de una secuencia

� Una secuencia es causal si y sólo si todas sus muestras anteriores a n = 0 son nulas:

causal(x[n]) <=> x[n] = 0, n < 0

� En oposición a esto podemos hablar de secuencias anticausales. Es decir, secuencias cuyas muestras

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.15

anticausales. Es decir, secuencias cuyas muestras son nulas para n >= 0:

anticausal(x[n]) <=> x[n] = 0, n >= 0

Propiedades de una secuencia

� Se definen como parte causal y parte anticausal de una secuencia los conjuntos de muestras correspondientes:

� La parte causal de una secuencia x[n] es el conjunto de muestras correspondientes a n >= 0

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.16

conjunto de muestras correspondientes a n >= 0

� La parte anticausal es el conjunto de muestras correspondientes a n < 0

Propiedades de una secuencia

� Una secuencia es finita si y sólo si su longitud lo es (en caso contrario se trataría de una secuencia infinita):

finita(x[n]) <=> long(x[n]) < ∞

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.17

finita(x[n]) <=> long(x[n]) < ∞

� Una secuencia es acotada si y sólo si todas sus muestras tienen un valor finito:

acotada(x[n]) <=> |x[n]| < ∞

Representación cartesiana de complejos

� El conjunto de los números complejos (C) supone la conjunción de los números reales y de los números imaginarios.

� Cualquier número complejo x será un vector de dos componentes: una real, denominada parte real, Re(x), y otra imaginaria, parte imaginaria, Im(x):

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.18

Re(x), y otra imaginaria, parte imaginaria, Im(x):

x = Re(x) + j Im(x)

� Para representar un número complejo, es necesario hacerlo en un diagrama de Argand: diagrama bidimensional cuyos ejes de abscisas y ordenadas representan la parte real e imaginaria respectivamente.

Operaciones básicas con complejos en notación cartesiana

� Igualdad:

a + jb = c + jd <=> a = c y b = d

� Adición:

(a + jb) + (c + jd) = (a + c) + j(b + d)

� Sustracción:

(a + jb) - (c + jd) = (a - c) + j(b - d)

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.19

(a + jb) - (c + jd) = (a - c) + j(b - d)

� Producto:

(a + jb)(c + jd) = (ac - bd) + j(ad + bc)

� Cociente:

(a + jb) / (c + jd) = [(ac + bd) + j(bc - ad)] / (c2 - d2)

� Conjugación:

(a + jb)* = a - jb

Representación polar de complejos

�Complejo:

x = Re(x) + j Im(x)

�Equivalencias:

|x| = √(Re2(x) + Im2(x)) = A

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.20

fase(x) = arctan[Im(x) / Re(x)] = a

Re(x) = |x|cos fase(x)

Im(x) = |x|sen fase(x)

�Función exponencial compleja:

x = |x|ej fase(x) = Aeja

Operaciones básicas con complejos en notación polar

�Producto:

Aeja Bejb = ABej(a + b)

�Cociente:

Aeja / Bejb = (A / B)ej(a - b)

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.21

� Equivalencia trigonométrica:

Aeja = A(cos a + j sen a)

�Conjugación:

(Aeja)* = Ae-ja

Teorema de De Moivre

�En la exponenciación de complejos no pueden emplearse las reglas algebraicas. Hay que seguir el teorema de DeMoivre:

Zk => [A(cos a + j sen a)]k

=> (Aeja)k = Akejka

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.22

=> (Aeja)k = Akejka

=> Ak(cos ka + j sen ka)

�Para Zk existe más de una solución por lo que hay que poner especial cuidado en la exponenciación de complejos.

Transformada de Fourier

� Debe su nombre al matemático francés Jean Baptiste Joseph Fourier (1768-1830).

� Esta transformación consigue llevar una señal expresada en el dominio del tiempo al dominio de la frecuenciaexpresándola como la suma de muchas funciones exponenciales complejas.

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.23

exponenciales complejas.

� En función de su continuidad, existen dos transformadas de Fourier utilizadas en el PDS:

� Discrete Time Fourier Transform (DTFT)

� Discrete Fourier Transform (DFT)

Transformada de Fourier

� Transformación: llevar una señal expresada en el dominio del tiempo al dominio de la frecuencia expresándola como la suma de muchas funciones exponenciales complejas.

� Discrete Time Fourier Transform (DTFT):

Transforma una secuencia en el tiempo, a su equivalente

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.24

Transforma una secuencia en el tiempo, a su equivalente frecuencial en forma de función compleja continua:

X(ω) = DTFT{x[n]} = Σn=-∞,∞ x[n]e-jωn

� Discrete Fourier Transform (DFT):

Transforma una secuencia en el tiempo, a su equivalente frecuencial en forma de función compleja discreta (es la que puede calcularse en un computador):

X[k] = DFT{x[n]} = Σn=0,N-1 x[n]e-j2πnk/N

Twiddle

� Considerando la ecuación de la DFT:

X[k] = DFT{x[n]} = Σn=0,N-1 x[n]e-j2πnk/N

� Teniendo en cuenta que N es la longitud de x[n], es muy común extraer el factor WN = e-j2π/N, llamado twiddle, con lo que la ecuación de la DFT queda así:

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.25

que la ecuación de la DFT queda así:

X[k] = DFT{x[n]} = Σn=0,N-1 x[n]WNnk

= x[0]WN0k + x[1]WN

1k + … + x[N-1]WN(N-1)k

Ejemplo de DFT

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.26

� Ejemplo de DFT: Señal suma de

dos sinusoides de 1 Hz y 2 Hz

respectivamente (fs = 5 Hz)

Ejemplo de DFT

• Ejercicio. Visualizar la DFT de una señal discreta, que es calculada como un conjunto finito de frecuencias. Sea la señal (secuencia)

h[n] = δ [n] + 0.5 δ [n − 1] + 0.2 δ[n − 2]

>> h=[1 0.5 0.2]

>> stem(h)

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.27

>> stem(h)

Calculamos 128 valores de la DFT:

>> H=fft(h,128);

El vector H recoge los valores de la función H(ejw) en las siguientes frecuencias:

wk =2πk/128 , k = 0, · · · , 127

Ejemplo de DFT

Para visualizar la DFT hay que tener en cuenta que el vector H contiene valores complejos, por lo que tendremos que representar por separado su magnitud y su fase:>> stem(2*pi*(0:127)/128,abs(H));>> stem(2*pi*(0:127)/128,angle(H));

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.28

Periodicidad de la DFT

� Consiste en que la DFT, X[k], de una señal en tiempo discreto x[n], es periódica (su periodo es la longitud de x[n]: N)

� Sea x[n] una señal en tiempo discretode longitud N. Se cumple que:

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.29

X[k] = DFT{x[n]} => X[k] = X[k mod N]

� Lo que equivale a decir que:

X[k] = DFT{x[n]} => X[k] = X[k + aN], a εεεε Z

Simetría de la DFT

�Consiste en que la transformada discreta de Fourier, X[k], de una señal real en tiempo discreto, x[n], presenta simetría hermítica:

x[n] ∈ ℝ y X[k] = DFT{x[n]} => X[k] = X[-k]*

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.30

∈ ℝ

X[k] = DFT{x[n]} => X[k] = X[-k]*

Inversa de la DFT

� La transformada discreta de Fourier (DFT), se calcula:

X[k] = DFT{x[n]} = Σn=0,N-1 x[n] e-j2πnk/N

X[k] = DFT{x[n]} = Σn=0,N-1 x[n] WNnk ; WN = e-j2π/N

� La inversa de la transformada discreta de Fourier (InverseDiscrete Fourier Transform, IDFT) se calcula de manera muy

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.31

Discrete Fourier Transform, IDFT) se calcula de manera muy similar a la transformada directa de acuerdo con la siguiente ecuación (N es la longitud de x[n]):

x[n] = IDFT{X[k]} = (1 / N) Σn=0,N-1 X[k] WN-nk

� Como se verá más adelante esta similitud entre las dos formas de la transformada (forma directa y forma inversa) nos permite calcular la inversa a partir de la directa y, por tanto, aprovechar cualquier algoritmo que calcule la transformada directa para obtener la forma inversa.

Respuesta en frecuencia de un sistema

� El modelo de respuesta en frecuencia de un sistema describe su comportamiento en términos de su efecto en la amplitud y la fase de las componentes frecuenciales que lo atraviesan.

� Esta descripción se realiza mediante la función de respuesta en frecuencia que se calcula como la

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.32

respuesta en frecuencia que se calcula como la transformada de Fourier de la respuesta al impulso unitario del sistema:

H(ω) = DTFT{h[n]}

H[k] = DFT{h[n]}

Tipos básicos de secuencias

Cuadro resumen

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.33

H[k] = DFT{h[n]}

Transformada rápida de Fourier (FFT)

� La transformada rápida de Fourier (Fast Fourier Transform, FFT) fue descrita por James Cooley y John W. Tukey en 1965 y no es propiamente una transformada.

� Se trata en realidad de un algoritmo que permite

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.34

� Se trata en realidad de un algoritmo que permite calcular la DFT en tiempo logarítmico.

� Debería por tanto considerarse más bien como algoritmo FFT para hallar la DFT.

Transformada rápida de Fourier (FFT)

�Si observamos la fórmula de la DFT:

X[k] = DFT{x[n]} = Σn=0,N-1 x[n]e-j2πnk/N

vemos que su aplicación directa es de orden: o(n2).

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.35

vemos que su aplicación directa es de orden: o(n2).

�El objetivo de la FFT es calcular la DFT en orden logarítmico: o(n log2 n).

Transformada rápida de Fourier (FFT)

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.36

Diagrama de flujo de una FFT de una señal de 4 elementos

Transformada rápida de Fourier (FFT)

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.37

Diagrama de flujo de una FFT de una señal de 8 elementos

Transformada rápida de Fourier (FFT)

Diagrama de flujo de una FFT de una señal de 16 elementos

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.38

Mariposa de N puntos

• Cómo puede observarse, el algoritmo FFT es recursivo.

• El caso base de cualquier procesamiento FFT es la mariposa.

• Una mariposa de N puntos es una

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.39

• Una mariposa de N puntos es una función/circuito (según se trate de una implementación software o hardware) capaz de calcular la FFT de una secuencia de N elementos de manera directa (sin necesidad de recursión).

Propiedades de una secuencia

• El caso base más habitual es la mariposa de 2 puntos:

X[k] = DFT{x[n]} = Σn=0,N-1 x[n]e-j2πnk/N

Y[0] = x[0] + x[1]

Y[1] = x[0] - x[1]

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.40

Propiedades de una secuencia

The standard strategy to speed up an algorithm is to divide and conquer. We have to find some way to group the terms in the equation

V[k] = Σn=0..N-1 WNkn v[n]

Let's see what happens when we separate odd ns from even ns (from now on, let's assume that N is even):

V[k] = Σ W kn v[n] + Σ W kn v[n]

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.41

V[k] = Σn even WNkn v[n] + Σn odd WN

kn v[n]

= Σr=0..N/2-1 WNk(2r) v[2r] + Σr=0..N/2-1 WN

k(2r+1) v[2r+1]

= Σr=0..N/2-1 WNk(2r) v[2r] + Σr=0..N/2-1 WN

k(2r) WNk v[2r+1]

= Σr=0..N/2-1 WNk(2r) v[2r] + WN

k Σr=0..N/2-1 WNk(2r) v[2r+1]

= (Σr=0..N/2-1 WN/2kr v[2r]) + WN

k (Σr=0..N/2-1 WN/2kr v[2r+1])

where we have used one crucial identity:

WNk(2r) = e-2πi*2kr/N = e-2πi*kr/(N/2) = WN/2

kr

Propiedades de una secuencia

Notice an interesting thing: the two sums are nothing else but N/2-point Fourier transforms of, respectively, the even subset and the odd subset of samples. Terms with k greater or equal N/2 can be reduced using another identity:

WN/2m+N/2 = WN/2

mWN/2N/2 = WN/2

m

which is true because Wmm = e-2πi = cos(-2π) + i sin(-2π)= 1.

If we start with N that is a power of 2, we can apply this subdivision

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.42

If we start with N that is a power of 2, we can apply this subdivision recursively until we get down to 2-point transforms.

We can also go backwards, starting with the 2-point transform:

V[k] = W20*k v[0] + W2

1*k v[1], k=0,1

The two components are:

V[0] = W20 v[0] + W2

0 v[1] = v[0] + W20 v[1]

V[1] = W20 v[0] + W2

1 v[1] = v[0] + W21 v[1]

We can represent the two equations for the components of the 2-point transform graphically using the, so called, butterfly

Propiedades de una secuencia

This graph can be further

simplified using this identity:

WNs+N/2 = WN

s WNN/2

= -WNs

which is true because

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.43

which is true because

WNN/2 = e-2πi(N/2)/N

= e-πi

= cos(-π) + isin(-π)

= -1

Here's the simplified butterfly:

Y[0] = x[0] + x[1]

Y[1] = x[0] - x[1]

Propiedades de una secuencia

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.44

Aplicaciones de la FFT

Tiene 3 aplicaciones fundamentales en DSP:

� Cálculo de la DFT en tiempo logarítmico.

� Cálculo de la IDFT en tiempo logarítmico.

� Interpolación de señales.

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.45

Cálculo de la DFT mediante FFT

• Esta aplicación es obvia y consiste simplemente en aplicar el algoritmo FFT a la señal:

X[k] = DFT{x[n]} = FFT{x[n]}

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.46

X[k] = DFT{x[n]} = FFT{x[n]}

Cálculo de la IDFT mediante FFT

• Para comprender la aplicación de la transformada rápida al cálculo de la inversa de la transformada discreta basta analizar la ecuación de esta última y comprobar cómo puede obtenerse a partir de la transformada discreta:

x[n] = IDFT{X[k]}

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.47

x[n] = IDFT{X[k]}

= (1 / N) (Σn=0,N-1 X[k]ej2πnk/N)**

= (1 / N) (Σn=0,N-1 X[k]*e-j2πnk/N)*

= (1 / N) DFT{X[k]*}*

= (1 / N) FFT{X[k]*}*

Interpolación mediante FFT

• Consiste en interpolar una secuencia mediante su paso al dominio frecuencial y posterior paso al dominio del tiempo.

• Esta técnica se basa en calcular la transformada discreta y rellenarla con ceros en su zona central. Al calcular ahora la inversa de la transformada se

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.48

Al calcular ahora la inversa de la transformada se obtiene la secuencia original pero interpolada.

• Sin embargo, durante este cambio de dominio se produce un desajuste en la amplitud de las muestras de la secuencia debido a que la longitud de la secuencia original es menor que la longitud de la nueva secuencia. Este efecto puede compensarse de una manera muy sencilla tal como se verá a continuación.

Interpolación mediante FFT

El proceso de interpolación puede realizarse a través de los siguientes pasos:

1. Sean v[n] la secuencia original, N su longitud y Mla cantidad de muestras deseada en la secuencia resultante. M > N.

2. Calculamos la transformada discreta de v[n]:

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.49

2. Calculamos la transformada discreta de v[n]:

V[k] = DFT{v[n]}

3. Dividimos la secuencia V[k] en dos mitades:

V[k] = {V1[k]; V2[k]}

Interpolación mediante FFT

4. Creamos una nueva secuencia W[k] a partir de estas dos mitades insertando en su centro los ceros necesarios para que su longitud sea igual a M:

W[k] = {V1[k]; 0; 0; 0; ...; 0; 0; 0; V2[k]}

5. Calculamos la transformada inversa de W[k]:

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.50

5. Calculamos la transformada inversa de W[k]:

w0[n] = IDFT{W[k]}

6. Corregimos el desajuste de amplitud:

w[n] = (M / N) w0[n]

7. Una vez terminado el proceso, la secuencia w[n] interpola a la secuencia v[n]

Interpolación mediante FFT

NOTA: Transformada discreta en dos dimensiones: La técnica de interpolación puede extrapolarse a datos bidimensionales con lo que se convierte

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.51

datos bidimensionales con lo que se convierte también en una técnica de zoom para imágenes digitales.

Ejemplo de interpolación

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.52

Ejemplo de interpolación (de 16 a 256 muestras)

Tarea 7

1. Realizar los mapas semántico y/o mapas conceptuales de

todo el contenido de la Diapositiva de la Sesión 7.-

Fundamentos de Visión Artificial.

2. Adjuntar fuentes que le han ayudado a consolidar la tarea.

Presentación:

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 53

Presentación:

• Impreso y en USB el desarrollo de la tarea.

• Los mapas semánticos se deben hacer en PowerPoint y los mapas conceptuales en CMapTools. Adjuntar los archivos.

• En USB adjuntar las fuentes (05 PDFs, 05 PPTs y 01 Video.).

• La fuente debe provenir de una universidad.

NOTA: Las tareas son opcionales: Sirven solo para aumentar puntos a las notas de las practicas calificadas del curso.

Presentación

� Todas las fuentes deben presentarse en formato digital

(USB), dentro de una carpeta que lleve las iniciales del curso,

sus Apellidos, guion bajo y luego el numero de la Tarea.

Ejemplo:

PDS_BenitezPalacios_T6

54Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.

PDS_BenitezPalacios_T6

� La fuente debe conservar el nombre original y agregar

_tema.

Las Tareas que no cumplan las indicaciones

no serán recepcionados por el profesor.

Sesión 6. Fundamentos matemáticos

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 55