Vous êtes sur la page 1sur 67

Índice general

1. Introducción 6

2. Conceptos de la Teorı́a de Fourier 8


2.1. La transformada de Fourier continua de funciones continuas. . 8
2.2. La transformada de Fourier continua de funciones discretas. . 12
2.3. La frecuencia en el procesamiento de imágenes. . . . . . . . . 21

3. Descriptores de Fourier 25
3.1. Introducción a los descriptores de Fourier. . . . . . . . . . . . 25
3.2. Acondicionamiento de datos. . . . . . . . . . . . . . . . . . . . 26
3.3. Obtención de los descriptores de Fourier . . . . . . . . . . . . 29
3.4. Las propiedades de los descriptores de Fourier . . . . . . . . . 36
3.4.1. Traslación . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.4.2. Escalado . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4.3. Rotación . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4.4. Cambiar el origen del contorno . . . . . . . . . . . . . 42
3.4.5. Normalización . . . . . . . . . . . . . . . . . . . . . . . 44

4. Descriptores de Fourier Mejorados 49


4.1. Repaso de los conceptos más relevantes de los descriptores de
Fourier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2. Algoritmo de extracción de los descriptores de Fourier mejorados. 52
4.2.1. La base ortonormal Φ. . . . . . . . . . . . . . . . . . . 54
4.2.2. Procedimiento . . . . . . . . . . . . . . . . . . . . . . . 56

1
Lista de Figuras

2.1. La función pulso y el módulo de su transformada de Fourier . 10


2.2. La función pulso, (a), el módulo de su transformada de Fou-
rier bidimensional, (b), y la representación en 2-D de dicho
módulo, (c) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3. Base ortonormal de Fourier de parámetro k = 0 . . . . . . . . 14
2.4. Base ortonormal de Fourier de parámetro k = 213 . . . . . . . 15
2.5. Base ortonormal de Fourier de parámetro k = 426 . . . . . . . 15
2.6. Base ortonormal de Fourier de parámetro k = 852 . . . . . . . 16
2.7. Base ortonormal de Fourier de parámetro k = 1065 . . . . . . 16
2.8. Base ortonormal de Fourier de parámetro k = 1278 . . . . . . 17
2.9. Base ortonormal de Fourier de parámetro k = 1491 . . . . . . 17
2.10. TFD, evaluada en M = 10 muestras, de la función pulso de
longitud L = 5 muestras. . . . . . . . . . . . . . . . . . . . . . 19
2.11. Vector a[µ] reordenado, con la componente de continua en el
centro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.12. Imagen sinusoidal horizontalmente orientada, (a). Imagen si-
nusoidal a con la mitad de frecuencia, (b) . . . . . . . . . . . 22
2.13. Imagen original, (a), Filtro paso bajo en el dominio de la fre-
cuencia, (b), Imagen filtrada, (c) . . . . . . . . . . . . . . . . 23
2.14. Imagen original, (a), Filtro paso alto en el dominio de la fre-
cuencia, (b), Imagen filtrada, (c) . . . . . . . . . . . . . . . . 23
2.15. Imagen original, (a), Interferencia, (b), Imagen original jun-
to con la interferencia, (c), Dominio frecuencial de la imagen
con interferencia, (d), Filtro para eliminar la interferencia, (e),
Imagen filtrada, (f). . . . . . . . . . . . . . . . . . . . . . . . 24

3.1. Diferencia entre curva y función . . . . . . . . . . . . . . . . . 27


3.2. Orientación antihoraria del contorno C. . . . . . . . . . . . . . 28
3.3. Negro: Curva que define el valor de la coordenada x de los
pı́xeles del contorno C. Rojo: Curva define el valor de la coor-
denada y de los pı́xeles del contorno C. . . . . . . . . . . . . . 28

2
LISTA DE FIGURAS 3

3.4. Curva que representa el contorno de un objeto representada


mediante dos funciones . . . . . . . . . . . . . . . . . . . . . . 29
3.5. Reconstrucción del contorno usando 3 coeficientes. . . . . . . . 31
3.6. Módulo y fase de los 3 coeficientes seleccionados. . . . . . . . . 31
3.7. Reconstrucción del contorno usando 5 coeficientes. . . . . . . . 32
3.8. Módulo y fase de los 5 coeficientes seleccionados. . . . . . . . . 32
3.9. Reconstrucción del contorno usando 7 coeficientes. . . . . . . . 33
3.10. Módulo y fase de los 7 coeficientes seleccionados. . . . . . . . . 33
3.11. Reconstrucción del contorno usando 21 coeficientes. . . . . . . 34
3.12. Módulo y fase de los 21 coeficientes seleccionados. . . . . . . . 34
3.13. Reconstrucción del contorno usando 51 coeficientes. . . . . . . 35
3.14. Módulo y fase de los 51 coeficientes seleccionados. . . . . . . . 35
3.15. Operación de traslación con ∆x = 50 y ∆y = 300. . . . . . . . 38
3.16. Módulo y fase de los DF que originan el contorno desplazado. 38
3.17. Operación de escalado por un factor α = 1,5 . . . . . . . . . . 40
3.18. Módulo y fase de los DF que originan el contorno escalado. . . 41
3.19. θ = 30o , 60o , 90o , 120o , 150o , 180o , 210o , 240o , 270o , 300o , 330o . . . 42
3.20. Módulo y fase de los DF que originan la rotación del contorno. 42
3.21. Módulo y fase de los DF que cambian el origen del contorno. . 43
3.22. Operación de cambio de origen del contorno aproximado. . . . 44
3.23. Invarianza ante operaciones de traslación. . . . . . . . . . . . . 45
3.24. DF del contorno sin nivel de continua. . . . . . . . . . . . . . 45
3.25. Invarianza ante operaciones de escalado. . . . . . . . . . . . . 46
3.26. Invarianza ante operaciones de escalado. . . . . . . . . . . . . 46
3.27. DF del contorno invariante a operaciones de traslación, escala,
y rotación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.28. Invarianza ante operaciones de traslación, escala, y rotación. . 48

4.1. Una de las múltiples representaciones que puede tener la fun-


ción de perturbación. . . . . . . . . . . . . . . . . . . . . . . . 54
4.2. Los 5 vectores φµ al comienzo de la primera iteración cuando
γk = θk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.3. Los 5 vectores φ(4)
µ al comienzo de la cuarta y última iteración
cuando γk 6= θk . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.4. La aproximación ŝ[k] realizada con los 5 vectores φ(4) µ de la
imagen 4.3 al comienzo de la cuarta y última iteración. . . . . 58
4.5. Vector de error d[k] hallado a partir de la aproximación de la
figura 4.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.6. Función de perturbación en distintos instantes del algoritmo. . 61
4.7. Evolución del rmse entre el contorno C y su aproximación en
distintas fases del algoritmo usando N = 5. . . . . . . . . . . . 62
LISTA DE FIGURAS 4

4.8. Evolución del rmse entre el contorno del C y su aproximación


usando DF y DFM para distintos valores de N. . . . . . . . . 62
4.9. Contorno C, aproximación usando DF y DFM con N = 3. . . 63
4.10. Contorno C, aproximación usando DF y DFM con N = 5. . . 63
4.11. Contorno C, aproximación usando DF y DFM con N = 7. . . 64
4.12. Contorno C, aproximación usando DF y DFM con N = 9. . . 64
4.13. Contorno C, aproximación usando DF y DFM con N = 51. . . 65
Lista de Tablas

5
Capı́tulo 1

Introducción

Los objetos son representados en las imágenes como colecciones de pı́xe-


les. Por lo tanto, para poder llevar a cabo tareas de reconocimiento de objetos
es necesario disponer de herramientas que nos permitan describir las propie-
dades de grupos de pı́xeles. Esta descripción de la que hablamos en muchas
ocasiones es un conjunto de números a los que denominamos con el nombre
genérico de descriptores. Haciendo uso de estos descriptores podemos reco-
nocer objetos en las imágenes mediante la comparación de los decriptores
de los objetos presentes en la imagen con los descriptores de objetos cono-
cidos. Para que los descriptores sean realmente útiles deben poseer ciertas
caracterı́sticas como:
1. Dos objetos deben tener el mismo conjunto de descriptores sólo si am-
bos objetos son idénticos.

2. Es importante y conveniente que los descriptores usados tengan propie-


dades invariantes bajo ciertas transformaciones. Por ejemplo, los des-
criptores invariantes a rotaciones son muy útiles cuando se trata de
reconocer objetos que tengan una orientación arbitraria dentro de la
imagen en la que se hayan. Otra propiedad deseable en los descriptores
es la invarianza frente a operaciones de escalado o de traslación.

3. El conjunto de descriptores debe representar la “esencia”de un objeto


de una manera eficiente y sólo debe contener información de aquello
que hace al objeto único, es decir, de aquello que lo diferencia del resto
de objetos presentes en la imagen.

4. La volumen de información contenida en los descriptores debe ser infe-


rior a la volumen de información que define al objeto.
Los descriptores de objetos pueden clasificarse en dos grandes grupos.

