Está en la página 1de 116

)l.

0-1~
INSTITUTO TECNOLÓGICO Y DE ESTUDIOS
SUPERIORES DE MONTERREY

I. T. E. S.. M. · C. C. M. BTBtIOTECA
COlfCCION Df Nf60CIOS Y ALTA DIRfCCro,
"COMPARACION DE LOS MÉTODOS WAVELET Y
TRANSFORMADA DE FOURIER EN EL
RECONOCIMIENTO DE PATRONES"

T E S I S
Que para obtener el grado de
MAESTRA EN CIENCIAS DE LA COi\1PUTACIÓN ,,,

P r e s e n t a :
JUANA JULIETA NOGUEZ J/i.ONROY

i\sesor·
DR. JUAN FCO. CORONA :BLRGUEÑO

Diciembre, 1998.
No. Adquis. 1(f 'I B
Precin:
Procedencia:
--

. J
INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE
MONTERREY

COMPARACIÓN DE LOS MÉTODOS WAVELET Y


TRANSFORMADA DE FOURIER EN EL
RECONOCIMIENTO DE PATRONES

Tesis presentada

por

JUANA JULIETA NOGUEZ MONROY

Aprobada en contenido y estilo por:

Dr. Juan Francisco Corona Burgueño


Asesor

Dr. Carlos Rodríguez Lucatero


Miembro del jurado

M. C. Edgar Vallejo Clemente


Miembro del jurado

Dr. Martín López


Director del Programa
DEDICATORIA

A ti Dios, creador y dador de vida, por permitirme disfrutar de tu maravilloso don


y compartirlo con mis semejantes ..

A ti Enrique, por tu apoyo, amor y comprensión, porque mi amor por ti es


inmenso y por permitirme disfrutar y compartir cada instante de mi vida a tu
lado.

A ti Ale, a quien adoro, por ser el gran regalo de Dios que me anima e impulsa
dar lo mejor de mi.

A ti Mamá y Papá, que con su ejemplo y amor al trabajo supieron guiarme y


transmitirme la fe en la vida y apoyarme en la primera parte de mi vida.

A ti Coco, por ser tan buena hermana y porque te quiero mucho

¡¡¡
RECONOCIMIENTOS

Deseo agradecer y dar mi más sincero reconocimiento a las personas que me


brindaron su apoyo y colaboración y que estuvieron siempre cerca de mí para que
esta tesis fuera posible:

Al Dr. Juan Feo. Corona Burgueño, por su paciencia, motivación, asesoría,


comprensión y apoyo; por su gran generosidad al compartir no sólo sus
conocimientos, sino también sus valores y por ser una gran persona.

Al lng. Jesús Rodríguez Guerrero, por su gran apoyo y confianza, porque con
su ejemplo y guía contagia su espíritu de triunfador.

A mis profesores de la maestría por la dedicación y empeño con que realizan su


labor, permitiendo que uno reciba las mejores bases y conocimientos.

Al ITESM por ayudarme a crecer como persona.

A la comunidad del ITESM Campus Hidalgo por permitirme trabajar codo a


codo compartiendo metas y sueños.

iv
TABLA DE CONTENIDO

DEDICATORIA ...................................................................iii

RECONOCIMIENTOS ......................................................... iv

LISTA DE FIGURAS ........................................................... ix

LISTA DE TABLAS .............................................................xi

RESUMEN ...........................................................................1

INTRODUCCIÓN ................................................................2

,
CAPITULO 1.........................................................................3

1.0 MARCO DE REFERENCIA ........................................ 3


1.1 Definición del problema ...................................... 4
1.2 Objetivo ...............................................................4
1.3 Justificación ........................................................ 5
1.4 Contribución ........................................................ 7
1.5 Producto Final. ..................................................... ?
,
CAPITULO 2........................................................................8

V
2.0 REVISIÓN DE CONCEPTOS BÁSICOS DE IMÁGENES
DIGITALES ................................................................... 8
2.1 El modelo de imagen ............................................ 8
2.2 Rangos dinámicos ................................................. 9
2.3 Resolución ............................................................. 1
2.4 Muestreo y cuantización ...................................... 11
2.5 Relaciones básicas entre pixeles ......................... 12
2.6 Técnicas de interpolación ................................... 18

,
CAPITULO 3 .......................................................................20

3.0 TRANSFORMADA DE FOURIER EN DOS


DIMENSIONES ........................................................... 20
3.1 Definición de la transformada de Fourier .............. 20
3.2 Los componentes de Fourier
en dos dimensiones ............................................. 28
3.3 La transformada discreta de Fourier
en dos dimensiones ............................................. 30
3.4 La transformada rápida de Fourier ....................... 34
3.5 Algoritmo computacional. ..................................... 37

,
CAPITULO 4 .......................................................................39

4.0 LA TRANSFORMADA WAVELET ............................... 39


4.1 Definición ..............................................................42
4.2 La transformada discreta wavelet ........................ 43
4.3 Análisis de multiresolución
(algoritmo piramidal) ........................................... 47
4.4 Algoritmo computacional ...................................... 50

vi
,
CAPITULO 5.......................................................................51

5.0 PROCESAMIENTO DE IMÁGENES


DE NIVEL BAJO E INTERMEDIO .............................. 51
5.1 Visión de nivel bajo .............................................. 53
5.2 Visión de nivel intermedio ..................................... 59

,
CAPITULO 6.......................................................................64

6.0 RECONOCIMIENTO DE IMÁGENES ........................ 64


6.1 Definición del universo de trabajo ...................... 70
6.2 Transformación en la escala de grises ................ 7·1
6.3 Detección de bordes ............................................ 72
6.4 Diseño y obtención de características
de la imagen ...................................................... 74
6.5 Métodos de reconocimiento ............................... 80

,
CAPITULO 7 .......................................................................82

7.0 DESARROLLO DE UN RECONOCEDOR


DE CARAS HUMANAS .............................................. 82
7. 1 Objetivo .............................................................. 82
7.2 Análisis .............................................................. 82
7.3 Diseño ............................................................... 85
7 .4 Construcción ...................................................... 89

,
CAPITULO 8 .......................................................................90

B.O RESULTADOS OBTENIDOS .................................... 90


8.1 Reconocedor con Transformada de Wavelet ...... 90
8.2 Reconocedor con Transformada de Fourier. ...... 91
vii
,
CAPITULO 9 .......................................................................93

9.0 CONCLUSIONES .......................................................93


9.1 Trabajo Futuro ............................................................. 97

ANEXOS .............................................................................98

ANEXO 1. Algoritmos .......................................................... 98


ANEXO 2. Resultados del experimento ............................ 101

REFERENCIAS ..................................................................109
,
BIBLIOGRAFIA..................................................................111

viii
LISTA DE FIGURAS

Figura 2.1 Cambios de nivel de intensidad en una imagen .................................. 9


Figura 2.2 Imágenes con diferente resolución ...................................................... 1O
Figura 2.3 Representación de una imagen en una matriz,
con valores en niveles discretos de gris entre O y 7 ........................... 11
Figura 2.4 Vecindad -4 de p N4(p) ........................................................................ 13
Figura 2.5 Vecindad diagonal de p N0 (p) .............................................................. 13
Figura 2.6 a) q E { (x+1, y), (x-1, y), (x, y+1), (x, y-1)} ....................................... 14
Figura 2.6 b) q está en No(P) y el conjunto N4(p) n N4(q) no está vacío ............. 15
Figura 2. 7 a) Letra original ................................................................................... ·16
Figura 2.7 b) Letra trasladada una unidad a la derecha ...................................... 16
Figura 2.8 Rotación de 90° de una imagen .......................................................... 16
Figura 2.9 Aplicando la función de reflexión f(i,-j) ................................................ 17
Figura 3.1 Representación gráfica de una señal discreta en tiempo ................... 20
Figura 3.2 Secuencia de muestra unitaria ........................................................... 21
Figura 3.3 Función exponencial real .................................................................... 21
Figura 3.4 Secuencia de forma senoidal ..............................................................22
Figura 3.5 Ejemplo de secuencia formada por muestras unitarias con
retardo y escalamiento .......................................................................23
Figura 3.6 Señal continua discretizada .................................................................24
Figura 3. 7 Representación de un sistema ............................................................24
Figura 4.1 Función de escalamiento \ll(t), wavelet W(t)
y siguiente nivel de detalle ................................................................. 39
Figura 4.2 Función base de Haar ........................................................................ .45
Figura 4.3 Función base Daubechies-4 ............................................................... .45
Figura 4.4 Diferentes familias wavelet obtenidas del paquete
wavelab de la Universidad de Stanford en los Estados Unidos ........... .46
Figura 4.5 Escalamiento de un bloque de 16 muestras de datos ........................ .49
Figura 5.1 Proceso para el reconocimiento de imágenes ..................................... 52
Figura 5.2 Máscara para detectar puntos aislados diferentes
de fondo constante .............................................................................. 55
Figura 5.3 Máscara de 3x3 general que muestra los coeficientes y
las posiciones de los elementos de la imagen correspondiente ........... 56
Figura 5.4 Entorno de vecindad 3 x 3 y máscaras del gradiente .......................... 58
Figura 6.1 Orden en que se lleva a cabo el procesamiento de imágenes ............ 65
Figura 6.2 Diagrama a bloques de un Sistema de Reconocimiento
Automático .....................................................................-...................... 66
Figura 6.3 Formación de un vector de imagen a partir de una imagen ................ 67
Figura 6.4 Etapas del diseño de un Sistema de Reconocimiento
Automático de Formas .........................................................................70
Figura 6.5 Transformación de una imagen a escala de grises (O a 8) .................. 71

ix
Figura 6.6 Ventanas de Kirsh como operadores para la obtención de
Bordes de una imagen .................................................................... 73
Figura 6.7 Ejemplo de aplicación de detección de bordes a una imagen ......... .66
Figura 6.8 Representación unidimensional del contorno de un objeto,
Empleando código cadena ............................................................... 75
Figura 7 .1 Elementos principales de los diagramas de flujo de datos
propuestos en la metodología de Yourdon .................. .................... ..82
Figura 7.2 Diagrama de flujo de datos propuesto para reconocer
una cara humana ......................................... ..................................... 83
Figura 7.3 Detalle del proceso 1 (Lectura y procesamiento de
la Base Inicial de Imágenes) ............................................................ .. 84
Figura 7.4 Diseño Modular del Sistema Reconocedor de Caras Humanas ..... .. .. 85
Figura 7.5 Siguiente nivel modular de la Base Inicial de Imágenes .......... ........ 86
Figura 8.1 Resultados obtenidos con el reconocedor de imágenes
que emplea transformada wavelet. ...... ............................................. 90
Figura 8.1 Resultados obtenidos con el reconocedor de imágenes
que emplea transformada de Fourier.......... ... .. ................................ 91
Figura 9.1 Imagen original y correspondiente de bordes o contornos .......... .... 93
Figura 9.2 Cuadro comparativo de desempeño de transformada
de Fourier y transformada Wavelet para reconocer imágenes
que ya se encontraban en el Banco de Imágenes .......................... .94
Figura 9.3 Cuadro comparativo de desempeño de transformada
de Fourier y transformada Wavelet para reconocer
imágenes con variaciones, de las que ya se encontraban en
el Banco de Imágenes...... ... ... ................. .... ......................... ... .... .....95
Figura 9.4 Imagen jeff-01.pgm con su correspondiente imagen de bordes
y una variación llamada jeff-02.pgm con su correspondiente
imagen de bordes .. ... ............................... .... ... .. ............................... 95

X
LISTA DE TABLAS
Tabla 4.1 Coeficientes de tres funciones wavelet .......................................... .46
Tabla 5.1 Niveles y operaciones del procesamiento integral de imágenes ..... 51
Tabla 6.1 Situaciones que pueden presentarse en el reconocimiento
automático ......................................................................................69
Tabla 6.2 Ejemplo de descomposición wavelet con base
en promedios y coeficientes de detalle ........................................... 78
Tabla 7.1 Lista de programas construidos ...................................................... 89

xi
RESUMEN

Este proyecto consideró diseñar algoritmos y desarrollar pruebas para el


reconocimiento de patrones e imágenes en dos dimensiones, empleando en forma
paralela la transformada rápida de Fourier y la transformada discreta Wavelet, con
objeto de determinar cuál de ellas brinda mejores resultados. Es un proyecto de
investigación interno, cuya inquietud surgió a través de lecturas de nuevas
herramientas para el procesamiento digital de señales, como la transformada
wavelet y su aplicación dentro del área de reconocimiento de patrones.

Se tiene una amplia gama de aplicaciones de reconocimiento de formas o


imágenes, tales como el reconocimiento de caras, huellas dactilares o iris para la
identificación de personas que utilizan tarjetas de crédito, licencias de conducir,
pasaporte; control de acceso a áreas restringidas, reconocimiento de tumores o
malformaciones en estudios médicos, visión de robótica para tareas industriales,
control de calidad de productos, estudio de tomas áreas de satélites para
identificar recursos y ubicación de objetos de interés, etc. El universo de trabajo
para este proyecto se definió en torno al reconocimiento de caras humanas.

La transformada de Fourier se ha utilizado ampliamente en muchas áreas


de física y en otras ciencias incluidas en un amplio rango de tecnologías modernas
como el reconocimiento de imágenes, el procesamiento de imágenes médicas,
sismología, redes telefónicas y líneas de telecomunicaciones [2.1].

Por otra parte, la transformada wavelet fue desarrollada en forma


independiente en diferentes campos tales como matemáticas, física cuántica,
ingeniería eléctrica y geología sísmica, como un método alterno para resolver
problemas de resolución, y gracias al intercambio de estas disciplinas en los
últimos diez años han surgido nuevas aplicaciones de esta transformada, entre las
que destacan la compresión de imágenes, turbulencias, radares, predicción de
terremotos, visión humana y la que nos interesa ahora [4.1].

En el ámbito computacional, el reconocimiento automático de formas abarca un


conjunto de técnicas y herramientas matemáticas con aplicación en numerosas
disciplinas: ingeniería, medicina, biología, etc.; siendo uno de sus principales
objetivos el que una computadora pueda recibir información digitalizada de un
objeto real, se compare con otras imágenes de las mismas características que se
le proporcione y sea capaz de decidir si la imagen concuerda con las
características de otra, tomando en cuenta que pueden existir distorsiones
provocadas por el ambiente en el que se toma la información.

Este trabajo aporta un cuadro comparativo entre los métodos de Fourier y


Wavelet, aplicados al reconocimiento de caras humanas, mostrando mejores
resultados la transformada Wavelet al aplicarse ambos métodos sobre un conjunto
selecciondo de caras humanas.
INTRODUCCIÓN
En el presente trabajo de tesis usted encontrará el desarrollo de un
reconocedor de imágenes, orientado principalmente a caras humanas, que
permite elegir en forma alterna la transformada de Fourier y la transformada
Wavelet como puntos focales para obtener los descriptores de las imágenes que
sirven como base para la labor de reconocimiento, así como cuadros comparativos
de los resultados obtenidos. El término wavelet significa pequeña onda u
"endita"; sin embargo aún no se tiene una traducción directa al español, por lo
que se preservó su nombre en el idioma inglés para identificar esta transformada.

Este documento está organizado de la siguiente forma: en el primer capítulo se


define un marco de referencia, se describe el potencial de la transformada
wavelet, se muestra la justificación de este trabajo describiendo su objetivo, la
contribución y el producto final.

En el segundo capítulo se proporcionan las definiciones y conceptos básicos


de las imágenes digitales, así como algunas de las operaciones básicas que sobre
ellas se efectúan.

El tercer capítulo describe algunos conceptos básicos del procesamiento digital


de señales y proporciona las definiciones de diversas transformadas de Fourier,
así como un algoritmo para la construcción de la transformada rápida de Fourier.

En el cuarto capítulo se muestra una semblanza histórica del surgimiento de la


transformada wavelet, se proporciona su definición y se describe un algoritmo para
su implementación.

En el quinto capítulo se muestran los conceptos básicos del procesamiento de


imágenes de nivel bajo e intermedio, que se aplican en forma indirecta para lograr
el reconocimiento de alto nivel.

El sexto capítulo describe el proceso para lograr el reconocimiento de


imágenes, se define el universo de trabajo y se describen los procesos principales
desarrollados en este trabajo: detección de bordes, obtención de características y
el método de reconocimiento de decisión teórica, basado en discriminantes.

En el séptimo capítulo se dan detalles de la construcción del prototipo para


reconocer automáticamente imágenes, describiendo su análisis y diseño.

En el octavo capítulo se muestran los resultados obtenidos.

Por último, en el capítulo noveno se mencionan las conclusiones de este


trabajo y se muestran algunas ideas que podrían permitir la continuación de esta
investigación.

2
CAPÍTULO 1

1.0 MARCO DE REFERENCIA.

Esta propuesta es un proyecto de investigación interno, cuya inquietud surgió a


través de lecturas de nuevas herramientas para el procesamiento digital de
señales, como la transformada wavelet y su aplicación dentro del área de
reconocimiento de patrones.

El procesamiento digital de imágenes es útil en el mejoramiento de la


información visual y gráfica para interpretación humana y en el procesamiento de
datos de escena para la percepción de máquinas autónomas. Dentro de este
ámbito es muy importante determinar qué herramientas matemáticas y
computacionales pueden dar mejores resultados aprovechando los avances
tecnológicos actuales.

Tradicionalmente se han empleado los métodos de Fourier, basados en


transformadas de senos y cosenos para el tratamiento de imágenes y audio, sin
embargo, en los últimos diez años surgió la transformada wavelet como una
técnica promisoria que vislumbra mejores resultados respecto al actual
desempeño que han tenido los métodos de Fourier. La transformada de Fourier
proporciona la información de frecuencias de la señal, pero no indica en que
tiempo existen estos componentes de frecuencia.

La información anterior no se requiere cuando se trabaja con señales


estacionarias, es decir cuando los contenidos de frecuencia no cambian con el
tiempo. Pero, existe una gran cantidad de aplicaciones en las que se tienen
señales no estacionarias, por ejemplo las señales biológicas, entre las que
destacan la actividad eléctrica del corazón, los electrocardiogramas y los
electroencefalogramas, que requieren mayor profundidad en estudio del
comportamiento de la señal, eso dio origen a la necesidad de buscar
representaciones de frecuencia-tiempo a través de transformadas que permitan la
localización en tiempo de los componentes espectrales.

En primer término surgió la transformada Rápida de Fourier y fue la primera en


activar en forma importante el procesamiento de señales teniendo múltiples
aplicaciones en medicina, análisis espectral, acústica, filtrado y procesamiento de
imágenes entre otras. El problema de la transformada Rápida de Fourier está
relacionado con el principio de incertidumbre de Heisenberg, debido a que permite
conocer en intervalos de tiempo las bandas de frecuencia que existen, pero no es
posible conocer en forma exacta en el tiempo las representaciones de frecuencia
de la señal. El problema también está relacionado con el ancho de la función
ventana que se emplea, si se usa una ventana de longitud infinita, se tiene una
resolución en frecuencia perfecta, pero no se obtiene información en el tiempo, si
por el contrario se elige un ancho de ventana pequeño se obtiene buena
resolución en tiempo, pero una muy pobre resolución en frecuencia.

3
Actualmente se están trabajando en forma separada métodos de
reconocimiento de patrones basados en la transformada rápida de Fourier y en
forma aislada muy pocos sobre transformada wavelet, esta última está en proceso
de exploración en otros campos tan diversos como astronomía, acústica,
ingeniería nuclear, neurofisiología, música, imagen de resonancia magnética
fractales, turbulencia, predicción de terremotos, radares, reconocimiento de voz,
visión humana, y aplicaciones en matemáticas puras, tales como solución de
ecuaciones diferenciales parciales.

Estas investigaciones se están llevando a cabo en una gran variedad de


países, entre los que destaca Estados Unidos, en el que se tiene un proyecto
muy interesante en colaboración entre la Universidad de Stanford y el Programa
de Datos de Astrofísica de la NASA [1.1].

1.1 Definición del problema

El reconocimiento de imágenes requiere un considerable esfuerzo


computacional en cada una de sus etapas. En particular la obtención de
características que serán la base de reconocimiento es una de las que requieren
mayores recursos. Los métodos tradicionales de transformada rápida de Fourier
utilizados con gran éxito para el análisis de señales utilizan un número de
operaciones del orden O(nlogn). La transformada wavelet rápida, por sus
características de algoritmo piramidal, puede reducir a orden O(n) el número de
operaciones para obtener las características del vector asociado a la imagen.

En algunos artículos se hace mención sobre los resultados de la transformada


rápida de Fourier en el procesamiento digital de señales, en particular para el
reconocimiento de patrones, pero sería muy interesante tener cuadros
comparativos de su desempeño respecto a la transformada wavelet.

1.2 Objetivo

Debido al potencial que vislumbra la transformada wavelet, se propone


elaborar algoritmos y desarrollar pruebas de reconocimiento de patrones e
imágenes en dos dimensiones, empleando en forma paralela la transformada
rápida de Fourier y la transformada Wavelet, con objeto de determinar cuál de
ellas brinda mejores resultados. En particular este trabajo plantea un desarrollo y
pruebas con cada uno de estos métodos (Fourier y Wavelet) aplicados al
reconocimiento de caras humanas. aunque se tiene un gran potencial y cantidad
de aplicaciones entre las que se pueden mencionar la visión de robots, el
procesamiento de imágenes vía satélite, el reconocimiento de huellas digitales, de
manuscritos, de voz, etc.

4
Se eligieron como criterios de comparación la complejidad algorítmica de
los métodos, el tiempo de ejecución y el porcentaje de correctud o decisiones
correctas al aceptar o rechazar nuevas imágenes para su reconocimiento.

1.3 Justificación

Dentro del paradigma cognitivo, el intento de construir modelos de procesos


intelectuales se vio considerablemente impulsado por el avance de los recur&os
tecnológicos, siendo de gran importancia las modernas computadoras digitales.
Estos esfuerzos se sistematizaron dentro de un área de estudios de carácter
fuertemente interdisciplinaria a la que se le dio el nombre de Inteligencia Artificial.
Esta área ha evolucionado y sus resultados han influenciado en forma importante
aspectos de arquitectura de computadoras, así como modelos de pensamiento.

El reconocimiento de patrones es una de las áreas de la Inteligencia Artificial,


que entre sus objetivos contempla el que una computadora pueda recibir
información digitalizada de un objeto real y pueda compararla con otra imagen de
las mismas características que se le proporcione en un momento dado, y dicha
computadora pueda decidir si este segundo objeto es similar al primero o
concuerda con las características de otro objeto que también se tenga
almacenado, tomando en cuenta que la imagen presentada puede no ser
exactamente igual a la primera, debido a alguna distorsión provocada por el
ambiente del que se toma la nueva información.

Una imagen digital en dos dimensiones, es una imagen f(x,y) que ha sido
discretizada tanto en coordenadas espaciales como en brillantez. Se puede
considerar a una imagen digital como a una matriz cuyos índices de filas y
columnas identifican un punto en la imagen y su correspondiente valor del
elemento de la matriz identifica el nivel de gris en ese punto. Los elementos de
dicho arreglo digital son llamados elementos de imágenes, elementos de dibujo o
pixel es.

El proceso de reconocimiento de imágenes no es tan simple, debido a que


implica identificar o clasificar objetos sobre las bases de atributos y de sus valores
de relación-atributo y esto se complica cuando se tiene una base muy grande de
imágenes contra las cuales se desea comparar, por ejemplo la identificación de
huellas digitales de persona contra las que se tengan almacenadas en un archivo
policiaco, o bien un rostro tomado de una cámara contra los archivos de
fotografías de una empresa bancaria.

En lo referente al procesamiento de señales, se han aplicado transformaciones


matemáticas para obtener mas información, que no se encuentra disponible en su
forma original. Existe un gran número de transformaciones que se pueden aplicar,
pero entre ellas quizás la más popular es la transformada de Fourier.

5
En la práctica la mayoría de las señales son señales en el dominio del tiempo
en su formato original, debido a que su medición es una función del tiempo. Sin
embargo en la mayoría de los casos, la información útil está escondida en el
contenido de frecuencia de la señal. El espectro de frecuencia de una señal
muestra los componentes de frecuencia de dicha señal, es decir, permite
visualizar las frecuencias que existen en esa señal. La transformada de Fourier
permite obtener la representación en amplitud y frecuencia de la señal.

Aunque la transformada de Fourier es quizás la mas popularmente usada, no


es la única. Existen muchas otras transformadas tales como la transformada
Hilbert, la distribución Wigner, la transformada Radon y la transformada Wavelet,
que por el momento nos interesa.

La transformada wavelet fue desarrollada como un método alterno a la


transformada rápida de Fourier para resolver el problema de la resolución. El
análisis wavelet se hace en forma similar a la función ventana mencionada
anteriormente, en el sentido de que la señal es multiplicada por una función
similar a la función ventana en la transformada de Fourier de tiempo corto y la
transformada se calcula en forma separada para diferentes segmentos de la señal
en el dominio del tiempo. Sin embargo existen al menos tres grandes diferencias
entre la transformada rápida de Fourier y la Wavelet:

1. Las transformaciones de Fourier de la señal a la que se aplicó la ventana no


se preservan y por lo tanto los picos simples son vistos como senoides, es decir,
presenta pérdida de información de la señal original, debido a que al utilizar senos
y cosenos, la transformada de Fourier presenta un solo conjunto de funciones
base.

2. En la transformada wavelet, el ancho de la ventana se cambia mientras se


calcula la transformada para cada componente espectral simple, lo cual es
probablemente la característica más significativa de esta transformada, mientras
que en la transformada de Fourier el ancho de la ventana se mantiene fija sin
importar los componentes espectrales que contenga la señal.

3. Cada función wavelet individual está localizada en el espacio, mientras que


las funciones de Fourier de senos y cosenos no lo están, debido a la transformada
de Fourier presenta partes reales y partes imaginarias.

La transformada de Fourier y la transformada wavelet tienen también


similitudes importantes [1.2), entre las que se destacan:

1) Las dos son operaciones lineales que generan una estructura que contiene
log2n segmentos de diferentes longitudes. Debido a que ambos métodos son
recursivos y trabajan sobre el principio de divide y vencerás, en cada cambio
de nivel o iteración se va reduciendo el conjunto de datos en segmentos que
son la mitad del anterior.

6
2) Las propiedades matemáticas de las matrices involucradas en las
transformaciones son similares también. Tanto la matriz transformada inversa
de la transformada rápida de Fourier (FFT), como la de la transformada
wavelet discreta (DWT), es la transpuesta original. Es decir, en ambos casos,
se puede aplicar el proceso inverso (o la transformada inversa) para recuperar
la señal original.

3) En ambas transformadas los resultados pueden ser vistos como una mapeo en
el espacio función a un dominio diferente. La transformada de Fourier permite
obtener la representación en frecuencia de la señal y la transformada Wavelet
muestra una representación también de la frecuencia, pero en el espacio en el
que ocurre.

1.4 Contribución

A continuación se listan las principales aportaciones de este trabajo:

1) Desarrollar métodos de aplicación de la transformada wavelet y de la


transformada rápida de Fourier.

2) Elaborar herramientas para el reconocimiento de imágenes en dos


dimensiones.

3) Brindar cuadros comparativos que muestren el desempeño tanto de la


transformada rápida de Fourier como la de la transformada Wavelet.

4) Contribuir a la difusión y conocimiento de la transformada wavelet para


diferentes aplicaciones.

1.5 Producto final

Mostrar cuadros comparativos del desemper10 de la Transformada rápida de


Fourier contra la transformada Wavelet a través del desarrollo de un prototipo que
reconozca caras humanas en dos dimensiones, con objeto de determinar cuál de
ellas brinda mejores resultados

Los criterios seleccionados de comparación de los algoritmos son: la


complejidad algorítmica de los métodos, el tiempo de ejecución y el porcentaje de
correctud o decisiones correctas que presenta cada método al aceptar o rechazar
nuevas imágenes para su reconocimiento.

7
CAPÍTULO 2

2.0 REVISIÓN DE CONCEPTOS BÁSICOS DE IMÁGENES DIGITALES

A continuación se describen en forma breve los conceptos básicos de la


representación digital de imágenes y de las operaciones básicas que se aplican.

Debido a la complejidad que implica el procesamiento digital de imágenes en


tres dimensiones, y a que las imágenes en color requieren mucho más capacidad
de almacenamiento en disco, se orientaron los trabajos experimentales de esta
tesis hacia imágenes en dos dimensiones y en blanco y negro.

2.1 El modelo de imagen

Un modelo simple de imagen puede referirse a una función de intensidad de


luz en dos dimensiones, denotada por f(x,y), donde el valor de amplitud de la
función f en las coordenadas espaciales (x,y) da la intensidad (brillantez) de la
imagen en ese punto. Debido a que la luz es una forma de energía f(x,y) debe ser
un valor finito mayor o igual a cero, es decir:

O ::; f(x,y) < oo

Las imágenes que percibe la gente en actividades visuales cotidianas


normalmente consisten de la luz reflejada de los objetos. La naturaleza básica de
la función f(x,y) se puede caracterizar por dos componentes:

1) La cantidad de luz fuente incidente en al escena que se está viendo


2) La cantidad de luz reflejada por el objeto en la escena.

Estos elementos son llamados de manera más formal : iluminación y


componentes de reflexión, y se denotan por i(x,y) y r(x,y) respectivamente.

Para formar la función f(x,y) se combinan como producto las funciones i(x,y)
y
r(x,y) :

f(x,y) = i(x,y)r(x,y)

Donde

O < i(x,y) < oo

y O ::; r(x,y) ::; 1

8
Esta última indica que la reflexión esta limitada por O (absorción total) y 1
(reflexión total).

La naturaleza de la función de iluminación esta determinada por la fuente de


luz, mientras que la reflexión está asociada a las características de los objetos en
escena.

2.2 Rangos Dinámicos

Los rangos dinámicos se refieren a la separación entre los extremos de luz y


oscuridad. Por ejemplo en las impresiones de imprenta, el rango dinámico se
define normalmente de 8 a 1, donde el negro más negro se representa como un 1
y el blanco más blanco como un 8. Este concepto también puede representarse
por números de niveles de gris.

A cada valor del rango también se le llama nivel de intensidad y su valor


depende de la imagen misma y de la aplicación para la que se usará. Como base
de comparación las imágenes monocromas de la televisión utilizaban 128 niveles
de intensidad y en visión artificial se han empleado con éxito 64 niveles. Las
imágenes que se utilizarán para probar el sistema poseen de O a 256. En la figura
2.1 se muestran dos imágenes de la misma toma, con diferente nivel de
intensidad.

Figura 2.1 Cambios de nivel de intensidad de grises

9
2.3 Resolución

Adicional al rango dinámico, la resolución es la segunda característica


responsable de la calidad de la presentación de la imagen y está relacionada con
la cantidad de muestras que se toman de la misma, en su proceso de
digitalización o discretización. A mayor número de muestras se obtiene una mejor
resolución, pero se requiere una mayor cantidad de almacenamiento en memoria;
por ello es necesario establecer un número óptimo de muestras dependiendo de la
imagen de que se trate, de su tamaño y de la aplicación que tendrá

En fotografía el tamaño del grano fija el límite y puede establecerse en 1µ (10-


6m), Una buena impresora láser trabaja a 600 puntos por pulgada o más
(aproximadamente 42 µ de espaciado).

La resolución angular del ojo humano percibe un minuto de arco o 3/10000


radianes. Esto se debe a que la parte del cristalino del ojo que forma una imagen
es de 3000 longitudes de onda de diámetro. Por ello para el material que se
examina de cerca (aproximadamente a 30 cm.) la resolución permitida por el ojo
es en el mejor de los casos 100 µ , es decir 104 m o 0.1 mm.

Debido a lo anterior en sistemas de visión se han empleado con éxito


resoluciones de 512 x 512, 256 x 256 y 64 x 64 muestras por imagen. En la figura
2.2 se pueden observar dos imágenes con diferente resolución.

Figura 2.2 Imágenes de diferente resolución.

10
2.4 Muestreo y cuantización

El Dr. Rafael González [2.1] nos dice: "Para que sea adecuado el
procesamiento de una imagen en computadora, la función de la imagen f(x, y)
debe ser digitalizada tanto espacialmente como en amplitud. La digitalización de
las coordenadas espaciales (x, y) es llamada muestreo de la imagen, mientras que
la digitalización de la amplitud recibe el nombre de cuantización de niveles de
gris."

Un modo muy familiar de representar una función de dos dimensiones es una


matriz rectangular, la conveniencia de este tipo de matriz para efectuar cálculos la
hace indispensable.

Se supone que una imagen continua f(x, y) se aproxima mediante muestras


igualmente esparcidas colocadas en la forma de un arreglo N x M, donde cada
elemento del arreglo es una cantidad discreta.

/(0,0) ...... .f(O,l) ........ f(O,M -1)


f(x,y) = /(1,0) ...... .f(l,l) ........ f(l,M -1)

f (N -1,0)/ (N -1,1)/ (N -1,M -1)

El lado derecho de esta ecuación representa lo que comúnmente se le llama


imagen digital. Cada elemento del arreglo es un elemento de la imagen, el cual
recibe el nombre de elemento de imagen, "pixel" o "pel" y es muy empleado para
denotar a los elementos de una imagen.

El proceso de digitalización requiere decidir sobre los valores de N, M y los


números de los niveles discretos de grises permitidos para cada pixel.

O O 2 O

5 7 3

O 4 6

o o o o

Figura 2.3 Representación de una imagen en una matriz, con valores en niveles
discretos de gris entre O y 7.

ll
Es común en el procesamiento digital de imágenes que se asignen estas
cantidades como potencias de dos, es decir

N = 2"
y

Donde G denota el número de niveles de gris.

Suponiendo que los niveles discretos de la escala de grises estén igualmente


espaciados entre O y G, el número de bits requeridos para almacenar una imagen
digitalizada es:

b = NxMxm; Sí M = N b = N2 m

Por ejemplo una imagen de 128 x 128 con 64 niveles (2 6 ) de grises requiere
98, 304 (128x128x6) bits de almacenamiento. Sin embargo, dependiendo de como
se haya efectuado el proceso de digitalización de la imagen, sucede en ocasiones
que la cantidad de información real es mucho menor que la cantidad de datos
capturados . En este caso es muy importante considerar la posibilidad de emplear
compresión de datos para tener cantidades más adecuadas de datos a fin de
poder transmitirlas a través de los diferentes medios de comunicación.

Por otra parte para un valor fijo de resolución espacial, la apariencia de una
imagen puede mejorarse en muchos casos usando un esquema adaptivo donde el
proceso de muestreo depende de las características de la imagen. Se requiere un
muestreo fino en general para las vecindades entre las transiciones de niveles de
gris de la figura, mientras que puede emplearse un muestreo grueso en regiones
de suavidad relativa o relativamente homogéneas o similares en sus niveles de
gris.

2.5 Algunas relaciones básicas entre pixeles

En la siguiente notación se emplean letras minúsculas (como p o q) para


denotar a los pixeles. Se emplea S para indicar a un subconjunto de pixeles de la
función f(x, y) que representa a una imagen.

2.5.1 Vecindad de un pixel

Un pixel p en las coordenadas (x, y) tiene cuatro vecindades horizontales y


verticales, cuyas coordenadas son:

(x+1, y), (x-1, y}, (x, y+1 ), (x, y-1)

12
A este conjunto de pixeles se le llama vecindad 4 de p y se denota por N4(p).
Cada pixel está a una unidad de distancia de (x, y), y algunas vecindades de p
están fuera de la imagen digital si (x, y) están en el borde de la imagen.

(x, Y+ l)

' ~ .111

(x-1,y) (x,y) p (x+ l, y)

(x, y-1)

Figura 2.4 Vecindad - 4 de p N4(p).

La vecindad diagonal de p tiene las coordenadas:

(x+1, y+1 ), (x-1, y-1 ), (x-1, y+1 ), (x-1, y-1)

y se denota por No (p).

q•
. ~"q

(X, y) p

cr ~"q

Figura 2.5 Vecindad diagonal de p No (p).

Estos puntos junto con la vecindad 4 son llamados vecindad 8 de p, denotada


por Na(P)

13
2.5.2 Conectividad

La conectividad entre pixeles es un concepto importante empleado para


establecer fronteras de objetos y componentes de regiones en una imagen. Para
establecer si dos pixeles están o no conectados, se debe determinar si son
adyacentes en algún sentido (si son vecinos - 4) y si sus niveles de gris satisfacen
un criterio especificado de similaridad (es decir sí son iguales). Por ejemplo, en
una imagen binaria con valores O y 1, dos pixeles pueden ser vecinos - 4, pero se
dice que no están conectados a menos que tengan el mismo valor.

Se consideran 3 tipos de conectividad

a) Conectividad - 4. Dos pixeles p y q con el mismo valor de nivel de


gris V están conectados - 4 si q está en el conjunto N4(p)

b) Conectividad - 8. Dos pixeles p y q con el mismo valor de nivel de


gris V están conectados - 8 si q está en el conjunto N8 (p)

c) Conectividad - m. Dos pixeles p y q con el mismo valor de nivel de


gris V están conectados - m sí:

1) q está en N4(p), o
2) q está en No(P) y el conjunto N4(p) n N4(q) es el conjunto
vacío.

.q

q (x. Y) ~"q
p

......q

Figura 2. 6. a) q E { (x+1, y), (x-1, y), (x, y+1 ), (x, y-1)}

14
1

..
- q

3 [X, Y) p
-
-

..
..
3

Figura 2. 6 b) q está en N0 (p) y el conjuntoN 4(p) n N4(q) está vacío

La conectividad mixta es una modificación de la conectividad - 8 y se introduce


para eliminar las conexiones múltiples que suelen causar dificultades cuando se
utiliza la conectividad - 8.

Un pixel p es adyacente de un pixel q si ambos están conectados. Se puede


definir la adyacencia -4, -8 o -m dependiendo de del tipo de conectividad
especificada.

Una trayectoria o camino desde un pixel p con coordenadas (x, y) a un pixel q


con coordenadas (s, t) es una secuencia de pixeles distintos con coordenadas

(xo, Yo), (x1. Y1 ), .. . (x n, Y n)

Donde: (Xo, Yo) = (x, y) , (x n, y n) = (s, t) , (xi, y¡) está conectado con (x i+1, y i+1 ),
n ~ i ~ 1 y n es la longitud de la trayectoria.

Si p y q son pixeles de un subconjunto S de una imagen, entonces p está


conectado a q en S si existe una trayectoria de p a q formada enteramente por
pixeles en S.

Para cualquier pixel p en S, el conjunto de pixeles en S que está conectada a p


es llamado componente conexo y este concepto es fundamentalmente importante
en el análisis automatizado de imágenes.

2.5.3 Operaciones digitales binarias

Algunas de las operaciones requeridas para las imágenes digitales, son la


traslación, la rotación y la reflexión.

15
TRASLACIÓN.

La traslación de una imagen f(i, j) por un desplazamiento (k, 1), donde k y I son
enteros, produce una nueva imagen digital f(i-k, j-1) . Esta representación no es tan
sencilla de aplicar, debido a que deben considerarse ciertas acciones cuando hay
localidades vacías o bien para los valores frontera que al desplazarse quedan
fuera de la matriz original f(i, j). Como ejemplo se muestra en la figura 2.7, una
letra digitilizada desplazada una unidad a la derecha.

7 7

6 6

s s
4 4

3 3

2 2

.
o 1 2 3 4 s 6 7 8 o 1 2 3 4 s 6 7

Figura 2. 7 a ) Letra original Figura 2.7 b) Letra traslada una unidad


a la derecha

ROTACIÓN

La rotación implica un desplazamiento de la figura, alrededor de un eje


imaginario definido. Se tienen tres versiones básicas de rotación para múltiplos de
90°, representados por f(-j, i), f(-i, -j) y f(j, i) que corresponden a 90°, 180° y 270°
respectivamente. En la siguiente figura se puede apreciar una rotación de 90° .

Figura 2.8 Rotación de 90° ( f(-j,i) )


16
Cuando se desea rotar una figura en ángulos diferentes de múltiplos de 90°, es
necesario aplicar otro tipo de técnicas como las de interpolación.

REFLEXIÓN

La reflexión implica considerar que existe un eje o espejo a partir del cual se
reflejan los elementos de la imagen.
Se consideran cuatro versiones básicas de reflexión: arriba/abajo, f(i,-j),
izquierda/derecha, f(-i,j), NE/SO, fU,i) y NO/SE, f(-j,-i).

Ejemplo:

Figura 2.9 Aplicando la función de reflexión f(i, -j)

De igual manera que en la rotación, cuando se desean ejes arbitrarios para la


reflexión es necesario considerar técnicas de interpolación para este efecto.

17
2.6 Técnicas de interpolación

En la práctica al digitalizar una imagen se obtiene un conjunto finito de


muestras, que pueden verse como el número de celdas de muestra en unidades -
área, dentro de las fronteras de la función f (x, y) que representa a la imagen. Sin
embargo, puede suceder que la transformación no esté del todo correcta o bien
que las mediciones efectuadas estén incompletas. En este caso es posible
determinar valores intermedios o puntos deseados empleando técnicas de
interpolación.

Desde Newton hasta Lagrange se han diseñado diversos algoritmos donde a


partir de muestras originales es posible calcular valores intermedios, que dan
como resultado curvas suaves para estimar ciertos valores faltantes.

Los métodos de interpolación son muy variados debido a que su utilización


depende de la función con que se va a trabajar, o bien de los valores tabulados.
Por ejemplo, la interpolación polinomial nos permite dada una función o una
sucesión de datos, encontrar un polinomio que nos asegure que evaluando esa
sucesión de datos, el valor obtenido es igual a su valor original. La ventaja
fundamental que esto representa es que es más fácil obtener el valor a través del
polinomio, que a través de la función original o de los datos discretos.

Algunos de los métodos de interpolación más adecuados para las imágenes de


dos dimensiones son los siguientes:

2.6.1 Interpolación del vecino más cercano

Esta clase de interpolación inicia con muestras discretas f(i, J) y proporciona


valores interpolados en cualquier punto (x, y) donde x y y varían de manera
continua. Se aplica el principio de la interpolación lineal en una dimensión, donde
para encontrar f(i + p), dada las muestras f(i) y f(i + 1), donde p es un VALOR
entre O y 1, y se aplica:

f(i + p) = (1 - p) f(i) + p f(i + 1)

Si p tomara el valor exacto de cero o de uno, la fórmula toma un valor exacto


de la muestra.

En dos dimensiones se consideran las cuatro muestras de las esquinas de una


unidad cuadrada en {i, j),(i+1,J), (i, j + 1), (i + 1, j + 1). A continuación puede
asignarse el valor f(i + p, j + q) al punto obtenido del redondeo de i + p y j + q
respecto a los enteros más cercanos.

f(i + p, j + q) = (1 - p) (1 - q) f(i, j) + p (1 - q) f(i+1, j) +q(1-p) f(i, }+1)


+ p q f( i+1, }+1)
18
2.6.2 Interpolación spline cúbica

Las aproximación polinómica segmentaria más común usando polinomios


cúbicos entre parejas sucesivas se llama interpolación spline cúbica [2.2) . Un
polinomio cúbico general involucra cuatro constantes; así que hay suficiente
flexibilidad en el procedimiento del trazador cúbico para garantizar no solamente
que la interpolante sea continuamente diferenciable en el intervalo, sino que tenga
también una segunda derivada continua.

Dada una función f definida en [a, b) y un conjunto de números, llamados los


nodos, a= Xo < X1 < ... < Xn = b, un interpolante spline cúbico, S, para f es una
función que satisface las siguientes condiciones:

a) S es un polinomio cúbico, denotado S¡, en el subintervalo [x¡, X¡+ 1]


para cadaj= O, 1, ... , n -1;
b) S (x¡) = f (x¡) para cadaj =O, 1, ... , n - 2;
c) Sj+1 (x¡+1) = Sj(X¡+1) para cadaj=O, 1, ... , n - 2;
d) Sj+1 (x¡+1) = Sj (x¡+1) para cada j =O, 1, ... , n - 2;
e) S'j+1 (x¡+1) = S'j (x¡+1) para cadaj =O, 1, ... , n - 2;
f) Se satisface una del siguiente conjunto de condiciones de frontera:
S" (xo) = S"(xn) = O (frontera libre)
r
S' (Xo) = (Xo) y S' (Xn) = f' (Xn) (frontera sujeta)

Aunque los splines cúbicos pueden definirse con otras condiciones de


frontera, las condiciones dadas arriba son suficientes. Cuando se satisfacen las
condiciones de frontera libre, el spline se llama spline natural y su gráfica se
aproxima a la forma que tomaría una varilla larga flexibe si se forzara a pasar por
cada uno de los puntos de los datos {(><o, f (xo) ), (x1, f (X1) ), ... , (Xn, f (Xn) )}.

En general, las condiciones de frontera sujeta nos llevaran a aproximaciones


más exactas ya que incluyen más información acerca de la función; sin embargo,
para que este tipo de condición a la frontera se implemente, es necesario tener, ya
sea los valores de la derivada a los extremos, o una aproximación de estos
valores.

Los polinomios se formulan de modo que las conexiones entre las ecuaciones
cúbicas separadas sean suaves. Si los polinomios se limitan al orden cúbico, no
ocurren las violentas oscilaciones de las versiones de orden superior, produciendo
un ajuste mucho más aceptable para los datos con abruptos cambios locales.

19
CAPÍTULO 3

3.0 TRANSFORMADA DE FOURIER EN DOS DIMENSIONES

Una vez digitalizada la imagen es posible aplicar sobre ella diferentes técnicas
para su análisis. Es posible analizar tanto sus componentes en tiempo, como en
frecuencia; para esto último se ha utilizado con éxito la transformada de Fourier. A
fin de poder dar una definición se mostrarán primero algunos conceptos que
sirven como antecedente.

Una secuencia de números n, en los cuáles SE~ denota a x(n) como el n-ésimo
número de la secuencia, está escrito formalmente como:

x = { x(n) , - oo < n < oo }

Aunque esta secuencia no siempre surge de un muestreo analógico de la


señal, se acostumbra llamar a x(n) como la n-ésima muestra de la secuencia.
Para representar gráficamente una señal discreta en el tiempo se utiliza un tipo de
gráficas como el siguiente:

x(n)

r 156 7 8 9 10 11

-5 -4 -3 -2 -1 O 1 2 3 4

Figura 3.1 Representación gráfica de una señal discreta en tiempo.

El concepto de señal discreta se refiere a que la función x(n) sólo está definida
para valores enteros den y que x(n) simplemente no está definida para valores no
enteros den.

20
Se define una secuencia de muestra unitaria o(n), como una secuencia que
tiene los siguientes valores:

0,n ~ O
8(n) ={
1,n = O

3.1

Figura 3.2 Secuencia de muestra unitaria

Esta secuencia de muestra unitaria tiene la misma función en señales y


sistemas discretos en tiempo, que la función impulso en señales continuas.

Se tiene diferentes tipos de secuencias:

Una secuencia exponencial real es una secuencia cuyos valores son la


forma a", como se muestra en la siguiente figura:

o n

Figura 3.3 Función exponencial real

21
Una secuencia senoidal tiene valores de la forma Acos(won+(j>) ,
donde A representa la amplitud de la señal, w0 representa la frecuencia de
la señal y (j> la fase o desplazamiento de la misma, respecto al origen.

A continuación se muestra un ejemplo de una señal senoidal:

o n

Figura 3.4 Secuencia de forma senoidal.

Una secuencia exponencial compleja es de la forma:

Donde cr indica el desplazamiento de la señal respecto al origen, wo indica


la frecuencia angular, expresada en radianes y j es la representación del término
imaginario.

Además una secuencia x(n) se define como periódica de periodo N si:

x(n)=x(n+N) V n.
3.1

Una secuencia arbitraria se puede expresar como la suma de muestras


unitarias a las que se les ha aplicado un retardo o un factor de escalamiento, lo
cual de manera general se puede expresar como:

C1J

x(n) = ¿x(k)o(n--k)
k=-«>

3.2

22
Como ejemplo se muestra la siguiente secuencia, que puede verse como la
suma de muestras unitarias, a las cuales se les ha aplicado un factor de retardo y
escalamiento:
x(n)

ª1

ª-3
2 7

-4 -3 -2 -1 1 3 4 5 6

ª2 a1

Figura 3.5 Ejemplo de secuencia formada por muestras unitarias con retardo y
escalamiento.

En este ejemplo, la secuencia x(n) puede expresarse como:

x(n) = a_3 6(n+3) + a16(n-1) + a2(n-2) + a1(n-7)

3.1 Definición de la transformada de Fourier

Así como es posible representar una señal discreta a través de funciones


impulso con retardo y escala en tiempo, es posible tener una representación en
términos de senoides o exponenciales complejas que permitan su representación
en términos de la frecuencia, de gran utilidad en el procesamiento de señales.

Suponga que tiene una señal continua que se ha discretizado, obteniéndose


una secuencia discreta:

{ x(no), x(no + An), x(no + 2An), ... , x(no + [N - 1]An)}


3.3

23
A través de tomar a N muestras separadas en L\n unidades, como se muestras en
la figura 3.6.

x(n) = x(no + n L\n)


3 .4

Donde ahora n toma los valores discretos O, 1, 2, . . . N - 1; es decir las


secuencias { x(O), x(1 ), x(2), ... , x(N - 1)} denotan a cualquier muestra N
uniformemente espaciada a partir de la función continua correspondiente.

x(n)

x(no + 2An)

x(n 0 + 3An) X(n 0 + (N - 1)An)


1
1
~
:. An •
1
1
1
1
1
1
1
1
1
1
1
1

no

Figura 3.6 Señal continua discretizada

Un sistema se define matemáticamente como un operador o transformación


único que mapea una secuencia de entrada x(n) a una secuencia de salida y(n) y
se denota como:

y(n)=T[x(n)]
3.5

Y puede representarse como se muestra en la figura 3.7:

x(n)
----•I~ - - - T - [_i__ J---•
Figura 3. 7 Representación de un sistema
y(n)

24
Si se aplican restricciones a T[ ] es posible definir clases de sistemas
discretos en tiempo, en particular los sistemas lineales e invariantes son de gran
utilidad en el procesamiento de señales.

Si se tienen x1(n) y x2(n) como entradas a un sistema y se obtienen Y1(n) y


Y2(n) como respuestas, el sistema es lineal sí y sólo sí se cumple que :

T[a x1(n)+b x2(n)]= a T[x1(n)] + b T[x2(n)] = a Y1(n) + b Y2(n)


3.6
Para constantes arbitrarias a y b.

El hecho de que una secuencia arbitraria x(n) pueda representarse como


una suma de retardos y escalamientos de secuencias de muestra unitarias, junto
con la ecuación 3.6 sugieren que un sistema lineal también puede caracterizarse
por completo empleando su respuesta de muestra unitaria.

Sea hk(n) la respuesta a una muestra unitaria en n=k, definida como o(n-k),
de la ecuación 3.2 se tiene:

y(n)= {tx(k)o(n-k)]
3.7

Empleando la ecuación 3.6, la expresión anterior se puede escribir


como:

«> co

y(n) = ¿ x(k)T[8(n-k)] = ¿x(k)hk(n)


k=-«i k=-«>

3.8

De acuerdo a esta ecuación la respuesta al sistema se puede


expresar como la respuesta del sistema a o(n - k); sin embargo si sólo se ha
impuesto la linealidad, hk(n) dependerá tanto de n, como de k y eso
disminuye su utilidad computacional. Para obtener resultados más útiles se
aplica una restricción adicional llamada invarianza.

Los sistemas invariantes se caracterizan por la propiedad de que si


y(n) es la respuesta a x(n), entonces y(n-k) es la respuesta a x(n-k), donde
k es un entero positivo o negativo. Cuando n está asociado con el tiempo, la
invarianza corresponde a la invarianza en el tiempo. La propiedad de
invarianza implica que si h(n) es la respuesta a o(n), entonces la respuesta
de o(n - k) es simplemente h(n - k) y la ecuación 3.8 se convierte a:

25
"'
y(n) = ¿x(k)h(n-k)
k=-<CJ

3.9

Entonces, cualquier sistema lineal invariante está completamente


caracterizado por su respuesta a la muestra unitaria h(n).

De igual forma que las secuencias continuas se pueden representar por


números de diferentes formas, también las señales discretas en tiempo pueden
tener diferentes representaciones. Una propiedad fundamental de los sistemas
lineales invariantes es su respuesta de estado estacionario, ya que si se aplica
una entrada senoidal al sistema, se obtiene una respuesta senoidal de la misma
frecuencia que la entrada, con amplitud y fase determinada por el sistema. Debido
a esta propiedad la representación de la señal en términos de senoides o
exponenciales complejas es de gran utilidad.

Si se supone una secuencia de entrada definida por:

x(n) =efwn

Para - oo < n < oo , es decir una exponencial compleja de frecuencia en


radianes w, usando la ecuación 3. 9 se tiene:

L
y(n) = "' h(k)efw(n-k) = efwn "'f.h(k)e-fwk
"'
k=-CO k=-CO

3.10
Se define:

"'
H(e 1w) = ¿h(k)e-1w1c
k=-<CJ

3.11

Entonces la respuesta y(n) de la ecuación 3.1 O puede expresarse como :

3.12

26
H( eiw) es una función continua de w y periódica, de periodo 21t y por ello
pue_de representarse en series de Fourier. De hecho la ecuación 3.10 expresa a
H(eJW) en la forma de series de Fourier, donde los coeficientes de Fourier
corresponden a la respuesta de la muestra unitaria h(n), con la observación de
que h(n) puede ser evaluada a partir de H( eiw) por medio de la relación utilizada
para obtener los coeficientes de Fourier de una función periódica, es decir:

h(n) = _l J,r H(eiw)eiwndw


21r -,r
3.13
Donde:

"'
H(eiw) = ¿h(n)e-jwn
n=-a:>

3.14

Esta ecuación tiene una interpretación adicional como una representación


de la secuencia h(n). Específicamente es útil considerar a la ecuación 3.13 como
una representación de la secuencia h(n) formada por una superposición de
señales exponenciales cuya amplitud compleja está determinada por la ecuación
3. 14 . Por esta razon a las ecuaciones 3.13 y 3. 14 se les considera como el par
de transformadas de Fourier para la secuencia h(n).

Para una secuencia general x(n) se define la transformada de Fourier como:

X(eiw) "'
= ¿x(n)e-jwn
n=-«>

3.15
Donde w es una frecuencia expresada en radianes.

La transforma de Fourier inversa se define como:

3.16

El hecho de que una secuencia pueda representarse como una superposición


de exponenciales complejas es de gran utilidad debido a que en los sistemas
invariantes la respuesta a la aplicación de la exponencial compleja está
completamente determinada por la respuesta en frecuencia.

Hoy en día la transformada de Fourier es ampliamente utilizada en muchas


áreas de Física y en otras ciencias, particularmente como una forma para analizar

27
problemas que surgen en el procesamiento de señales electrónicas, en óptica y
en la solución de ecuaciones diferenciales.

El desarrollo en los años 60's del algoritmo llamado transformada rápida de


Fourier (FFT) abrió la posibilidad de un amplio uso de la transformada de Fourier
en la física computacional y en muchas otras áreas de física y matemáticas.

Muchas de las computadoras utilizadas para la física computacional son


evaluadas principalmente por su capacidad para ejecutar algoritmos de
transformada rápida de Fourier.

Los algoritmos de la transformada rápida de Fourier están actualmente


incluidos en un amplio rango de tecnologías modernas como sistemas de
imágenes médicos, sismología, redes telefónicas y líneas de telecomunicaciones.

Aunque los teoremas de Fourier para las diferentes transformadas que llevan
su nombre son más familiares en una dimensión, es muy importante mostrar una
representación de dos dimensiones que sea factible de aplicar a señales o
imágenes que para nosotros están representadas en dos dimensiones.

Para su determinación se aplica el teorema de que cualquier función física que


varíe periódicamente en el tiempo a una frecuencia f, se puede expresar como una
superposición de componentes senoidales de frecuencias f, 2f, 3f, 4f, etc., por lo
que es posible aplicar la técnica de solución de problemas divide y vencerás para
analizar una imagen mediante senoides espaciales que corren en varias
direcciones con diferentes longitudes de onda.

3.2 Los componentes de fourier en dos dimensiones

Para esta definición cambiaremos un poco la notación, debido a que una imagen
en dos dimensiones puede representarse como una función f(x,y).

La transformada de Fourier en dos dimensiones F(u, v) de una función en dos


dimensiones f(x, y) está definida por:

F(u, v) = ["'["'f(x,y)e- 121r<mvy)dxdy

3.17

Las funciones de la forma exp [-j21t(ux+vy)] ,dependen de la elección de u y v


28
La exponencial puede descomponerse en dos términos:

ces [2n(ux+vy)] y sen [2n(ux+vy)]


3.18
o en cuatro términos

ces 21t ux Ces 21t vy, sen 21t ux Sen 21t vy

sen 21t ux Ces 21t vy, ces 21t ux Sen 21t vy


3.19

Para funciones f(x,y) que son simétricas en los ejes x y, es posible aplicar para
su análisis funciones de la forma:

ces 2n ux ces 21t vy


3.20

Es decir, a partir de la ecuación 3.17 se puede representar:

F(u, v) =([..,f(x,y)Cos2m,xCos2m,ydxdy

Y su transformada inversa:
3.21

f(x,y) =([.., F(u, v)Cos2nxuCos21l)'vdudv

En general, para funciones no simétricas se necesitarían términos adicionales


expresados por las siguientes dos expresiones estándar, llamadas par de
transformadas de Fourier:

F(u, v) = [..,[..,f(x,y)e- 121r(w:+".Y)dxdy

f(x,y) = [..,[.., F(u, v)e 121r(xu.yv>dudv

3.22

29
3.3 La transformada discreta de fourier en dos dimensiones:

Considerando que es posible representar a una imagen de dos dimensiones


empleando una función matriz [f], escrita como una matriz N X M:

f (0,0)... f (0,1) .. . f(O,M -1) ]


[!] = /(1,0)... /(1,1) .. .
[ f(N-1,0) f(N-1),M-1

Se definen tanto la transformada de Fourier discretas (DFT) y la transformada


Inversa Discreta de Fourier (DhFT) en dos dimensiones empleando la notación de
sumatoria de la siguiente forma:
1 M-JN-1
F(u, v) =- ¿ ¿ f (x,y) exp[- j21r(ux / M + vy / N)]
MN x=Oy=O

3.23
Para u = O, 1, 2, ... , M-1, v= O, 1, 2, ... , N-1
y

M-1N-1
f(x,y) = ¿¿F(u, v)exp[J21r(uxl M + vy/ N)]
u=O v=O

3.24
Para x = O, 1, 2, ... , M-1 y y = O, 1, 2, ... , N-1

El muestreo de una función continua está ahora en una malla de dos


dimensiones, con divisiones de ancho Lix en el eje x y Liy en el eje y. Como en el
caso de una dimensión, la función discreta f(x,y) representa muestras de la
función.
f(xo+x.::ix, Yo+y.::iy) para x = O, 1, 2, ... , M-1 y y = O, 1, 2, ... , N-1. En forma
análoga esto se aplica a F(u,v).

Los incrementos de muestreo en los dominios del espacio y frecuencia están


relacionados por las siguientes expresiones:

1
Liu = - -
M!!.x

3.25
y

30
1
L\v=--
NL\y

3.26

Cuando se muestrea la imagen a través de una matriz cuadrada N X N, las


ecuaciones 3.23 y 3.24 [3.1] se convierten a:
} N-IN-1
F(u, v) = - ¿ ¿ f (x, y) exp[- j21r(ux + ry )! N]
N x=O y=O

3.27

Para u, v = O, 1, 2, ... , N-1

} N-IN-1
f(x,y) =- ¿¿F(u, v)exp[¡21r(ux+ry)! N]
N u=O v=O

3.28
Para X, y= O, 1, 2, ... 1 N-1

En la práctica muchas de las imágenes se digitalizan en matrices cuadradas,


por lo que estas dos últimas ecuaciones (3.27 y 3.28) se emplean con frecuencia.

La transformada discreta de Fourier en dos dimensiones posee propiedades


muy útiles que se aprovechan en el desarrollo de algoritmos del procesamiento de
imágenes. Algunas de las propiedades más importantes son:

a)Simetría del conjugado respecto al origen.

La transformada discreta de Fourier en dos dimensiones tiene el mismo valor


para su simétrico conjugado, es decir

F(u, v) = F·(-u, -v)


3.29

Siempre y cuando f(x, y) sea real.

I F(u, v) 1 = 1 F(-u, -v)I

b) Propiedad de Traslación

Las propiedades de traslación del par de transformadas de Fourier son:

31
f(x,y) exp U21t(UoX+Voy)/N] <:::> F(U-Uo, V - Vo)
3.30
y

f(x - Xo, y - Yo)<:::> F(u,v) exp [-j21t(UXo+VYo)/N]


3.31

Donde la doble flecha indica la correspondencia, en ambos sentidos, entre una


función y su transformada de Fourier.

Si se eligen u0 = v 0 = N/2 se tiene

exp U21t(UoX+VoY)/N ] =e i21t(x+y)


=(-1 t+y

Por lo que:

f(x,y) (-1 t+y <:::> F(u-N/2, v-N/2)


3.32

De esta forma el origen de la transformada de Fourier de f(x,y) se puede mover


al centro del cuadrado de frecuencia N X N correspondiente, simplemente
multiplicando f(x,y) por (-1 t+y

Debe notarse que un corrimiento en f(x,y) no afecta la magnitud de la


transformada de Fourier, es decir

I F(u, v) exp [-j21t(UXo+Vyo)/N] 1 =1 F(u, v) 1


3.33

e) Periodicidad

La transformada discreta de Fourier y su inversa son periódicas, con periodo N,


esto es:

F(u,v) =F(u+N, v) =F(u, v+N) =F(u+N, v+N)


3.34

d) Rotación

Empleando las coordenadas polares:

X= r COS () y= r sen B u= ú) cos <p v = w sen </J

entonces f (x, y) y F (u, v) se convierten en f(r, B) y F (m, </J), respectivamente.

32
Empleando una sustitución directa, aún se conserva la relación entre el par de
transformadas discretas o continuas de Fourier:

f(r, e+ lb) <::::> F( 01, ifJ + lb).

3.35

Es decir, si se rota un ángulo 80 a f(x, y), también se rota a F(u, v) en el mismo


ángulo. En forma similar la rotación de F(u, v) en un ángulo, rota a f(x, y) el mismo
ángulo.

e ) Propiedad distributiva

El par de transformadas de Fourier, tanto continua como discreta, es


distributiva para la suma:

3 {!1(x, y)+ h(x, y)}= 3{f1(x, y)} +3 {h{(x, y)}

3.36
pero no es distributiva para la multiplicación:

3{J1(x, y)· h(x, y)}* 3{f1(x, y)} · 31/2{(x, y)}

3.37

f ) Escalamiento

Para dos escalares a y b.

af(x, y) <::::> aF(u, v)


3.38
y

1
f (ax, by)<::::> labl F(u / a, v / b)

3.39

33
g ) El valor promedio

Una definición ampliamente usada de la función discreta de Fourier en dos


dimensiones es la expresión:

} N-1 N-l

](x,y)= N 2 ~~J(x,y) 3.40

Sustituyendo u = v = O se tiene

} N-1 N-l
F(0,0)= - ¿¿J(x,y) 3.41
N x=O y=O

Despejando las sumatorias en estas dos últimas ecuaciones se obtiene:

](x,y}= __!__F(o,o)
N
3.40

3.4 La transformada rápida de fourier

El número de sumas y de multiplicaciones complejas requerido para aplicar la


ecuación 3.15 es del orden N2 . Es decir, para cada uno de los N valores de u, la
expansión de la sumatoria requiere N multiplicaciones complejas de f(x) por
exp[-j2m1x/N] y N-1 sumas de los resultados.

Sin embargo, la ecuación 3.15 puede descomponerse apropiadamente para


lograr que el número de operaciones de suma y multiplicación sea proporcional a
Nlog 2N y a este procedimiento se le llama algoritmo de transformada rápida de
Fourier.

Esta reducción en el número de operaciones tiene como consecuencia un


ahorro significativo en cálculos computacionales. Por ello la transformada rápida
de Fourier se convirtió en uno de los algoritmos aritméticos más ampliamente
usados en muchas áreas entre las que se destacan el procesamiento digital de
señales.

La estrategia general que aplica este algoritmo es la técnica divide y vencerás.


Este algoritmo toma la ventaja del hecho de que un polinomio de grado N - 1 está
determinado completamente por sus valores en N puntos diferentes. Cuando se
multiplican dos polinomios juntos de grado N -1, se obtiene un polinomio de grado
34
2N - 2. Si se pueden encontrar los valores del polinomio en 2N - 1 puntos, se
considera determinado completamente, pero podemos encontrar el valor de los
resultados en cualquier punto, simplemente evaluando los dos polinomios a ser
multiplicados en un punto, y entonces multiplicar esos dos números.

Esto conduce al siguiente esquema general para la multiplicación de dos


polinomios de grado N - 1:

o Evalúa los polinomios de entrada en 2N - 1 puntos distintos


o Multiplica los valores obtenidos en cada punto
o Interpola para encontrar el resultado único del polinomio que tiene el valor
dado en los puntos dados

Veamos este algoritmo primero en una sola variable, recordando que la


transformada de Fourier de dos dimensiones puede obtenerse a partir de la
transformada en una dimensión.

Sea la ecuación

1 N-1
F(u)= - ¿J(x)exp[- j21ruxl N] 3.41
N x=O

Si

WN = exp[-j2n/N]
3.42

La ecuación anterior puede representarse como:

1 N-1
F(u)= - ¿J(x)wNux 3.43
N x=O

Donde N es de la forma N = 2n y n es entero positivo, por lo que N puede


expresarse como:

N=2M

donde M es también un entero positivo.

Sustituyendo N = 2M en la ecuación 3.41 se tiene:

35
} 2M-I
F(u)=- ¿J(x)v2:
2M .r=O

=_!_[_l I:J(2x)w~2x) +-1 ~J(2x+l)W2~2x+l)J· 3.44