6
CAPÍTULO 1. INTRODUCCIÓN 7

1. Descriptores de contorno: estos descriptores dan información de como


es la frontera o contorno de un objeto. Descriptores pertenecientes a
este grupo son los descriptores de Fourier y los “chain codes”.

2. Descriptores de regiones: estos descriptores dan información de que


aspecto tiene el área de una figura. Descriptores pertenecientes a este
grupo son los ”descriptores de regiones básicas los ”descriptores de
2

momentos estadı́sticos”(Zernike, etc).


Capı́tulo 2

Conceptos de la Teorı́a de
Fourier

La idea clave de la teorı́a de Fourier es:

Casi1 cualquier función, continua o discreta, periódica o no, se puede ex-


presar como una combinación lineal de funciones seno y coseno de distinta
amplitud, fase y frecuencia.

El número de términos senoidales y cosenoidales del sumatorio depende


de la naturaleza de la señal que se quiera representar. Si la función s(t) es
de naturaleza periódica, el número de términos del sumatorio será discreto
y hablaremos del Desarrollo en Serie de Fourier de Funciones Continuas,
mientras que, si la función no es periódica el número de términos senoidales
y cosenoidales será infinito y hablaremos de la transformada de Fourier. El
desarrollo en serie de Fourier puede verse como una expresión particular de
la transformada de Fourier, y por este motivo es más habitual referirse a este
segundo concepto.

2.1. La transformada de Fourier continua de


funciones continuas.
En esta sección se presenta brevemente la transformada de Fourier desde
un punto de vista matemático. No es el objetivo de esta sección analizar con
1
Existen un número muy reducido de funciones “especiales”que no pueden ser expre-
sadas usando la teorı́a de Fourier. En cualquier caso el uso de estas funciones queda
restringido a un minúsculo conjunto de aplicaciones entre las que no se haya aquella que
se presenta en este trabajo.

8
CAPÍTULO 2. CONCEPTOS DE LA TEORÍA DE FOURIER 9

profundidad todas los detalles, caracterı́sticas y propiedades de dicha trans-


formada ya que existen numerosos textos en la literatura cientı́fica donde se
detalla dicha información.

Sea s(t) una función continua de la variable real t e integrable, la trans-


formada de Fourier de s(t) se define como:
Z ∞
F [s(t)] = S(f ) = s(t)e−i2πf t dt (2.1)
−∞

donde i es la variable imaginaria cuyo valor es: i = −1.

La suma de senos y de cosenos puede no ser aparente en la expresión 2.1.


Para observarlos explı́citamente aplicamos la identidad de Euler

eiθ = cos(θ) + isen(θ) (2.2)


en la expresión 2.1 obteniendo:
Z ∞
F [s(t)] = S(f ) = s(t) (cos(2πf t) − isen(2πf t)) dt (2.3)
−∞

Sea S(f ) la transformada de Fourier de la función s(t), la transformada


de Fourier inversa de s(t) existe si S(f ) es integrable y se define como:
Z ∞
F [S(f )] = s(t) =
−1
S(f )ei2πf t df (2.4)
−∞
Al conjunto formado por la expresiones 2.1 y 2.4 se le conoce con el nom-
bre de par de la transformada de Fourier.

En general, la transformada de Fourier de una señal, aunque sea real,


presenta parte real y parte imaginaria, por lo que podremos expresarla de
cualquiera de las dos siguientes maneras:

S(f ) = <{S(f )} + ={S(f )} (2.5)

S(f ) = |S(f )| eiφ(f ) (2.6)


donde
q
|S(f )| = <{S(f )}2 + ={S(f )}2 (2.7)
es el módulo de transformada de Fourier, también conocido como espectro
de Fourier de s(t), y
CAPÍTULO 2. CONCEPTOS DE LA TEORÍA DE FOURIER 10

 
={S(f )}
φ(f ) = arctg (2.8)
<{S(f )}
es la fase de transformada de Fourier.

El cuadrado del modulo de la transformada de Fourier se le denomina


espectro de potencia de s(t), o Densidad Espectral de Potencia, e indica
como se reparte la energı́a de la función s(t) entre las distintas frecuencias
que la constituyen.

P (f ) = |S(f )|2 = <{S(f )}2 + ={S(f )}2 (2.9)


La función S(f), que recordemos será continua o discreta dependiendo de
la naturaliza periódica de la función s(t), es habitualmente compleja, por lo
que no es cómoda de representar gráficamente. Por este motivo se suele optar
por representar el módulo de la transformada de Fourier, |S(f )|.

Figura 2.1: La función pulso y el módulo de su transformada de Fourier

La transformada de Fourier puede ampliarse con suma facilidad a funcio-


nes de dos variables. Si una función s(t, q) es integrable, puede asegurarse la
existencia de su transformada de Fourier bidimensional, S(f 1, f2 ), siendo f1
y f2 las variables en el dominio de la frecuencia.

Z ∞ Z ∞
F [s(t, q)] = S(f1 , f2 ) = s(t, q)e−i2π(f1 s+f2 q) dt dq (2.10)
−∞ −∞

Del mismo modo que en el caso unidimensional se puede calcular el es-


pectro de Fourier, la fase y el espectro de potencia con las expresiones:
CAPÍTULO 2. CONCEPTOS DE LA TEORÍA DE FOURIER 11

q
|S(f1 , f2 )| = <{S(f1 , f2 )}2 + ={S(f1 , f2 )}2 (2.11)
 
={S(f1 , f2 )}
φ(f1 , f2 ) = arctg (2.12)
<{S(f1 , f2 )}

P (f1 , f2 ) = |S(f1 , f2 )|2 = <{S(f1 , f2 )}2 + ={S(f1 , f2 )}2 (2.13)

Figura 2.2: La función pulso, (a), el módulo de su transformada de Fourier


bidimensional, (b), y la representación en 2-D de dicho módulo, (c)

En conclusión, aunque las ecuaciones de la transformada de Fourier pue-


den parecer complicadas a primera vista no es necesario tener un profundo
entendimiento de estas ecuaciones para comprender las aplicaciones de la
transformada de Fourier; no obstante, es importante conocer sus propieda-
des.
CAPÍTULO 2. CONCEPTOS DE LA TEORÍA DE FOURIER 12

2.2. La transformada de Fourier continua de


funciones discretas.
Debemos tener en cuenta que la intensidad o cada una de las componentes
color en los pı́xeles que constituyen una imagen no son funciones continuas
sino discretas, lo que significa que no se les puede aplicar la transformada de
Fourier tal cual se explicó en la sección anterior, ya que esta transformada
debı́a ser aplicada en funciones continuas, que podı́an ser o no ser periódicas,
proporcionando espectros discretos o continuos respectivamente.

La transformada de Fourier continua de la función discreta s[n], en ade-


lante TFCFD, se denota a(ω) y se calcula mediante la expresión:

X
a (ω) = s[k]e−iωk (2.14)
k=−∞

La TFCFD, a(ω), es una función compleja, continua y periódica en ω, de


perı́odo 2π, que puede representarse en cualquier intervalo de anchura 2π,
siendo los más habituales, [0, 2π] ó [−π, π].

La inversa de la TFCFD es:


Z π
1
s[k] = a (ω) eiωk dω (2.15)
2π −π

Al evaluar numéricamente la TFCFD se presentan dos problemas:

1. La secuencia s[k] puede tener un numero infinito de puntos. En estas


circunstancias para resolver el problema se selecciona un número finito
de muestras, L, de la función de entrada s[k] y se estudian sus propie-
dades en ese intervalo. A continuación se realiza la misma operación
con el intervalo siguiente, y ası́ sucesivamente.

2. La función a(ω) es continua en la variable ω y debe ser discretizada


para trabajar en un procesador digital. Por lo tanto a(ω) se evalúa
en un número finito de frecuencias equidistantes en el intervalo [0, 2π]
(ó en general en cualquier intervalo de anchura 2π, como por ejemplo
[−π, π]).


ω̆i = i ·
M
CAPÍTULO 2. CONCEPTOS DE LA TEORÍA DE FOURIER 13

i = 0, 1, . . . , M − 1

Para evitar problemas de muestreo insuficiente de la TFCFD se deben


tener en cuenta la siguientes consideraciones:

1. Si M < L entonces se trunca el número de muestras de s[k] a L = M


muestras.

2. Si M > L entonces a la función s[k] se le añaden M − L ceros, de modo


que su longitud es L = M .

Al muestrear la TFCFD de esta manera se obtiene la expresión correspon-


diente a la Trasformada de Fourier Discreta - TFD -, que puede entenderse
como una aproximación a la transformada continua de Fourier y que se im-
plementa de forma eficiente mediante el algoritmo de nombre Fast Fourier
Transform, FFT.

De acuerdo a lo que se ha dicho anteriormente la expresión de la TFD es:


M −1

X
T F D{s[k]} = a[µ] = s[k]e−i M µk (2.16)
k=0

µ = 0, 1, . . . , M − 1
La TFD expresada en forma matricial tiene el aspecto:

a = W∗ · s

 
1 ... 1 ... 1
  
a[0] s[0]
..   .. .. .. .. ..  ..

 .   . . . . .  .


−i 2π −i 2π
 lm

l (M −1)  
 a[l]  = 1 . . . e ... e  s[m] 
   M M

..  . . .. .. .. ..

  .. ..
  
 . . . .  . 
2π 2π 2
a[M − 1] 1 . . . e−i M (M −1) m . . . e−i M (M −1) s[M − 1]

W ∗ = {w∗θ0 , . . . , w∗θm , . . . , w∗θM −1 }


La expresión matricial anterior significa, desde un punto de vista ma-
temático, que el vector a puede expresarse como una combinación lineal de
CAPÍTULO 2. CONCEPTOS DE LA TEORÍA DE FOURIER 14

los vectores columna que constituyen la base W ∗ .

Los vectores columna de la base W ∗ se pueden expresar como:

w∗θk = wθ∗k [µ] = e−i θk µ = cos (θk · µ) − i sen (θk · µ) (2.17)


θk = θ[k] = ·k
M

µ = 0, 1, . . . , M − 1
k = 0, 1, . . . , M − 1
Como puede apreciarse en la expresión 2.17 los vectores columna de la
matriz W ∗ son funciones trigonométricas de frecuencia θk .

Cuanto mayor es el valor de M más se aproxima la función discreta a[µ]


a la función continua a(ω).

A continuación se presentan algunos de los vectores columna w∗θk de la


base W ∗

Figura 2.3: Base ortonormal de Fourier de parámetro k = 0


CAPÍTULO 2. CONCEPTOS DE LA TEORÍA DE FOURIER 15

Figura 2.4: Base ortonormal de Fourier de parámetro k = 213

Figura 2.5: Base ortonormal de Fourier de parámetro k = 426


CAPÍTULO 2. CONCEPTOS DE LA TEORÍA DE FOURIER 16

Figura 2.6: Base ortonormal de Fourier de parámetro k = 852

Figura 2.7: Base ortonormal de Fourier de parámetro k = 1065


CAPÍTULO 2. CONCEPTOS DE LA TEORÍA DE FOURIER 17

Figura 2.8: Base ortonormal de Fourier de parámetro k = 1278

Figura 2.9: Base ortonormal de Fourier de parámetro k = 1491


CAPÍTULO 2. CONCEPTOS DE LA TEORÍA DE FOURIER 18

La transformada de Fourier discreta inversa - TFDI - permite recuperar


la función original, s[k], a partir de los coeficientes a[µ].
M −1
1 X 2π
T F DI{a[µ]} = s[k] = a[µ]ei M µk (2.18)
M µ=0

k = 0, 1, . . . , M − 1
La TFDI expresada en forma matricial tiene el aspecto:

s=W ·a

 
1 ... 1 ... 1
  
s[0] a[0]
..  .. .. .. .. ..  ..

.
 . . . . .  .

  1  2π
i M ml 2π 
i M (M −1) l  

s[l] = 1 . . . e . . . e a[m]
   
M
   
..  .. .. .. .. .. ..
    

 .  . . . . .  . 
2π 2π 2
s[M − 1] 1 . . . ei M m (M −1) . . . ei M (M −1) a[M − 1]

W = {w0 , . . . , wm , . . . , wM −1 }
La expresión matricial anterior significa que el vector s puede expresarse
como una combinación lineal de los vectores columna que constituyen la base
W.

Los vectores columna de esta base se pueden expresar como:

wµ = wµ [θk ] = ei µ θk = cos (µ · θk ) + i sen (µ · θk ) (2.19)


θk = θ[k] = ·k
M
k = 0, 1, . . . , M − 1
µ = 0, 1, . . . , M − 1
Combinando la expresión 4.3 y la definición de θk se llega a la conclusión
de que los vectores columna wµ son funciones trigonométricas de frecuencia
2πµ
M
.

Los vectores columna wµ están ı́ntimamente relacionados con los vecto-


res w∗θk , vistos con anterioridad, de modo que las representaciones gráficas de
ambos conjuntos son muy parecidas, y por este motivo se evita en este punto
CAPÍTULO 2. CONCEPTOS DE LA TEORÍA DE FOURIER 19

la representación de los vectores wµ , y se referencia al lector a las figuras 2.3


a 2.9 para que se haga una idea de su aspecto.

Los coeficientes a[µ] nos indican cual es el peso, la importancia, de la


frecuencia angular 2πµ
M
en la construcción de la función s[k], y es habitual
encontrar esta información en forma de gráfico, como el que puede apreciarse
en la figura 2.10.

Figura 2.10: TFD, evaluada en M = 10 muestras, de la función pulso de


longitud L = 5 muestras.

El cálculo de la TFD de una secuencia s[n] requiere para cada una de los
valores de salida M productos complejos y M − 1 sumas complejas. Como se
tienen M valores de salida, en total se requieren M 2 productos complejos y
M · (M − 1) sumas complejas para realizar una TFD de M puntos, es decir,
la complejidad de cálculo de la TFD es O(M 2 )

El algoritmo FFT simplifica el cálculo del TFD consiguiendo una comple-


jidad de O (M · log2 M ) debido a que aprovecha las siguientes propiedades:
1. Simetrı́a y periodicidad de los vectores de la base W .
CAPÍTULO 2. CONCEPTOS DE LA TEORÍA DE FOURIER 20

a) w(µ+M ) = wµ
b) w(M µ) = 1
c) w(µ+M/2) [θk ] = −1k · wµ [θk ]

2. El valor de M se elige de forma que se cumpla M = 2m > L, con


m ∈ N.

En MATLAB la TFD se calcula con el algoritmo FFT mediante el co-


mando:

a = f f t(s, M )
La función anterior calcula de forma eficiente la TFD del vector s en M
puntos . El resultado, a, es un vector complejo con ı́ndices µ = 0, 1, . . . , M −1
que está definido para frecuencias comprendidas entre 0 y 2π. Si no se da
el segundo parámetro se considera como M la longitud del vector. Para que
el algoritmo de la FFT sea lo más eficiente posible el valor de M debe ser
potencia de 2. Si la longitud de s es menor que M , el vector se rellena con
ceros. Si es mayor el vector es truncado.

Aprovechando la periodicidad de la TFD es muy habitual hacer uso de


la función fftshift de Matlab para que reordene el vector a y quede definido
entre −π y π, apareciendo la componente de continua en el centro del dia-
grama, como se observa en la figura 2.11.
CAPÍTULO 2. CONCEPTOS DE LA TEORÍA DE FOURIER 21

Figura 2.11: Vector a[µ] reordenado, con la componente de continua en el


centro.

El lector que esté interesado en profundizar en la teorı́a del algoritmo


FFT podrá encontrar numerosa información en las referencias [1] y [2]

2.3. La frecuencia en el procesamiento de imáge-


nes.
El término frecuencia aparece en muchas ocasiones en distintos contex-
tos cientı́ficos - ingenierı́a, matemáticas, fı́sica, etc.. - haciendo referencia a
fenómenos que varı́an en el tiempo siguiendo un patrón repetitivo. En es-
tas circunstancias se habla de “eventos por unidad de tiempo”, “ciclos por
unidad de tiempo”, etc. Sin embargo, cuando hablamos de frecuencia en pro-
cesado de imágenes, nos estamos refiriendo a la variación de la intensidad o
del color en una imagen, en función de las coordenadas espaciales, en lugar
del tiempo. En la literatura de visión por computador es habitual encontrar
el término “frecuencia espacial”para hacer referencia al concepto aquı́ expli-
cado.

De esta definición se deduce que existe una estrecha relación entre una
CAPÍTULO 2. CONCEPTOS DE LA TEORÍA DE FOURIER 22

imagen y su espectro de frecuencias espaciales. Ası́ las imágenes que varı́an


gradualmente, es decir, sin cambios bruscos de intensidad, poseen bajas fre-
cuencias espaciales, y aquellas con muchos detalles y bordes nı́tidos tienen
altas frecuencias espaciales.

La figura 2.12 muestra una sencilla imagen sinusoidal horizontalmente


orientada que se repite un número especı́fico de veces sobre una distancia
dada. Las unidades en las que se expresan las frecuencias espaciales son
arbitrarias; a veces se relacionan con el tamaño de la imagen y otras veces
con el tamaño de un pixel. Para algunas aplicaciones es importante tener
alguna medida absoluta, en cuyo caso puede necesitarse la distancia real
representada por cada pixel.

Figura 2.12: Imagen sinusoidal horizontalmente orientada, (a). Imagen sinu-


soidal a con la mitad de frecuencia, (b)

Observemos la figura ??. La primera figura de la fila central muestra una