2 M x=O M x=O

De la ecuación 3.42 se tiene

2ux -W:ux
W2M - M

Por lo que la ecuación 3.44 se puede expresar como:

} [ } M-1 } M-1 ] 3.45


F(u)= - -¿J(2x)v,: +-¿J(2x+1)v,:wi:w .
2 M .r=O M x=O

Definiendo

} M-1
3.46
Fpar(u)= -¿J(2x)v,:
M x=O

para u = O, 1, 2, ... , M - 1 y

} M-1
3.47
F°;nrpar (u)= -
M
¿ f (2x + 1)v,:
x=O

para u = O, 1, 2, ... , M - 1

Entonces la ecuación 3.45 se reduce a:

3.48

También debido a que

w: M
u+M
-
-wuM

36
Ya que
u+M _ -Wu
W2M - 2M

La ecuación 3.48 puede expresarse como:

3.49

Este tratamiento revela cosas interesantes: una transformada de N-puntos


puede calcularse dividiendo la expresión original en dos partes, los cálculos de la
primera mitad de F(u) requiere evaluar las dos transformadas de (N/2) puntos
dadas en las ecuaciones 3.46 y 3.47. Los valores resultantes de Fpar (u) y de
Fimpar(u),entonces se sustituyen en la ecuación 3.48 para obtener F(u) para u=
O, 1,2, ... (N/2 - 1). La otra mitad se obtiene directamente de la ecuación 3.4 7 sin
evaluaciones adicionales de la transformada.

El número de operaciones de sumas y multiplicaciones requeridas para aplicar


el algoritmo FFT es:

m(n) = 1/2 2" 1092 2"


= 1/2 N 1092 N

Donde N es una potencia entera de 2.

y a(n) = 2" log 2"


= Nlog2N n>=1

3.5 Algoritmo computacional

Suponiendo que está disponible el tipo complejo (complex) en el compilador, el


algoritmo descrito anteriormente puede construirse en el lenguaje C, en forma
recursiva.

Se requiere definir los valores de las raíces complejas unitarias.

37
Se sabe que:

wt. = cos(2º)
_!!)_ + i sen (2º)
_!!)_
N+l N+l

Se puede construir una rutina que calcule el arreglo w utilizando las funciones
trigonométricas convencionales, donde N+1 debe ser potencia de dos.

Entonces puede definirse el algoritmo:

fft(complex p[], int N, int k)


{
int i,j
if (N==1)
{ pO=p[k]; p1 =p[k+1 ];
p[k] = pO + p1; p[k+1] = p0-p1;
}
else
{
for (i==O; i<= N/2; i++)
{
j=k+2*i;
t[i] = pU]; t[i+1 +N/2] = p0+1 ];
}
for (i=O; i<=N; i++) p[k+i] = t[i];
fft(p, n/2, k)
fft(p,N/2,(k+1 +N)/2];
j = (outN+1 )/(N+1 );
for (i=O;i<=N/2; i++)
{
pO = w[i*j]*p[k+(N/2)+1 +i];
t[i] = p[k + 1] + pO;
t[i + (N/2)+1] = p[k+i]-pO;
}
for (i = O; i <=N; i++) p[k+i] = t[i];
}
}

Donde el arreglo p[ ] contendrá al final los coeficientes característicos de la


transformada de Fourier en una dimensión.

38
CAPÍTULO 4

4.0 LA TRANSFORMADA WAVELET

La transformada wavelet es una función matemática, basada en los


componentes de frecuencia de una señal y permite estudiar cada componente de
acuerdo a su escala. Presenta importantes ventajas sobre los métodos
tradicionales de Fourier en el análisis de situaciones físicas donde la señal
contiene discontinuidades y picos agudos. La transformada wavelet fue
desarrollada en forma independiente en diferentes campos tales como
matemáticas, física cuántica, ingeniería eléctrica y geología sísmica, como un
método alterno para resolver problemas de la resolución, y gracias al intercambio
de estas disciplinas en los últimos diez años han surgido nuevas aplicaciones de
esta transformada, entre las más importantes está la compresión de imágenes,
turbulencias, radares, predicción de terremotos, visión humana y la que nos
interesa ahora en el reconocimiento de imágenes.

La primera mención sobre las wavelets aparece en un apéndice de la tesis de


A. Haar (1909) [4.1 ], en la que se aplica el principio de obtener bases ortogonales
de funciones constantes elegidas adecuadamente y construidas a través de las
operaciones de escalamiento y traslación. Suponga el siguiente ejemplo de la
figura 4.1 mostrado en la referencia [4.2] :

1
1 1

-1 -1 -1 -1

\jJ (t) W(t) W(2t) W(2t-l)

Figura 4.1 Función de escalamiento 'll(t), wavelet W(t) y siguiente nivel de


detalle.

Puede verse que se aplican dos operaciones esenciales: traslación y


escalamiento. El paso de W(2t) a W(2t-1) es traslación y el paso de W(t) a W(2t)
es escalamiento. Iniciando a través de una función simple, las gráficas van
teniendo un corrimiento y una traslación, por lo que el siguiente nivel contendría
W(4t), W(4t-1 ), W(4t-2), W(4t-3). Cada una de ellas está soportada sobre un
intervalo de longitud 1/4 . Al final se obtiene una familia infinita de funciones de
Haar:
W1k (t) =W(2 1 t-k) Uunto con \11 (t) )

39
Donde el rango de índices es j>=O y O<=k<=2i. Estas funciones forman una
base de L2 [O, 1]. La transformada wavelet proporciona una base local cuya
consecuencia es que la señal f(t) desaparece después de t=1/4 y solamente un
cuarto de las últimas funciones base están involucradas. Las traslaciones y
escalamientos de W son mutuamente ortogonales y esto es propiamente la
definición de wavelet.

Una propiedad importante de la transformada wavelet de Haar es que tiene


soporte compacto, es decir, fuera de su intervalo la función es cero, pero esta
transformada no es diferenciablemente continua y eso limitó sus aplicaciones. Sin
embargo el gran valor de la ortogonalidad es que permite calcular fácilmente los
coeficientes de expansión.

En 1930, diversos grupos trabajaron en forma independiente en la


investigación de funciones empleando funciones base de escala variante, que son
la clave para el entendimiento de las funciones wavelet.

A través de la función base de escala variante, llamada función base de Haar,


Paul Levy, un físico de los años 30's, mientras investigaba el movimiento
browniano, un tipo de movimiento aleatorio, encontró un mejor desempeño de la
función base de Haar, respecto a las funciones base de Fourier para estudiar
pequeños detalles complicados del movimiento browniano.

Otro esfuerzo de investigación, de Littlewood, Paley y Stein involucró el