imagen en el dominio espacial. Sobre esta imagen aparece su representación
en el dominio frecuencial. Es caracterı́stico del dominio frecuencial de una
imagen el aspecto que éste presenta en forma de estrella. En esta representa-
ción las bajas frecuencias se hayan situadas en el centro del cuadro, mientras
que los términos de alta frecuencia se haya situados en los flancos externos.
La segunda imagen de la fila central se haya más difusa debido a que se han
CAPÍTULO 2. CONCEPTOS DE LA TEORÍA DE FOURIER 23

suprimido la mayor parte de sus componentes de alta frecuencia.

Analicemos otro ejemplo. Si una imagen presenta patrones de intensidad


repetitivos espaciales entonces su representación frecuencial estará constitui-
da por puntos como ocurre en la figura ??.

Como ha podido observarse en los ejemplos anteriores, el dominio frecuen-


cial ofrece numerosas ventajas cuando se trata de analizar o caracterizar una
imagen, pues en él las operaciones de filtrado son rápidas, en muchas oca-
siones es sencillo distinguir información útil de información ruidosa, permite
realizar medidas que en ocasiones son muy complejas o computacionalmente
pesadas en el dominio espacial, etc.

Figura 2.13: Imagen original, (a), Filtro paso bajo en el dominio de la fre-
cuencia, (b), Imagen filtrada, (c)

Figura 2.14: Imagen original, (a), Filtro paso alto en el dominio de la fre-
cuencia, (b), Imagen filtrada, (c)

Pongamos un último ejemplo de una imagen que presenta un ruido con


un patrón repetitivo que queremos eliminar, figura 2.15. Si se le aplica a la
CAPÍTULO 2. CONCEPTOS DE LA TEORÍA DE FOURIER 24

imagen la transformada de Fourier se obtendrá la representación en el domi-


nio de la frecuencia de dicha imagen. En esta representación alternativa de
la imagen cualquier ruido periódico se manifestará en forma de puntos, algo
difusos, distribuidos por doquier. Si el grueso de estos puntos es eliminado
del diagrama frecuencial y se le aplica la transformada inversa de Fourier a
dicha representación se obtiene de nuevo la imagen, en donde se puede apre-
ciar que la mayorı́a del ruido ha desaparecido, mejorando la legibilidad de la
imagen.

Figura 2.15: Imagen original, (a), Interferencia, (b), Imagen original junto
con la interferencia, (c), Dominio frecuencial de la imagen con interferencia,
(d), Filtro para eliminar la interferencia, (e), Imagen filtrada, (f).
Capı́tulo 3

Descriptores de Fourier

3.1. Introducción a los descriptores de Fou-


rier.
Los descriptores de Fourier, atribuidos a Cosgriff (1960) permiten aplicar
toda la potencia de la teorı́a de Fourier a la descripción de formas. La idea
principal consiste en caracterizar el contorno de un objeto por medio de un
conjunto de números que contienen la información frecuencial de la forma
del objeto. Usando el análisis frecuencial se puede escoger un reducido con-
junto de números, denominados coeficientes de Fourier, que son capaces de
describir la forma de un objeto a pesar de que ésta se encuentre inmersa en
ruido.

El procedimiento habitual para hallar los descriptores de Fourier de un


contorno consta de dos pasos. En el primer paso se define una representación
o parametrización del contorno con el que se trabaja. En segundo lugar se
calculan los descriptores de Fourier de la parametrización usando la teorı́a
clásica de Fourier. Además de la parametrización del contorno, una factor
que influencia significativamente la extracción y las propiedades de los des-
criptores de Fourier es la elección de la técnica de Fourier a usar.

Si se considera que el contorno bajo análisis define una función periódica,


entonces se puede optar por el uso de la expansión de las series de Fourier.
Por otro lado, se puede considerar que el contorno no define una función
periódica, y en este caso, se puede usar una representación alternativa ba-
sada en la transformada de Fourier discreta. En este trabajo se usará una
representación basada en la transformada de Fourier Discreta, que por otro
lado, es la forma habitual con la que se describen formas en reconocimientos

25
CAPÍTULO 3. DESCRIPTORES DE FOURIER 26

de patrones.

Es necesario llamar la atención sobre el hecho de que los descriptores de


Fourier trabajan con curvas continuas, pero en la práctica el contorno de
los objetos está constituido por un número discreto de pixeles, es decir, el
contorno que se tiene no es más que una versión muestreada de la curva
continua que define la forma de un objeto.

3.2. Acondicionamiento de datos.


Para definir el conjunto de puntos que constituyen la frontera de un ob-
jeto se pueden aplicar diversas técnicas, de entre las cuales destaca el uso
combinado de procedimientos de erosión-dilatiación y umbralización.

La TFD que ha sido estudiada en este documento es la que aplica en fun-


ciones de una dimensión. Sin embargo el contorno de los objetos no es una
función sino una curva. Sin entrar en rigurosos detalles matemáticos, una
curva (de dos dimensiones), se diferencia de una función (de una dimensión),
en que a un punto perteneciente al dominio de la curva le pueden correspon-
der varios puntos del conjunto imagen, sin embargo, en una función a cada
punto del dominio sólo le corresponde un punto del conjunto imagen.

Veamos esto en un ejemplo:

En la figura 3.1 podemos observar la curva x2 +y 2 = 4 y la recta y = xy11 ·x.


Tal y como puede verse, al punto x1 , perteneciente al dominio de la curva,
le corresponden dos valores del conjunto imagen de ésta, a saber, y1 e y2 .
Por otro lado, al punto x1 , que pertenece también al dominio de la recta, le
corresponde un sólo valor del conjunto imagen de la función, a saber, y1 .

El primer paso para poder obtener los descriptores de Fourier del con-
torno, es transformar la curva que define la frontera en una función a la que
aplicar la TFD unidimensional.

Una vez que se ha definido el contorno del objeto es necesario recorrerlo


según una orientación, por ejemplo, antihoraria (figura 3.2), para obtener una
función que defina la variación de la coordenada x de los pı́xeles del contorno
y una función que defina variación de la coordenada y de los pı́xeles del
contorno. De este modo se obtienen dos funciones, x[k] e y[k], que describen
el contorno (figura 3.3).
CAPÍTULO 3. DESCRIPTORES DE FOURIER 27

Figura 3.1: Diferencia entre curva y función

El último paso consiste en crear un función compleja a partir de las fun-


ciones x[k] e y[k] que represente al contorno.

s[k] = x[k] + iy[k]


k = 0, 1, . . . , M − 1
Con esta secuencia de pasos se ha pasado de tener la información que
define un contorno de una curva a una función, a la que ya se puede aplicar
la TFD unidimensional.
CAPÍTULO 3. DESCRIPTORES DE FOURIER 28

Figura 3.2: Orientación antihoraria del contorno C.

Figura 3.3: Negro: Curva que define el valor de la coordenada x de los pı́xeles
del contorno C. Rojo: Curva define el valor de la coordenada y de los pı́xeles
del contorno C.
CAPÍTULO 3. DESCRIPTORES DE FOURIER 29

Figura 3.4: Curva que representa el contorno de un objeto representada me-


diante dos funciones

3.3. Obtención de los descriptores de Fourier


La TFD de s[k] es:
M −1

X
T F D{s[k]} = a[µ] = s[k]e−i M µk (3.1)
k=0

µ = 0, 1, . . . , M − 1
Los valores de a[µ] reciben diferentes nombres, dependiendo el contexto
de la aplicación en donde son usados. Algunos de esos nombre son, coeficien-
tes de Fourier, coeficientes espectrales de Fourier, descriptores de Fourier, etc.

Si usamos todos los descriptores hallados anteriormente en la TFDI se re-


construye completamente la función s[k], es decir, se reconstruye el contorno
original con exactitud.
M −1
1 X 2π
T F DI{a[µ]} = s[k] = a[µ]ei M µ k (3.2)
M µ=0
CAPÍTULO 3. DESCRIPTORES DE FOURIER 30

k = 0, 1, . . . , M − 1
Sin embargo, la potencia de esta técnica no se basa en disponer de los M
descriptores de Fourier hallados, sino en seleccionar sólo un reducido número
de estos, N , con N < M , y descartar el resto. Para formar este grupo de
coeficientes, se seleccionan aquellos N descriptores de Fourier que almacenan
la mayor parte de la información del contorno. Este grupo de coeficientes
estará formado en su mayorı́a por descriptores asociados a bajas frecuencias,
que son los que proporcionan la información de la forma general del contorno
y de las variaciones suaves de éste. Los descriptores de alta frecuencia con-
tribuyen en menor medida a la forma general del contorno y contienen la
información de los detalles finos y de los cambios bruscos que haya en el.

Expresando el párrafo anterior en una ecuación:


N −1
1 X 2π
ŝ[k] = a[µ]ei M µk (3.3)
M µ=0

k = 0, 1, . . . , M − 1
Cuanto mayor sea el número de descriptores que son considerados más se
aproxima el contorno reconstruido ŝ[k] al contorno original, s[k].
N →M
ŝ[k] −−−→ s[k]
Como se puede apreciar en las figuras 3.5 a 3.14 se puede reconstruir un
contorno razonablemente bien incluso cuando no se usa un número elevado
de descriptores.
CAPÍTULO 3. DESCRIPTORES DE FOURIER 31

Figura 3.5: Reconstrucción del contorno usando 3 coeficientes.

Figura 3.6: Módulo y fase de los 3 coeficientes seleccionados.


CAPÍTULO 3. DESCRIPTORES DE FOURIER 32

Figura 3.7: Reconstrucción del contorno usando 5 coeficientes.

Figura 3.8: Módulo y fase de los 5 coeficientes seleccionados.


CAPÍTULO 3. DESCRIPTORES DE FOURIER 33

Figura 3.9: Reconstrucción del contorno usando 7 coeficientes.

Figura 3.10: Módulo y fase de los 7 coeficientes seleccionados.


CAPÍTULO 3. DESCRIPTORES DE FOURIER 34

Figura 3.11: Reconstrucción del contorno usando 21 coeficientes.

Figura 3.12: Módulo y fase de los 21 coeficientes seleccionados.


CAPÍTULO 3. DESCRIPTORES DE FOURIER 35

Figura 3.13: Reconstrucción del contorno usando 51 coeficientes.

Figura 3.14: Módulo y fase de los 51 coeficientes seleccionados.


CAPÍTULO 3. DESCRIPTORES DE FOURIER 36

3.4. Las propiedades de los descriptores de


Fourier
3.4.1. Traslación
El descriptor a[0] contiene la información del centro geométrico – también
conocido como nivel de continua u offset– del contorno original

M −1 M −1 M −1 M −1

X X X X
a[0] = s[k]e−i M 0 k = <{s[k]} + j={s[k]} = x[k] + j y[k]
k=0 k=0 k=0 k=0

Si sólo contáramos con el descriptor a[0], siendo resto de descriptores cero,


a[µ 6= 0] = 0, y realizáramos la reconstrucción, lo que obtendrı́amos serı́a un
único punto que estarı́a situado en el centro geométrico del contorno original.
M −1
1 X 2π
T F DI{a[µ]} = ŝ[k] = a[µ]ei M µ k
M µ=0
1
= (a[0] + 0 + . . . + 0)
M
M −1 −1
M
!
1 X X
= x[k] + j y[k]
M k=0 k=0
= xcg + j ycg

k = 0, 1, . . . , M − 1
Este hecho significa que siempre que se seleccione el coeficiente a[0], in-
dependientemente del número de descriptores seleccionados a continuación,
el contorno aproximado siempre estará centrado en el mismo punto que el
contorno original.

El coeficiente a[0] es el único descriptor que es dependiente de la posición


del contorno original dentro de la imagen. Pongamos un ejemplo. Suponga-
mos que tenemos un contorno de M puntos que se haya centrado en un pixel
cualquiera de una imagen y calculamos todos – ó parte – sus descriptores de
Fourier. Si tenemos otro contorno idéntico centrado en alguna otra parte de
la imagen, es decir, los centros geométricos de ambos contornos están separa-
dos ∆x pixeles en el eje x y ∆y pixeles en el eje y, no es necesario calcular los
descriptores de Fourier del segundo contorno, – b[µ] –, tan sólo es necesario:

t = ∆x + i∆y
CAPÍTULO 3. DESCRIPTORES DE FOURIER 37

b[0] = a[0] + M · t

b[µ 6= 0] = a[µ 6= 0]
Demostremos lo enunciado:
M −1

X
b[µ] = (t + s[k]) · e−i M µk
k=0
M −1
(3.4)
−i 2π
X
µk
= T F D{s[k]} + t·e M

k=0

1. Si µ = 0

M −1

X
t · e−i M 0 k = M · t
k=0

b[0] = a[0] + M · t

2. Si µ 6= 0 y usando la fórmula de la progresión geométrica se obtiene el


resultado:

M −1
X rM − 1
SN = rk = 1 ·
k=0
r−1

M −1 2π
X
−i 2π µk e−i M µM − 1
e M =1· 2π =0
k=0 e−i M µ − 1

b[µ 6= 0] = a[µ 6= 0]
CAPÍTULO 3. DESCRIPTORES DE FOURIER 38

Figura 3.15: Operación de traslación con ∆x = 50 y ∆y = 300.

Figura 3.16: Módulo y fase de los DF que originan el contorno desplazado.


CAPÍTULO 3. DESCRIPTORES DE FOURIER 39

Tal y como se ha demostrado, toda la información relacionada con movi-


mientos de traslación del contorno dentro de la imagen atañe sólo al elemento
cero de los descriptores.

3.4.2. Escalado
Si conocemos N descriptores de Fourier – a[µ] – de un contorno de M
puntos, s[k], y deseamos conocer los descriptores de Fourier de ese mismo
contorno escalado un cantidad α, s[k]esc = α · s[k], tan sólo es necesario:

b[µ] = α · a[µ]
La demostración de la propiedad es:
M −1

X
b[µ] = (α · s[k]) · e−i M µk
k=0
M −1 (3.5)

X
=α· (s[k]) · e−i M µk
k=0
= α · T F D{s[k]} = α · a[µ]
La operación de escalado también provoca una traslación del centro geométri-
co del contorno reconstruido. Para probar esta afirmación supondremos, como
hicimos en la propiedad de traslación, que sólo se ha seleccionado el descriptor
b[0] y resto de descriptores han sido anulados, b[µ 6= 0] = 0.
M −1 M −1

X X
−i 0k
b[0] = s[k]esc e M = <{s[k]esc } + j={s[k]esc }
k=0 k=0
M
X −1 M
X −1
= x[k]esc + j y[k]esc
k=0 k=0
CAPÍTULO 3. DESCRIPTORES DE FOURIER 40

M −1
1 X 2π
T F DI{b[µ]} = ŝ[k] = b[µ]ei M µ k
M µ=0
1
= (b[0] + 0 + . . . + 0)
M
M −1 −1
M
!
1 X X
= x[k]esc + j y[k]esc
M k=0 k=0
−1 −1
M M
!
α X X
= x[k] + j y[k]
M k=0 k=0
= α · (xcg + j ycg )

k = 0, 1, . . . , M − 1

Figura 3.17: Operación de escalado por un factor α = 1,5


CAPÍTULO 3. DESCRIPTORES DE FOURIER 41

Figura 3.18: Módulo y fase de los DF que originan el contorno escalado.

3.4.3. Rotación
Si conocemos N descriptores de Fourier - a[µ] - de un contorno de M
puntos y deseamos conocer los descriptores de Fourier de ese mismo contorno
rotado un cantidad θ tan sólo es necesario:

b[µ] = eiθ · a[µ]


La demostración de esta propiedad es idéntica a la realizada en la propie-
dad de escalado, puesto que el término eiθ es una constante, eso sı́, compleja.

En la figura 3.19 se han representado varios contornos, cada uno de ellos


ha sido rotado un ángulo diferente. A la vista de los resultados que muestra
la figura 3.19, la operación que se ha denominado de “rotación” produce un
giro del contorno sobre sı́ mismo, y una rotación de la misma magnitud sobre
el origen de coordenadas.

El módulo de los coeficientes de Fourier son los mismos para cada con-
torno, y se han representado en la primera ventana de la figura 3.20. En
cambio, la fase de los coeficientes varı́a de un contorno a otro, en función de
cuanto haya sido rotado éste. En la segunda ventana de la figura 3.20 se ha
representado la fase del contorno que ha sido rotado 180o .

Se ha usado función angle de Matlab para extraer la fase de los coeficientes


de Fourier de los contornos. Esta función representa la fase entre [−π, π]. Por
este motivo una fase de valor 116o (20 024 rad.) a la que se añaden 180o (π rad.)
será representada con el valor −64o (360o − (116o + 180o ) = 64).
CAPÍTULO 3. DESCRIPTORES DE FOURIER 42

Figura 3.19: θ = 30o , 60o , 90o , 120o , 150o , 180o , 210o , 240o , 270o , 300o , 330o .

Figura 3.20: Módulo y fase de los DF que originan la rotación del contorno.

3.4.4. Cambiar el origen del contorno


Según se dijo al comienzo de la sección 3.2, el contorno del objeto con
el que se trabaja debe ser recorrido o bien en sentido antihorario o bien en
CAPÍTULO 3. DESCRIPTORES DE FOURIER 43

sentido horario, con el fin de obtener las funciones x[k] e y[k] que describen
la variación las coordenadas x y y de los pı́xeles de la frontera.

Antes de comenzar el recorrido es necesario escoger un punto de partida.


El punto de partida no debe tener ninguna caracterı́stica especial, sólo la
de pertenecer al contorno, ası́ que cualquier pixel de la frontera puede ser
escogido para tal fin.

Dependiendo del punto de partida escogido en el proceso de orientación


el valor de los descriptores de Fourier será diferente. Aún con distinto valor,
los descriptores siguen describiendo el mismo contorno.

Si conocemos N descriptores de Fourier - a[µ] - de un contorno con M