cálculo de una función de energía f(x):
1 2,r
energía= - JI! (xf dx
2o

Este cálculo produjo diferentes resultados si la energía estaba concentrada en


pocos puntos o si estaba distribuida a lo largo de un intervalo. Este resultado
perturbó a los científicos debido a que esto indicaba que la energía no se
conservaba. Los investigadores descubrieron una función que podía variar en
escala y podía conservar la energía cuando se calculaba la energía funcional. Este
trabajo proporcionó los elementos a David Marr en 1980 para construir un
algoritmo efectivo para el procesamiento de imágenes numéricas usando
wavelets.

Entre 1960 y 1980, los matemáticos Guido Weiss y Ronald R. Coifman


estudiaron los elementos más simples de un espacio función, llamados átomos,
con la meta de encontrar los átomos para una función común y encontrar las
"reglas de ensamble" que permitieran la reconstrucción de todos los elementos de
la función espacio usando dichos átomos. En 1980, Grossman y Morlet, un físico y
un ingeniero, definieron claramente las funciones wavelet en el contexto de la

40
física cuántica. Estos dos investigadores proporcionaron una forma de pensar
basada en wavelets sobre intuiciones físicas.

En 1983 Burt definió una técnica muy parecida a la codificación en subbandas,


llamándola codificación piramidal o análisis de multiresolución.

En 1985, Stephane Mallat dio a las wavelets un impulso adicional en su trabajo


de procesamiento digital de señales. Él descubrió algunas relaciones entre los
filtros espejo de cuadraturas, algoritmos piramidales y bases wavelets
ortonormales. Inspirado por estos resultados, Y. Meyer construyó las primeras
wavelets no triviales, las cuales a diferencia de las wavelets de Haar eran
diferenciables continuamente, aunque no tenían soporte compacto. Un par de
años más tarde, lngrid Daubechies[4.3] usó el trabajo de Mallat para construir un
conjunto de funciones base ortonormales que son quizás las más elegantes y se
han convertido en la piedra angular de las aplicaciones wavelet de hoy.

La tecnología de la transformada wavelet está hoy en desarrollo y se está


trabajando no sólo en el desarrollo de software, sino también en la implementación
del hardware, los primeros circuitos wavelet están ya disponibles, y ésta servirá
para ampliar las capacidades del procesamiento y manipulación de imágenes.

Algunas de las razones que permiten creer que el desarrollo de la teoría


wavelet traerá beneficios importantes son:

1. Este concepto aporta una nueva forma de pensar, y es una forma muy
atractiva para los ingenieros y científicos, ya que se adapta a problemas y
trabaja mucho mejor que las herramientas existentes en el procesamiento
de imágenes.

2. La teoría wavelet ha logrado un crecimiento y aplicación dinámicos en


diferentes áreas y ha permitido desarrollar algoritmos eficientes en
frecuencia-tiempo .

Por ello se ha vislumbrado que la transformada wavelet tiene aplicaciones


importantes en el tratamiento de imágenes, tanto en las operaciones de
compresión, como en el análisis de señales. Un aspecto interesante es ver sus
resultados en labores del reconocimiento de imágenes, debido a que por sus
características de ortonormalidad satisface las condiciones para obtener el vector
característico que servirá como base para decidir si una imagen determinada
pertenece o no a una clase.

41
4.1 Definición

La transformada wavelet (WT) de una función f(t) se define a través de la


siguiente función[4.3]:

WT(,,s) =f f(t) Ji
1 1/1 -s- dt
('-')

4.1

Donde t es un parámetro de traslación, s > O es un parámetro de expansión o


escala, y \JI es la función de transformación, llamada wavelet madre. Esta
definición muestra que la transformada wavelet se procesa mediante la correlación
entre la señal y las wavelets expandidas.

La transformada inversa wavelet se define como:

f(t) = -1 ff W(,,s)-'I'
e
1
¡;
('-,)ds
-
S
-·d,
s2

4.2

Donde

e-
-f IH(v)i2
lvl dv

4.3

La transformada wavelet inversa requiere que C < oo y H(v) es la transformada


de Fourier de h(t), de acuerdo a la definición de h(n) dada en el capítulo 3.

El término wavelet signfica pequeña onda y se aplica debido a que esta función
ventana es de longitud finita y a que es una función oscilatoria. Algunos autores la
han traducido al español con el término simpático de "ondita" u "ondeleta", pero
en este trabajo se prefirió emplear el término original en inglés, debido a que la
mayoría de la literatura la reconoce como wavelet.

El término wavelet madre se aplica debido a que a partir de una función


principal se derivan diferentes funciones de soporte, es decir, sirve como prototipo
para la generación de otras funciones ventana.

42
El término traslación está relacionado con la localización de la ventana,
mientras la ventana es recorrida a través de la señal y corresponde a la
información en tiempo en el dominio de la transformada.

El parámetro de escala es similar a la escala usada en los mapas, es decir,


una escala grande corresponde a una vista detallada de la señal y una escala baja
corresponde a una vista detallada. El escalamiento, como una operación
matemática, expande o comprime la señal.

4.2 La transformada discreta wavelet

Para ciertas aplicaciones y en especial para el manejo de imágenes se utiliza


la transformada wavelet discreta, de gran utilidad, debido a que puede ser
ortogonal, a través de los parámetros de traslación y expansión.

Sustituyendo s y 't por (2-i, k2\ una representación ortogonal está dada por:

4.4

Las variables j y k son enteros que expanden y trasladan la función madre 'P(t)
para generar wavelets, por ejemplo, ese es el caso de la familia de wavelets de
Daubechies. Se debe notar que las funciones madres son reescaladas por
potencias de dos y trasladadas por enteros.

Una base wavelet es un conjunto de funciones definidas a través de una


función recursiva de diferencias:

M-1

1/f (t) = :~::ckf//(21 - k)


k=O
4.5
Donde el rango de la sumatoria está determinada por el número específico de
coeficientes M diferentes de cero. Este número es arbitrario y se refiere al orden
de la wavelet, sin embargo los valores de los coeficientes no pueden ser
arbitrarios, debido a que se tienen restricciones de ortogonalidad y normalización.

Lo que hace especialmente interesante a las bases wavelets es su


autosimilaridad, debido a los escalamientos y traslaciones.

43
Una vez que se conocen las funciones madre, se conocen cada una de las
bases. Para extender el dominio de los datos en diferentes resoluciones, el
análisis wavelet es usado en la ecuación de escalamiento:

N-2
W(t)= ¿(-1/ct+if//(2t+k)
k=I
4.6

Donde W(t) es la función de escalamiento para la función madre 'l'(t), y ck son


los coeficientes wavelet. Los coeficientes wavelet deben satisfacer restricciones
lineales y cuadráticas de la forma:

k=O

4.7
Esto se debe a que el área bajo la "curva" de todo el espacio de la función
debe ser la unidad.

La restricción de normalización establece que:

N-1

¿ckck-2m =28om
k=O

4.8
Donde cS es la función delta y mes un índice de situación.

Lo que significa que esta sumatoria es cero para todas las m diferentes de cero
y que la suma de todos los cuadrados de los coeficientes es dos.

Otro de los aspectos útiles de la transformada wavelet es la facilidad con la que


los científicos pueden elegir la definición de los coeficientes para un sistema de
wavelet dado a fin de adaptarlo a un problema específico. En el artículo original de
Daubechies [4.3) , la autora muestra familias específicas desarrolladas de
sistemas wavelet que son muy buenas para representar el comportamiento
polinomial.

Para dar solución a la ecuación 4.5, para encontrar los valores de los
coeficientes, se construye una matriz M x M con los valores de los coeficientes,
donde M es el número de coeficientes diferentes de cero. Se diseña una matriz L
con entradas L¡¡ = c2i-i· Esta matriz tendrá un valor propio igual a 1 y sus vectores
propios (normalizados) contendrán, igual que sus componentes, el valor de la
función \jJ en los valores enteros de t. Una vez que se conocen estos valores,
todos los demás valores de la función \jJ(t) se pueden generar aplicando la
44
ecuación con valores a un medio de entero de t, a un cuarto de entero de t, etc.
hasta el escalamiento deseado. Esto efectivamente determina la precisión de la
aproximación de la función.

Esta clase de funciones wavelet está restringida por definición a cero fuera de
un pequeño intervalo y es lo que hace que la transformada pueda operarse como
un conjunto finito de datos. A esta propiedad es a lo que se le llama soporte
compacto.

Las .funciones que se utilizan normalmente para realizar la transformada


wavelet consisten de un conjunto pequeño de coeficientes elegidos
convenientemente de acuerdo a las restricciones mencionadas anteriormente. Por
ejemplo a continuación se muestran la función base de Haar (figura 4.2) y la
función wavelet de Daubechies-4 (figura 4.3) [4.4].
....... ftitwu::liw

11.6

i"
llA

D.2

a .J
•I

Figura 4.2 Función base de Haar

/\
/ ~

o-----'
I
..
.
-l
.
Figura 4.3 Función base Daubechies-4

La matriz correspondiente para aplicar la transformada toma como base los


coeficientes de diferentes funciones base que se muestran en la tabla 4. 1

45
WAVELET Co C1 C2 C3 C4 Cs
Haar 1.0 1.0
Daubechies-4 %(1+.J3) %(3+.J3) %(3-.J3) %(1-.J3)
Daubechies-6 0.332671 0.806891 0.459877 -0.135011 -0.085441 0.035226

Tabla 4.1. Coeficientes de tres funciones Wavelet

En la Universidad de Stanford existe un grupo de investigadores que


desarrollaron un paquete llamado wavelab[4.5], para trabajar y experimentar con
las funciones wavelet. A continuación se muestran diferentes familias de wavelets
obtenidas de este paquete:

o_.06 0.06
0.05 Daubechies_6
0.04 '\ o.os
0.04~
Coiflet_3
0.03
0.02 \ 0.03-l

r
0.01 · 0.02·
o 0.01
-0.01
o
-0.02
o 500 1000 1500 2000 2500 -0.01
~
o 500 1000 tsoo 2000 2500

o.os 0.06

í
1
l
Haar_4
o.os
0.04
0.03
Symmlet_6

o 0.02

-O.OS
o
J
100 200 300 400 500 . 600 ·
0.01
o
-0.01
-0.02
o 500 1000 1500 2000 2500

Figura 4.4 Diferentes familias wavelet obtenidas del paquete wavelab de la


Universidad de Stanford en los Estados Unidos.

Es necesario contar con el paquete "mathlab", para poder ejecutar este


software, pero el hecho de que esté realizado en mathlab impide la exportación de
las rutinas a otros ambientes de experimentación. Sin embargo, es de gran
utilidad para emplearlo con fines didácticos, ya que aporta una descripción muy
46
clara del comportamiento de las funciones wavelet y permite visualizar ejemplos
de la fase de análisis de una señal .

4.3 Análisis de multiresolución. (algoritmo piramidal).

El algoritmo "piramidal" propuesto por Mallat [4. 7] es un método computacional


eficiente para construir la transformada wavelet, sus bases se han utilizado
incluso para construir la transformada con circuitos electrónicos. Se basa en el
principio de filtros, pero aplicados a través de transformaciones basadas en los
coeficientes wavelets ck. Es útil pensar que los coeficientes {eo, ... cn} se
comportan como filtros. Filtrar una señal corresponde matemáticamente a
convolucionar la señal con la respuesta impulso del filtro, por lo que el filtro o
coeficientes se colocan en una matriz de transformación, la cual se aplica al vector
de datos de interés. Los coeficientes se ordenan usando dos patrones
dominantes, uno que trabaja como un filtro de suavizado (como un promedio
móvil) y un patrón que trabaja para mostrar información detallada de los datos. A
estos dos ordenamientos de los coeficientes se les llama par de filtros de
cuadratura espejo en el lenguaje del procesamiento de señales.

Un filtro pasabajo de media banda es un filtro que remueve todas las


frecuencias que se encuentran arriba de la mitad de la frecuencia más alta en la
señal. Por ejemplo, si una señal tiene un componente máximo de 1000 Hz, el filtro
pasabajo de media banda elimina las frecuencias arriba de 500 Hz, aunque en
general para el tratamiento de filtros las frecuencias se expresan en radianes.

La función del filtro "pasabajo" está relacionada con la ecuación 4.5:

i = 1, ... ,N/2

4.9
Donde N es el tamaño del bloque de entrada, c son los coeficientes, f es la
función de entrada y a es la función de salida.

Despúes de esta operación, se pueden eliminar la mitad de las muestras de


acuerdo a la regla de Nyquist, ya que la señal ahora tiene una frecuencia más alta
de pi/2 radianes en lugar de pi radianes. Simplemente descartando muestras se
tendrá un submuestreo de señal por dos, y la señal tendrá entonces la mitad de
puntos. La escala de la señal es ahora el doble. Debe notarse que el filtro
pasabajo elimina la información de alta frecuencia, pero deja la escala sin
cambios. La escala se cambia solamente a través del proceso de submuestreo.

La resolución por otro lado, se relaciona con la cantidad de información de la


señal y por lo tanto es afectada por la operación de filtrado. El filtro pasabajo de
media banda elimina la mitad de las frecuencias, lo cual puede interpretarse como
47
l. T. E, S.M •. ('\ C. ,f. HTRT.IOTECA
COlfCCIQN Pt "t-~O.t~9~ Y AtT~ ,,~,íll9N
la pérdida de la mitad de la información. Como consecuencia la resolución se
disminuye a la mitad después de una operación de filtrado. Sin embargo, la
operación de submuestreo posterior al filtrado no afecta la resolución, debido a
que elimina la mitad de los componentes espectrales que de cualquier forma eran
redundantes, es decir la mitad de las muestras pueden descartarse sin pérdida de
información.

Para continuar con la aplicación de la matriz de coeficientes wavelet al vector


de datos, la matriz se aplica en un algoritmo jerárquico llamado algoritmo piramidal
. Los coeficientes se organizan de tal forma que las filas impares contienen un
ordenamiento de los coeficientes wavelet que actúa como filtro de suavizado y las
filas pares contienen un ordenamiento de coeficientes wavelet con sigr'.os
diferentes que actúan para obtener detalle de los datos.

Primero se aplica la matriz al vector original de longitud completa, entonces el


vector es suavizado y disminuido por la mitad y la matriz se aplica nuevamente,
este proceso continua hasta que se tienen un número trivial de datos. Es decir
cada aplicación de la matriz proporciona resolución más alta de los datos, pero al
mismo tiempo se suavizan los datos restantes.

Debido a que la mayoría de la información existe en la salida del filtro


pasabajo, se puede imaginar tomar esta salida y transformarla nuevamente en
dos conjuntos de datos cada una de un cuarto de tamaño de la entrada original.
Esto puede verse en el ejemplo de la figura 4.5 . Cada paso de la transformación
del filtro pasabajo se llama escalamiento y el número de muestras de entrada
debe ser N=2º, donde el máximo número de escalamientos que se pueden aplicar
es D.

La resolución en tiempo disminuye a la mitad conforme se realizan las


particiones de las muestras, es decir la resolución en tiempo de nivel O es dos
veces mejor que la resolución en el nivel 1 y así sucesivamente. Sin embargo la
resolución en frecuencia mejora conforme el algoritmo progresa, la de nivel 1 es
dos veces mejor que la de nivel O, la de nivel 2 es dos veces mejor que la de nivel
1 y así sucesivamente.

El hecho de que la matriz sea esparcida, es decir, que muchas de sus entradas
son ceros, donde el número total de entradas diferentes de cero es n(l+1 ), permite
que la multiplicación de Wn veces por un vector b requiera solamente n(log2n+1)
multiplicaciones separadas. Sin embargo la matriz Wn también permite una
factorización ordenada en matrices muy esparcidas. Entonces el número de
operaciones decae de O(nlogn) a la forma O(n).

48
Cadena de entrada (Tamaño de bloque= 16)

Pasa- baio
Par
1er. escalamiento
Pasa - alto
X X X X X X X X Impar

Pasa- baio
Par
2do. escalamiento
Pasa- alto
X X X X Impar

Pasa- baio
Par
3er. escalamiento
Pasa - alto
X X Impar

Pasa- baio
Par
4to. escalamiento
Pasa- alto
Impar

Figura 4.5 Escalamiento de un bloque de 16 muestras de datos

49
4.4 Algoritmo computacional

Para definir el algoritmo computacional se deben considerar las siguientes


operaciones:

Determinar los coeficientes wavelet


Precalcular cosenos de alpha y senos de beta
Construir el filtro
Encontrar el primer coeficiente diferente de cero
Encontrar el último coeficiente diferente de cero
Formar los filtros de descomposición y reconstrucción
Colocar los filtros en un arreglo
Regenerar la función de escala
Regenerar la función wavelet
Determinar la magnitud de los datos
Determinar la longitud de salida, dependiendo de la longitud de los filtros.

50
CAPÍTULO 5

5.0 PROCESAMIENTO DE IMÁGENES DE NIVEL BAJO E INTERMEDIO

Por razones de organización y trabajo los sistemas de visión han clasificado


por niveles a los diferentes procesos que se requieren aplicar a las imágenes para
las diferentes aplicaciones computacionales, incluyendo el reconocimiento de las
mismas. En la siguiente tabla pueden verse algunas de las operaciones del
tratamiento de imágenes por niveles de acuerdo a una clasificación propuesta por
el Dr. González[S.1 ]:

NIVEL OPERACIONES
BAJO Adquisición de imágenes
Preprocesamiento (Reducción de ruido)

INTERMEDIO Segmentación
Descripción
Reconocimiento de obietos individuales
ALTO Reconocimiento
Entendimiento de imágenes

Tabla 5.1 Niveles y operaciones del procesamiento integral de imágenes

Aunque este trabajo esta orientado principalmente al procesamiento de


imágenes de alto nivel, utiliza métodos de nivel intermedio que requieren una clara
comprensión del manejo de pixeles de la imagen para su reconocimiento, por ello
se abre un paréntesis para mostrar los conceptos más importantes de nivel bajo e
intermedio. Debe hacerse notar que el trabajo y software desarrollado en esta
tesis, parten del hecho que el procesamiento de bajo nivel ya fue realizado, es
decir el Banco de Imágenes con el que se realizaron las pruebas experimentales
ya tuvo un procesamiento previo, considerando la adquisición de las imágenes, el
preprocesamiento y la reducción de ruido.

El reconocimiento de imágenes está considerada como una operación de


visión de alto nivel que busca encontrar una interpretación adecuada de las
características obtenidas en la visión de nivel bajo e intermedio. Por ello, es
importante considerar una clasificación del procesamiento que se lleva a cabo
para obtener, caracterizar e interpretar la información de imágenes. Por su grado
de complejidad se consideran tres niveles: nivel bajo, intermedio y alto. Aunque
en la realidad no existe una frontera clara entre los tres niveles, si es posible
clasificar a las operaciones que se realizan a fin de facilitar su estudio:

51
A fin de reconocer en forma automática una imagen, se realiza el proceso que
se muestra a continuación:

UNIVERSO

ADQUISICIÓN
DE IMAGEN

REDUCCIÓN
RUIDO

SEGMENTACIÓN BASES DE DATOS


(AISLAMIENTO o
DE OBJETOS) CONOCIMIENTOS

RECONOCIMIENTO
EXTRACCIÓN DE
DE IMÁGENES
CARACTERÍSTICAS

Figura 5.1 Proceso para el reconocimiento de imágenes.

A continuación se dará una breve descripción de los conceptos de nivel bajo e


intermedio más importantes, los cuales vienen descritos en forma muy clara en el
texto de Fu, González y Lee [5.1].

52
5.1 Visión de nivel bajo

5.1.1 Adquisición de imágenes

La información visual se convierte en señales eléctricas por los sensores


visuales, es decir se aplica un barrido de la imagen a través de dispositivos
electrónicos como "scanners" o cámaras digitales que permiten convertir la
percepción de una imagen en una señal eléctrica. Cuando estas señales eléctricas
se muestrean espacialmente y se cuantifican en amplitud, se obtiene de ellas una
imagen digital.

Como se mencionó en el capítulo 2, para estar en condiciones adecuadas para


el procesamiento por computadora, una función de imagen f(x,y) debe ser
digitalizada espacialmente y en amplitud (intensidad). La digitalización de las
coordenadas espaciales (x,y) se denominará muestreo de imagen, mientras que la
digitalización de amplitud se llamará cuantización de intensidad o nivel de gris.

Este último término es aplicable a las imágenes monocromas y refleja el hecho


de que estas imágenes varían del negro al blanco en tonos del gris. Los términos
intensidad y nivel de gris se usarán indistintamente.

Con ello se construye una matriz numérica que servirá como representación
numérica de la imagen a la cuál podrán aplicarse diferentes algoritmos para su
análisis y procesamiento.

5.1.2 Preprocesamiento

En ocasiones se tienen imágenes de baja calidad ya sea por una defectuosa


técnica de iluminación, o bien porque la velocidad a la que se hizo la toma no fue
la adecuada, cuando se da esta situación es conveniente aplicar algunas técnicas
de filtrado para "suavizar" y disminuir el "ruido" de la imagen a fin de contar con
una representación óptima de dichas imágenes.

El término suavizado corresponde a la acción de dar continuidad a la imagen


cuando se presentan manchas, oscurecimientos o puntos muy brillantes que
afectan los objetos que componen la imagen.

El término reducción de ruido se refiere a eliminar componentes que realmente


no forman parte de la imagen y que debido a ciertas condiciones ambientales se
han incluido durante su adquisición o digitalización.

Existe un número considerable de técnicas para el preprocesamiento. A


continuación se muestran algunos de los procedimientos básicos.

53
Métodos en el dominio del espacio

El dominio del espacio se refiere al conjunto de pixeles que componen una


imagen y los métodos de dominio espacial son procedimientos que operan de
forma directa en estos pixeles. Las funciones de preprocesamiento en el dominio
espacial se pueden expresar como

g(x,y) = h[f(x,y)]

Donde f(x,y) es la imagen de entrada, g(x,y) es la imagen que se obtiene


(preprocesada) y h es un operador en f, definido sobre el entorno de vecindad de
(x,y). Para lograr la continuidad de los objetos que componen la imagen en caso
de tener huecos, manchas o excesos de brillo se puede hacer un barrido de los
elementos que forman la señal para decidir si es parte o no de una área u objeto
de la imagen, tomando cada pixel como centro y desplazando una ventana a
través de sus pixeles hasta lograr la reducción del ruido o el suavizado de la
imagen.

Para definir un entorno de vecindad sobre (x,y) es posible tomar una zona
rectangular o cuadrada de la imagen centrada en (x,y). El centro de esta
subimagen se irá desplazando de pixel a pixel comenzando, por ejemplo, en la
esquina superior izquierda, y se irá aplicando el operador a cada localización (x,y)
para obtener g(x,y). Aunque se usan a veces otras configuraciones de entorno de
vecindad, tal como el círculo, la cuadrada es la predominante debido a la facilidad
con que se implementa.

La forma más simple de h se da cuando el entorno de vecindad es 1 x 1 y


entonces g depende sólo del valor de f en (x,y). En este caso, h se convierte en
una relación de intensidad o transformación T de la forma
s =T(r)

Donde, para simplificar, se utilizan las variables s y r para representar,


respectivamente, la intensidad de f(x,y) y g(x,y) en un punto cualquiera (x,y). A
este tipo de transformación también se le llama realce.

Una de las técnicas de dominio espacial usadas más frecuentemente está


basada en el uso de las llamadas máscaras de convolución (plantillas, ventanas o
filtros). Una máscara es básicamente una pequeña matriz bidimensional (3 x 3, por
ejemplo), como la de la figura 5.1, cuyos coeficientes se eligen de forma que
podamos detectar una propiedad dada para una imagen.

54
Figura 5.2 Máscara para detectar puntos aislados diferentes de un fondo
constante

Como introducción a este concepto, supóngase que se tiene una imagen de


intensidad constante que contiene puntos bastante alejados entre sí cuyas
intensidades son distintas a las de su entorno. Estos puntos pueden ser
detectados usando la máscara mostrada en la figura 5.2. El procedimiento es el
siguiente: el centro de la máscara (etiquetado 8) se mueve por la imagen, como se
indicó anteriormente.

Para cada posición de pixel en la imagen, se multiplica cada pixel contenido


dentro del área de la máscara por el correspondiente coeficiente de la máscara;
esto es, el pixel del centro de la máscara se multiplica por 8, mientras que sus
vecinos-8 se multiplican por -1.

Los resultados de estas nueve multiplicaciones a continuación se suman. Si


todos los pixeles dentro del área de la máscara tiene el mismo valor (entorno
constante), la suma será cero. Si, al contrario, el centro de la máscara está situado
en uno de los puntos aislados, la suma será distinta de cero. Si el punto aislado se
encuentra en una posición no central, la suma será también distinta de cero, pero
el valor de la respuesta será menor. Esta menor respuesta puede ser eliminada
comparando la suma con un nivel.

Como se observa en la figura 5.3, si llamamos w1, w2, ... , Ws a los coeficientes
de la máscara y consideramos los vecinos-a de (x,y), podemos generalizar el
procedimiento anterior a uno que realice la siguiente operación:

h[f(x,y)] =w1 f(x - 1, y - 1) + w2 f(x - 1,y) + W3 f(x - 1, y + 1) +


+ W4 f(x, y - 1) + Ws f(x,y) + W5 f(x, y + 1) +
+ W1 f(x + 1, y - 1) + wa F(x + 1, y) +
+ W9 f(X + 1, y + 1)

5.1

en un entorno de vecindad 3 x 3 de (x,y).

55
w, W2 W3
(x-1,y- (x- (x-
1 1, +1
W4 Ws Ws
-1
X, X, X, +1
W1 Wa Wg
(x+1,y- (x+1, (x+1,y
1 +1

Figura 5.3 Máscara 3X3 general que muestra los coeficientes y las posiciones
de los elementos de la imagen correspondiente.

Éstas operaciones de entorno de vecindad se utilizan en estudios de reducción


de ruido, para obtener niveles de imagen variables, para hacer apreciaciones de
textura, para obtener el "esqueleto" de un objeto y para detectar los bordes de un
objeto que son la base de la segmentación.

Promediado del entorno de vecindad.

El promediado del entorno de vecindad es una técnica directa, en el dominio


espacial, para el suavizado de imágenes. El procedimiento consiste en dada una
imagen f(x,y), generar una imagen suavizada g(x,y) cuya intensidad para cada
punto (x,y) se obtiene promediando los valores de intensidad de los pixeles da f
incluidos en el entorno de vecindad predefinido de (x,y). En otras palabras, la
imagen suavizada se obtiene usando la relación

1
g(x,y) =- ¿J(n,m)
p (n.m")ES

5.2

Para todos los x e y de f(x,y). S es el conjunto de coordenadas de los puntos


situados en el entorno de vecindad de (x,y), incluyéndose (x,y), y P es el número
total de puntos del entorno de vecindad. Si se usara un entorno de vecindad de 3 x
3, se observaría, comparando las ecuaciones 5.2 y 5.1 y , que la primera
ecuación es un caso especial de la última tomando W¡ = 1/9. Como es lógico, en la
ecuación 5.2 se limita a los entornos de vecindad cuadrados.

Filtración de la mediana

Una de las dificultades principales del promediado del entorno de vecindad es


que desdibuja los contornos y otros detalles de forma. Este desdibujamiento se
suele reducir, en gran medida, usando los llamados filtros de la mediana, en los
56
cuales se sustituye la media de las intensidades por la mediana en un entorno de
vecindad predefinido de cada pixel.

Recordemos que la mediana M de un conjunto de valores es tal que la mitad


de los valores del conjunto son menores que M. Con el objeto de realizar una
filtración de la mediana en el entorno de vecindad de cada pixel, se ordenan los
valores de intensidad de cada pixel y sus vecinos, se determina la mediana y se
asigna esta última a la intensidad de su pixel. La principal función de la filtración
de la mediana es hacer que los puntos con intensidades muy distintas se hagan
más parecidos a sus vecinos, eliminando así los picos de intensidad que
aparezcan aislados en el área de la máscara del filtro.

Operadores de gradiente

El gradiente permite determinar las diferencias de intensidad entre dos pixeles


vecinos y para una imagen f(x,y) en un punto (x,y) se define como un vector
bidimensional:


G[r(x,y)]= [~:]= :
ay
5.3

El vector G apunta a la dirección de variación mínima de f en el punto (x,y).

Para la detección de bordes resulta de gran interés conocer el valor de este


vector, al que se llama gradiente y se representa como G[f(x,y)], donde:

5.4

En la práctica el gradiente se aproxima mediante los valores absolutos:

G[f(x,y)]~ 1 Gx 1 + 1 Gy I

5.5

57
Como se observa en la ecuación 5.3, para la evaluación del gradiente se
requiere obtener las derivadas parciales de primer orden of/ox y of/oy . Para
obtenerlas en una imagen digital se usan las diferencias de primer orden entre dos
pixeles adyacentes; esto es :

Gr=of =J(x,y)-f(x-1,y)
éJx
5.6
y
GY = 8/ = f(x,y)- f(x,y-1)
éJy
5.7

Usando un entorno de vecindad de 3 X 3 pixeles centrado en (x,y) se obtiene la


siguiente definición:

Gr = 8/ =[f(x + l,y-1) + 2/(x + l,y) + f(x + l,y + 1)]


éJx
-[/(x-l,y-1)+2/(x-l,y)+ f(x-1,y+I)]
=(g + 2h + i) - (a + 2b +e)

5.8
y

Gy = 8f =[f(x-I,y+I)+2f(x,y+I)+ f(x+l,y+I)]
éJy -[f(x- I,y- I) + 2/(x,y -1) + f (x + l,y-1)]

= (e+ 2e + i) - (a + 2d + g)

5.9

Donde las letras de la a a la i representan a los vecinos del punto (x,y).

En la figura 5.4 se muestra el entorno de vecindad 3X3 de (x,y) empleado en


esta notación y se observa que los pixeles más cercanos a (x,y) se ponderan con
un 2 en esta forma particular de calcular la derivada parcial.

58
a)Vecindad 3X3 del punto (x,y)

~I ~I ~I
b) Máscara utilizada para calcular Gx

~I ~I
:~ 1

c) Máscara utilizada para calcular Gy

Figura 5.4 Entorno de vecindad 3 x 3 y máscaras del gradiente

Desplazando éstas máscaras a través de la imagen f(x,y) se obtiene el


gradiente en todos los puntos de la imagen.

5.2 Visión de nivel intermedio

El procesamiento de imágenes de nivel intermedio es el instrumental necesario


para obtener la imagen y otras informaciones en forma adecuada para realizar un
procesamiento visual inteligente posteriormente, es decir para realizar labores de
reconocimiento y comprensión de la imagen.

La visión de nivel medio trabaja en los temas de segmentación, descripción y


reconocimiento de objetos individuales, los cuáles se describirán a continuación:

5.2.1 Segmentación

La segmentación es el proceso que divide a una escena percibida en sus


partes constituyentes u objetos. La segmentación es uno de los elementos más
importantes de un sistema automatizado de visión, ya que este es el nivel de
procesamiento en el que los objetos se extraen de una imagen para su posterior
reconocimiento y análisis. Los algoritmos de segmentación se basan, por lo
general, en uno de los dos siguientes principios básicos: discontinuidad y similitud.
59
Los procedimientos principales basados en la primera categoría suelen usar la
detección de bordes, y para los de la segunda categoría se usan los umbrales y el
crecimiento de regiones. Estos conceptos son aplicables tanto a imágenes
estáticas como a las dinámicas (variables con el tiempo). En este último caso, el
movimiento a menudo puede ser usado como herramienta importante para
aumentar el rendimiento de los algoritmos de segmentación.

Unión de bordes y detección de fronteras

Las técnicas descritas en detección de bordes, detectan discontinuidades de


intensidad. En teoría, estas técnicas deberían dar como resultado pixels que
estuvieran en la frontera entre objetos y el fondo. En la práctica, este conjunto de
pixeles rara vez caracteriza completamente una frontera, debido al ruido,
interrupciones en la misma frontera debido a la iluminación no uniforme y otros
efectos que introducen discontinuidades de intensidad no deseadas. En
consecuencia, los algoritmos de detección de bordes vendrán seguidos por una
unión y otros procedimientos de detección de frontera diseñados para reunir a los
pixeles de borde en un conjunto con significado de fronteras de objetos. Para ello
se consideran algunas técnicas adecuadas como el análisis local y el análisis
global:

Análisis local

Uno de los procedimientos más sencillos para unir puntos de bordes es


analizar las características de los pixeles en un pequeño entorno de vecindad (por
ejemplo, 3 x 3 ó 5 x 5) sobre todo los puntos (x, y) de una imagen en los que haya
sido llevado a cabo un proceso de detección de bordes. Todos los puntos que
sean similares (como se vio antes) se unen, formando así una frontera de pixeles
que comparten las mismas propiedades comunes.

Para este tipo de análisis se usan principalmente dos propiedades para


establecer la similitud de los pixeles de borde:

1) La magnitud de respuesta del operador gradiente usado para obtener el


pixel de borde

2) La dirección del gradiente.

La primera propiedad viene dada por el valor de GLf {x, y)], como se vio en las
ecuaciones (5.3) o (5.4). Así decimos que un pixel de borde con coordenadas (x',
y) dentro del entorno de vecindad de {x, y) es similar en magnitud al pixel situado
en {x, y) sí:

60
¡c[t(x, y)]- G[t(x', i)] ~ T
5.10
en donde Tes un umbral.

La dirección del gradiente se puede establecer utilizando el ángulo del vector


gradiente dado en la ecuación 5.9. Esto es:

5.11

Donde O es el ángulo, medido en relación con el eje x, respecto al cual la tasa


de cambio tiene un valor más alto. Se dice que un pixel de borde situado en (x',y')
en el entorno de vecindad (x,y) tiene un ángulo similar al pixel situado en (x,y) sí.

IB-B'I < A
5.12

Donde A es un umbral de ángulo. La dirección del borde en (x,y) es


perpendicular a la dirección del vector gradiente en ese punto.

A partir de esto el proceso es sencillo, se une un punto del entorno de (x,y) al


pixel situado en (x,y) si se satisfacen los criterios de magnitud y dirección. Este
proceso se repite para todos los puntos de la imagen, guardando una copia de los
puntos unidos, mientras se desplaza el centro del entorno de vecindad de pixel a
pixel. Para la clasificación se puede utilizar la asignación de un nivel de gris
diferente a cada conjunto de pixeles de borde unidos.

Análisis global

Existe una técnica de análisis global basada en la representación de


segmentos de borde en forma de estructura de grafos, en la que se buscan
caminos de menor coste que corresponderán a bordes significativos.

Un grafo G=(N,A) , es un conjunto finito, no vacío, de nodos N, junto con un


conjunto A de pares no ordenados de N elementos distintos. Cada par (n¡,n¡) se
llama un arco. Un grafo en el que sus arcos tienen direcciones asignadas se llama
grafo dirigido. Si un arco se dirige desde el nodo n¡ hasta el nodo n¡, se dice que n¡
61
es un sucesor de su nodo padre n¡. El proceso de identificación de los sucesores
de un nodo se llama desarrollo del nodo. Para cada grafo se definen niveles: el
nivel O corresponde a un nodo simple llamado comienzo, y los nodos del último
nivel se llamarán nodos objetivos. Se puede asociar un coste c(n¡,n¡) a cada arco
(n¡,n¡). Una secuencia de nodos n1, n2.... ,nken donde cada nodo n¡es el sucesor del
nodo n¡_, se llamará camino den, a nk y el coste mínimo está dado por:

k
e = L, c(n;_,, n¡)
i=2
5.13

Además se define un elemento de borde como la frontera entre dos pixeles p y


q, siendo p y q vecinos-4. Y un borde es una secuencia de elementos de borde.

El problema de encontrar un camino de coste mínimo, desde el punto de vista


computacional, no es trivial y algunos procedimientos usan la heurística,
sacrificando exactitud en aras de la velocidad y el menor esfuerzo.

5.2.2 Determinación de descriptores

La descripción consiste en extraer características de un objeto para


reconocerlo. En general, los descriptores deben ser independientes del tamaño, la
localización y orientación del objeto y deben contener la suficiente información de
discriminación para distinguir un objeto de otro. Los descriptores afectan tanto la
complejidad de los algoritmos de reconocimiento, como su rendimiento. A
continuación se describen algunos descriptores de frontera importantes.

Códigos de cadena

Se utilizan para representar una frontera como un conjunto de segmentos con


longitud y dirección especificadas. Por lo general, esta representación se
establece sobre una cuadrícula rectangular, usando conectividad 4 u 8. La longitud
de cada segmento viene dada por la resolución de la cuadrícula y las direcciones
se fijan de acuerdo al código elegido. Si una célula incluye más de una cantidad
determinada de área interior a la frontera, se le asigna un 1 a dicha célula; en caso
contrario, se le asigna un O. Para después codificar la frontera usando los códigos
de dirección seleccionados.

62
Aproximaciones poligonales

Una frontera digital se puede aproximar con una exactitud arbitaria mediante un
polígono. Para una curva cerrada la aproximación es exacta cuando el número de
segmentos del polígono, es igual al número de puntos de la frontera, de tal forma
que cada par de puntos adyacentes defina un segmento del polígono. En la
práctica el objetivo de la aproximación polinomial, es capturar la esencia de la
forma de la frontera con el menor número posible de segmentos poligonales.

Descriptores de Fourier

La transformada de Fourier unidimensional discreta se puede utilizar a


menudo para describir una frontera bidimensional. Supóngase que se conocen M
puntos de una frontera, si se sitúa esta frontera en el plano complejo, cada punto
de la frontera bidimensional (x,y) se reduce a un número complejo unidimensional
x+jy. La secuencia de puntos a lo largo del contorno de la frontera, forman una
función, cuya transformada de Fourier es F(u), u=0, 1,2, .... ,M-1. Si M es una
potencia entera de 2, F(u) se puede obtener usando un algoritmo de transformada
rápida de Fourier. En general, sólo se necesitan los primeros componentes de F(u)
para distinguir formas razonablemente distintas entre sí.

La transformada de Fourier se puede normalizar fácilmente para el tamaño,


rotación y punto de inicio de la frontera. Para cambiar el tamaño de un contorno,
se multiplican los componentes de F(u) por una constante, debido a la linealidad
del par de transformadas de Fourier, esto equivale a multiplicar la frontera por el
mismo factor. La rotación de un ángulo determinado 8 se puede tratar de la
misma forma, multiplicando a los elementos de F(u) por expU8). Por último, se
puede considerar que el desplazamiento del punto de inicio del contorno en el
dominio espacial, es equivalente a multiplicar el k-ésimo componente de F(u) por
expUkT), donde T es el intervalo [0,21t). Al variar T de O a 21t, el punto de inicio
recorre el contorno completo una vez y se utiliza como base para la
normalización.

Esta sección es de gran importancia en este trabajo, ya que se propone el uso


de métodos alternos entre Fourier y Wavelet para la obtención de descriptores que
servirán de base para el reconocimiento y dará detalle de este proceso en el
siguiente capítulo.

63
CAPÍTULO 6

6.0 RECONOCIMIENTO DE IMÁGENES

El reconocimiento es una función biológica de vital importancia y es crucial en


la respuesta apropiada de los sistemas biológicos ante formas o patrones
específicos; se pueden mencionar infinidad de casos donde esto ocurre, por
ejemplo, en el caso de los anticuerpos, éstos deben distinguir entre las células del
sistema y los microorganismos extraños a los que deben destruir. La pérdida de
esta facultad ocasiona la muerte. Por otra parte los animales herbívoros deben
reconocer las plantas comestibles de las que no lo son y los humanos basan
mucho de su aprendizaje y percepción del ambiente en su sistema visual.

Se ha estudiado mucho el trabajo interno de los sistemas de reconocimiento


humano, desde el punto de vista psicológico y neurológico. Sin embargo el
proceso cerebral es de tal complejidad que no ha podido reproducirse en los
laboratorios, y las investigaciones continúan.

En el ámbito computacional, el reconocimiento automático de formas abarca un


conjunto de técnicas y herramientas matemáticas con aplicación en numerosas
disciplinas: ingeniería, medicina, biología, etc.; siendo uno de sus principales
objetivos el que una computadora pueda recibir información digitalizada de un
objeto real, se compare con otras imágenes de las mismas características que se
le proporcione y sea capaz de decidir si la imagen concuerda con las
características de otra, tomando en cuenta que pueden existir distorsiones
provocadas por el ambiente en el que se toma la información. Sin embargo,
aunque los principios inherentes al reconocimiento de formas son relativamente
simples, el desarrollo de estos principios conduce a planteamientos matemáticos
muy sofisticados.

Se tiene una amplia gama de aplicaciones del reconocimiento de formas o


imágenes, tales como el reconocimiento de caras, huellas dactilares o iris para la
identificación de personas que utilizan tarjetas de crédito, licencias de conducir,
pasaporte; control de acceso a áreas restringidas, reconocimiento de tumores o
malformaciones en estudios médicos, visión de robótica para tareas industriales,
control de calidad de productos, estudios de tomas áreas de satélites para
identificar recursos y ubicación de objetos de interés, etc.

De acuerdo a la clasificación de operaciones vistas en el capítulo 4, se tienen


tres grandes subdivisiones para clasificar las diversas técnicas y procedimientos
utilizados en visión artificial: visión de bajo, medio y alto nivel. La visión de bajo
nivel está relacionada con la percepción básica y el preprocesamiento. La visión
media es el instrumental necesario para obtener la imagen y otras informaciones
en forma adecuada para realizar un procesamiento visual inteligente a lo que
también se llama visión de alto nivel.

64
De acuerdo a estos niveles, el orden en que se lleva a cabo el procesamiento
de imágenes hasta llegar a su reconocimiento y comprensión se ilustra en la
figura 6.1.

............................... ..........................,.
1 !
! !:
! ! .........................................................................................................
J PROCESAMIENTO DE NIVEL
PREPROCESA INTERMEDIO
MIENTO

RECONOCIMIENTO
E

INTERPRETACIÓN

ADQUISICIÓN
DE IMAGEN

PROCESAMIENTO
DE BAJO NIVEL PROCESAMIENTO
DE AL TO NIVEL
DOMINIO DEL
PROBLEMA RESULTADOS

Fig. 6.1 Orden en que se lleva a cabo el procesamiento de imágenes.

En forma específica un sistema de reconocimiento automático de formas o


patrones, opera siempre con un universo de trabajo previamente definido, el cual
esta formado por todos los posibles objetos individuales que se van a reconocer
de manera automática.

Antes de extraer las características más importantes de los objetos, es


necesario efectuar un preprocesamiento que permita reducir el ruido y eliminar los
componentes no deseados a fin de aislar los objetos de interés.

Los objetos aparecen normalmente mezclados entre sí, presentando


asociaciones e interacciones muy complejas y la operación de extraer los objetos
individuales puede llegar a ser muy difícil. En los sistemas de visión artificial a esta
operación se le llama segmentación y es la etapa más delicada y difícil de todo el
sistema de visión.

Otro aspecto importante es la detección de bordes, de gran utilidad en la


interpretación de las imágenes. Los bordes o contornos son la transición entre un
objeto y su fondo y viceversa y facilitan la obtención de las características que
serán la base del proceso de reconocimiento.

65
II
Para lograr el reconocimiento automático de los objetos individualizados se
debe realizar una importantísima transformación de los mismos, de tal forma que
se convierten en un vector X cuyas componentes se denominan características o
11
rasgos. [6.1]

Cada vector de características se compara con un conjunto de vectores


preestablecidos, compuesto por los vectores de características de todos los
objetos del universo de trabajo.

Los principales procesos del reconocimiento automático de formas pueden


verse en la figura 6.2:

IMAGEN

SEGMENTACIÓN Y I
O DETECCIÓN DE
BORDES

EXTRACCIÓN DE
CARACTERISTICAS

CARACTERÍSTICAS
DE OBJETOS DEL
UNIVERSO XE

RECONOCIMIENTO

Figura 6.2 Diagrama a bloques de un Sistema de Reconocimiento Automático

66
Para la manipulación y representación de formas o imágenes es deseable
encontrar una representación adecuada que permita su manipulación matemática,
ya que de ello depende que se puedan aplicar los modelos de acuerdo al tipo de
estructura utilizada para modelar la representación interna del mundo y así poder
llevar a cabo propiamente el proceso de reconocimiento. Como se comentó en el
capítulo 2, se puede construir una matriz N x M a partir de una imagen, pero
ciertos algoritmos y filtros ya están definidos para aplicarse a vectores de una
dimensión.

Una imagen también puede representarse como un vector. Si la imagen tiene a


y b pixeles de ancho y alto respectivamente, el número de componentes del vector
es a*b, debido a que cada pixel se codifica como un componente de vector. La
construcción de este vector a partir de una imagen se logra a partir de una simple
concatenación, formando las filas una al lado de la otra. Un ejemplo se muestra en
la figura 6.3:

X={ 1I I I 1171°1°1\ 11 ( hEJJ 11 EEi I


Figura 6.3 Formación de un vector de imagen a partir de una imagen

También los objetos individuales se convierten en vectores numéricos X antes


de ser reconocidos. Se empleará la notación de vector columna para representar
a los vectores de características.

Donde X1, X2, ... Xn son números reales que cuantifican, para un objeto
concreto, las correspondientes características.

67
Cuando se ha obtenido el vector X asociado a un objeto individual, para su
reconocimiento automático, se determina su grado de semejanza con los vectores
de características prototipo de cada posible clase de objetos previamente
definidos.

El reconocimiento automático de formas, gira en torno a varios conceptos


claves: patrón o clase, rasgos o características, y funciones discriminantes o de
decisión. Cuando se conoce de antemano las clases de objetos que deben
reconocerse es más sencillo establecer las clases como definición del universo de
trabajo del sistema y es la primera tarea en el diseño de un sistema de
reconocimiento automático de formas. Sin embargo, puede ocurrir que las clases
sean desconocidas a priori. Esta situación aparece en ciertos campos de la
medicina o de la biología, en donde no está clarificado el universo de clases.

En esos casos se aplican técnicas denominadas de agrupación (clustering), o


de reconocimiento sin supervisión. En ellas no existe una supervisión o
reconocimiento externo, que guía el diseño de las funciones de discriminación.

Una vez definidas las clases, la siguiente operación consiste en la elección del
vector de características. Esta etapa es crítica y la bondad del sistema final estará
completamente determinada por los rasgos escogidos.

Sin embargo, al seleccionar el universo de trabajo con caras humanas, se


presenta el problema de la definición de clases, debido a que los valores de los
componentes de una cara presentan valores muy cercanos y se hace necesario
considerar que cada cara es una clase. Para aumentar la probabilidad de
reconocimiento, se decidió incluir el proceso de detección de bordes que permita
destacar las características de la imagen al resaltar el contorno de la cara sobre el
fondo.

El vector de características, sin duda, constituye el elemento clave en un


sistema de reconocimiento automático de formas. El concepto mismo de vector de
rasgos o de características es lo que dota al reconocimiento automático de su
elegancia y de su enorme potencial práctico, al reducirla, en principio,
extraordinaria y diversa complejidad de los objetos a la muy manejable
información condensada en un vector de datos numéricos.

El problema que se plantea es aplicar en forma alterna la transformada de


Fourier y la transformada wavelet para la obtención de descriptores que servirán
de base para el reconocimiento de las formas.

68
La transformada de Fourier ya se ha empleado para calcular características
discriminantes de los objetos en imágenes digitales. La idea básica es pasar de
un dominio espacial del contorno del objeto a un dominio frecuencial del mismo,
utilizando con este fin la transformada discreta de Fourier (TDF). Sin embargo, hay
una acuse en la bibliografía de que consume muchos recursos de cálculo para
ciertas aplicaciones.

Por otra parte, como se comentó en el capítulo 3, la transformada wavelet es


una función matemática, basada en los componentes de frecuencia de una señal y
permite estudiar cada componente de acuerdo a su escala. Presenta importantes
ventajas sobre los métodos tradicionales de Fourier en el análisis de situaciones
físicas donde la señal contiene discontinuidades y picos agudos.

Este proyecto planteó el desarrollo de ambos algoritmos aplicados al


reconocimiento de formas, a fin de obtener cuadros comparativos de su
desempeño y poder determinar cuál de ellos ofrece mayores ventajas y brinda
mejores resultados.

Una vez seleccionado el vector de características del sistema, la etapa final se


centra en el cálculo de las correspondientes funciones de decisión o funciones
discriminantes, a fin de determinar el grado de semejanza entre el vector de
entrada y el vector o vectores patrones en el cual se pueden presentar cuatro
situaciones:

RESULTADO VALIDEZ CORRECTUD


ACEPTACIÓN AUTENTICA CORRECTO
ACEPTACIÓN NO VÁLIDA INCORRECTO
RECHAZO AUTENTICO CORRECTO
RECHAZO NO VALIDO INCORRECTO

Tabla 6.1 Situaciones que pueden presentarse en el reconocimiento


automático.

En este caso la confiabilidad del sistema depende del uso de un algoritmo que
aumente la probabilidad de que ocurra la aceptación y rechazo auténtico y al
mismo tiempo reduzca la probabilidad de que ocurra la aceptación y el rechazo no
válidos.

En la figura 6.4 se representa un diagrama de flujo con las fases de diseño de


un sistema de reconocimiento automático propuesto para realizar este trabajo.

69
Transformación en escala de
grises

Segmentación y/o detección de


bordes

TRANSFORMADA
DE FOURIER
Disel'lo y obtención de
caracterlsticas
TRANSFORMADA
WAVELET

No

RECONOCIMIENTO

Figura 6.4 Etapas del diseño de un Sistema de Reconocimiento Automático de


Formas.

6.1 Definición del universo de trabajo

A fin de continuar con el planteamiento del problema fue necesario definir el


Universo de trabajo sobre el que operarían los algoritmos desarrollados y se eligió
el reconocimiento de caras humanas. Las aplicaciones del reconocimiento de
caras son amplias y variadas y pueden clasificarse en dos grandes grupos:
70
a) Imágenes fijas o inmóviles

b) Imágenes dinámicas en tiempo real

En el primer grupo se tienen diversas aplicaciones que pueden tener grandes


repercusiones económicas, tales como tarjetas de crédito, pasaportes, licencias de
conducir, seguridad bancaria. En ellas se tiene una alta calidad de la imagen,
debido a que pueden controlarse las condiciones de iluminación, fondo, tamaño,
orientación, etc.

El segundo grupo tiene un mayor grado de dificultad debido a que implica


movimientos y a que las tomas no pueden realizarse bajo condiciones controladas,
como en el caso de las cámaras de vigilancia, identificación en videos de personas
que participan en marchas, etc.

Se eligió el primer grupo, en blanco y negro, como universo de trabajo por


varias razones: se tienen bases de datos de ellas digitalizadas en algunas
Universidades, por ejemplo la Universidad de Manchester tiene disponible 300
imágenes de alguna forma normalizadas por el tamaño, la postura, el centrado la
escala y el fondo de las tomas fotográficas y dispone de otras 300 imágenes no
centradas, en diferentes posiciones y expresiones y con variedad de fondos; se
han logrado resultados exitosos en el reconocimiento de ellas a través de otras
técnicas como los vectores propios y otro tipo de transformaciones, con lo que en
el futuro podrían servir también como base de comparación y por último creo que
todo lo referente a relacionar aspectos humanos con el uso y funcionamiento de
las computadoras es fascinante.

6.2 Transformación en la escala de grises

Se describió en el capítulo 2, que a fin de facilitar el procesamiento de las


imágenes en blanco y negro, es necesario realizar una transformación de la escala
de niveles de grises, para obtener una representación matricial con valores
numéricos de la imagen. Ésta depende solamente del nivel de gris de cada pixel
en la imagen original.

O 3 3 O

7 7

O 4 4 O

o o o o

Figura 6.5 Transformación de una imagen a escala de grises (O a 8)


71
Con el objeto de centrar los detalles en la siguiente fase del proceso, se debe
mencionar que en la base de imágenes que se utilizó para este trabajo, la labor de
transformación fue realizada por el equipo técnico que las dejó disponibles en la
red [6.2].

El formato de cada imagen del banco de la Universidad de Manchester es el


siguiente:

• Identificador de imagen
• Número de columnas blanco Número de filas
• Valor máximo de niveles de gris
• Valores numéricos separados por blancos que representan los valores
de grises de la imagen, organizados de acuerdo al número de
columnas y filas indicados.

Ejemplo:

# feep.pgm
8 8
64

o o o o o o o o
o 3 25 25 60 59 62 45
1 3 26 26 65 50 50 14
2 3 25 30 50 55 55 12
8 o 12 32 50 11 10 7
o o 8 22 30 5 3 7
o o 3 8 12 2 1 3
o o o o o o o o

6.3 Detección de bordes

A fin de obtener mejores resultados al aplicar las técnicas de obtención de


características de la imagen es recomendable aplicar el proceso de detección de
bordes.

Cuando se trabaja con 1magenes en niveles de gris los bordes se pueden


definir simplemente como discontinuidades o cambios abruptos en las
intensidades de dichos niveles. Estos cambios normalmente van acompañados de
detalles de la imagen y son de utilidad al obtener el espectro de frecuencias, ya
que permiten encontrar el extremo de alta frecuencia.

72
Un borde en general puede orientarse en cualquier dirección y puede variar en
nivel de intensidad. Para determinar si un punto de la imagen es o no un borde se
tienen dos clases de métodos: orientados a la frecuencia mediante la aplicación de
filtros, o bien orientados a la definición de los pixeles en el espacio, a través de
una ventana o máscara, como se explicó en el capítulo 5.

En este trabajo se eligió el método de Kirsh [6.3] en el dominio del espacio, el


cual utiliza 8 máscaras, debido a que es muy sensible a cambios pequeños de
gradiente y tiene un desempeño muy superior respecto a otros métodos.

Las ocho máscaras definidas son las siguientes:

Wo= 1 ~ 111 :~ 1 w. = 1 _u -~ ~1 1

2
W = 1 ! ! ~ 1 1 1 W,= 111 ! 1 ~ 1

w.= 1:¡ ! i 1 1 I Ws = 1 :~ 1 ! 111

We= ~~ ! ~ 1 1 1
7
W = 1 :~ 1 -~ 1 -~ 1

Figura 6.6 Ventanas de Kirsh como operadores para la obtención de bordes de


una imagen.

Al aplicar los operadores, la imagen de bordes se puede calcular con la


fórmula:

y(i,j)=max{IYo(i,j)I, IY1 (i,j)I, .. -IY1(i,j)I}

Donde Yo, y1, etc., son las correlaciones cruzadas de la máscaras Wo, W1, etc.,
con la imagen.

Con esta idea se construyó un algoritmo basado en este método que permite
obtener la imagen en realce, facilitando la aplicación de las transformadas para la
obtención de las características principales en frecuencia de la imagen.
73
Como ejemplo, se muestran las siguientes figuras a las que se le ha aplicado el
proceso de detección de bordes.

Figura 6. 7 Ejemplo de aplicación de detección de bordes a una imagen

6.4 Diseño y obtención de características de la imagen

El vector formado por la concatenación de las filas de imagen pertenece al


espacio, llamado espacio de imagen. Todas las caras humanas se parecen, tienen
dos ojos, una nariz y una boca, por lo que todos los vectores están localizados en
un grupo muy estrecho en el espacio imagen, por ello el espacio imagen no es el
espacio óptimo para la descripción de caras y la tarea consiste en construir una
mejor representación del espacio de caras.

Esta es la parte fundamental del diseño, pero no está formalizada la aplicación


de reglas generales, debido a que depende en gran medida de una aplicación
concreta. Existen algunas técnicas formales, pero sólo aplicables una vez que se
ha elegido un conjunto específico de características. Entre estos destacan los
filtros digitales para extraer el vector de características de la imagen.

Una vez que se ha obtenido una representación del contorno de la imagen, es


posible aplicar diferentes técnicas para obtener el vector de características que
servirá como base para el reconocimiento. Es en este punto donde se plantean
dos métodos alternos para esta labor: la obtención de características
discriminantes basadas en la transformada de Fourier y la obtención de
descriptores basados en una función Wavelet.

74
6.4.1 Aplicación de la transformada de fourier

La transformada de Fourier puede emplearse para analizar las variaciones de


niveles de gris de una imagen en dos dimensiones, en la que los cambios rápidos
generalmente corresponden a frecuencias altas y los cambios graduales
corresponden a bajas frecuencias

Para solucionar las variaciones en la orientación de los objetos, se eligen


descriptores invariantes a la rotación o bien se utiliza el eje principal del objeto
para orientarle en una dirección predefinida.

Como ya se mencionó también en el capítulo 3 la transformada de Fourier


presenta propiedades importantes como la rotación, traslación, y escala que le
permiten generar descriptores invariantes.

La idea básica es pasar de un dominio espacial del contorno del objeto a un


dominio frecuencial del mismo, utilizando con este fin la transformada discreta de
Fourier (TDF).

Por ejemplo, suponga que se tiene la siguiente descripción { f (x) }


unidimensional del contorno de un objeto que esté formada por los elementos del
código cadena del contorno, tal como se representa en la figura 6. 7 Ver referencia
[6.4].

f(X)

7 Función periódica
6
5
4
3
2

1234567 N-1 X

Figura 6.8 Representación unidimensional del contorno de un objeto,


empleando el código cadena

En la figura 6.8 se puede apreciar que la función f(x) es periódica, con un


periodo igual al número de enlaces entre los pixeles del contorno, N-1.

El valor que toma la función f(x) en un enlace concreto entre dos pixeles
consecutivos del contorno coincide con el elemento del código cadena que
75
corresponde a ese enlace. Los valores de f(x), por tanto, son los enteros entre O y
7, ambos inclusive.

Empleando la siguiente notación para la función f(x):

{f (x) } = ~ (X 0 ), f (X 0 + .ruc), f (X 0 + 2.ruc) .... f (X 0 + (N -1 ).ruc}


6.3
Recordando que la TDF de una función discreta como la ecuación 6.3 viene
dada por la expresión:

1 N-1 [ 2,r ]
F(u)= F[f(x)]=- ¿f (x)exp _.L_ux
N x=O N

u= O, 1, 2 ... N -1
6.4

Se puede pasar de la descripción espacial de f (x) dada por la expresión 6.3 a


una descripción frecuencial determinada por su correspondiente TDF:

{F(u) }= {F(u 0 ),F(u 0 +Liu),F(u 0 +2.!iu)}....


6.5
Siendo uo =O; es decir, la componente de frecuencia nula del espectro de f (x).
Para expresar la resolución frecuencial de la transformada discreta de Fourier
se debe cumplir la relación

1
Liu=--
N Lix

6.6

Que permite expresar la resolución frecuencial de la TDF (esto es, la exactitud


o precisión con que se puede obtener el espectro continuo de una señal, que será
tanto mayor esta precisión cuanto menor sea Liu). También se recordará que la
máxima frecuencia que se puede obtener de la TDF viene dada por:

6.7

76
Esta transformada puede aplicarse al cálculo de características discriminantes
de contornos cerrados, debido a que es posible pasar de la Transformada discreta
de Fourier a la función espacial, mediante la transformada discreta de Fourier
inversa:

1 N-1 '2
f(x) = F-1 [J(x)] = - ¿F(u)exp[ 1 1r ux]
N u=O N

x = 0,1,2 .. .N -1
6.8

Esto permite representar unívocamente un determinado contorno cerrado


identificado por su código cadena { f(x) } o bien mediante la correspondiente
Transformada discreta de Fourier. La ventaja de ésta última es que se presenta la
posibilidad de truncar sus componentes y aún así poder recuperar con suficiente
fidelidad la forma original del contorno. Esto es debido a que se concentra la
mayor parte de la información del contorno en las bajas frecuencias, pero es
necesario seleccionar un número óptimo M de componentes considerados.

Con este método el vector de características discriminantes se forma por las


primeras M componentes F(O), F(1 ), F(2) ... f(M-1 ), con la ventaja adicional de que
esta transformada presenta propiedades de invarianza a traslaciones, a giros y a
cambios de escala, como se comentó anteriormente.

6.4.2 Aplicación de la transformada de Wavelet

A fin de entender el método de la transformada wavelet, se dará un ejemplo


simple utilizando las bases wavelet de Haar, descrito por Stollintz [6.5):

Suponga que una imagen de una dimensión tiene 4 elementos con los
siguientes valores:

9 7 3 5

Al aplicar la transformada wavelet con los coeficientes de Haar, de acuerdo al


método descrito en el capítulo 4, se obtiene el primer promedio de pixeles en
pareja, obteniéndose una nueva imagen de resolución mas baja:

8 4

Al obtener los promedios se observa claramente una pérdida de


información. Para recuperar los cuatro pixeles originales a partir de éstos dos
77
valores promedio es necesario almacenar los coeficientes de detalle que
contengan la información faltante. En este ejemplo puede verse que el primer
coeficiente es 1:

8 + (1) = 9 y 8 - (1) =7
Para el segundo para se observa que con el coeficiente -1 se pueden
recuperar los valores:

4 + (-1) = 3 y 4-(-1)=5

De esta forma se descompuso la imagen original en 2 pixeles de baja


resolución (8 y 4) y dos pares de coeficientes de detalle. Si este proceso se repite
recursivamente, ahora sobre los promedios, es posible obtener una
descomposición completa. En la tabla 6.2 se muestra este proceso:

RESOLUCIÓN PROMEDIO COEFICIENTES DE


DETALLE
4 9 7 3 5
2 8 4 1 -1
1 6 2

Tabla 6.2 Ejemplo de descomposición wavelet con base en promedios y


coeficientes de detalle

En este ejemplo, la transformada wavelet de la imagen original de cuatro


pixeles está formada por los coeficientes simples que representan el promedio de
la imagen original, seguido por los coeficientes de detalle en orden de resolución
creciente y está dada por:

6 2 1 -1

Las principales ventajas de almacenar la transformada wavelet en lugar de la


propia imagen son:

1) Es posible truncar una gran número de coeficientes de detalle de magnitud


muy pequeña, perdiéndose muy poca información.

2) El conjunto de los primeros coeficientes resultantes contiene la información


mas representativa de la imagen y es equivalente al conjunto de vectores
propios para obtener las características propias de la imagen, punto clave
en el reconocimiento.

78
En el trabajo desarrollado, para obtener el vector de características
discriminantes también se aplicó la transformada wavelet, considerando que una
vez que se conocen las funciones wavelet madre, se conocen cada una de las
bases. Como se indicó en el capítulo 4, para extender el dominio de los datos en
diferentes resoluciones, se utiliza el análisis wavelet en la ecuación de
escalamiento:

N-2
W(t)= ¿(-l/ck+if/1(2t+k)
k=I

6.9

Donde W(t) es la función de escalamiento para la función madre qJ(t), y ck son


los coeficientes wavelet. Los coeficientes wavelet deben satisfacer restricciones
lineales y cuadráticas de la forma:

N-1

¿ckcf21 = 281,0
k=O

6.10

Donde 6 es la función delta y I el índice de situación.

Uno de los aspectos más útiles de la transformada wavelet es la facilidad de


elegir los coeficientes para un sistema de wavelet dado a fin de adaptarlo a un
problema dado. En este caso se eligieron los coeficientes de la función base
llamada Daubechies 6, mostrados en el capítulo 4. Para resolver el problema de
localizar un vector de características discriminantes, puede pensarse que los
coeficientes {eo, ... Cn} se comportan como filtros. Los coeficientes se colocan en
una matriz de transformación, la cual se aplica al vector de datos de interés, que
en este caso corresponde al vector de contorno de la imagen. Los coeficientes se
ordenan usando dos patrones dominantes, uno que trabaja como un filtro de
suavizado (como un promedio móvil) y un patrón que trabaja para mostrar
información detallada de los datos. A estos dos ordenamientos de los coeficientes
se les llama par de filtros de cuadratura espejo en el lenguaje del procesamiento
de señales y se aplica la matriz de coeficientes wavelet al vector de datos,
mediante algoritmo jerárquico llamado algoritmo piramidal.

Primero se aplica la matriz al vector original de longitud completa, entonces el


vector es suavizado y disminuido por la mitad y la matriz se aplica nuevamente,
este proceso continúa hasta que se tienen un número trivial de datos. Es decir
cada aplicación de la matriz proporciona resolución más alta de los datos, pero al
mismo tiempo se suavizan los datos restantes.

El resultado que se obtiene al aplicar este método es también un vector


cercano a las características discriminantes que servirá de base en la labor de
reconocimiento.
79
6.5 Métodos de reconocimiento

Como se mencionó anteriormente, una vez que se ha definido el vector de


características de la imagen, la siguiente fase es el reconocimiento, planteándose
en este proyecto la identificación de una imagen contra las de un conjunto dado a
fin de efectuar su reconocimiento.

Los métodos de reconocimiento que se usan hoy día se pueden dividir en dos
categorías principales: métodos de decisión teórica y estructurales. Los primeros
se basan en descripciones cuantitativas, mientras que los métodos estructurales
trabajan sobre descripciones simbólicas y sus relaciones.

Se ha seleccionado un método de decisión teórica, basado en la distancia


Euclidiana, para determinar si las características obtenidas de una cara están más
cerca de las de algunas de las caras almacenadas. A continuación se describe
brevemente el método.

El patrón de reconocimiento de decisión teórica se basa en el uso de las


funciones de decisión (discriminantes). Sea x = (x1, x2, ... , Xn)r un vector patrón
columna de componentes reales, donde x; es el descriptor i-ésimo de un objeto
dado.

Dadas M clases de objetos, representadas por wi, coi. . . . , WM, el problema


básico del patrón de reconocimiento de decisión teórica es la identificación de las
M funciones de decisión, d1 (x), d2(x), . . ., dM(x), con la propiedad de que se
cumpla la siguiente relación para cualquier vector del problema x* perteneciente a
la clase
'*
j = 1,2, ... ,lv/ ;j i

6.11

En otras palabras, un objeto desconocido representado por el vector x* se


reconoce como perteneciente a la clase de objetos i-ésima si una vez sustituido x*
es todas las funciones de decisión, d; (x*) tiene como resultado el valor más
grande.

El uso predominante de las funciones de decisión se da en la comparación del


objeto a reconocer con patrones tipo. Supóngase que representamos cada clase
de objeto con un vector prototipo (o medio):
} N
m; =-¿xk i = 1,2, ... ,M
N k=I

80
6.12

Donde Xk son vectores de muestreo conocidos que pertenecen a la clase ;.


Dado un x" conocido, una forma de determinar a qué clase pertenece es asignarle
la misma clase que corresponde al vector tipo más cercano.
Si se usa la distancia euclidiana para determinar la proximidad, el problema se
reduce a calcular las siguientes medidas de distancias:

Dj(x*) = llx*-m1II
j = 1,2, ... m

6.13

112
Donde 11 a 11 = (ara) es la norma euclidiana. Se asocia x" con la clase ül si
D,{x") es la distancia más pequeña. Esto es equivalente a evaluar las funciones

1
d J.(x*) =(x*) 7 m.J --m 7
2 J m.J

j = 1,2, ... m

6.14

Y seleccionar el valor más grande.

Suponiendo que se tiene un vector de características de dimensión n y que


existen N patrones o clases, este método resultc1 muy atractivo debido a que su
carga computacional es igual a n· N productos reales y n sumas, con la ventaja
adicional de la sencillez de su diseño.

81
CAPÍTULO 7

7.0 DESARROLLO DEL RECONOCEDOR AUTOMÁTICO DE CARAS


HUMANAS

Para desarrollar el paquete computación se aplicó la metodología de Yourdon


de análisis y diseño estructurado [7 .1 ), que facilitó su construcción y permitirá su
posterior mantenimiento en caso de que se decidiera su posterior modificación:

7.1 Objetivo:

Contar con un sistema que permita dado un banco de imágenes previo


reconocer si una imagen nueva está o no en ese conjunto, permitiendo seleccionar
en forma alterna la transformada de Fourier y la transformada Wavelet a fin de
poder comparar ambos métodos en el reconocimiento de caras humanas.

7.2 Análisis

La metodología de Yourdon propone un conjunto de herramientas para realizar


el análisis estructurado de un sistema de software, en el que destacan los
diagramas de flujo de datos que permiten realizar el estudio funcional del
problema y poder así determinar los principales procesos factibles de
computarizar. Para construir estos diagramas se emplea un conjunto de símbolos
básicos muy sencillos de interpretar que se muestran en la figura 7.1

Fuente o destino de
infonnación

Proceso

Datos en tránsito

Almacén de
infonnación

Figura 7 .1 Elementos principales de los diagramas de flujo de datos propuestos


en la metodología de Yourdon.
82
Se plantea un proceso de carga de Base Inicial de imágenes, en el que se leen
cada una de las imágenes y se procesan para obtener una matriz de
características donde cada columna corresponde a una imagen o clase. A
continuación se lee la nueva imagen y se aplica la detección de bordes y la
transformada seleccionada, a fin de que se cuente con una matriz de
características de dicha imagen que servirá para reconocerla entre el conjunto de
clases de la matriz de características de la base inicial. Este proceso global se
representa en la figura 7 .2

1
BASE DE IMÁGENES
UNIVERSIDAD DE MANCHESTER

MATRIZ DE CARACTERiSTICAS
DE LA BASE INICIAL

IMAGEN A RECONOCER

VECTOR DE LA IMAGEN

VECTOR DE BORDES

4/ APLICA VECTOR DE CARACTERiSTICAS


TRANSFORMADA

5
RESULTADOS

Figura 7.2 Diagrama de flujo de datos propuesto para reconocer una cara humana
83
El primer proceso puede detallarse de la siguiente forma: se lee cada una de
las imágenes y se almacenan de tal forma que integran una matriz, donde cada
columna corresponde a una imagen. Esta matriz de imágenes recibe un
tratamiento similar al que recibirá la nueva imagen, es decir se aplica la detección
de bordes y la transformada seleccionada, a fin de que se cuente con una matriz
de características de la Base Inicial de Imágenes. Cada columna de esta nueva
matriz puede verse como la definición de una clase a la que puede pertenecer la
imagen en análisis. Este proceso se representa en la figura 7.3

BASE DE IMÁGENES DE LA
UNIVERSIDAD DE MANCHESTER

MATRIZ DE IMÁGENES

MATRIZ DE BORDES

MATRIZ DE CARACTERÍSTICAS
DE LA BASE DE IMÁGENES

Figura 7.3 Detalle del proceso 1 Lectura y procesamiento de la Base Inicial de


Imágenes
84
7 .3 El diseño

De acuerdo con el estudio funcional se propuso el siguiente diseño modular


mostrado en la figura 7.4, que define los programas o subrutinas que forman parte
de este sistema:

RECONOCEDOR DE 000
CARAS HUMANAS

100 200
1 1

FOURIER WAVELET
210
110

BASE INICIAL DE BASE INICIAL DE


IMÁGENES IMÁGENES

220
120

NUEVA IMAGEN - NUEVA IMAGEN

230
130

DETECCIÓN DE - DETECCIÓN DE
BORDES BORDES

240
140

- CARACTERiSTICAS
CARACTERiSTICAS
WAVELET
FOURIER

250
150

RECONOCIMIENTO - RECONOCIMIENTO

Figura 7.4 Diseño modular del Sistema Reconocedor de Caras Humanas.

85
Los módulos 110 y 210 tienen una estructura semejante, excepto por la rutina
de transformada para obtener la matriz de características, esto puede verse en la
figura 7.5:

llO 210

BASE INICIAL DE BASE INICIAL DE


IMÁGENES IMÁGENES

lll 211

CONST. ARCHIVO
DE IMÁGENES
- CONST. ARCHIVO
DE IMÁGENES

112 212

CONSTRUYE - CONSTRUYE
MATRIZ DE IMAG. MATRIZ DE IMAG.

113 213

OBTIENE BORDES - OBTIENE BORDES

ll4 214

APLICA TRANS. APLICA TRANS.


FOURIER
- WAVELET

Figura 7.5 Siguiente nivel modular de los módulos 11 O y 21 O

86
Los algoritmos de los programas empleados se especifican en pseudocódigo a
continuación:

CLAVE: 111 NOMBRE DEL MÓDULO: CONSTRUYE ARCHIVOS DE


IMÁGENES DE BASE INICIAL

fin= falso
Mientras no fin
Proporciona nombre de archivo a incluir en la base de imágenes
Lee nombre de imágenes
Graba nombre en Archivo de imágenes
Muestra "Desea incluir otra imagen a la base <S o N> "
Lee resp
Si resp <> "S"
fin = verdadero
Finsi
Finmi

CLAVE: 112 NOMBRE DEL MÓDULO: LECTURA DE ARCHIVOS DE


IMÁGENES DE BASE INICIAL

Proporciona nombre de archivo de nombres de imágenes


Abre archivo
i=1
Mientras no fin de archivo
Lee nombre de imagen
Abre Archivo de imágenes
j=1
Mientras no fin de archivo
Lee elemento del archivo
Guarda Matrizlnicio [i,j]
j = j+1
siguiente pixel
FinMi
i=i+1
siguiente nombre de imagen
Fin Mi

87
CLAVE: 113 NOMBRE DEL MÓDULO: OBTIENE BORDES

Asigna operadores
Solicita nombre de imagen
Lee imagen
Proporciona nombre de salida
Para n=O hasta numcolumnas
Para j=O hasta numfilas
Aplica y recorre con la ventana de operadores
Finpa
Finpa

CLAVE: 114 TRANSFORMADA DE FOURIER

Lee Archivo
Verifica si num. de datos es potencia de 2
Si si
Para i=1 hasta final
etap=(i-1 )"2
Var= O
Parar= 1 hasta etap
Calcula wr y wi
Finpa
Para k=O hasta n
Calcula xr y xi
Calcula xmod y xang
Finpa
Finpa
Guarda resultados
Sino
Mensaje de error

CLAVE: 214 TRANSFORMADAWAVELET

Determina los coeficientes wavelet


Precalcula cosenos de alpha y senos de beta
Construye el filtro
Encuentra el primer coeficiente diferentes de cero
Encuentra el último coeficiente diferente de cero
Forma los filtros de descomposición y reconstrucción
Coloca los filtros en un arreglo
88
Convoluciona filtros con imagen
Regenera la función de escala
Regenera la función wavelet
Determina la magnitud de los datos
Determina la longitud de salida, dependiendo de la longitud de los filtros.
Guarda coeficientes obtenidos.

7 .4 Construcción

Para construir el sistema se eligió el lenguaje C, debido a al procesamiento


numérico que requieren los algoritmos. Se contó con el compilador de Turbo C
para PC, de la empresa Borland. Sin embargo por razones de memoria, fue
necesario mantener separados los programas y realizar procesos por separado:

Los programas que se construyeron se muestran en la tabla 7. 1

PROGRAMA DESCRIPCION
MUESTRA.e Permite visualizar en pantalla una imagen
almacenada en tonos de grises.
BORDES.e A través de operadores de ventanas detecta por
contraste los pixeles de contorno de la imagen
FFT.C Calcula la transformada rápida de Fourier de una
imagen.
NEWAVEL.C Obtiene la transformada wavelet de una imagen
RECFFT.C Almacena la Base de Imágenes transformadas,
permite proporcionar una nueva imagen, calcula su
transformada de Fourier y efectúa un proceso de
reconocimiento.
RECWAVEL.C Almacena la transformada wavelet de la Base de
imágenes, permite proporcionar una nueva imagen,
calcula su transformada de Wavelet y efectúa un
proceso de reconocimiento --
FFT2D.C Permite obtener la transformada inversa de Fourier.
MUESFFT.C Permite visualizar en pantalla los componentes de
frecuencia de una imagen.

TABLA No. 7.1 Lista de programas construidos

89
CAPÍTULO 8

8. O RESULTADOS

Debido a la capacidad del compilador se estableció la Base de Imágenes con


30 caras diferentes en niveles de grises, tomadas de la Base de Imágenes de la
Universidad de Manchester. También se dispuso de 30 imágenes adicionales de
las mismas personas, pero con diferentes expresiones y 1O imágenes adicionales
de personas que no están en el Banco. Con ellas se efectuaron las siguientes
pruebas:

8.1 DEL RECONOCEDOR QUE EMPLEA TRANSFORMADA WAVELET

Se empleó el Reconocedor de transformada Wavelet con 8 y coeficientes y se


probó con 30 imágenes de caras que se encontraban dentro del Banco, dando una
tolerancia por coeficiente de 0.5 y un margen de error de 1 coeficiente de los 8
definidos; para imágenes con variaciones de las mismas personas e imágenes
ajenas se utilizaron los mismos márgenes de tolerancia y error, obteniéndose los
siguiente resultado:

CORRECTUD EN PORCENTAJE DEL


RECONOCEDOR WAVELET

120
(1)
w 100
3
2
80 rn NUM. MUESlRAS 16
w 60 II NUM. MUESlRAS 8
~ 40
~ 20
o
cP ~<v~ cP
~
~' (j
f)
~
~
~ ~~ ~
Q ~~ '?-Q
o~ ~~
(.i '<....::s

EXPERIMENTOS

Figura 8.1 Resultados obtenidos con el reconocedor de imágenes que emplea


transformada wavelet.

90
Se considera que estos resultados son alentadores, debido a que cada imagen
original está definida por un total de 262 144 pixeles en escala de gris de O a 255.
Debe notarse que se obtuvieron aún mejores resultados con ocho coeficientes de
resultado que con 16.

El porcentaje de reconocimientos correctos para imágenes que ya se


encontraban en el Banco fue de 93%, se obtuvo un 53% de reconocimientos
exitosos para imágenes parecidas a las de Banco (mismas personas con
diferentes gestos) y en el 100% de los casos se detecto cuando la imagen no
formaba parte del Banco. Sin embargo, al aumentar el número de coeficientes
resultantes, disminuyó el porcentaje de eficiencia, obteniéndose 83% de
reconocimientos correctos para imágenes del Banco y sólo 23% para imágenes
con variaciones de las que se encontraban en el Banco, aunque si fue posible
detectar imágenes ajenas al Banco.

8.2 DEL RECONOCEDOR QUE EMPLEA TRANSFORMADA DE FOURIER.

Para el reconocedor que utiliza transformada de Fourier se fueron reduciendo


gradualmente el número de frecuencias a comparar, basado en el valor del
módulo de las componentes reales e imaginarias. Los valores mínimos en los que
aún se reconoce una imagen son 64 y 32 muestras de frecuencia.

CORRECTUD EN PORCENTAJE DEL


RECONOCEDOR FOURIER

120 -= = = = = =
w 100 +.fi;:@.iifi~@.iifi~@.iifi~
2
z
80
l:INUM. MUESTRAS 64
w 60 IINUM. MUESTRAS 32
o
a:::
oQ.
20
o

EXPERIMENTOS

91
Figura 8.2 Resultados obtenidos con el reconocedor de imágenes que emplea
transformada de Fourier

Con este reconocedor se obtuvieron muy buenos resultados para identificar


imágenes que se encontraban en el Banco, 93% empleando 64 muestras de
frecuencia y 83% tomando 32 muestras de frecuencia. Sin embargo no fue de
utilidad cuando las imágenes presentaron variaciones en el fondo o gestos de la
cara, para las 30 caras con variaciones, sólo se pudo identificar una, cuando se
tomaron 64 muestras y dando un margen de error de 5 muestras y para el caso de
32 muestras no fue posible identificar exitosamente ninguna, aunque si mostraba
la imagen mas parecida a la buscada, no correspondió en ningún caso a la
deseada. En este caso también fue posible discriminar las imágenes extrañas al
Banco.

Debe mencionarse que adicional a los resultados obtenidos, también se


observó una tiempo de respuesta mucho mayor al del reconocedor que emplea la
transformada wavelet : en promedio el reconocedor wavelet tarda 8 segundos en
dar resultado, una vez cargada la Base de Imágenes, mientras que el reconocedor
que emplea transformada de Fourier utiliza en promedio 28 segundos. Estos
tiempos se obtuvieron empleando un procesador pentium a 166MHz, con una
memoria RAM de 32 Megabytes. Estos resultados coinciden con la complejidad
algorítmica de cada método, descritas en los capítulos 3 y 4.

Adicional a lo anterior, no fue posible reducir el número de frecuencias


resultantes del reconocedor de Fourier a menos de 32 muestras, debido a que con
una cantidad menor de datos ya no se obtenía ningún resultado exitoso.

92
CAPÍTULO 9

9.0 CONCLUSIONES

Se cumplió el objetivo planteado al inicio del desarrollo de este proyecto,


desarrollándose algoritmos y efectuándose pruebas de reconocimiento de
imágenes en dos dimensiones, empleando en forma paralela la transformada
rápida de Fourier y la transformada discreta Wavelet.

Previo al reconocimiento se aplicó el proceso de detección de bordes de las


imágenes para hacer más eficiente la obtención de características propias de las
mismas. Se integró el Banco de imágenes aplicando secuencialmente la
detección de bordes y la transformada respectiva para cada imagen. Los
reconocedores se probaron con imágenes de bordes, como imágenes a
reconocer. Los efectos del proceso de detección de bordes pueden verse en la
figura 9.1.

Figura 9.1 Imagen original y correspondiente de bordes o contornos.

El proceso de reconocimiento consiste en seleccionar el programa bajo el


método con el que se desee efectuar la prueba y proporcionar la imagen a
reconocer, en este caso una a la que ya se le han detectado los bordes o
contornos. El reconocedor aplica sobre esta imagen la transformada respectiva y
procede a través del clasificador Bayesiano a determinar si la reconoce o no la
reconoce. El resultado se muestra indicando que imagen y cuantas muestras
fueron coincidentes en el caso de que se reconozca la imagen, o bien se indica
que no fue posible reconocer la imagen, debido a que no la encuentra en el
Banco.

93
De los experimentos realizados, con un conjunto de 30 imágenes numéricas de
resolución 512 x 512, con niveles de intensidad en escala de grises de O a 255,
proporcionadas por la Universidad de Manchester [ 6.2], se observó que se obtuvo
un desempeño significativamente mejor empleando la transformada wavelet,
respecto al que empleó la transformada de Fourier.

Para figuras que ya se encontraban en el Banco, la transformada de Fourier,


tuvo una desempeño similar respecto a la wavelet, como se muestra en la figura
9.2; sin embargo, debe hacerse notar que el número de muestras necesarias para
alcanzar este resultado fue el doble con Fourier que con Wavelet.

RECONOCIMIENTO DE IMÁGENES QUE YA SE


ENCONTRABAN EN EL BANCO

92

90
w
2z 88
w 86
u ImDEL BANCO I
o::
O 84
D.

80

FOURIER FOURIER WAVELET WAVELET


CON64 CON32 CON16 CON8
MUESTRAS MUESTRAS MUESTRAS MUESTRAS

NÚM. DE MUESTRAS

Figura 9.2 Cuadro comparativo de desempeño de transformada de Fourier y


transformada Wavelet para reconocer imágenes que ya se encontraban en el
Banco de Imágenes.

En el caso de reconocimiento de imágenes con pequeñas variaciones de


fondo, postura o gestos la transformada wavelet tuvo en promedio un 38% de
casos reconocidos correctamente, respecto al 1% del reconocedor que emplea
transformada de Fourier. Esto se ilustra en la figura 9.3

94
RECONOCIMIENTO DE IMAGENES CON PEQUEÑAS
VARIACIONES

60

50

w 40
2z
w 30 El CON VARIACIONES
u
o:::
o
D. 20

FOURIER FOURIER WAVB.ET WAVB.ET


CON 64 CON 32 CON 16 CON 8
MUESTRAS MUESTRAS MUESTRAS MUESTRAS

NUM. DE MUESTRAS

Figura 9.3 Cuadro comparativo de desempeño de transformada de Fourier y


transformada Wavelet para reconocer imágenes con variaciones, de las que ya se
encontraban en el Banco de Imágenes.

A continuación se muestra una imagen del Banco, con su correspondiente proceso


de detección de bordes y esa imagen con variaciones y su correspondiente
contorno.

Figura 9.4 Imagen jetf-01.pgm con su correspondiente imagen de bordes y una


variación llamada jetf-02.pgm con su correspondiente imagen de bordes.

En todos los casos, ambos reconocedores pudieron determinar qué imágenes


no formaban parte del Banco.
95
Respecto al tiempo de ejecución también tuvo ventaja el reconocedor de
transformada wavelet al ser cuatro veces más rápido que el que emplea
transformada de Fourier, sin considerar en ambos casos la carga inicial del Banco
de información, recordando que se utilizó un procesador pentium a 166
MegaHertz, con 32 Megabytes de memoria RAM y un disco duro de 2 Gigabytes.

Los resultados anteriores son coincidentes respecto a la complejidad


algorítmica de ambos métodos: La transformada rápida de Fourier es de orden
O(nlogn) y la transformada wavelet es de orden O(n).

La transformada de Fourier también empleo 4 veces más de almacenamiento


en memoria para el manejo de arreglos que la transformada wavelet.

Se apreció que el tamaño de muestras resultantes tomadas como base en


cada transformada influyen en forma directa sobre los resultados de
reconocimiento, pero actúan en forma distinta: mientras que wavelet responde
mejor a un tamaño menor de muestras, Fourier requiere un número mayor para
dar resultados. En el caso de la transformada wavelet esto se debe a que siempre
los primeros coeficientes resultantes son los más significativos. En el caso de la
transformada de Fourier se requiere un mayor número de componentes de
frecuencia para lograr el reconocimiento.

Podemos afirmar que para el conjunto de muestras de entrenamiento se


obtuvo un mejor desempeño de la transformada wavelet, respecto a la
transformada de Fourier para reconocer caras humanas.

Se construyeron programas independientes para las diferentes etapas del


proceso de reconocimiento de imágenes y se logró un proceso exitoso.

El reconocedor utiliza un clasificador Bayesiano simple, que con margen de


tolerancia y error determina si una imagen pertenece o no a una clase, que en
este caso representa a una imagen del Banco de imágenes. Esto se decidió para
hacer mayor énfasis en el proceso de obtención de características propias de una
imagen para su reconocimiento, que en el proceso propio de un reconocedor
inteligente.

Las aportaciones principales de este trabajo son las siguientes:

1) Se desarrollaron métodos de aplicación de la transformada discreta wavelet


y de la transformada rápida de Fourier.
2) Se elaboraron herramientas para el reconocimiento de imágenes en dos
dimensiones.
3) Se brindaron cuadros comparativos del desempeño tanto de la
transformada wavelet, como de la transformada rápida de Fourier
4) Se espera que este trabajo contribuya a la difusión y aplicación de la
transformada wavelet.