puntos y con un punto de partida (x0 , y0 ), y queremos calcular los descripto-
res de Fourier del mismo contorno pero usando un punto de partida distinto,
(xm , ym ), los nuevos descriptores serán:

b[µ] = a[µ] · ei M µm
La demostración serı́a:
M −1
1 X 2π
s[k + m] = a[µ] · ei M µ(k+m)
M µ=0
M −1
1 X i 2π µm
 2π (3.6)
= a[µ] · e M · ei M µk
M µ=0

= T F DI{a[µ] · ei M µm }

Figura 3.21: Módulo y fase de los DF que cambian el origen del contorno.
CAPÍTULO 3. DESCRIPTORES DE FOURIER 44

Figura 3.22: Operación de cambio de origen del contorno aproximado.

3.4.5. Normalización
1. Invarianza ante operaciones de traslación.
De acuerdo a lo que se explicó en la propiedad de traslación, se deduce
que para centrar el contorno en el origen sólo es necesario hacer:

a[0] = 0

2. Invarianza ante operaciones de escalado.


La invarianza ante operaciones de escalado permite estandarizar el ta-
maño de los contornos. De esta manera se pueden comparar contornos
de tamaño diferente y de este modo averiguar si se trata del mismo
pero en diferente escala.

a[µ]
a[µ] =
max{|a[µ]|}
Supongamos que tenemos los descriptores de Fourier de un contorno,
a[µ], los descriptores de Fourier de dicho contorno escalado una canti-
CAPÍTULO 3. DESCRIPTORES DE FOURIER 45

dad α, b[µ] = α · a[µ], y los descriptores de Fourier del mismo contorno


escalado una cantidad β, c[µ] = β · a[µ], entonces:

a[µ] b[µ] c[µ]


= =
max{|a[µ]|} max{|b[µ]|} {max |c[µ]|}

Figura 3.23: Invarianza ante operaciones de traslación.

Figura 3.24: DF del contorno sin nivel de continua.


CAPÍTULO 3. DESCRIPTORES DE FOURIER 46

Figura 3.25: Invarianza ante operaciones de escalado.

Figura 3.26: Invarianza ante operaciones de escalado.

3. Invarianza ante operaciones de rotación y cambio de origen.


CAPÍTULO 3. DESCRIPTORES DE FOURIER 47

Las operaciones de rotación y de cambio del punto de comienzo afectan


sólo a la fase de los descriptores.
Si queremos obtener descriptores que sean invariantes a estas operacio-
nes, tan sólo tenemos que eliminar toda la información de fase de los
descriptores de Fourier y considerar sólo su módulo.

a[µ] = |a[µ]|

Figura 3.27: DF del contorno invariante a operaciones de traslación, escala,


y rotación.

Sin embargo esta operación es muy peligrosa, ya que con la supresión de


la fase de los descriptores se está eliminando información relevante de
la forma del contorno. Por ejemplo, en la figura 3.28 podemos apreciar
el efecto de suprimir la fase de los DF.
CAPÍTULO 3. DESCRIPTORES DE FOURIER 48

Figura 3.28: Invarianza ante operaciones de traslación, escala, y rotación.


Capı́tulo 4

Descriptores de Fourier
Mejorados

4.1. Repaso de los conceptos más relevantes


de los descriptores de Fourier.
En este capı́tulo se explica la técnica de extracción de los descriptores
de Fourier mejorados –DFM –, y a modo de introducción se proporciona un
repaso de lo que se ha visto en capı́tulos anteriores.

La curva cerrada que representa el contorno de M puntos de un objeto


presente en una imagen, denotado en nuestro ejemplo con la letra C, puede
ser aproximado por un polinomio trigonométrico – PT – de orden N , con
N ≤ M.

El primer paso para poder usar las transformaciones que el algoritmo


de aproximación emplea es convertir la curva que define el contorno en una
función. Para llevar a cabo esta conversión se escoge un punto arbitrario per-
teneciente al contorno y se recorre C en sentido antihorario – u horario –,
registrando la variación de las coordenadas x e y de cada pixel por el que
se pasa, x[k] e y[k]. Estas dos funciones se combinan para formar la función
compleja s[k] que representa el contorno original C, pero en forma de función
y no de curva.

s[k] = x[k] + iy[k] (4.1)


k = 0, 1, . . . , M − 1

49
CAPÍTULO 4. DESCRIPTORES DE FOURIER MEJORADOS 50

La aproximación PT de orden N a la función s[k] se denota como ŝ[k] y


tiene la forma:

ŝ[k] ≈ s[k]

N −1
1 X
ŝ[k] = a[µ]ei µ θk (4.2)
M µ=0


θk = θ[k] = ·k
M

k = 0, 1, . . . , M − 1
La expresión 4.2 recibe el nombre de Transformada de Fourier Discreta
Inversa y los pesos a[µ] reciben el nombre de coeficientes de Fourier.

Si N = M , el contorno que hemos denominado aproximado reproduce


fielmente la forma de C.

ŝ[k] = s[k]
La ecuación 4.2 expresada en forma matricial es:

ŝ = W · a

   
ŝ[0] 1 ... 1 ... 1
..  .. .. .. .. ..   a[0] 
. . . . . .
 
  
 ŝ[f ] 
 
1

... ei g θ[f ] ... ei (N −1) θ[f ]
 ..
.
 
 ..  1 
. .. .. .. ..  
 = M  ..
 .  . . . .   a[g] 
..
 
ei g θ[l] ei (N −1) θ[l]
 ŝ[l]  1 
   ... ... 
 . 
 ..  .
 .. .. .. .. ..  a[N − 1]

 .  . . . .
ŝ[M − 1] 1 . . . ei g θ[M −1] . . . ei (N −1) θ[M −1]

W = {w0 , . . . , wm , . . . , wM −1 }
La expresión matricial anterior significa que el vector s puede expresarse
como una combinación lineal de los vectores columna que constituyen la base
W.

Los vectores columna de esta base se pueden expresar como:


CAPÍTULO 4. DESCRIPTORES DE FOURIER MEJORADOS 51

wµ = wµ [θk ] = ei µ θk = cos (µ · θk ) + i sen (µ · θk ) (4.3)


θk = θ[k] = ·k
M
k = 0, 1, . . . , M − 1
µ = 0, 1, . . . , M − 1
Se referencia al lector a las figuras 2.3 a 2.9 para que se haga una idea
de cual es el aspecto de los vectores wµ . El lector debe tener en cuenta que
los vectores que puede observar en las figuras citadas son w∗θk , ı́ntimamente
relacionados con los vistos en este párrafo.

Como el lector sabrá del álgebra lineal, cualquier vector v, perteneciente


a un espacio vectorial RM ×1 , con M ≥ 1, puede expresarse como una combi-
nación lineal de las bases que generan ese espacio, {b0 , b2 , . . . , bµ , . . . , bM −1 }.
Si estas bases son ortonormales

 0 si i 6= j
hbi · bj i =
1 si i = j

el cálculo de cada coeficiente de la combinación lineal (αµ , 0 ≤ µ ≤ M −1)


es sencillo, y se obtiene con un sólo producto escalar discreto que implica al
vector v y a la base bµ .
p−1
X
αµ = hv · bµ i = v · T
b∗µ = v[k] · b∗µ [k]
k=0

Si las bases no son ortonormales, el cálculo de los coeficientes de la combi-


nación lineal no es tan sencillo como el que se acaba de mostrar, y en general,
será necesario un proceso de ortonormalización para obtener bases ortonor-
males a partir de otras bases que no lo son.

Pues bien, los vectores wµ , 0 ≤ µ ≤ (M − 1), constituyen una base


ortonormal del espacio vectorial RM ×1 , ası́ que para calcular los coeficientes
a[µ] sólo es necesario usar:

M
X −1 M
X −1
a[ µ] = hs · wµ i = s ·T
w∗µ = s[k] · wµ∗ [θk ] = s[k]e−i µθk (4.4)
k=0 k=0
CAPÍTULO 4. DESCRIPTORES DE FOURIER MEJORADOS 52

µ = 0, 1, . . . , M − 1
La expresión anterior recibe el nombre de Transformada de Fourier Dis-
creta de la función s[k]. Para llevar a cabo nuestra aproximación ŝ[k] sólo se
seleccionan los N primeros coeficientes a[µ], el resto, M − N coeficientes, son
puesto a cero.

El método de los DF calcula sólo una de las muchas posibles aproximacio-


nes que pueden hacerse de la función s[k] empleando PT de N coeficientes.
Claramente tiene mucho sentido considerar todas las posibles aproximaciones
de PT de N coeficientes de la función s[k] y seleccionar aquella que propor-
cione el error cuadrático medio mı́nimo. Esta técnica se conoce con el nombre
de extracción de los descriptores de Fourier mejorados – DFM –.

4.2. Algoritmo de extracción de los descrip-


tores de Fourier mejorados.
La transformada que proporciona los DFM es una modificación de la
TFDI.
N −1
1 X
ŝ[k] = ã[µ]ei µ γ[θ[k]] (4.5)
M µ=0
k = 0, 1, . . . , M − 1
Vectorialmente:

ŝ = W̃ · a

   
ŝ[0] 1 ... 1 ... 1
..  .. .. .. .. ..   ã[0] 
. . . . . .
 
  
 ŝ[f ] 
 
1

... ei g γ[θf ] ... ei (N −1) γ[θf ]
 ..
.
 
 ..  1 
. .. .. .. ..  
 = M  ..
 .  . . . .   ã[g] 
..
 
ei g γ[θl ] ei (N −1) γ[θl ]
 ŝ[l]  1 
   ... ... 
 . 
 ..  .
 .. .. .. .. ..  ã[N − 1]

 .  . . . .
ŝ[M − 1] 1 . . . ei g γ[θM −1 ] . . . ei (N −1) γ[θM −1 ]

W̃ = {w̃0 , . . . , w̃m , . . . , w̃M −1 }


CAPÍTULO 4. DESCRIPTORES DE FOURIER MEJORADOS 53

Por tanto cada uno de los vectores de la base W̃M tiene la expresión:

w̃µ [γ[θk ]] = ei µ γ[θ[k]]


k = 0, 1, . . . , M − 1
µ = 0, 1, . . . , N − 1
En esta modificación se sustituye el término de fase que aparecı́a en la
TFDI, θ[k] = 2πM
· k, por otra función, γ[θ[k]], cuya apariencia no es conoci-
da a priori, ya que la función debe ser calculada a través de un proceso de
optimización, y cuyo dominio e imagen son el intervalo [0, 2π]. De ahora en
adelante, en el texto se abrevia la notación γ[θ[k]] y se sustituye por γ[k],
y sólo en aquellas circunstancias donde el espacio lo requiera se usará una
forma aún más simplificada, γk .

La función γ[k] es conocida con el nombre de función de perturbación


debido al efecto que provoca en los valores θ[k]. Para que el lector se haga
una idea del aspecto que puede tener la función γ[k] se presenta a modo
ilustrativo la imagen 4.1, en donde puede observarse dicha función junto a la
función θ[k].

El objetivo del proceso de optimización mencionado anteriormente es ha-


llar la función de perturbación óptima, γopt [k] , que proporcione el mı́nimo
valor rmse entre el contorno original y el contorno aproximado.

e[k] = |s[k] − ŝ[k]| (4.6)


v
u1 M
u −1
X
rmse = t · e[k]2 (4.7)
M k=0

k = 0, 1, . . . , M − 1
Vectorialmente:
r
1
rmse = · (eT · e) (4.8)
M

γopt [k] → rmsemin


CAPÍTULO 4. DESCRIPTORES DE FOURIER MEJORADOS 54

Figura 4.1: Una de las múltiples representaciones que puede tener la función
de perturbación.

4.2.1. La base ortonormal Φ.


Antes de adentrarnos en la descripción del proceso de optimización es
necesario explicar como se calculan los descriptores ã[µ].
Desgraciadamente las exponenciales complejas de la forma ei µ γk no son orto-
normales en general, y quizá deberı́amos decir nunca. Este hecho tiene impor-
tantes consecuencias, pues como se ha mencionado anteriormente, una de las
ventajas de contar con bases ortonormales es que simplificarı́an el cálculo de
los coeficientes ã[µ]. Existen multitud de procedimientos para ortonormali-
zar los vectores de la base W̃ . Uno de los más conocidos es el procedimiento
de Gramm-Schmidt. Sin embargo en este trabajo no se ha optado por el
procedimiento de Gramm-Schmidt ya que tiene complejidad O(N 4 ). En su
lugar se ha optado por otro algoritmo, de complejidad O(N 3 ). La nueva base
ortonormal de N términos se designa como:
CAPÍTULO 4. DESCRIPTORES DE FOURIER MEJORADOS 55

Φ = {φ0 , φ1 , . . . , φN −1 }
y sus vectores tienen la siguiente nomenclatura:

φµ = φµ [γ[θk ]]
k = 0, 1, . . . , M − 1
De manera abreviada:

φµ = φµ [γk ]
k = 0, 1, . . . , M − 1
A continuación se enuncian las propiedades de los vectores φµ que los
hacen muy interesantes:

1. Son vectores reales que pueden ser calculados rápidamente usando un


procedimiento recursivo que no emplea excesivos términos.
2. Satisfacen la propiedad de la inclusión, es decir, si se han calculado N
vectores y a continuación queremos calcular N + 1, no tenemos que
recalcularlos todos, tan sólo es necesario calcular el último, los N an-
teriores son útiles.

La definición de los vectores φµ es:


Para µ = 0:
0
0 0 φ0
φ0 = φ0 [γk ] = 1 φ0 = 0 (4.9)
kφ0 k
Para µ ≥ 1:
4 0
0 0
X φµ
φµ = φµ [γk ] = ψ µ − αiµ φµ−i φµ = 0 (4.10)
i=1
kφµ k

ψ 1 = ψ1 [γk ] , <{ei γk } φ0 [γk ] = cos (γk ) φ0 [γk ] (4.11)

ψ 2 = ψ2 [γk ] , ={ei γk } φ0 [γk ] = sin (γk ) φ0 [γk ] (4.12)

ψ µ = ψµ [γk ] , <{ei γk } φµ−2 [γk ] = cos (γk ) φµ−2 [γk ] µ≥3 (4.13)

αiµ , hψ µ · φµ−i i i≤µ (4.14)


CAPÍTULO 4. DESCRIPTORES DE FOURIER MEJORADOS 56

αiµ , 0 i>µ (4.15)


Usando la ecuación 4.10 la base Φ puede calcularse recursivamente para
cada µ. Primero se calcula ψ µ , a continuación los coeficientes αiµ y finalmente
0
φµ .
Algunos de los cálculos anteriores pueden suprimirse si se tienen en cuenta
las siguientes relaciones:

α3µ = α1µ−1 µ≥3

α44 = 0

0
α4µ = kφµ−2 k µ≥4
El lector que desee realizar un estudio más detallado del algoritmo de
ortonormalización puede acudir a las referencias [3] [4] y [5].

Una vez que se ha calculado la base Φ podemos hallar la aproximación


al contorno C del usando

ŝ = Φ · a
en la cual los N coeficientes ã[µ] están definidos por la expresión

ã[µ] = hs · φµ i = sT · φ∗µ

4.2.2. Procedimiento
El algoritmo iterativo de extracción de N coeficientes DFM consta de los
siguientes pasos:

Notas: La n representa la iteración en la que se haya el algoritmo. Para ilus-


trar el siguiente proceso, durante el mismo se irán representando diferentes
imágenes de un ejemplo en el que se calculan 5 DFM del contorno de la figura
??. Finalmente se compara la reconstruccuón llevada a cabo con 5 DFM y
con 5 DF.
1. Recorrer el contorno C en sentido antihorario (u horario) registrando
el valor de las coordenadas x e y de cada pixel por el que se pasa. Con
esta secuencia de coordenadas se construyen las funciones x[k] e y[k].
Finalmente se construye la función compleja s[k] = x[k] + j y[k] que
representa a C. Ver figuras 3.2 y 3.3.
CAPÍTULO 4. DESCRIPTORES DE FOURIER MEJORADOS 57

2. Inicializar la función de perturbación. Ver figura 4.1.


γ[k] = θ[k] = ·k
M
k = 0, 1, . . . , M − 1

3. Calcular la base ortonormal Φ(n) a partir de la función γ[k](n−1) hallada


en la iteración anterior. Si el algoritmo acaba de comenzar el valor de
γ[k](n−1) en este punto es θ[k]. Figuras 4.2 y 4.3.

Figura 4.2: Los 5 vectores φµ al comienzo de la primera iteración cuando


γk = θk

4. Calcular los coeficientes ã[µ](n) a partir de los productos escalares de


(n) (n) (n)
los vectores columna de la base Φ(n) = {φ0 , φ1 , . . . , φN −1 } y del
vector s[k].

∗(n)
ã[µ](n) = hs · φ(n) T
µ i = s · φµ

5. Con los N coeficientes ã[µ](n) y con los vectores de la base Φ(n) se


construye la aproximación ŝ[k](n)

ŝ(n) = Φ(n) · a(n)


CAPÍTULO 4. DESCRIPTORES DE FOURIER MEJORADOS 58

Figura 4.3: Los 5 vectores φ(4)


µ al comienzo de la cuarta y última iteración
cuando γk 6= θk

Figura 4.4: La aproximación ŝ[k] realizada con los 5 vectores φ(4)


µ de la imagen
4.3 al comienzo de la cuarta y última iteración.

6. Calcular la función de error cuadrático usando las funciones complejas


s[k] y ŝ[k].

e[k](n) = |s[k] − ŝ[k](n) |


CAPÍTULO 4. DESCRIPTORES DE FOURIER MEJORADOS 59

ec[k](n) = e[k]2, (n)

7. Suavizar la función de error cuadrático mediante un filtro de medias


móviles, con una ventana no muy grande, por ejemplo, de 4 muestras.

b = ones(1, 4)/4

a=1

ecs(n) = f ilter(b, a, ec)

8. Calcular la diferencia entre el error cuadrático suavizado en la mues-


tra k y el error medio. La n denota la iteración en la que se haya el
algoritmo.

M −1
1 X
d[k] = ecs[k] − ecs[k](n)
M k=0

Figura 4.5: Vector de error d[k] hallado a partir de la aproximación de la


figura 4.3.
CAPÍTULO 4. DESCRIPTORES DE FOURIER MEJORADOS 60

9. Actualizar la función de perturbación γ[k] de acuerdo con la regla:

γ[k](n) = γ[k](n−1) + α(n) d[k](n)

En este punto es en donde de verdad se realiza la tarea de optimización.


El valor del paso α(n) no es conocido a priori y debe buscarse aquel que
minimice el valor rmse.
Para este fin lo que se hace permitir que α(n) pueda variar su valor
entre [−1, 1]. Se parte de α(n) = 1. Usando α(n) , d[k](n) y γ[k](n−1) se
calcula un primer valor de γ[k](n) . Con este valor de γ[k](n) construimos
una nueva base Φ(n) . Con esta base creamos unos nuevos ã[µ](n) y final-
mente un nuevo contorno ŝ[k](n) . Calculamos el valor rmse entre s[k] y
ŝ[k](n) y lo comparamos con el rmsemin que se tenga registrado hasta
ese instante. Si el valor del rmse calculado es menor que el valor de
rmsemin almacenado, se actualiza el valor de éste último y se registra
el valor de α(n) que se ha usado. A continuación modificamos el valor
de α(n) a un 99 % de su valor anterior, e.d, α(n) = 0,99 · α(n) . Este
proceso se repite hasta que se alcance un umbral que se habrá prefijado
previamente. Repetiremos las mismas operaciones comenzando desde
α(n) = −1 y acercándonos hacia 0, hasta alcanzar un segundo umbral
que también se habrá prefijado previamente. Una vez que han finali-
zado todas estas operaciones habremos dado con el valor de α(n) que
minimiza el valor rmsemin en la iteración n. Construimos la función
γopt [k](n) de la iteración n y se vuelve al paso 3 para comenzar con una
nueva iteración, (n + 1).
No existe un lı́mite en cuanto al número de veces que puede repertirse
la secuencia de pasos [3] a [9], sin embargo, empı́ricamente se com-
prueba que a partir de la tercera iteración no se consiguen resultados
significativamente mejores.
En la figura 4.6 se puede observar el aspecto que tiene la función de
perturbación en distintas fases del algoritmo. Por el aspecto que pre-
senta la función γ[k] al comienzo de la iteración 1 es sencillo comprobar
que ésta ha sido inicializada a θ[k]. Como puede apreciarse entre el co-
mienzo de la tercera y de la cuarta iteración no existe una diferencia
significativa, y como el lector puede intuir, el valor óptimo de la función
de perturbación al final de la cuarta iteración , γopt [k], apenas difiere
del valor que ésta tiene al comienzo de dicha iteración.

10. Una vez que se ha obtenido la función γopt [k] ya estamos en disposi-
ción de calcular la base Φopt . Con esta base podemos calcular los DFM
CAPÍTULO 4. DESCRIPTORES DE FOURIER MEJORADOS 61

óptimos, ãopt [µ], y finalmente con estos calcular la aproximación a C


de mı́nimo rmse, ŝopt [k].

La función γopt [k] es casi idéntica a aquella que aparece con trazo negro
en la figura 4.6 y la aproximación óptima, ŝopt [k], es prácticamente la
misma que la que se muestra en la figura 4.4.

Figura 4.6: Función de perturbación en distintos instantes del algoritmo.

A continuación muestra la figura 4.7, en donde se observa la reducción


del rmse entre el contorno C de ejemplo y su correspondiente aproximación
de N = 5 coeficientes. Los puntos azules representan el valor del rmse, en la
iteración i, 1 ≤ i ≤ 4, antes del paso 9 del algoritmo. Los puntos rojos repre-
sentan el valor del rmse, en la misma iteración, pero después del proceso de
optimización llevado a cabo en el punto 9. Como se puede apreciar, la reduc-
ción más significativa del valor del rmse se da en la primera iteración. Tras
ésta la reducción es muy leve y por tanto no tiene sentido usar un número
elevado de iteraciones del algoritmo.

En la figura 4.8 se puede apreciar una comparativa entre los DF y los


DFM empleando el contorno de prueba C, para distintos valores de N . Se
puede apreciar como el valor del rmse siempre es menor al usar DFM y
CAPÍTULO 4. DESCRIPTORES DE FOURIER MEJORADOS 62

que cuanto mayor es el valor de N menor es la diferencia que existe entre el


contorno aproximado por los DF y el aproximado por los DFM.

Figura 4.7: Evolución del rmse entre el contorno C y su aproximación en


distintas fases del algoritmo usando N = 5.

Figura 4.8: Evolución del rmse entre el contorno del C y su aproximación


usando DF y DFM para distintos valores de N.
CAPÍTULO 4. DESCRIPTORES DE FOURIER MEJORADOS 63

Figura 4.9: Contorno C, aproximación usando DF y DFM con N = 3.

Figura 4.10: Contorno C, aproximación usando DF y DFM con N = 5.


CAPÍTULO 4. DESCRIPTORES DE FOURIER MEJORADOS 64

Figura 4.11: Contorno C, aproximación usando DF y DFM con N = 7.

Figura 4.12: Contorno C, aproximación usando DF y DFM con N = 9.


CAPÍTULO 4. DESCRIPTORES DE FOURIER MEJORADOS 65

Figura 4.13: Contorno C, aproximación usando DF y DFM con N = 51.


Bibliografı́a

[1] M. S. Nixon, Feature extraction and image processing. Newnes, 2002.

[2] A. V. Oppenheim, Tratamiento de señales en tiempo discreto. Pearson


Educación, 2000.

[3] W. Philips, “Adaptive contour coding using warped polynomials,” in


Acoustics, Speech, and Signal Processing, 1996. ICASSP-96. Conference
Proceedings., 1996 IEEE International Conference on, vol. 4, pp. 1866–
1869, may 1996.

[4] W. Philips, “Ecg data compression with time-warped polynomials,” Bio-


medical Engineering, IEEE Transactions on, vol. nov., no. 11, pp. 1095–
1101, 1993.

[5] W. Philips, “Adaptive warped polynomial contour descriptors,” in Sys-


tems, Man and Cybernetics, 1995. Intelligent Systems for the 21st Cen-
tury., IEEE International Conference on, vol. 5, pp. 4638–4643, oct.
1995.

[6] Y. Yoo, Tutorial on Fourier Theory, march 2001.

[7] M. Fiol, “Aproximación por mı́nimos cuadrados y series de fourier,” tech.


rep., ETSE de Telecomunicaciò, Departament de Matemàtica Aplicada
i Telemàtica Universitat Politècnica de Catalunya, 2004.

[8] C. T. Zahn and R. Z. Roskies, “Fourier descriptors for plane closed


curves,” Computers, IEEE Transactions on, vol. C-21, pp. 269 –281,
march 1972.

[9] R. C. González, Digital image processing. Pearson-Prentice Hall, 2008.

[10] J. C. Russ, The image processing handbook. CRC/Taylor and Franci,


2007.

66
BIBLIOGRAFÍA 67

[11] M. Sonka, Image processing, analysis, and machine vision. Thomson


Learning, 2008.

[12] A. d. l. Escalera Hueso, Visión por computador : fundamentos y métodos.


Prentice Hall, 2001.

[13] W. Philips, “Adaptive noise removal from biomedical signals using


warped polynomials,” Biomedical Engineering, IEEE Transactions on,
vol. 43, pp. 480–492, may 1996.

[14] W. Philips, “Recursive computation of polynomial transform coeffi-


cients,” Electronics Letters, vol. 27, pp. 2337–2339, dec. 1991.

[15] W. Philips, “A time-frequency analysis of the properties of orthogonal


transforms,” in Digital Signal Processing Proceedings, 1997. DSP 97.,
1997 13th International Conference on, vol. 1, pp. 333–336, jul. 1997.

[16] W. Philips, “Polynomial and warped polynomial image and object re-
presentations,” in Systems, Man and Cybernetics, 1995. Intelligent Sys-
tems for the 21st Century., IEEE International Conference on, vol. 1,
pp. 263–268, oct. 1995.

[17] W. Philips, “A fast algorithm for the generation of orthogonal base fun-
ctions on an arbitrarily shaped region,” in Acoustics, Speech, and Signal
Processing, 1992. ICASSP-92., 1992 IEEE International Conference on,
vol. 3, pp. 421–424, mar 1992.

[18] J. De Vylder and W. Philips, “2-d shape representation using impro-


ved fourier descriptors,” in Image Processing (ICIP), 2009 16th IEEE
International Conference on, pp. 397–400, nov. 2009.

Vous aimerez peut-être aussi