96
9.0 Trabajo Futuro

Por ser un universo que presenta pequeñas variaciones de una cara a otra,
valdría la pena intentar su aplicación a otros universos como el reconocimiento de
objetos o símbolos.

Los programas creados tienen serias restricciones de memoria, al utilizar un


compilador de C para PC, también sería interesante migrar el desarrollo a un C de
UNIX y trabajar con un servidor.

Otro aspecto interesante podría ser añadir inteligencia al reconocedor, a fin de


que pudiera efectuar clasificación de clases, por ejemplo para distinguir sexo o
raza, o bien formar clases con las variaciones de las imágenes de una misma
persona.

Una ampliación de este trabajo puede ser aplicar las transformadas


directamente, sin obtener de por medio los bordes o contornos de las mismas a fin
de corroborar la mejora de añadir este proceso a la obtención de características
de la imagen.

También podría profundizarse en determinar el tamaño óptimo de muestras


resultantes sobre las que trabaja cada uno de los reconocedores a fin de obtener
mejores resultados en cada uno de ellos.

Por último, sería interesante probar estos métodos con otros modelos de
clasificación como las redes neuronales o los sistemas expertos para mejorar el
desempeño específico de la fase de reconocimiento.

97
REFERENCIAS

[1.1] BUCKEIT JONATHAN & DONOHO DAVID . Universidad de Stanford y


Programa de Datos de Astrofísica de la NASA.
http://playfair.stanford.edu/-wavelet

[1.2] POLIKAR ROBI. The wavelet tutorial. Part 1.


http:/www2. informatik. unijena. de/-mvz/WaveletTutorial_by_Polikar/Wtpart 1. html

[2.1] GONZALEZ C. RAFAEL, WOODS RICHARD E. . Digital lmage Processing.


Ed. Addison-Wesley Publishing. 1992

[2.2] SURDEN RICHARD L, FAIRES J. DOUGLAS. Grupo Editorial


Iberoamericano. 1985

[3.1] SKALKOFF ROBERT. Digital lmage Processing and Computar Vision. John
Wiley &Sons. 1989

[4.1] AMARA GRAPS. " Historical Perspectiva of \Navelets".


http://www.amara.com/lEEEwave/lW_history.html

[4.2] l. DAUBECHIES "Orthonormal bases of compactry supported wavelets"


Coommunication Pure and Appl. Math. Vol. 41. Pags. 909-996. 1988.

[4.3] ROBI POLIKAR. "The wavelet tutorial. Part IV. Multiresolution analysys: the
discreta wavelet transform.

[5.1] K. S. Fu, R.C. González y C.S.G. Lee "Robotic: Control, Sensing, Vision and
lntelligence. Ed. Me graw Hill. 1990.

[5.2] Nacache N.J. y Shingal "SPTA: A proposed algorithm for thining binary
patterns" IEEE Trans. System, Man, Cybern. Vol. SMC-14 num 3, pag 409-418

[6.1] Marval Gómez-Allende Daría. Reconocimiento de Formas y Visión Artificial.


Ed. Addisson Wesley Iberoamericana. 1994.

[6.2] Banco de imágenes Universidad de Manchester:


http://peipa.essex.ac. uk/ftp/ipa/pix/faces/manchester/test-easy/

[6.3] Sid_Ahmed M.A. "lmage Processing Theory, Algorithms & Architectures" Ed.
Me. Graw Hill. 1995

[6.4] K. S. Fu, R.C. González y C.S.G. Lee "Robotic: Control, Sensing, Vision and
lntelligence. Ed. Me graw Hill. 1990

109
[6.5] Stollnitz, De Rose & Salesin. "Wavelet Computar Graphics. A primer, part I"
Universidad de Washington. Mayo, 1995.

110
BIBLIOGRAFÍA

Adelson Edward, Simonelli Eero & Hingorani Rajesh. " Orthogonal pyramid
transforms fer image coding". Proc. SPIE, Visual Communication and lmage
Processing. Cambridge MA. 1987.

Amara Graps. " Historical Perspectiva of Wavelets "


http://www.amara.com/lEEEwave/lW_history.html

Banco de Imágenes de la Universidad de Manchester


http://peipa.essex.ac. uk/ftp/ipa/pix/faces/manchester/teste-easy

Basseville Michele. "Distance Measure fer Signal Processing and Pattern


Recognition". Elsevier Science Publisher. 1989.

Surden Richards L. Faires J. Douglas. "Análisis Numérico". Grupo Editorial


Iberoamericano. 1985.

Burt Peter & Adelson Edward. "The Laplacian Pyramid as a Compact lmage
Cede". IEEE Transaction on Communication. Vol. Com-31 No. 4. Abril, 1983.

Daubechies lngrid " Orthonormal bases of compacty supported wavelets".


Communication Pure and Appl. Math. Vol. 41. Pags. 909-996. 1988

Dean James, James Allen & Yianis Aloimonos. " Artificial lntelligence. Theory and
Practica". Ed. The Benjamin/Cummings Publishing Co. 1995

Edwards Tim. "Discreta Wavelet Transforms:Theory and lmpementation". Stanford


University. Septiembre de 1991.

Gase Earl & Jhonsenbaugh " Pattern recognition image analysis". Ed. Prentice
Hall. 1996.

González C. Rafael, Woods Richard E. "Digital lmage Processing". Ed. Addison-


Wesley Publishing. 1992.

Hei Christopher & Walnut David. " Continuos and Discreta Wavelet Transforms".
SIAM Review. Vol. 31 No. 4. Pags. 628-666. Diciembre, 1989.

K.S. Fu, R.C. González y C.S.G. Lee "Robotic:Control, Sensing, Vision and
lntelligence " Ed. Me. Graw Hill. 1990.

Lindley Craig A. "Practica! lmage Processing in C ". Ed. Jhon Wiley & Son. 1991.

ll l
Mallat Stephane G. " Multifrequency Channel Decomposition of lmages and
Wavelet Models". IEEE Transaction on Acoustic, Speech and Signal Processing.
Vol. 37. No. 12. Diciembre, 1989.

Marval Gómez-Allende Darió "Reconocimiento de Formas y Visión Artificial" Ed.


Addisson Wesley Iberoamericana. 1994.

Martens Jean-Bernard. " Resolution in image coding: a comparison between


different algorithms". SPIE Vol.1249. Human Vision and Electronic lmaging:
Models, Methods, and Applications. 1990.

Nacache N.J. y Shingal "SPTA: A proposed algorithm fer thining binary patterns"
IEEE Trans. System, Man, Cybern. Vol SMC-14, Num. 3, pags. 409-418

Oppenheim Alan & Schafer Ronald "Digital Signal Processing". Ed. Prentice Hall.
1975.

Polikar Rabi. "The wavelet tutorial. Part I y part IV. Multiresolution Analysis: The
discrete wavelet transform"
http://www2.informatik.uni-jena.de/-mrz_/WaveletTutorial_by_Polikar

Pentland Alex, Babak Moghaddan & Tadd Stamer. "View-Based and Modular
Eigenspaces fer Face Recognition". M.I.T. Media Laboratory Perceptual
Computing Section Technical Report No. 245.

Phillips Dwayne. "lmage Processing in C". Ed. Prentice Hall. 1994.

Sedgewick Robert."Algorithms in C++". Ed. Addison Wesley. 1992

Shirohey Saad Ahmed." Human Face Segmentation and ldentification". Computer


Vision Laboratory. Center of Automatic Research. University of Maryland

Sid_Ahmed M.A. "lmage Processing. Theory, Algorithms & Architectures". Ed. Me


Graw Hill. 1995.

Skalkoff Robert. "Digital lmage Processing and Computar Vision". Ed. John &
Sons. 1989.

Strang Gilbert. " Wavelet Transforms versus Fourier Transforms". Bulletin(New


Series) of the American Mathematical Society. Vol. 28, Num. 2. Abril 1993. Pags.
288-305

Stearns Samuel & David Ruth " Signal Processing Algorithms". Ed. Prentice Hall
Signal Processing Series. 1988.

Stollinitz Eric, De Rose Tony & Salesin David." Wavelet for Computer Graphics: A
Primer: Part 1". Universidad de Washington. IEEE. Mayo. 1995.
112
Wickerhauser Mladen Victor. " Lecturas on Wavelet Packet Algorithms".
Departamento de Matemáticas. Universidad de Washingtong. Noviembre 18.
1991.

113

También podría gustarte