INSTITUTO TECNOLÓGICO de LEÓN “ANALISIS DE CARACTERISTICAS PRINCIPALES PARA EL RECONOCIMIENTO DE ROSTROS EN IMÁGENES BIDIMENSIONALES POR COMPUTADORA”
TESIS Que para obtener el grado de: MAESTRO EN CIENCIAS EN CIENCIAS COMPUTACIONALES Presenta: Carlos Anguiano Guerrero Con la asesoría de: M.C. Martha Alicia Rocha Sánchez
León, Guanajuato
Junio 2006
Agradecimientos Agradezco a Jesucristo por indicarme verdades nuevas y darme la voluntad para conocerlas. A mis padres, Carlos y Luz Edith por su infinito apoyo. A mis hermanos Jesús, Francisco y Deborah por estar Siempre conmigo. A mi asesora Martha Alicia, mis revisores y amigos que conspiraron para que este trabajo culminara. Y con placer presento esta tesis al Instituto Tecnológico de león. He visto un rostro con mil semblantes, y un rostro que no era sino un solo semblante, como si estuviera en un molde. He visto un rostro cuyo resplandor no ocultaba su fealdad interior, y un rostro cuyo resplandor escondía una belleza espléndida. He visto un rostro viejo con arrugas inexpresivas, y un rostro terso en el que todas las cosas habían dejado huella. Conozco los rostros porque miro a través de la tela que mis propios ojos tejen, y busco la realidad que hay debajo.
Jalil Gibrán - Rostros
vi
Contenido Síntesis
1
Introducción 1.1 Antecedentes del reconocimiento de rostros 1.2 Definición del problema 1.3 Objetivo general de la investigación 1.4 Objetivos específicos de la investigación 1.5 Hipótesis de la tesis 1.6 Justificación del proyecto 1.7 Producto final y delimitación de la investigación 1.8 Historia del reconocimiento de rostros 1.9 Organización del documento
2 3 10 10 11 11 12 12 13 15
Capítulo dos. Fundamentos de la visión computacional 2.1 La Visión 2.2 La visión artificial 2.3 Diferencias entre la visión humana y la visión artificial 2.4 Procesamiento digital de imágenes 2.4.1 Imágenes digitales 2.4.1.1 Modelos de colores de imágenes digitales 2.4.2 Relación entre matrices, vectores e imágenes en lenguajes de programación 2.4.3 Formatos de imágenes 2.4.3.1 Formato BMP 2.4.3.2 Formato GIF 2.4.3.3 Formato JPEG 2.4.3.4 Formato TIFF 2.4.4 Histograma de una imagen 2.4.5 Distorsión de imágenes digitales 2.4.5.1 Teoría de filtros 2.5 Mejoramiento de imágenes para la identificación de rostros 2.5.1 Contracción del histograma 2.5.2 Igualación del histograma 2.5.3 Operador logarítmico 2.5.4 Operador exponencial 2.6 Segmentación de imágenes 2.7 Detección de objetos 2.7.1 Transformada de Hough 2.8 Aplicación de la visión computacional 2.8.1 Redes Neuronales Artificiales (RNA)
17 18 19 20 21 22 24 26 33 34 34 34 35 35 36 36 40 41 42 48 51 52 56 56 57 59
Capítulo tres. Proceso de identificación de rostros en imágenes bidimensionales 3.1 Sistema completo para el reconocimiento de rostros
64 65
vii 3.2 Detección de rostros 3.3 Descripción general del sistema para la identificación de rostros 3.4 Algoritmo para el reconocimiento de rostros 3.5 Metodología en el reconocimiento de rostros 3.6 Definición de reglas para el reconocimiento 3.7 Mejoras al proceso de identificación
66 69 72 74 85 88
Capítulo cuatro. Resultados y Conclusiones 4.1 Microsoft Visual Basic 4.2 FaceRec.exe. Sistema de Reconocimiento de Rostros 4.3 Imágenes de rostros ORL 4.4 Pruebas de identificación de rostros 4.5 Comparación de resultados con otros estudios
92 93 94 100 111 128
Conclusiones Trabajos futuros
129 131
Bibliografía y referencias
133
Apéndice A. Breve repaso de álgebra lineal A.1 Definiciones generales A.2 Espacio de vectores A.3 Vectores linealmente independientes A.4 Norma de vectores y propiedades A.5 Aspectos importantes de la ortogonalidad A.6 Procesos estocásticos A.6.1 Modelo de Leslie A.7 Cálculo de los autovectores y autovalores de la matriz A.7.1 Cálculo de los autovectores y autovalores de una matriz de n x n A.7.2 Método de potencias A.8 Diagonalización ortogonal A.8 Proyecciones ortogonales A.9 Proceso de Gram-Schmidt A.10 Ortonormalización de Householder A.11 Resultados de los procesos de Householder, Gram Schmidt y la funciones Matlab orth, qr, inv y eig
136 137 149 150 152 155 156 163 167 170 171 181 182 185 190 194
Listado de figuras, ecuaciones, ejemplos, tablas y códigos de programas Listado de figuras Listado de ecuaciones Listado de ejemplos Listado de tablas Listado de código de programas
197 198 203 207 210 211
Glosario de acrónimos
212
Síntesis Se presenta una tesis para la identificación de rostros humanos por imágenes bidimensionales y se describe un sistema de reconocimiento en un tiempo que no es real. La identificación se realiza comparando las características principales del rostro con individuos conocidos. El enfoque trata el reconocimiento en imágenes con caras localizadas utilizando el hecho que son imágenes de naturaleza similar, por ser rostros claramente detectados. Las imágenes de los rostros se proyectan a un espacio conocido como “Espacio de Rostros”. El conjunto de imágenes se codifican según por las variaciones de los rostros conocidos. El Espacio de Rostros son los autovectores del conjunto de imágenes que no necesariamente corresponden a rasgos aislados como los ojos, boca, nariz, etc. El sistema propuesto provee la capacidad de aprender y reconocer nuevas imágenes de rostros de naturaleza similar a un conjunto de imágenes que forman un espacio de autovectores conocidos como Espacio de Rostros con el cual el sistema puede identificar el individuo de manera no supervisada.
Capítulo uno Introducción
La conversación enriquece la comprensión, pero la soledad es la escuela del genio. -Edward Gibson
3
1.1 Antecedentes del reconocimiento de rostros En la imagen de un rostro de una persona están presentes muchas características como por ejemplo: una cara, frente, orejas, tipo de calvicie o cabellera, pilosidad facial, (cejas, barba, bigote, patillas, etc.) ojos, nariz, labios, boca, arrugas o líneas faciales, tatuajes, acné, verrugas, lunares, pecas, cicatrices, papada, barbilla partida u hoyo en el mentón, maquillaje, diferentes rios como lentes, sombrero, aretes, etcétera.
FG 1-1 Visión lateral de los rasgos externos de la cabeza. (The visual dictionary of the human body. Dorling Kindersley Limited. UK 1991)
4
FG 1-2 Visión frontal de los elementos exteriores de la cabeza. (The visual dictionary of the human body. Dorling Kindersley Limited. UK 1991)
La presencia de algunas características y sus propiedades (forma, tamaño, grosor, posición, distancia entre los mismos, etc.) nos puede intuitivamente indicar genero de la persona, su edad, su raza, defectos congénitos, estado de animo, etcétera.
5
FG 1-3 Músculos de la cabeza y del cuello. (The visual dictionary of the human body. Dorling Kindersley Limited. UK 1991)
6
La estructura que forma el rostro humano es tan compleja como fascinante (FG 1-3). Es el principal medio de por lo que las personas se expresan. Los huesos de la cabeza están unidos en forma rígida en las suturas excepto en la articulación temporomaxilar (temporomandibular) que es de tipo bisagra. Los huesos craneanos incluyen los huesos planos que contribuyen a formar la bóveda que protege al cerebro. Los huesos angulares e irregulares, forman la estructura de la cara. La estructura de la nariz es, en su mayor parte, cartilaginosa. En el hombre, hay tres clases de músculos, los músculos esqueléticos (también llamados como músculo voluntario porque puede ser controlado conscientemente), los músculos lisos (también llamados involuntarios ya que no está controlados por la voluntad) y el tejido especializado del músculo cardiaco. El ser humano tiene más de 600 músculos esqueléticos, que difieren en tamaño y forma, dependiendo del papel que cumplan. Los músculos esqueléticos están unidos directa o indirectamente (a través de tendones) a los huesos y trabajan en pares opuestos (un músculo en el par se contrae mientras el otro se relaja) para realizar movimientos diversos como gesticular una expresión facial [KINDERSLEY 1991]. Los músculos de la expresión facial (véase FG 1-3) generalmente se inician en hueso o cartílago y se insertan en la fascia superficial o en uno de los esfínteres musculares de la órbita (orbicular de los parpados) o de la boca (orbiculador de la boca). Estos son músculos muy finos y delicados sobre los cuales el sistema nervioso tiene un control muy preciso. Una simple expresión es el resultado del movimiento de muchos músculos.
a)
d)
b)
c)
e)
FG 1-4 Principales músculos de la expresión facial (FG 1-3). Corrugador superciliar a). Zigomático mayor b). Orbicular de los labios c) Frontal d). Depresor angular de la boca e). (The visual dictionary of the human body. Dorling Kindersley Limited. UK 1991)
7
La boca es la estructura más móvil de la cara, de ahí que la mayoría de los músculos faciales se inserten en el esfínter de ésta. Estos músculos están inervados en su mayoría por el nervio facial; el daño que produce que los músculos del lado afectado se tornen flácidos y la piel se “cuelgue”, especialmente alrededor de los ojos y la boca, como si estuviera jalado hacia el lado contrario. Los músculos de la masticación se insertan en la mandíbula. La articulación temporomandibular tipo bisagra permite movimientos de elevación y depresión de la mandíbula, así como una ligera protrusión y movimientos laterales. Sólo el pterigoideo externo (va desde la extremidad inferior del temporal hasta la parte interna del cóndilo de la mandíbula) o lateral tiene una depresora de la mandíbula, ya que es la gravedad la que tiene un papel más importante en este movimiento. Se requiere más energía para mantener la boca cerrada y eso es natural porque tiene una base anatómica. La importancia de poder reconocer a una persona y reconocerse a sí mismo no es necesario aclararla. El Reconocer a una persona a pesar de cómo las características presentes en el individuo cambian; a medida que la persona envejece, los cuidados en el aspecto que tiene, es una tarea relativamente sencilla para los seres humanos, gracias a los millones de neuronas cerebrales que reciben la información de millones de células nerviosas de la retina. La visión es un sentido muy apreciado, a través de él es posible obtener gran cantidad de información, para fundamentar mejor las decisiones tomadas. Las personas pueden determinar la relación con los objetos, su forma, tamaño, color, textura, y demás características, sin que necesariamente se tenga un o físico. El ojo que con sus millones de células fotorreceptoras y neuronas que realizan millones de operaciones por segundo, para obtener una imagen fidedigna al cerebro, en donde se hacen juicios racionales de aquello. Este proceso se hace con relativa eficiencia y sencillez. Sin embargo, no siempre es sencillo, como en el caso de los gemelos, o cuando la persona se presenta con cambios drásticos, como maquillaje, un disfraz, cirugía plástica o alguna enfermedad o los efectos de algún accidente grave.
FG 1-5 Gemelos separados al nacer y se reencontraron a los 31 años, con la sorpresa que trabajaban en lo mismo y tenían los mismos gustos. (Enciclopedia Microsoft® Encarta® 2003)
8
Inclusive si el observador se encuentra en un entorno social distinto al acostumbrado, como lo sería para un mexicano al visitar China serle difícil distinguir a los chinos, por serle tan poco familiares tenderá a generalizar a las personas. Cuando esto ocurre, el inexperto observador, debe esforzarse encontrar rasgos más distintivos, como la estatura, la complexión, voz y aún hasta cualidades de personalidad. También la percepción que se tiene de una persona es influida por características extrínsecas. Entre las que se puede mencionar la contaminación en el aire, iluminación, distancia relativa en que se observa a la persona, la orientación (perfil, frente, ladeado, de espalda, etc.) por decir algunas. No debe de omitir otros factores muy importantes como la calidad de visión del observador, como la miopía, astigmatismo, hemeralopía, etc. Así como problemas psicopatologicos, como los transtornos somatoformes y los transtornos disociativos, etc. donde el individuo físicamente puede ver pero no puede reconocer objetos. En efecto, el ser humano además de ver requiere observar. Es decir que la información que recibe a través sus sentidos tenga una congruencia con lo que entiende del mundo. Unas imágenes como las siguientes no son ajenas a controversias. Teniendo para cada persona significados diferentes. Aunque todas las personas pudieran ver lo mismo, pero observarían cosas muy diferentes. Unas personas observarían una mujer galante de perfil, otros una anciana encorvada (FG 1-6a). También en (FG 1-6b) muchos pensarían que el lado a es menor al lado b, cuando en realidad tienen el mismo tamaño.
a)
b)
FG 1-6 Diferencias de percepción sobre una misma imagen. (Enciclopedia Microsoft® Encarta® 2003)
Una misma realidad, como el rostro de una persona puede ser percibida de diferentes maneras como el mundo es concebido según al conjunto de experiencias útiles. Por lo que el simple proceso de adquirir una imagen, para una computadora es su procesamiento. Sin embargo, la inteligencia involucrada en la misma imagen se llama en términos computacionales como visión computacional. Pero reconocer a una persona a partir de una fotografía es más difícil a las personas, se debe considerar el tipo de imagen, si la imagen posee “ruido”, como problemas de
9
iluminación o si la imagen es borrosa, la posición del rostro dentro de la imagen, orientación, la escala, es decir, la distancia del rostro al objetivo de la cámara y demás factores relevantes. Como una fotografía solo representa al individuo en un momento, su reconocimiento no es sencillo si lo que el observador recuerda es muy diferente a lo que se esta observando. Si la tarea se debe de realizar por un ordenador el problema se complica más. Las capacidades de los ordenadores actuales son mucho más limitadas a las del cerebro humano. Los recursos son mucho menores y el aprendizaje requiere de complejos algoritmos. Sin embargo, las computadoras actuales son eficientes en procesos repetitivos y manipulación de información. Entonces el interés en agregar a los sistemas computacionales convencionales el sentido de visión, consiste en aumentar la potencialidad de éstos, así como apegarlos mas en actividades tan comunes que son para los humanos como el reconocimiento de rostros dentro de los limites que el silicón ofrece. Con la amplia disponibilidad de equipo computacional, técnicas de procesamiento digital de imágenes, inteligencia artificial, visión robótica, el estudio de nuevos algoritmos sobre la clasificación de patrones, son los esfuerzos encaminados a la visión artificial. Las redes neuronales artificiales o sistemas conexionistas son un conjunto de técnicas matemáticas inspiradas en la funcionalidad de las neuronas biológicas, aplicadas para el reconocimiento de patrones, en donde se modelan las conexiones y relaciones entre el conjunto de datos obtenidos, para efectuar predicciones en sistemas tan complejos, entre ellos, claro, la visión computacional. Es un reto computacional implementar un sistema sobre algo que los seres humanos es sencillo de hacer, como es el reconocerse a sí mismo, e identificarse como diferentes de otros, dentro de los limites tecnológicos actuales. Lo importante es implementar un sistema de cómputo que permita extraer los rasgos principales en un rostro y según ésta información, analizarla y agruparla con otras imágenes similares de naturaleza similar, y tener una certidumbre para considerar estas imágenes como de una misma persona. El rostro es una de las partes más importante en el ser humano, es el factor principal de influencia en las interacciones sociales. A éste le son universalmente asociadas emociones que se reflejan en las expresiones faciales, además de constituir el elemento fundamental para la identidad de las personas. Las necesidades actuales en materia de seguridad, registro de personas han forzado la implementación de sistemas de reconocimiento de rostros. En esta tesis se busca exponer al lector un sistema de reconocimiento de rostros utilizando la herramienta matemática del Análisis de Componentes Principales (Transformada de Hotelling) [GONZALO 2002]. Esta técnica es ampliamente explicada en el capítulo tres. El capítulo dos y el apéndice de esta tesis es para apoyar la explicación del capítulo tres. En el capítulo dos, se busca ofrecer un entendimiento general del procesamiento de imágenes digitales y la visión
10
computacional. El apéndice, es para que el lector tenga los conocimientos necesarios para entender los conceptos matemáticos mencionados en el capítulo tres. Este capítulo, es una introducción general de la tesis; se definen objetivos, hipótesis, justificación del trabajo, ámbito de la investigación y cómo esta organizado el documento. Se ofrece un compendio de los esfuerzos de matemáticos en el reconocimiento de rostros por computadora y el impacto que ha tenido en esta tesis.
1.2 Definición del problema La tarea de reconocimiento de rostros se puede encontrar en lugares donde se necesite tener un restringido a una cierta área, o en sistemas de identificación de personas como los que son utilizados por la policía. De manera general, los sistemas de reconocimiento de rostros se pueden clasificar en dos categorías: 1. Cuando se quiere encontrar la identidad de una persona utilizando una base de datos. Este tipo de sistemas no es necesario hacer un reconocimiento en tiempo real. 2. Cuando se quiere identificar a una persona en tiempo real (por ejemplo, en un sistema de monitoreo de seguridad), o cuando se desea permitir el únicamente a un grupo de personas. En este trabajo de investigación tratará con los sistemas de la primera categoría, es decir, los sistemas que no se ejecutan en tiempo real. La imagen bidimensional de un rostro ya detectado permitirá establecer un grado de semejanza con otras imágenes de naturaleza similar para identificar a la persona con una incertidumbre mínima.
1.3 Objetivo general de la investigación El objetivo general de la investigación es desarrollar un sistema experimental que use la técnica como el Análisis de Componentes Principales que permitan primeramente, describir las características principales del rostro, y después identificarlos, para un sistema de clasificación de personas. El reconocimiento de personas a través de imágenes bidimensionales tendrá un mínimo error (un 5% de tasa de error máxima).
11
1.4 Objetivos específicos de la investigación Un sistema de reconocimiento de rostros realizados por un ordenador debe considerar los siguientes aspectos. 1. La Adquisición de la imagen: Que el ordenador pueda obtener una imagen a través de diversos medios como una cámara digital ó escáner. Que la imagen tomada sea de un rostro claramente detectado. 2. Un preprocesamiento de la imagen: Dado que las imágenes de los rostros regularmente son tomadas en momentos diferentes, esto trae como consecuencia que las distintas imágenes de una misma persona tengan variaciones en cuanto a la iluminación, la orientación, y el tamaño del rostro. Por tal motivo, es necesario que la imagen sea preprocesada antes de que pueda ser utilizada en la aplicación de algún método de filtrado para mejorar la calidad de la imagen, métodos como la ecualización del histograma son los más recomendados. 3. La extracción de características: La extracción de características es una de las etapas de la cual depende en gran medida el buen desempeño del sistema de reconocimiento de rostros. El objetivo principal de esta etapa es extraer la información más discriminante de un individuo, eliminando aquella que resulte irrelevante para el reconocimiento. Para esto se requiere una profunda comprensión de la herramienta matemática del Análisis de Componentes Principales. 4. Un entrenamiento: El entrenamiento básicamente consiste en utilizar alguna forma de aprendizaje que le permita al sistema “aprender” los rostros que constituyen el Conjunto de Entrenamiento. 5. Un reconocimiento: El alimentar al sistema con imágenes de personas diferentes a las utilizadas durante el entrenamiento, esperando obtener como resultado, alguna forma de codificación que permita identificar de que persona se trata. Se alcanzaran los objetivos mencionados dentro de sus limites existentes como el hardware, (poder de calculo del procesador, memoria, etc.) las capacidades algorítmicas y de la plataforma de desarrollo.
1.5 Hipótesis de la tesis Con el desarrollo de un algoritmo empleando el modelo de Análisis de Componentes Principales será posible en su aplicación discriminar la imagen del rostro de un conjunto, con un error menor del 5% de reconocimiento. Las imágenes serán de rostros claramente detectados.
12
1.6 Justificación del proyecto La importancia del presente trabajo de tesis radica en la aplicación tecnológica de los conocimientos existentes de la visión computacional para el reconocimiento de rostros. A través de un proceso algoritmo eficiente los sistemas computacionales actuales podrán identificar el rostro de los interesados y ofrecer la información pertinente, previamente almacenada; teniéndose así sistemas inteligentes para el apoyo de muchas de actividades sociales, como son los sistemas de control de , sistemas base de datos que contenga información sobre individuos, y demás sistemas en donde requiera una interfaz hombre – máquina natural y eficiente [TURK Y PENTLAND 1991].
1.7 Producto final y delimitación de la investigación Un sistema completo de reconocimiento de rostros involucra varias etapas en donde cada una de ella representa diferentes grados de complejidad y requieran ser tratadas con las mejores técnicas matemáticas y herramientas que ofrecen los sistemas de cómputo. En la primera etapa radica la captura de la imagen. En esta etapa los medios son tan variados que van desde la tomografía acústica, técnica de representación de imágenes por el sonido reflejado hasta la imagen de visión nocturna. Las imágenes pueden ser de dos ó más dimensiones (holograma ó imagen de resonancia magnética). Dependiendo de la aplicación que se tenga pensando hacer se escogerá el medio. En esta tesis se tratará del reconocimiento de rostros con lo más convencional. Una imagen digital de dos dimensiones de la persona. Para simplificar el proceso se han pensado en imágenes que se indique solo la iluminación (imagen en tono de grises). Las imágenes que se analizarán tendrán una naturaleza similar. Un sistema de reconocimiento de rostros necesitará un proceso de detección y localización (encuadre) si en la imagen está presente más de una persona. El sistema de reconocimiento que se desarrolle tratará de imágenes que no requieran de estas tareas, se tomaran las imágenes como están, aplicándoles solo el filtro de ecualización del histograma para mejorar el contraste. Pero aún si la imagen no necesita de un proceso de detección y encuadre de rostros, la carga de cómputo crece a medida que las imágenes son de mayores dimensiones. No es la misma carga de cómputo identificar a una persona en una fotografía de 20 cm. × 15 cm. que en una de un tamaño de 2.5 cm. × 3.0 cm. el sistema de reconocimiento que se desarrolle tenderá hacia estas ultimas, con dimensiones de 2.42 cm. × 2.95 cm. Ahora, por el tiempo en que se espera que el sistema de una resolución si una persona es o no es miembro de un grupo, se podrá definir la herramienta matemática, el equipo de cómputo necesario y lenguaje de programación. Es muy diferente un sistema reconocimiento de rostros en tiempo real como un video al sistema de reconocimiento en
13
una imagen. El factor del tiempo de respuesta esperada no es prioritario, un sistema de cómputo como una IBM PC Pentium de 200 Mhz con 64 Megabytes de memoria será mas que suficiente, así como un lenguaje de programación como Microsoft Visual Basic permitirá crear el sistema. Lo importante es el sistema de reconocimiento en sí y exponer el conocimiento que condujo al desarrollo del mismo, para que el lector lo implemente en otros equipos y plataformas de desarrollo para que compare los resultados obtenidos con lo de esta tesis. Existen diferentes herramientas matemáticas para reconocer rostros. Para un sistema reconocimiento de imágenes bidimensionales de rostros localizados se empleará herramienta matemática del Análisis de Componentes Principales (Transformada Hotelling) [TURK y PENTLAND 1991]. El método, la implementación y resultados el reconocimiento de rostros con esta herramienta son mostrados en esta tesis.
de la de en
1.8 Historia del reconocimiento de rostros No obstante el hecho de que existen métodos de identificación de personas más precisos (como las huellas digitales, o el iris) el reconocimiento de rostros permanece como el foco principal de atención en investigaciones porque su naturaleza no invasiva y porque el principal método que las personas usan para identificarse es su cara. En los albores de la visión por computadora y el procesamiento de imágenes, ha habido una gran cantidad de trabajo dedicado a la detección de rostros humanos por medio de computadora. En la actualidad hay muchos trabajos dedicados a la detección de rostros. Un simple detector de rostros como uno que provee segmentación de color puede de hecho distinguir rostros de imágenes que no son de rostros, pero sería incapaz de distinguir un rostro de otro. El buscar las características consistentes entre modelos de rostros puede ser considerado como un método potencial para la identificación de rostros. Pero es posible que el primer sistema más conocido de reconocimiento de rostros sea de Kohonen, [KOHONEN 1982] quien demostró que una red neuronal sencilla podría realizar reconocimiento de rostros de imágenes alineadas y normalizadas. El tipo de red que empleó, computó los rasgos buscando la proximidad los autovectores de la matriz de autocorrelación de imágenes de rostros; estos autovectores son ahora conocidos como “autocaras” (eigenfaces en inglés). El sistema Kohonen no tuvo un éxito en la practica, sin embargo, por la necesidad para precisar la normalización y alineación, muchos investigadores trataron los esquemas de reconocimiento de rostros basándose en bordes, distancias entre los rasgos y otras redes neuronales. Mientras muchos sistemas fueron exitosos en bases de datos pequeñas de imágenes alineadas, ningún sistema fue exitoso en problemas mas realistas, en grandes bases de datos donde la localización y escala de un rostro es desconocida.
14
Kirby y Sirovich [KIRBY y SIROVICH 1990] introdujeron una manipulación algebraica que hicieron sencillo directamente calcular las autocaras. Turk y Pentland [TURK y PENTLAND 1991] demostraron que el error residual en la codificación usando autocaras, podría ser usadas tanto para detectar rostros como agrupar imágenes y determinar la localización precisa de una imagen. Entonces se demostró que al incorporar este método para detectar y localizar rostros con el método de reconocimiento de autocaras, se podrían lograr un reconocimiento en un tiempo real de rostros con un mínimo de requerimientos. Esta demostración, técnicas de reconocimiento de patrones en tiempo real pudieron combinarse para crear sistemas útiles, esto fue la chispa que inició la explosión del interés en el tópico de reconocimiento de rostros. Hace casi una década que el Análisis de Componentes Principales (A) se ha convertido en una herramienta popular para encontrar la coincidencia entre imágenes. En esencia el A busca encontrar los Componentes Principales, también conocidos como Vectores Característicos. Por lo tanto, desde que se publicó el trabajo de Turk y Pentland sobre autocaras ha sido muy popular y fácilmente implementado como esquema de identificación. En 1993 la Agencia para Proyectos de Investigación Avanzados para la Defensa de los EE.UU. DARPA (Defense Advanced Research Projects Agency) y laboratorios de investigación del ejercito norteamericano establecieron el proyecto FERET. Investigaciones conjuntas entre universidades y el ejército busca tener tasas de rendimiento altas con grandes bases de datos. [PHILLIPS 1993 et al]. En 1997 proyecto FERET empieza a dar resultados. Surgen algoritmos de alto rendimiento y que soportan grandes conjuntos de entrenamiento (al menos 1196 personas) en condiciones variables. Los del proyecto FERET, la Universidad del Sur de California (USC), [WISKOTT 1997 et al] la Universidad de Maryland (UMD) [ETEMAD Y CHELLAPPA 1997] y el Laboratorio de Multimedios del Instituto Tecnológico de Massachussets (MIT) [MOGHADDAM y PENTLAND 1997] y la Universidad de Rockefeller [PENEY y ATICK 1996] ofrecen soluciones. Los algoritmos del MIT, UMD y la Universidad de Rockefeller usan una versión de la transformada de autocaras con un modelo descriminativo. El algoritmo de UMD usa una discriminación lineal mientras el sistema de MIT usa discriminantes cuadraticas. Mientras la Universidad de Rockefeller usaron un descriminante de una rede neuronal. El sistema de USC usa la transformada de Gabor. Todos los algoritmos desarrollados en el proyecto FERET funcionaron con un desempeño mayor al 95% en bases de 200 personas. Para bases de datos grandes (no menores de 1166 imágenes en la base de datos) los desempeños fueron similares. Con imágenes tomadas con diferentes condiciones de luz y cámaras alcanzaron los algoritmos un desempeño cercano al 80%. Y para reconocimiento de imágenes de personas tomadas un año después los rendimientos de los algoritmos estuvieron alrededor del 50%.
15
Con los atentados del 11 de septiembre del 2001, el proyecto FERET cobra importancia y se le asignan recursos adicionales, permitiendo la operación del sistema de clasificación de inmigrantes en el 2003. Todavía investigaciones adicionales en reconocimiento de rostros están siendo conducidas con nuevos informes e ideas surgen constantemente. Por lo tanto, el reconocimiento de rostros está y seguirá siendo investigado con un gran potencial en el futuro.
1.9 Organización del documento En esta tesis se busca explicar como un sistema de reconocimiento de rostros puede operar usando la técnica matemática de Análisis de Componentes Principales ó eigenfaces [TURK y PENTLAND 1991]. En el capítulo dos, Visión Computacional, se empezará una discusión de lo que es el procesamiento digital de imágenes y sus aplicaciones para que el lector ubique el reconocimiento de rostros dentro del campo de las ciencias computacionales. En el capítulo se describirá la manipulación de imágenes con objeto de producir imágenes que permita mejor extraer la información deseada. Se explicará lo que es la visión computacional y el lector podrá entender como se vinculan las herramientas matemáticas empleadas en la metodología de desarrollo con las ciencias computacionales. Por ser un tema tan extenso se tratarán solo aquellos filtros que sean útiles para el Análisis de Componentes Principales. El capítulo tres, Proceso de Identificación de Rostros en Imágenes Bidimensionales, es el capítulo más importante de la tesis exponiendo la metodología de desarrollo. El capítulo expone en forma detallada el método para la identificación de una persona entre un conjunto de imágenes de rostros. Se menciona en detalle el Análisis de Componentes Principales. [TURK y PENTLAND 1991] y cómo se aplica en el reconocimiento de rostros por ejemplos. Exhaustivamente se explicará la metodología de desarrollo, pero para no perder la ilación del tema se ha agregado un apéndice. El propósito de éste apéndice es dar un contexto general, que sea suficiente para el entendimiento de los términos de álgebra lineal que se mencionan principalmente en el capítulo dos. Términos como vector, matriz, autovector, ortonormalización, distancia euclidiana, etc. Se explican en detalle. Si el lector desconoce estos conceptos se recomienda leer éste apéndice. Los resultados del proceso de identificación fueron obtenidos por el Sistema de Reconocimiento de Rostros codificado para la validación de la hipótesis son mostrados en el último capítulo.
16
Para entender mejor esta tesis, las figuras ó imágenes, la aplicación de las ecuaciones, el código de programación, tablas y las ecuaciones se enumeran de la siguiente manera:
Con FG se esta indicando que el elemento es una imagen o figura. Con EJ se es diciendo que el elemento es un ejemplo de la aplicación de alguna ecuación. Esto es para mostrar mejor cómo opera una fórmula o una herramienta matemática en un caso típico. Con CD es para enumerar el código de programas muestra. Con TB es para enumerar tablas de datos. Con EC es para listar las ecuaciones.
Cada figura, ejemplo y ecuación esta enumerada en orden de capítulo y número consecutivo en el capítulo que lo contiene. Al final de la tesis esta un listado de todos estos elementos. En el caso de las figuras se menciona la fuente de donde procede, en caso de que se omite la fuente, se trata de una imagen tomada o la figura fue realizada por el autor de la tesis. Los temas se enumeran en capítulos y número de tema. Cuando es un subtema o una parte de un tema general se señalara con una enumeración agregada.
Capítulo dos Fundamentos de la visión computacional
Las ideas matemáticas tienen su origen en el mundo empírico... Sin embargo, una vez han sido concebidas, esas ideas adquieren una peculiar vida propia y son más comparables con el ámbito creativo, gobernado casi totalmente por motivaciones estéticas... A medida que una disciplina matemática se difunde, o después de mucha endogamia “abstracta”, corre peligro de degenerar... Cuando se alcanza ese estadio, me parece que no cabe otro remedio que regresar a las fuentes en busca de regeneración, es decir, volver a inyectar ideas más o menos directamente empíricas. -John Von Newman
18
Capitulo 2. Fundamentos de la visión computacional En este capitulo se explicará lo que es la visión computacional, empezando de lo que se entiende por visión. De la visión computacional se subdividirá el tema en dos partes lo que es el procesamiento digital de imágenes y la aplicación de la visión computacional, es decir la interpretación de las mismas imágenes. Del procesamiento digital de imágenes, se explicará que se entiende por una imagen en términos computacionales. Para un mejor entendimiento de los capítulos subsecuentes de esta tesis, se establecerá un puente entre el álgebra lineal y las imágenes y su manipulación de estas para obtener la información deseada, como algoritmos para aumentar la calidad de una imagen, sin degradar los detalles presentes para facilitar la identificación. De la aplicación de la visión computacional, que es un tema más extenso, se ofrecerá una explicación general.
2.1 La Visión El ojo es el órgano de la visión en los seres humanos y en los animales. Los ojos de las diferentes especies varían desde las estructuras más simples, capaces de diferenciar sólo entre la luz y la oscuridad, hasta los órganos complejos que presentan los seres humanos y otros mamíferos, que pueden distinguir variaciones muy pequeñas de forma, color, luminosidad y distancia. En realidad, el órgano que efectúa el proceso de la visión es el cerebro; la función del ojo es traducir las vibraciones electromagnéticas de la luz en un determinado tipo de impulsos nerviosos que se transmiten al cerebro. La visión es la facultad por la cual a través del ojo se percibe el mundo exterior. Muchos organismos simples tienen receptores luminosos capaces de reaccionar ante determinados movimientos y sombras, pero la verdadera visión supone la formación de imágenes en el cerebro. Los ojos de los distintos organismos proporcionan imágenes de diversa claridad. La visión está relacionada en especial con la percepción del color, la forma, la distancia y las imágenes en tres dimensiones. En primer lugar, las ondas luminosas inciden sobre la retina del ojo, pero si estas ondas son superiores o inferiores a determinados límites no producen impresión visual. El color depende, en parte, de la longitud o longitudes de onda de las ondas luminosas incidentes, que pueden ser simples o compuestas, y en parte del estado del propio ojo, como ocurre en el daltonismo. La luminosidad aparente de un objeto depende de la amplitud de las ondas luminosas que pasan de él al ojo, y las pequeñas diferencias de luminosidad perceptibles siempre guardan una relación casi constante con la intensidad total del objeto iluminado. Los seres humanos y otros animales son capaces de enfocar los dos ojos sobre un objeto, lo que permite una visión estereoscópica, fundamental para percibir la profundidad. El principio de la visión estereoscópica puede describirse como un proceso visual relacionado con el uso de un estereoscopio, el cual muestra una imagen desde dos ángulos ligeramente diferentes, que los ojos funden en una imagen tridimensional única.
19
La visión en los seres humanos es estereoscópica porque la información recabada se basa en la determinación de la diferencia de distancia de las proyecciones (disparidad) de un punto en un objeto bajo medición en el plano focal en que los dos ojos calculan la distancia d&i (FG 2-1) con respecto al plano de observación SS. El problema siempre será la localización de los puntos proyectados en cada una de los ojos (puntos conjugados) correspondientes a un punto en el espacio tridimensional. Para resolver este problema se requiere que el cerebro realice una correlación que a las personas les resulta muy natural.
FG 2-1 Visión estereoscópica. (Enciclopedia Microsoft® Encarta® 2003)
La perspectiva lineal es el sistema de representación que más se asemeja a la visión humana. La perspectiva, es un método gráfico capaz de representar el espacio tridimensional sobre una superficie plana. Existe una gran cantidad de tipologías perspectivas, derivadas de los distintos sistemas proyectivos que permite la geometría. Entre las más usuales destacan la perspectiva caballera, sistema cilíndrico oblicuo, la perspectiva axonométrica, sistema cilíndrico ortogonal, y, sobre todo, la perspectiva lineal, también llamada cónica porque se genera a partir de una proyección cónica. Una de las leyes fundamentales de la perspectiva lineal es la de que las rectas paralelas se representan como convergentes: las vías del tren, que parece que se acercan a medida que se pierden en la distancia. Los elementos más importantes de este tipo de perspectiva son el plano del cuadro (la superficie de representación), la línea del horizonte, situada a la altura del punto de vista (los ojos del espectador), y los diferentes puntos de fuga, donde convergen, sobre la línea del horizonte, las rectas horizontales más importantes de la figura.
2.2 La visión artificial La visión es uno de los mecanismos sensoriales de percepción más importantes en el ser humano aunque no es exclusivo. El intento de dotar a las máquinas de un sistema de visión aparece el concepto de visión artificial. La visión artificial es una tarea más difícil a comparación de lo que pueden lograr las personas, sus aplicaciones cada vez son mas
20
demandadas en todos los campos del desarrollo humano. La visión artificial involucra tres procesos, procesamiento de la imagen, análisis de imágenes y aplicaciones. •
El procesamiento implica la manipulación de las imágenes vistas como señales digitales, para extraer la información deseada. Los métodos de procesamiento de imágenes digitales se fundamenta en dos áreas principales de aplicación: a) mejora de la calidad para la interpretación humana; b) procesamiento de los datos de la escena para la percepción de las máquinas de forma autónoma.
•
El análisis se encamina a determinar ciertas estructuras elementales tales como contornos o regiones así como las relaciones entre ellas.
•
Finalmente las aplicaciones tratan de dar solución a los problemas relacionados con ciertas situaciones del mundo real, a saber: reconocimiento, movimiento, reconstrucción 3-D, etc.
Cuando la visión artificial es estereoscópica, la información se recaba de manera similar a como lo hacen la mayoría de los seres vivos. Por ejemplo, el estereoscopio es un instrumento óptico usado desde el siglo XIX para observar fotografías de objetos, pero no como representaciones planas, sino con apariencia sólida y profundidad para simular la visión estereoscópica. El estereoscopio es un instrumento donde se presentan al mismo tiempo dos fotografías del mismo objeto, una a cada ojo apareciendo este objeto en una sola imagen tridimensional (estereograma). Las dos fotografías están tomadas desde ángulos ligeramente diferentes y se observan a través de dos objetivos con lentes separadas e inclinadas para que coincidan y se fundan las dos imágenes en una tridimensional. La fotografía estereoscópica aérea permite realizar representaciones en tres dimensiones que pueden utilizarse en la preparación de mapas de relieve muy utilizado para el reconocimiento aéreo.
2.3 Diferencias entre la visión humana y la visión artificial Los sistemas computacionales actuales aunque su capacidad, precisión y velocidad resulten impresionantes, son aún lentos y escasos si las comparamos con la inteligencia como la de un perro que es capaz de reconocer a su amo en milésimas de segundo. La tarea del reconocimiento para una persona involucra aproximadamente diez trillones de operaciones por segundo esto no es alcanzado aun por ningún sistema. Sin embargo, tecnologías futuras como la nanotecnología, los sistemas digitales-biologicos o la computación quántica pretenderá reducir esta brecha. Por esto se debe mejorar mucho los algoritmos para poder emular los las capacidades humanas en los sistemas de cómputo dentro de los limites establecidos hasta el momento.
21
Visión Humana
Visión computacional
Muy adaptable y flexible en las tareas de visión .
Rígido en la tarea. Requiere cuantificar datos (píxeles)
Habilidad
Puede ser relativamente preciso. Estima de manera subjetiva. Ejemplo: Detectar fruta mala basada por su color, textura, forma y olor.
Puede hacer mediciones de dimensiones basándose en entrada de datos predeterminados, basado en el conteo de píxeles.
Color
Subjetivo en color.
Flexibilidad
Sensibilidad
Respuesta
2-D y 3-D
Salida de datos
Percepción Espectro
Medición de la magnitud de los parámetros cromáticos (RGB). Adaptación en las diferentes condiciones Sensitivo al nivel y frecuencia de de iluminación, características físicas en iluminación también como la naturaleza detalles de la superficie y distancia al física de la superficie y distancia al objeto. objeto. Habilidad para cuantificar es relativamente Limitación en la habilidad a distinguir entre grande y ajustado por el sensor, las tonalidades de gris. Varía en función del características del entorno y del sistema. individuo así como del tiempo, se pueden Puede identificar fácilmente 256 niveles de identificar de 7 a 10 niveles de gris. gris. Velocidad en un orden de 0.1 de segundo. La velocidad de la respuesta depende del sistema computacional y el tipo de problema, usando las mejores técnicas y hardware. Pueden manejar operaciones 3-D y Puede manejar operaciones 2-D fácilmente longitudes de onda múltiples (longitudes de pero limitada en tareas en 3-D. En onda de color) fácilmente. operaciones 3-D se requieren dos cámaras y es más lento. Puede manualmente suministrar a un Puede automáticamente suministrar datos sistema una descripción de lo observado. discretos de entrada precisos al sistema El tiempo es mucho y muy impreciso. continuamente. Con costos al sistema variables. Percibe iluminación en escala logarítmica. Puede percibir la iluminación en ya sea una Se afecta la percepción por el área escala lineal o logarítmica. circundante. Limitado a un espectro visual de 300 a 700 Con la tecnología adecuada puede hacer milimicrones. mediciones en todo el espectro visual.
TB 2-1 Diferencias entre visión humana y visión computacional (Encyclopaedia Britannica 2003 Ultimate Referente CD’s)
2.4 Procesamiento digital de imágenes El procesamiento digital de imágenes, es una disciplina que desarrolla las bases teóricas y algorítmicas mediante las cuales pueda extraerse información del mundo real, de manera automática a partir de una imagen observada, de un conjunto de imágenes o de una secuencia. Tal información pudiera relacionarse con el reconocimiento de objetos genéricos, descripciones tridimensionales del mismo, posición y orientación del objetos o la medición de cualquier propiedad espacial tal como la distancia entre dos puntos bien definidos o la sección transversal del objeto.
22
El espectro de aplicaciones es bastante amplio e incluye desde las aplicaciones industriales, imágenes aéreas y medicas. Por herramientas fundamentales que incluyen el preprocesamiento de la imagen, detección de contornos y segmentación, así como el estudio del movimiento en una secuencia de imágenes. El uso de la computación en diferentes dominios, ha permitido sofisticar la naturaleza del procesamiento de las imágenes, con el propósito de extraer al máximo, cualquier información disponible en las mismas que pueda ser de utilidad como herramienta. El estudio de técnicas avanzadas de procesamiento digital de imágenes representa un prerrequisito importante con el motivo de desarrollar cualquier investigación en esta área, que pueda ser significativa dentro de un contexto global. El interés por métodos por el procesamiento digital de imágenes se deriva en dos áreas principales de aplicación: Mejoramiento de la información gráfica para una interpretación humana; y procesamiento de la imagen para que pueda almacenarse, transmitirse, y representarse de forma autónoma en los equipos. El objetivo principal en explicar este tema es establecer un puente entre las imágenes digitales y el álgebra lineal y la manipulación para la extracción de datos relevantes.
2.4.1 Imágenes digitales Las imágenes digitales son un conjunto secuencial de bits que representa, en la memoria, una imagen que puede visualizarse en la pantalla, especialmente en los sistemas que disponen de interfaz gráfica de . La configuración de ceros y unos en la imagen de bits determina la configuración de los puntos en los colores que forman una imagen en la pantalla. Un píxel, en informática, es la abreviatura fonética del concepto inglés picture element. Se trata de un punto en una rejilla rectilínea de miles de puntos tratados individualmente, para formar una imagen en la pantalla de la computadora. Al igual que un bit es la unidad de información más pequeña que puede procesar una computadora, un píxel es el elemento más pequeño que el hardware y el software de pantalla que se puede manipular para crear gráficos. Una imagen se puede representar con más de dos colores. Si un píxel puede sólo tener dos valores de color, se puede codificar con un solo bit de información, un bit de valor de uno para un píxel de color blanco o un bit con valor de cero para un píxel de color negro. Cuando se utilizan más de dos bits para representar un píxel, es posible representar un rango mayor de colores y niveles de gris. Con dos bits se representan cuatro colores o niveles de gris, con cuatro bits se representan dieciséis colores, y así sucesivamente. Es decir con 2n bits se pueden representar n colores diferentes.
23
100111001001111010001101
FG 2-2 Formación de imágenes con píxeles. La resolución de bit, mide la cantidad de información de color disponible para cada píxel de una imagen. Cuanto mayor sea la profundidad de píxel en una imagen (más bits de información por píxel) más colores habrá disponibles y más exacta será la representación del color en la imagen digital. Una imagen a escala de grises es una serie progresiva de tonos que van desde el negro al blanco. El número de niveles de gris depende del número de bits que se usen para describir el color de cada píxel (punto) de la imagen. El uso de n bits por píxel permite 2n niveles de gris. A medida que aumenta el número de bits de codificación, aumentan los requisitos de almacenamiento. Lo más común es 8 bits de codificación para imágenes en escala de grises. Por lo tanto, es necesario equilibrar la resolución y la capacidad de almacenamiento requerida por la imagen para que ésta sea de buena calidad sin desaprovechar la memoria.
24
a)
b)
c)
d)
FG 2-3 Imagen de la mariposa isabelina española en diferentes resoluciones. 1 bit, a) 8 bits a escala de grises, b) 8 bits a escala de color c) y 24 bits a escala de color d). (Enciclopedia Microsoft® Encarta® 2003. © foto d) WHM Bildarchiv/Peter Arnold, Inc. y foto f) por Takahashi, Kenji )
2.4.1.1 Modelos de colores de imágenes digitales Las computadoras almacenan y manipulan colores según el modelo empleado. Si se usa un byte de memoria para almacenar los valores de cada uno de los colores rojo, verde y azul, pueden representarse una imagen con más de 16 millones de combinaciones cromáticas. Además de determinar el número de colores que puede representar una imagen, los modelos de color afectan al número de canales y al tamaño de archivo de una imagen. Los canales son lo que permite representar la información de los elementos de color de la imagen. En general, al aumentar el número de colores o canales en una imagen, también aumenta el tamaño de la misma.
25
Mapas de bits: Las imágenes con mapas de bits están hechas de un bit de color (blanco o negro) por píxel, y necesitan un espacio mínimo en el disco.
Escala de grises: Las imágenes en escala de grises están compuestas generalmente de 8 bits de información por píxel y usan 256 variaciones de gris para simular gradaciones en color. Aunque es posible añadir canales nuevos a una imagen en escala de grises.
Color RVA: Con este modelo, cada píxel necesita 24 bits de información. Con 8 bits son para representar los 256 niveles de intensidad de color por canal, siendo tres, el canal de rojo, el canal de verde y por último el canal de azul. Las imágenes RVA (RGB en inglés) se componen de estos tres canales para presentar imágenes con hasta 16,7 millones de colores en pantalla.
Color CMAN: se basa en las propiedades de absorción de luz de la tinta impresa en papel. Las imágenes CMAN están formadas por los cuatro colores, Cyan (azul verdoso) Magenta, Amarillo y Negro. Con estos cuatro canales se pueden representar hasta 232 colores. Reservando cada canal con 8 bits.
El modelo de color L*a*b se basa en el modelo original de color propuesto por la Commission Internationale d’Eclairage (CIE) en 1931 como estándar de medida para el color. El modelo L*a*b soluciona el problema de la variabilidad de la reproducción del color que se produce al emplear monitores o dispositivos de impresión diferentes. El componente de luminosidad (L) oscila entre 0 y 100. El componente a (eje verde-rojo) y el componente b (eje azul-amarillo) pueden estar comprendidos entre +120 y –120.
El modelo HSI se basa en la percepción humana del color. En este modelo, todos los colores se describen según características fundamentales como tono(H), saturación(S) y brillo(I).
El modelo YIQ se usa en la TV comercial y fue diseñado para obtener la ventaja del sistema visual humano, que es más sensible a cambios en la reflectancia que a los cambios en el matiz o saturación. La principal ventaja es que la reflectancia (Y) y la información del color (I y Q) se pueden tratar por separado. Se recordará que la reflectancia es proporcional a la cantidad de luz que puede percibir el ojo humano. Por lo tanto, la importancia de esta separación es que la reflectancia puede ser procesada sin afectar a su contenido del color. Para la obtención de los valores YIQ, se pueden emplear los valores RVA y aplicar estos valores en la siguiente ecuación:
26
0.114 ⎤ ⎡ R ⎤ ⎡Y ⎤ ⎡0.299 0.587 ⎢ I ⎥ = ⎢0.596 − 0.275 − 0.321⎥ ⎢V ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢⎣Q ⎥⎦ ⎢⎣0.212 − 0.523 0.311 ⎥⎦ ⎢⎣ A⎥⎦
EC 2-1 Ecuación para la conversión entre modelo RVA a YIQ. Con 0.299R + 0.587V + 0.114A se obtiene la reflectancia, útil si se quiere mostrar solo la iluminación (escala de grises)
2.4.2 Relación entre matrices, vectores e imágenes en lenguajes de programación En la visión artificial una imagen es considerada como una matriz o vector, esto es dependiendo del lenguaje de programación empleado. El lenguaje de programación Java de Sun Microsystems®, Inc trata las imágenes como vectores. En contraparte, Visual Basic® de Microsoft® considera a las imágenes como una matriz. Una de las herramientas de programación más populares es Visual Basic, comercializada por Microsoft® para desarrollos de aplicaciones en entornos Windows. Microsoft Visual Basic proporciona un juego completo de herramientas que facilitan el desarrollo rápido de aplicaciones. Visual Basic proporciona varios tipos de datos numéricos: Integer (entero), Long (entero largo), Single (signo flotante de simple precisión), Double (signo flotante de doble precisión) y Currency (para calculos monetarios). Las variables Long se almacenan como números con signo de 32 bits (4 bytes) con un valor comprendido entre -2.147.483.648 y +2.147.483.647. El método point devuelve en Visual Basic un valor de tipo Long el color rojo-verde-azul (RVA) de un píxel especificado en coordenadas como x columnas, y renglones dentro de un objeto Form o un control PictureBox. Al contrario, la función pset establece a un píxel un color especificado según los valores enteros de rojo, verde y azul dentro de un objeto Form o PictureBox. Un control PictureBox puede mostrar un gráfico a partir de una imagen, que puede ser cargada con el método LoadPicture. Como en Visual Basic el color de un píxel se registra como un dato tipo long, opera las imágenes en modelo RVA y el siguiente es el formato de cada píxel (FG 2-4) Long 31
24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FG 2-4 Formato de un píxel usando Visual Basic con los alfa, azul, verde y rojo y sus posiciones de inicio. La función RGB devuelve un número entero tipo Long que representa un valor de color RVA. y su sintaxis es RGB(rojo, verde, azul). Mismo valor puede usarse para
27
establecer el color de un píxel en objeto como PictureBox. El canal alfa se usa para la transparencia del píxel y ese canal no se usa. El siguiente código esta escrito en Visual Basic versión 6. El programa convierte una imagen de colores a escala de grises. Clase
Objetos
Form PictureBox CommandButton
Form1 PictureBox1, PictureBox2 CommandButton1
Dim pixels() As Long Dim ImgWidth, ImgHeight As Integer Private Sub Form_Load() '&HE4B99C = RGB(156,185,228) Form1.BackColor = &HE4B99C Form1.Caption = "Grey scale" PictureBox1.ScaleMode = vbPixels PictureBox2.ScaleMode = vbPixels PictureBox1.Picture = LoadPicture("C:\FLOR.JPG") ImgWidth = PictureBox1.ScaleWidth ImgHeight = PictureBox1.ScaleHeight ReDim pixels(ImgWidth, ImgHeight) End Sub Public Function BlueColor(colorvalue As Long) As Integer Dim Blue As Integer 'Hex(16711680) = FF0000 'Hex(65536) = 010000 Blue = CInt((colorvalue And 16711680) / 65536) BlueColor = Blue End Function Public Function GreenColor(colorvalue As Long) As Integer Dim Green As Integer 'Hex(65280) = 00FF00 'Hex(256) = 000100 Green = CInt((colorvalue And 65280) / 256) GreenColor = Green End Function Public Function RedColor(colorvalue As Long) As Integer Dim Red As Integer 'Hex(255) = 0000FF 'Hex(1) = 000001 Red = CInt((colorvalue And 255) / 1) RedColor = Red End Function Public Sub ReadImage() Dim x As Integer Dim y As Integer Dim RGBval As Long
28
Dim value As Byte For x = 0 To ImgWidth - 1 For y = 0 To ImgHeight - 1 'Leer el color de un pixel pixels(x, y) = PictureBox1.Point(x, y) Next y Next x End Sub Public Sub ConvertGreyScale() Dim x As Integer Dim y As Integer Dim GreyValue As Integer For x = 0 To ImgWidth - 1 For y = 0 To ImgHeight - 1 GreyValue = CInt(Round( _ (RedColor(pixels(x, y)) * 0.299) + _ (GreenColor(pixels(x, y)) * 0.587) + _ (BlueColor(pixels(x, y)) * 0.114) )) pixels(x, y) = RGB(GreyValue, GreyValue, GreyValue) Next y Next x End Sub Public Sub PaintGreyImage() Dim x As Integer Dim y As Integer For x = 0 To ImgWidth - 1 For y = 0 To ImgHeight - 1 'dibujar un pixel PictureBox2.PSet (x, y), pixels(x, y) Next y Next x End Sub Private Sub CommandButton1_Click() Call ReadImage Call ConvertGreyScale Call PaintGreyImage End Sub
CD 2-1 Programa en Visual Basic para convertir una imagen a color en modelo RVA a escala de grises. Para la conversión se utiliza la ecuación (EC 2-1) para obtener la reflectancia Y= 0.299*R + 0.587*V + 0.114*A y así mostrar la imagen en escala de grises.
29
FG 2-5 Salida del programa en Visual Basic. (CD 2-1) Para aclarar otras dudas por el código anterior investíguese en libros o en el Microsoft Developer Network Library Visual Studio®. Como ya se mencionó, otros lenguajes de programación tratan a las imágenes como un vector como el lenguaje de programación Java. JAVA es un lenguaje de programación orientado a objetos desarrollado por la empresa Sun Microsystems® en 1995 y que se ha extendido ampliamente en World Wide Web. Es un lenguaje de alto nivel y propósito general similar a C++, con marcadas características de seguridad y transportabilidad (que las aplicaciones pueden funcionar en diferentes plataformas). Este lenguaje define una máquina virtual independiente de la plataforma donde se ejecuta, que procesa programas, llamados Applets, descargados desde el servidor Web. Además, debido al modo de ejecución de los Applets, este lenguaje es muy seguro frente a la presencia y ataque de virus informáticos. El siguiente programa (CD 2-2) fue escrito en lenguaje Java. El programa ‘lee’ una imagen y guarda su información en un archivo de texto en formato de MS-DOS. Si la imagen esta en escala de grises, se tendrá un vector con valores de píxeles entre 0 (un píxel negro) y 255 (un píxel blanco) y será de tipo byte. Es decir, el programa operará una imagen con una profundidad de 8 bits. Si la imagen es de color y si esta en el modelo RVA, guardará además de la posición relativa, el color del píxel formado por la combinación de los tres canales; rojo, verde y azul. Cada canal tendrá valores entre 0 y 255. En caso de que la imagen sea de color se guardará en un vector de valores tipo Integer. La estructura de cada píxel en el lenguaje Java es la siguiente: Byte 7
6
5
4
3
2
1
0
Long 31
24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FG 2-6 Formato de un píxel codificando en el lenguaje de programación Java® para imágenes en gris (tipo de dato byte) e imágenes a color (tipo de dato int).
30
Existen algunas consideraciones especiales con el lenguaje de programación Java. El tipo de dato byte en Java requiere 7 bits para representar un valor entero más un bit para su signo, es decir que un tipo de dato byte solo puede mostrar valores dentro de un rango que va desde –128 hasta +127. Cuando la imagen esta en escala de grises, tiene una profundidad de píxel de 8 bits, es decir que los valores de gris están entre cero (negro) y 255 (blanco) y la información de las imágenes monocromáticas se almacena en un vector de tipo byte y para mostrar correctamente el vector se hace una operación lógica y (AND) con 8 bits 1 (0xFF) para tomar el octavo bit (bit de signo). import import import import import import import
java.awt.Image; java.awt.Toolkit; java.awt.image.PixelGrabber; java.awt.image.ColorModel; java.io.FileOutputStream; java.io.DataOutputStream; java.io.IOException;
public class ImageVector { public static void SetImageVector( String FileName ) { Image image = Toolkit.getDefaultToolkit().getImage(FileName); try { PixelGrabber ImageGrabber = new PixelGrabber(image, 0,0,-1,-1, false); if (ImageGrabber.grabPixels()) { //Imagen a escala de grises int width = ImageGrabber.getWidth(); int height = ImageGrabber.getHeight(); ColorModel model = ImageGrabber.getColorModel(); if (PixelAvailable(ImageGrabber)) { byte pixels[] = new byte[width * height]; pixels = (byte[]) ImageGrabber.getPixels(); SaveImageVector(pixels,width,height,FileName); } else { //Imagen a color int pixels[] = new int[width * height]; pixels = (int[]) ImageGrabber.getPixels(); SaveImageVector(pixels,width,height,FileName,model); } } } catch (InterruptedException e) { e.printStackTrace(); } }
31
public static void SaveImageVector (byte[] pixels,int width,int height,String FileName) { int x,y,GreyValue; try { DataOutputStream VectorFile = new DataOutputStream (new FileOutputStream( FileName +".txt")); for(x=0;x<width;x++) { for(y=0;y
} public static void SaveImageVector (int[] pixels,int width,int height,String FileName,ColorModel model) { int x,y,RedValue,GreenValue,BlueValue; try { DataOutputStream VectorFile = new DataOutputStream( new FileOutputStream(FileName+".txt")); for(x=0;x<width;x++) { for(y=0;y
32
System.err.println("ERR. Imposible guardar datos."); }
} public static final boolean PixelAvailable (PixelGrabber ImageGrabber) { return ImageGrabber.getPixels() instanceof byte[]; }
public static void main(String[] args) { if (args.length > 0) { SetImageVector(args[0]); System.exit(0); } else { System.err.println("ERR: Java ImageVector <nombrearchivo.ext>"); System.exit(1); } } }
CD 2-2 Programa completo en Java para guardar la información de una imagen, ya la imagen a color RVA o escala de grises. Al ejecutar el programa ImageVector.java (CD 2-2)con la una imagen guardada en modelo RVA ó en la escala de grises sé vectoriza la imagen y dicha información se guarda en un archivo de texto. Se debe de recordar que la variable del sistema SET CLASSPATH= indique la ruta de a los programas JAVAC.EXE y JAVA.EXE para compilar y ejecutar el código del programa ImageVector.java (CD 2-2). Cuando la imagen que se ingresa no es de escala de grises o RVA, entonces la imagen utiliza un modelo de color diferente, tenéndose así un error por el programa. Para aclarar dudas, en la página de Internet de Sun Microsystems http://java.sun.com/ esta disponible documentación sobre el lenguaje Java. El siguiente código permite crear una imagen a partir de un vector haciendo uso de la clase MemoryImageSource.
33
import java.awt.image.MemoryImageSource; : : int w = 100; int h = 100; int[] pix = new int[w * h]; int index = 0; for (int y = 0; y < h; y++) { int red = (y * 255) / (h - 1); for (int x = 0; x < w; x++) { int blue = (x * 255) / (w - 1); pix[index++] = (255 << 24) | (red << 16) | blue; } } Image img = createImage(new MemoryImageSource(w, h, pix, 0, w));
CD 2-3 Ejemplo del uso de la función createImage en Java® generando (FG 2-7) El código (CD 2-3) al ejecutarse genera la siguiente imagen.
FG 2-7 Salida del programa en Java. (CD 2-3)
2.4.3 Formatos de imágenes En un gráfico de mapa de bits, cada punto tiene un lugar preciso, definido por su fila y su columna, igual que cada casa de una ciudad tiene una dirección concreta. Algunos de los formatos de gráficos de mapas de bits más comunes son el Graphical Interchange Format (GIF), el t Photographic Experts Group (JPEG), el Tagged Image File Format (TIFF) y el Windows Bitmap (BMP). Según el formato en que la imagen este, se tendrá un diferente grado de compresión. En la compresión de imágenes, lo que se desea
34
es obtener de la propia imagen, una aproximación, o una versión mejorada de la imagen original con menos recursos de computo.
2.4.3.1 Formato BMP BMP (Windows Bitmap) es el formato de imagen de mapa de bits estándar de Microsoft Windows. Al guardar una imagen con este formato, se puede especificar una profundidad de imagen de 1 a 24 bits. En imágenes de 4 y 8 bits, también puede escoger compresión Run-Length-Encoding (RLE); este esquema de compresión no produce pérdidas, es decir, no elimina ningún detalle de la imagen.
2.4.3.2 Formato GIF Compve Graphics Interchange Format (GIF) es el formato de archivo utilizado normalmente para mostrar gráficos de color indexado e imágenes en documentos de Lenguaje Marcado como Hipertexto (HTML) en la World Wide Web y otros servicios electrónicos. GIF es un formato comprimido, diseñado para reducir al mínimo los tiempos de transferencia de imágenes por las líneas telefónicas.
2.4.3.3 Formato JPEG El formato t Photographic Experts Group (JPEG) se utiliza normalmente para mostrar fotografías y otras imágenes de tono continuo en documentos de Lenguaje Marcado como Hipertexto (HTML) en World Wide Web y otros servicios electrónicos. A diferencia del formato GIF, JPEG conserva toda la información de color de una imagen RVA. JPEG utiliza también un esquema de compresión que reduce de manera muy eficaz el tamaño del archivo mediante la identificación y eliminación de los datos no esenciales para la visualización de la imagen. Al abrir una imagen JPEG se descomprime automáticamente. El esquema de compresión JPEG se conoce como compresión con pérdidas porque elimina datos. Esto significa que cuando la imagen se ha comprimido y descomprimido, la imagen descomprimida no será idéntica a la original. Un nivel elevado de compresión produce una baja calidad de imagen, un nivel bajo, una calidad mejor. En la mayoría de los casos, al comprimir una imagen utilizando la opción de calidad máxima, se obtiene un resultado muy parecido al original. La técnica de compresión de JPEG puede reducir el tamaño de un archivo de gráficas hasta en un 96 por ciento. La técnica de compresión de datos produce un suavizamiento de la imagen y pérdida de detalles, lo que puede ser evidente en algunas imágenes.
35
2.4.3.4 Formato TIFF Tagged-Image File Format (TIFF) de uso particular el sistema Associated Press Picture Desk se utiliza este formato para intercambiar archivos entre aplicaciones y plataformas de ordenadores. El formato TIFF soporta compresión LZW, un método de compresión que no ocasiona pérdidas, ya que no elimina detalles de la imagen para que se puedan leer tanto en Macintosh como en una PC compatible con IBM.
2.4.4 Histograma de una imagen El histograma de una imagen es una función discreta que representa el número de píxeles en la imagen en función de los niveles de intensidad. Un histograma es una representación gráfica del número de píxeles que contiene cada nivel de brillo de una imagen. El histograma se puede utilizar para verificar que la imagen contiene detalle suficiente para realizar una buena corrección El histograma también proporciona una representación rápida de la gama de tonos de la imagen, conocida también como tipo de color. Una imagen cuyo detalle está concentrado en las sombras se denomina imagen de clave baja; la que concentra el detalle en las luces se conoce como imagen de clave alta. Identificar la gama de tonos de la imagen ayuda a determinar las correcciones de tono adecuadas.
FG 2-8 Histograma de una imagen. (Imagen cortesía de Olivetti Research Laboratory)
El eje x del histograma representa valores de color desde el más oscuro (0) a la izquierda, hasta el más brillante (255) a la derecha; el eje y representa el número total de píxeles con ese valor.
36
2.4.5 Distorsión de imágenes digitales El procesado de imágenes es una herramienta muy potente e importante dentro de los gráficos por computadora. Sus técnicas se emplean en muchas aplicaciones, como detectar bordes de un objeto, realzar la imagen, reducir el ruido, difuminarla, aumentar la nitidez o el brillo. La distorsión de imagen permite al manipular y deformar una imagen a lo largo del tiempo, para extraer la información deseada. El empleo más popular de la distorsión de imagen es la metamorfosis, en la que una imagen se deforma y se convierte en otra. Para extraer la información deseada en una imagen se emplean filtros. La teoría de filtros tiene una importante relación con el álgebra lineal. La manipulación de matrices visualmente es vista como manipulación de imágenes. Mejorar una imagen trata con la manipulación de la información presente en la imagen para obtener sólo lo que visualmente lo que será significativo.
2.4.5.1 Teoría de filtros Una de las herramientas de las matemáticas aplicadas más conocida es la denominada teoría de filtros. Esta teoría es muy útil para formalizar algunas de las operaciones y transformaciones necesarias para extraer la información relevante. En ciertas ocasiones la imagen aparece marcada con un alto contenido de ruido que será necesario eliminar para que el tratamiento posterior de la misma sea más efectivo. En otras ocasiones es preciso considerar las estructuras subyacentes, por ejemplo bordes, para su posterior extracción. Las operaciones anteriores pueden llevarse a cabo mediante la utilización de filtros. Por consiguiente, el filtrado de imágenes se presenta como un proceso previo a la segmentación de las mismas. Básicamente un filtro es un mecanismo de cambio o transformación de una cierta señal de entrada para producir una señal de salida diferente. Existen dos clasificaciones de señales [GONZALEZ Y WOODS 2002]: a) respecto a la naturaleza de las variables independientes, que puede ser continua o discreta, y b) respecto a la naturaleza de la propia función, que puede ser igualmente continua o discreta. La primera clasificación obliga a un tratamiento diferenciado de la teoría de filtros: continuos y discretos, respectivamente. La segunda clasificación es menos trascendente, ya que no obliga a ningún tratamiento específico, limitándose a una cuestión del rango de valores de las funciones o señales. Una frecuencia es el número de veces que ocurre un cierto suceso. Las señales de alta frecuencia temporal cambian periódicamente su valor en un corto período de tiempo.
37
Imagínese una señal senoidal con período 2π y otra con período z, esta última, con menor período cambia su amplitud más rápidamente que la primera.
FG 2-9 Diferencias de frecuencias senoidal y z Se dirá que una imagen con alta frecuencia espacial, cambia periódicamente el valor de los niveles de intensidad o niveles de gris en un intervalo espacial pequeño, o lo que es lo mismo en distancias pequeñas de la imagen. Por tanto, los niveles de gris cambian de forma más o menos abrupta de un nivel de gris a otro. Por el contrario, las bajas frecuencias espaciales corresponden a cambios más lentos en la variación de los niveles de gris donde los cambios ocurren gradualmente de una posición a otra en la imagen. Es decir, que la manipulación del dominio espacial se basa en la directa manipulación de los píxeles de una imagen. Pero además de poder transformar una imagen directamente, existe la manipulación de la imagen en el dominio de la frecuencia. Al grupo de transformadas en el dominio de la frecuencia pertenecen tres tipos de transformadas muy usuales en el tratamiento de imágenes, que son la transformada de Fourier, la transformada del coseno y la transformada de Walsh-Hadamard. La más empleada es la transformada de Fourier. El estudio de los conceptos de frecuencia conduce al estudio del filtrado espacial de imágenes y a la consideración del filtrado de bajas y altas frecuencias, que resulta de vital importancia en el procesamiento de imágenes. Otras transformadas importantes son la transformada en wavelets, (que es útil en la compresión de imágenes) la Transformada de Haar, la transformada de Slant y la transformada de Hotelling. En el tratamiento de imágenes digitales, es necesario entender el comportamiento y las propiedades frecuenciales de la imagen en cuestión. Se entiende, que una imagen digital es la periodicidad de la imagen en una determinada dimensión. Como las imágenes digitales son bidimensionales, sólo existirán dos frecuencias, cada una de ellas correspondiente a una dimensión espacial. Una de alta frecuencia cuando presenta grandes cambios de valores (es decir, de intensidad luminosa) en una zona espacial
38
reducida. Análogamente, una imagen digital contiene bajas frecuencias allí donde sus intensidades luminosas cambian lentamente. Los filtros de imágenes orientados a realzar las altas frecuencias de una imagen son filtros detectores o amplificadores de los bordes. El motivo de aplicar este tipo de filtros se basa en que los bordes de un objeto delimitan su contorno; es decir, permiten segmentar o aislar ese objeto respecto de su entorno. Los bordes de un objeto dentro de una imagen digital corresponden a los componentes frecuenciales altos, ya que en ellos se producen fuertes cambios de intensidad, localizados en zonas muy reducidas en el espacio bidimensional. No es de extrañar que si a una determinada imagen se le aplica un filtro bidimensional de paso alto (sólo deja pasar las altas frecuencias), el resultado será una imagen en donde aparezcan únicamente los componentes espectrales altos; Es decir, los bordes. Al contrario, un filtro de paso bajo, deja pasar únicamente bajas frecuencias, es decir solo aquellas frecuencias que se encuentran por debajo de determinado umbral, que es la frecuencia de corte. Una imagen no solo se puede mejorar dominio de las frecuencias sino también puede llevarse a cabo mediante otra serie de técnicas y operaciones que tienen en cuenta los valores de intensidad dentro de un entorno de vecindad de los píxeles tratados, es decir operaciones espaciales de dominio. Estas operaciones se pueden utilizar para eliminar el ruido en las imágenes digitales considerando pequeños entornos de vecindad en ventanas con dimensiones n x n. En algunos casos la operación es realmente una convolución. Una convolución es una operación matemática que permite multiplicar dos matrices de tamaños diferentes pero misma dimensionalidad, para producir una tercera matriz de la misma dimensionalidad. Esto se puede emplear para implementar operadores en el procesamiento de imágenes cuyos valores de píxeles sean simples combinaciones lineales de ciertos valores de píxeles de entrada. Para realizar una convolución dada una imagen de entrada I que se desea convolucionar con la matriz k llamada como kernel ó gradiente. El valor de cualquier píxel en la imagen de salida es igual a multiplicar los valores vecinos a un píxel (de la misma imagen de entrada) con su correspondiente valor k del kernel. Para calcular los valores de los píxeles de las orillas de la imagen se generan valores hipotéticos.
39
I
(1,1)
(1,2)
...
(1,m)
K1
K2
K3
(2,1)
(2,2)
...
(2,m)
K4
K5
K6
:
:
...
:
K7
K8
K9
(n,1)
(n,2)
...
(n,m)
K
(5,7)
(5,8)
(5,9)
(6,7)
(6,8)
(6,9)
(7,7)
(7,8)
(7,9)
OUT (1,1)
(1,2)
...
(1,m)
(2,1) (2,2) (2,m) Out(6,8)=I(5,7)K1+I(5,8)K2+I(5,9)K3+ I(6,7)K4+I(6,8)K5+I(6,9)K6+ : ... : : I(7,7)K7+I(7,8)K8+I(7,9)K9 (n,1)
(n,2)
...
(n,m)
FG 2-10 Figura que muestra como se realiza una convolución. Para obtener el valor del píxel Out(6,8) es igual a realizar la ecuación ejemplo, al multiplicar la ventana con los pixeles vecinos al punto (6,8) de la imagen de entrada conforme a una ventana de 3X3. Para observar la imagen de salida se normalizan los valores dentro del rango de los niveles de color dado el modelo de imagen. Las dos categorías primarias de filtros espaciales para eliminar el ruido son filtros de orden y filtros de medias. Los filtros de orden son implementados de forma que organizan la vecindad en orden de mayor a menor valor del nivel de color de la vecindad y utilizan este orden para seleccionar el valor correcto, mientras los filtros de media determinan en uno u otro sentido un valor medio. Los filtros de la media trabajan muy bien con ruido Gaussiano (ya que se modela el ruido con una distribución gaussiana) y los filtros de orden trabajan mejor con ruido del tipo sal y pimienta, exponencial negativa o Rayleigh. Los filtros de media tienen la desventaja de desenfocar o desdibujar los bordes de la imagen o los detalles, son esencialmente filtros paso bajo. Los filtros de orden son no lineales por lo que los resultados obtenidos con ellos son a veces impredecibles. En general se debe llegar a un compromiso entre conservar los detalles de la imagen y eliminar el ruido. Considérese el caso extremo donde la imagen entera es reemplazada por el valor medio de la imagen. Con ello se ha eliminado cualquier ruido presente en la imagen pero a la vez también se ha perdido toda la información en la imagen. Los filtros de media y orden también pierden información cuando se usan para eliminar el ruido. El objetivo consiste siempre en minimizar esta pérdida de información mientras se elimina la mayor cantidad de ruido posible. En realidad un filtro que se adapta a los valores de los píxeles existentes puede ser el más apropiado. Un filtro que cambia su conducta basándose en las características (o estadística) de los niveles de gris de una vecindad se
40
denomina filtro adaptativo. Finalmente, si se dispone de un conjunto de imágenes ruidosas con diferentes niveles de ruido, el promediado de esas imágenes produce una imagen resultante de mejor calidad que cualquiera de las imágenes que constituyen el conjunto de imágenes ruidosas. La conducta de la imagen tras el aplicarse un filtro, puede ser observada mejor por medio de un histograma. Es común normalizar un histograma dividiendo cada uno de sus valores por el número total de píxeles en la imagen. Los histogramas son la base de muchas técnicas de filtrado espaciales de dominio.
2.5 Mejoramiento de imágenes para la identificación de rostros Para el reconocimiento de rostros, es necesario la aplicación de un filtro donde la calidad de la imagen sea mejor sin desdibujar los detalles presentes y esto dificulte la identificación de rostros. Para no distorsionar los rasgos en los rostros se necesitaría aplicar un algoritmo en que de forma aislada se determine el valor de cada píxel por una función filtro según al valor previo del píxel correspondiente en la imagen de entrada. Las imágenes empleadas para el reconocimiento de rostros están en un formato de ocho bits, es decir tienen 256 niveles de gris. Se presentan tentativamente cuatro filtros: La contracción del histograma, éste filtro reduce rango de los valores de gris. La igualación del histograma (también llamado ecualización del histograma). Esta técnica mejora el contraste de la imagen al expandir la distribución de los niveles de gris. Siendo dicha expansión lo más suave posible en el sentido que idealmente debería de haber el mismo número de píxeles por niveles de gris. Es decir el objetivo es distribuir los niveles de gris de manera uniforme a lo largo de todo el rango de valores de niveles de gris. Los operadores logarítmicos y exponenciales aumentan la intensidad de los píxeles de baja intensidad. Pero la diferencia de ambos operadores radica en que el compartimiento de los histogramas de las imágenes de salida se asemejan a una curva logarítmica ó exponencial.
41
2.5.1 Contracción del histograma Esta técnica hace una contracción al histograma. ⎡ C MAX − C MIN Γ ′(i, j ) = ⎢ ⎣ Γ(i, j )MAX − Γ(i, j )MIN
⎤ ⎥[Γ(i, j ) − Γ(i, j )MIN ] + C MIN ⎦
EC 2-2 Ecuación para realizar la contracción del histograma de una imagen. Donde Γ(i,j) es el nivel de gris del píxel en la imagen de entrada Γ; Γ (i,j)MAX es el mayor valor del nivel del gris en la imagen de entrada Γ; Γ (i,j)MIN es el menor valor del nivel de gris en la imagen de entrada Γ; CMAX y CMIN corresponden al máximo y mínimo de los valores deseados de gris a la compresión del histograma. Al aplicar este filtro a la siguiente imagen (FG. 2-11).
FG 2-11 Fotografía e histograma antes antes de la contracción del histograma. (Cortesía R. Fisher, S. Perkins, A. Walker and E. Wolfart HIPR2 2003©)
Después de aplicar el filtro de contracción del histograma se observa un cambio en la imagen siguiente. Compárese ambos histogramas.
42
FG 2-12 Fotografía después de contraerse el histograma (FG 2-11). (Cortesía R. Fisher, S. Perkins, A. Walker and E. Wolfart HIPR2 2003©)
2.5.2 Igualación del histograma Se trata de encontrar una función Γ’(Γ) que realce el contraste general en la imagen original Γ expandiendo la distribución de los niveles de gris. Dicha igualación debe de ser lo más suave posible en el sentido de que idealmente debería de haber mismo número de píxeles por niveles de gris. Dada una imagen de dimensiones xy por tener x columnas y y renglones, cada píxel tiene 256 niveles de gris. En la imagen está presente un número de N píxeles por nivel de gris. Sea la siguiente imagen de dimensiones 252 × 253 píxeles.
43
FG 2-13 Imagen e histograma antes de la ecualización. (Cortesía R. Fisher, S. Perkins, A. Walker and E. Wolfart HIPR2 2003©)
El total de píxeles en la imagen es de 63756 y de éstos píxeles la cantidad de ellos que son blancos, N(255) es 7314 (11.47%). En contraste, 3917 píxeles (6.14%) son negros N(0). Pese a que la imagen (FG 2-13) hay 3791 píxeles con un nivel de gris de 107 y ningún píxel tiene un valor de gris de 127. Para que exista una mayor distribución en el histograma se calcula primero la probabilidad por cada nivel de gris g que viene dada por la siguiente ecuación. p( g ) =
N (g) ; g = [0, 255] xy
EC 2-3 Ecuación para conocer la proporción por el nivel de gris g en una imagen. Donde N(g) es la cantidad de píxeles por cada nivel de gris, y xy son las dimensiones de la imagen (x columnas, y renglones). Se deduce que: g = 255
∑ p( g ) =1 g =0
EC 2-4 Ecuación en donde se aclara que la suma de proporciones es igual a uno.
44
La función de densidad de probabilidad resulta que: X
p(i , j ) ( X ) ≅ ∑ p( g ) g =0
EC 2-5 Función de densidad de probabilidad. Se deben generar todas las densidades de probabilidad en todos los píxeles de la imagen. Por ejemplo, si se quiere saber cual es la densidad de probabilidad del píxel ubicado en la posición (1, 1), dentro la imagen (FG 2-13)que tiene un valor de gris de 107, se hace: 107
p(1,1) ( X ) = ∑ p (1,1) ( X ) = g =0
N (0) N (1) N (107) 3917 0 3791 + +L+ = + +L xy xy xy 252 × 253 63756 63756 p (1,1) = 0.7595206
EJ 2-1 Densidad de probabilidad para el nivel de gris 107 en la imagen (FG 2-13)
La función Γ’(Γ) permite conocer los nuevos valores que les corresponden a los píxeles; se multiplican las densidades de probabilidad por 255 para tener así el histograma ecualizado.
Γ(′i , j ) ( x) = 255 ⋅ P( i , j ) ( x) EC 2-6 Función para establecer el valor de píxel de la imagen de salida correspondiente.
Aplicando la función Γ’(Γ) en el píxel ubicado en la posición (1, 1), dentro la imagen (FG 2-14)se tiene el siguiente resultado. Γ(′1,1) = 255 × 0.7595206 ≈ 194 EJ 2-2 Valor de la imagen de salida (FG 2-14) para el píxel ubicado en el renglón uno y columna uno.
Entonces el píxel x en la posición (1, 1) de la imagen ecualizada cambiará del valor 107 al valor de gris 194 (por redondeo). Recuérdese que los valores de píxel deben ser entre 0 y 255. Al ecualizar la imagen (FG 2-13) se tendrá lo siguiente:
45
FG 2-14 Imagen ecualizada de (FG 2-13) con su histograma.
El siguiente código (CD 2-4) esta escrito en Microsoft Visual Basic © versión 6, permite ecualizar (o hacer una igualación) del histograma de una imagen. Objeto
Clase
CommandButton1 PictureBox1, PictureBox2 Form1
CommandButton PictureBox Form
Dim pixels() As Byte Dim ImgWidth, ImgHeight As Integer Private Sub Form_Load() PictureBox1.ScaleMode = vbPixels PictureBox2.ScaleMode = vbPixels PictureBox1.Picture = LoadPicture("C:\IMAGE.JPG") ImgWidth = PictureBox1.ScaleWidth ImgHeight = PictureBox1.ScaleHeight ReDim pixels(ImgWidth, ImgHeight) End Sub Private Function GreyValue(colorvalue As Long) As Byte Dim Blue, Green, Red As Integer 'Hex(16711680) = FF0000 'Hex(65536) = 010000 Blue = CInt((colorvalue And 16711680) / 65536) 'Hex(65280) = 00FF00 'Hex(256) = 000100 Green = CInt((colorvalue And 65280) / 256) 'Hex(255) = 0000FF 'Hex(1) = 000001 Red = CInt((colorvalue And 255) / 1)
46
GreyValue = CByte(Round(0.299 * Red + 0.587 * Green + 0.114 * Blue)) End Function Private Sub ReadImage() Dim x As Integer Dim y As Integer Dim RGBval As Long For x = 0 To ImgWidth - 1 For y = 0 To ImgHeight - 1 RGBval = PictureBox1.Point(x, y) pixels(x, y) = GreyValue(RGBval) Next y Next x End Sub Private Sub EQ() Dim nivels(255) As Integer Dim x As Integer Dim y As Integer Dim j As Integer Dim SizeIMG As Long Dim odds As Single Dim EQpix As Long Dim PixelEQ As Integer For x = 0 To 255 nivels(x) = 0 Next x For x = 0 To ImgWidth - 1 For y = 0 To ImgHeight - 1 nivels(pixels(x, y)) = nivels(pixels(x, y)) + 1 Next y Next x SizeIMG = ImgWidth * ImgHeight For x = 0 To ImgWidth - 1 For y = 0 To ImgHeight – 1 odds = 0 For j = 0 To pixels(x, y) odds = odds + (nivels(j) / SizeIMG) Next j PixelEQ = CInt(Round(odds * 255)) If PixelEQ < 0 Then PixelEQ = 0 End If If PixelEQ > 255 Then PixelEQ = 255 End If EQpix = RGB(PixelEQ, PixelEQ, PixelEQ) PictureBox2.PSet (x, y), EQpix Next y
47
Next x End Sub Private Sub CommandButton1_Click() Call ReadImage Call EQ End sub
CD 2-4 Código escrito en Microsoft Visual Basic © versión 6, para la igualación del histograma, el cuadro es un compendio de los objetos incluidos en el programa y su clase.
FG 2-15 Desplegado del programa (CD 2-4) y resultado de la ecualización.
Para imágenes a color, primero se transforman a escala de grises, al calcular el grado de reflectancia, (EC 2-1) es decir la cantidad de luz percibida. (0.299×rojo + 0.587×verde + 0.114×azul) y los tres canales de color generan un canal de gris (iluminación) para ser después su histograma igualado.
48
FG 2-16 Ecualización de una imagen a color con el código (CD 2-4) y (EC 2-1). (Imagen fuente modificada a partir de otra imagen tomada de la galería de Microsoft Office 2000 ©)
2.5.3 Operador logarítmico El rango dinámico de una imagen puede ser comprimido al remplazar el valor de cada píxel con su logaritmo natural. Esto tiene un efecto para los valores de píxeles que tienen una baja intensidad al ser éstos incrementados. Puede ser útil aplicar el operador logarítmico en una imagen donde el rango dinámico puede ser muy grande para ser mostrado en pantalla. Puesto que el logaritmo de cero no esta definido, se suma un uno al valor de píxel. Se indica una constante de escala α con un valor máximo de 255, puesto que es el rango de niveles de intensidad que van del cero (píxeles negros) al de 255 (píxeles blancos) para una imagen con un formato de ocho bits. Se agrega una constante δ de desplazamiento de histograma. Por lo tanto cada píxel es remplazado por la formula siguiente. Γ ′( x, y ) = α ln(Γ( x, y ) + 1) + δ
EC 2-7 Ecuación para obtener el operador logarítmico de una imagen.
49
De manera que si en la imagen de entrada Γ con el píxel en la columna 5 renglón 8 tiene el valor de gris, supóngase 130, y tiene las constantes α=80 y δ=-165. El valor que le corresponde a ese píxel Γ ‘(5,8) es el siguiente:
Γ ′(5,8) = 80 × ln(130 + 1) + (−165) = 225.0158 ≈ 225 EJ 2-3 Ejemplo de aplicar el operador logarítmico para un píxel en la columna 5 y renglón 8 con un nivel de gris de 130.
Los nuevos valores de píxeles si son menores a cero ó mayores de 255 se limitan a 0 ó 255 según sea el caso. El siguiente procedimiento de Visual Basic permite realizar este filtrado. Private Sub Logarithm(scaleval As Single, offset As Single) Dim result As Single Dim LogVal As Byte For x = 0 To ImgWidth - 1 For y = 0 To ImgHeight – 1 result = (scaleval * Log(pixels(x, y) + 1)) + offset If result < 0 Then result = 0 End If If result > 255 Then result = 255 End If LogVal = CByte(Round(result)) PictureBox2.PSet (x, y), RGB(LogVal, LogVal, LogVal) Next y Next x
End Sub CD 2-5 Función escrita Visual Basic 6 para calcular el operador logarítmico de una imagen.
50
Con la imagen de entrada Γ siguiente (FG 2-17):
FG 2-17 Imagen con su histograma antes de aplicarle el operador logarítmico. (Cortesía R. Fisher, S. Perkins, A. Walker and E. Wolfart HIPR2 2003©)
Al realizar en la imagen una operación logarítmica se obtiene la siguiente imagen:
FG 2-18 Imagen obtenida después de aplicarle el operador logaritmo a la imagen (FG 2-17).
51
2.5.4 Operador exponencial El rango dinámico de una imagen puede ser comprimido de una manera diferente al operador logarítmico natural [GONZALO 2002]. Si cada valor de píxel es exponente de una base predeterminada β en lugar del número trascendente e, se tienen diferentes grados de comprensión dinámica del rango de niveles de gris. Para mejorar la calidad visual de la imagen se sugieren bases ligeramente mayores de 1. A partir de los valores de los píxeles de la imagen de la imagen de entrada Γ, los valores de cada píxel de la imagen de salida Γ’(x,y) esta en función de la siguiente ecuación. Γ ′(x, y ) = αβ ( Γ ( x , y ) + δ EC 2-8 Ecuación para obtener el operador exponencial de una imagen.
Recuérdese que α es una constante de escala de valores y δ como tasa de desplazamiento del histograma. Aplicando este operador con α=2.3, β=1.02 y δ=14, genera la siguiente efecto.
a)
b)
FG 2-19 Imagen antes a) y después b) de aplicarse el operador exponencial. (Cortesía R. Fisher, S. Perkins, A. Walker and E. Wolfart HIPR2 2003©)
El filtro empleado deberá de depender al efecto deseado, generalmente lo más conveniente es aplicar una igualación de histograma. Al mejorar las imágenes, están listas a analizarse para que las personas puedan ser identificadas.
52
2.6 Segmentación de imágenes Otra parte del procesamiento de imágenes se encarga del análisis de imágenes. El análisis se refiere a detectar determinadas partes de la imagen (regiones u objetos). Para generar tal descripción es necesario segmentar adecuadamente e identificar la región deseada. Dicho proceso de segmentación de una imagen esta centrado en la detección de fronteras o bordes. Algunas operaciones de segmentación se pueden aplicar directamente a cualquier imagen. Otras, sólo se pueden aplicar a imágenes que ya hayan sido parcialmente segmentadas, ya que dependen de la geometría de las partes que han sido extraídas de la imagen. Los puntos de bordes son píxeles alrededor de los cuales la imagen presenta una brusca variación en los niveles de gris. En realidad el termino borde se refiere a cadenas conectadas de puntos de borde, esto es, fragmentos de contorno, esto no impide que la imagen también pueda contener puntos aislados que presentan un alto contraste en los niveles de gris. La detección de bordes es el método más común para detectar discontinuidades significativas en el nivel de gris ya que un borde es la frontera entre dos regiones con propiedades de nivel de gris relativamente distintas, cuanto más rápido se produce el cambio de intensidad, el eje o borde es más fuerte. El objetivo consiste en dada una imagen, que puede o no estar corrompida por ruido, localizar los bordes más probables generados por elementos de la escena y no por ruido. Un buen proceso de detección de bordes facilita la elaboración de las fronteras de objetos con lo que, el proceso de reconocimiento de objetos se simplifica. Para poder detectar los bordes de los objetos, se deben detectar aquellos puntos borde que los forman. Pero suponiéndose una imagen en que las regiones son suficientemente homogéneas para que la transición entre dos de ellas se pueda determinar mediante las discontinuidades de nivel de gris. En este caso, existen distintas definiciones de lo que es un borde, cada una aplicable a distintas circunstancias. Básicamente, la idea que subyace en la mayor parte de las técnicas de detección de bordes es el cálculo de un operador local de derivación. Una definición posible es que un píxel pertenece a un borde si se produce un cambio entre niveles de grises con sus vecinos. Mientras más brusco sea el cambio, más fácil es detectar el borde. El primer problema que surge usando esta definición es debido a la digitalización. El segundo problema es debido al ruido.
53
FG 2-20 Extracción de bordes en una imagen de células en sangre por el algoritmo de Canny. (Imagen cortesía de Rafael C. Gonzalez y Richard E. Woods. Digital Image Processing 2ed. Prentice Hall© EE.UU. 2002)
Es posible detectar mediante el concepto de primera y segunda derivada las esquinas de los objetos presentes en la imagen. La primera derivada es cero en todas las regiones de intensidad constante y tiene un valor constante en toda la transición de intensidad. La segunda derivada en cambio, es cero en todos los puntos, excepto en el comienzo y final de una transición de intensidad. Por tanto, un cambio de intensidad se manifiesta como un cambio brusco en la primera derivada y presenta un paso por cero, es decir se produce un cambio de signo en su valor en la segunda derivada. Este cambio de signo se denomina como “zero-crossing”. El valor de la primera derivada puede utilizarse para detectar la presencia de un borde así como el signo de la segunda derivada. Imagen con bordes Perfil de la intensidad de la línea horizontal Primera derivada Segunda derivada FG 2-21 Distinción entre operadores para la extracción de bordes basados en primera derivada y segunda derivada. (Imagen cortesía de Rafael C. González y Richard E. Woods. Digital Image Processing 2ed. Prentice Hall© EE.UU. 2002)
54
De entre los operadores basados en la primera derivada están los operadores gradiente; una de las principales aplicaciones se debe al algoritmo de Canny [Canny, J. 1986] en donde se extraen no solo los bordes de la imagen sino que se propone un método para cerrar contornos y derivar a partir de ahí la presencia de estructuras. El gradiente de una imagen G en un punto (x,y) es un vector, en donde sus componentes miden la rapidez en que los valores de los píxeles cambian en la distancia y en las direcciones x e y. dx y dy son las distancias en las direcciones x e y respectivamente, en términos de número de píxeles entre dos puntos. Un punto de borde puede ser visto como un punto en una imagen donde se produce una discontinuidad en el gradiente.
⎡ d [ f ( x, y )]⎤ ⎥ ⎡G x ⎤ ⎢ G[ f ( x, y )] = ⎢ ⎥ = ⎢ d [ f dx (x, y )]⎥⎥ ⎣G y ⎦ ⎢ dy ⎢⎣ ⎥⎦ EC 2-9 Definición de la gradiente.
En orden de detectar la presencia de una discontinuidad en la gradiente, el vector G señalará la dirección de la variación máxima de f en el punto de la imagen (x,y) y esto permitirá hacer una referencia aportando una unidad de distancia son su magnitud de la gradiente con la dirección detectada que pueden tomar cualquier valor entre 0° a 360°. G = G x2 + G y2 ≈ G x + G y
⎛ Gx ⎞ ⎟ ⎟ G ⎝ y⎠
θ ( x, y ) = tan −1 ⎜⎜
EC 2-10 Definición del cambio de la discontinuidad en la gradiente.
Para decidir sin un punto es un borde se define según si la magnitud de la gradiente supere un determinado umbral o no, pues bien sólo es cuestión de ajustar dicho umbral para que el resultado de la extracción de bordes sea el mismo tanto si se calcula la magnitud del gradiente. En imágenes discretas se puede considerar dx y dy en términos del número de píxeles entre dos puntos. Así, cuando dx=dy=1 y el punto donde se va a medir el gradiente tiene coordenadas (i,j). En orden de detectar la presencia de una discontinuidad en el gradiente, se debe calcular el cambio en el gradiente en el punto (i,j). Esto se puede hacer haciendo una referencia a la medida aportada por la magnitud del gradiente y su dirección.
55
G x = f (i + 1, j ) − f (i, j ) G y = f (i, j + 1) − f (i, j ) EC 2-11 Cambio de la gradiente en un punto de una imagen.
Haciendo una derivación en (EC 2-2)utilizando las diferencias de primer orden entre dos píxeles adyacentes como en (EC 2-5). ⎡ f ( x + d x ) − f ( x, − d x ) ⎤ ⎥ ⎡G x ⎤ ⎢ 2dx ⎢G ⎥ = ⎢ f ( y + d y ) − f ( y,−d y )⎥ ⎥ ⎣ y⎦ ⎢ ⎥⎦ ⎢⎣ 2dy EC 2-12 Obtención de la gradiente en un punto.
Para la implementación y computación del gradiente se utilizan máscaras o filtros que representan o equivalen a dichas ecuaciones. La diferencia entre los operadores de primera derivada y segunda consiste en que los valores obtenidos por los primeros son reales como los proporcionados por la ecuación (EC 2-9), mientras que los valores obtenidos con los segundos son discretos. Para la binarización de se utiliza la siguiente relación. ⎧1 G[ f ( x, y )] > T G ( x, y ) = ⎨ ⎩0 G[ f ( x, y )] ≤ T EC 2-13 Binarización de la imagen gradiente
Donde T es un valor umbral no negativo donde solo los píxeles de borde cuyo gradiente excedan el valor T se consideran importantes. El computar la gradiente sobre toda una imagen con las condiciones de que dx=dy=1 consiste en la convolución de la imagen. Para encontrar el borde de una imagen con el filtro de Canny se usan cuatro mascaras diferentes para detectar los bordes horizontales, verticales y diagonales. (0°, 45°, 90° y 135° con respecto al eje horizontal) Los resultados de aplicar la convolución con cada una de estas máscaras se guardan, marcándose el píxel más consistente en ser detectado en la serie de convoluciones y la dirección del borde que produjo la convolución. Teniéndose un mapa de gradientes de intensidad por cada píxel de la imagen y la dirección de los puntos de intensidad en los gradientes.
56
Los gradientes con los valores de intensidad más altos, son mejores candidatos a ser considerados como bordes. El criterio para considerar dicho gradiente como un borde depende de los valores de umbral de intensidad del gradiente. El umbral requiere dos valores, un valor superior y otro inferior. Suponiendo que los bordes importantes deben ser líneas continuas marcadas (líneas circulares, rectas, etc.) en la imagen. Pudiendo de esta manera identificar líneas principales (bordes) y no pequeñas líneas. El resultado de la extracción de contornos en la imagen no suele presentarse con los contornos cerrados. Esto implica que al momento de determinar si un contorno delimita una región o no, existe la problemática de determinar su cierre. Para llevar a cabo el cierre de bordes se buscan los extremos de los contornos abiertos y se sigue la dirección del máximo gradiente hasta cerrarlos con otro extremo abierto. Se fundamenta en el supuesto de que aunque un determinado borde, o tramo del mismo, no haya sido detectado correctamente por problemas de ruido, de atenuación de su contraste o durante el proceso de eliminación de píxeles debajo del umbral, el valor de la magnitud de la gradiente a lo largo de la dirección del contorno será máximo. La extracción de bordes como el filtro de Canny permite identificar algunas estructuras y en un proceso de detección de estructuras se pueden localizar objetos para propósitos diversos.
2.7 Detección de objetos El propósito de la detección de objetos es asilar partes de una imagen según por sus características (localización) como entidades que tienen un significado para desarrollar un conjunto de técnicas para caracterizar dichas entidades de forma natural. La suposición más importante es que algún subconjunto de la imagen llamado genéricamente como figura, ha sido extraído ya como resultado de un proceso previo (localización). El tratamiento será aplicable a figuras compuestas de puntos discretos, figuras compuestas de líneas, y figuras compuestas de áreas. Desgraciadamente no existe un algoritmo aplicable con carácter general y si existe una variedad de técnicas que son útiles en situaciones particulares. Se trataran brevemente la transformada de Hough muy útil para encontrar segmentos rectos.
2.7.1 Transformada de Hough Esta es una técnica que permite descubrir formas en una imagen. Se basa en transformar puntos de la imagen en un espacio de parámetros. La idea es encontrar curvas parametrizabales como rectas, círculos y polinomiales. En teoría se pueden encontrar formas más complejas pero el costo computacional crece rápidamente. Generalmente se realiza una extracción de bordes a la imagen por medio de filtros como el de Canny y
57
luego se aplica la transformada a esta. De esta forma son menos los puntos que hay que recorrer y por lo tanto más rápido es el algoritmo. Por ejemplo para detectar rectas con la transformada de Hough. [HOUGH 1962] Para cada punto x,y de la imagen binarizada se pasan infinitas rectas de la forma: y=ax+b. Luego cada punto x,y vota para cada pareja de puntos que satisface b=y-ax. El algoritmo tiene que recorrer todos los puntos x,y, y para cada uno votar en el espacio de parámetros a,b o acumulador. Luego la pareja a,b con mas votos o el máximo del acumulador da la ecuación de la recta. La ecuación del circulo tiene tres parámetros (dos para el centro del círculo, uno para el radio). Por lo tanto, el espacio de parámetros esta forma es de dimensión tres. Esto dificulta el algoritmo, recorrer un espacio de dimensión dos, y encontrar máximos en espacio de dimensión tres. Para imágenes binarias se definen operaciones morfológicas (forma y estructura de un objeto) y con estas se constituye una herramienta de extracción de componentes de imagen útiles en la representación y descripción de la forma de las regiones. Las operaciones básicas de la morfología matemática es la dilatación, es decir agregar píxeles a un objeto, hacerlo más grande, y la erosión es hacerlo mas chico. Luego la combinación de estas operaciones, dan origen a los operadores apertura y clausura. El primero consiste en aplicar una erosión seguida de una dilatación aplicando la misma forma estructurante, como resultado esta tiende a "abrir pequeños huecos". La clausura es la aplicación de las operaciones básicas en el sentido inverso, y resulta en "cerrar los huecos". La transformada de Hough es una técnica que permite descubrir formas en una imagen. Pero la transformada de Hough clásica es una técnica útil para aislar rasgos de una imagen que tienen cierta forma definida. Pero en los rostros humanos no se puede exigir que los rasgos deseados estén especificados de forma precisa; la transformada de Hough clásica es más usada en la detección de curvas regulares como líneas, elipses, etc. Una transformada de Hough generalizada puede ser empleada en aplicaciones donde una descripción analítica simple del rasgo(s) no es posible como es en el caso de los rostros humanos.
2.8 Aplicación de la visión computacional Si se resume los que se ha explicado con anterioridad, se puede decir que un sistema de computo captura una imagen y realiza un procesamiento para extraer la información relevante de esta imagen, para que a su vez, esta información pueda interpretarse en algún sentido. La interpretación de la información extraída es la barrera que separa el procesamiento de la imagen (ver) y la visión computacional (observar).
58
El reconocimiento de patrones es la disciplina científica cuyo objetivo es la clasificación de objetos de un cierto número de categorías, clases ó clusters. Dependiendo de la aplicación esos objetos pueden ser imágenes, formadas de ondas de señales o cualquier tipo de medidas que necesitan que ser clasificadas. Nos referiremos a estos objetos de forma genérica utilizando el término de patrones.
1000 500 0 -500 -1000 1000 1000
500 -1000 2th axis
0
-3000
0
-2000 1th axis
FG 2-22 Agrupación de patrones en clases o clusters
Históricamente los dos enfoques en el reconocimiento de patrones han sido el estadístico (o teoría de la decisión) y el sintáctico (o estructura). El aumento de la capacidad de almacenamiento ofrecida por los más modernos sistemas ha proporcionado el reconocimiento basado en la apariencia. Tanto el enfoque estadístico como el basado en redes neuronales utilizan patrones de los que se extraen de ellos propiedades de naturaleza cuantitativa, mientras que el enfoque sintáctico se fundamenta en relaciones geométricas asociadas a la forma de los objetos y el enfoque basado en la apariencia considera distintas formas de vista de los mismos. Dada la extensión de los temas se tratará el enfoque de las redes neuronales. El reconocimiento de patrones es una parte de muchos sistemas inteligentes desarrollados tanto para la toma de datos como de decisiones. La visión por computadora es un área en la cual el reconocimiento de patrones tienen una gran importancia, como es el reconocimiento óptico de caracteres también llamado OCR (Optical Character Recognizer).
59
EL OCR es un proceso que analiza los caracteres impresos y determina su forma utilizando patrones de oscuros y claros. Este procedimiento suele requerir la utilización de un escáner óptico, con el que se obtiene una imagen del texto. A continuación, una red neuronal compara los claroscuros de la imagen con patrones de caracteres; cuando se identifica un carácter se convierte en ASCII, lo que permite el posterior tratamiento informático del texto escaneado.
2.8.1 Redes Neuronales Artificiales (RNA) Las redes de neuronas artificiales (RNA) forman parte de la Inteligencia Artificial y es un paradigma de aprendizaje y procesamiento automático inspirado en la forma en que funciona el sistema nervioso de los animales. Consiste en simular las propiedades observadas en los sistemas neuronales biológicos a través de modelos matemáticos recreados mediante mecanismos artificiales. El objetivo es conseguir que las máquinas den respuestas similares a las que es capaz el cerebro que se caracterizan por su generalización y su robustez. Con un paradigma convencional de programación informática, el objetivo del programador es modelar matemáticamente (con distintos grados de formalismo) el problema en cuestión y formular una solución mediante un algoritmo que tenga una serie de propiedades que permitan resolver dicho problema. En contraposición, la aproximación basada en las RNA parte de un conjunto de datos de entrada suficientemente significativo y el objetivo es conseguir que la red aprenda automáticamente las propiedades deseadas. En este sentido, el diseño de la red tiene menos que ver con cuestiones como los flujos de datos y la detección de condiciones, y más que ver con cuestiones tales como la selección del modelo de red, la de las variables a incorporar y el preprocesamiento de la información que formará el conjunto de entrenamiento. Asimismo, el proceso por el que los parámetros de la red se adecuan a la resolución. Cada problema no se denomina genéricamente programación sino que se suele denominar entrenamiento.
60
FG 2-23 Red neuronal artificial perceptrón simple con n neuronas de entrada, m neuronas en su capa oculta y una neurona de salida. (cortesía por Wikipedia ©)
Por ejemplo, en una red que se va a aplicar al reconocimiento de rostros; durante la fase de entrenamiento el sistema recibe imágenes y sabe quienes forman parte de la base de datos y cuales no lo son. Si el entrenamiento es el adecuado, una vez concluido, el sistema podrá recibir imágenes de rostros no clasificados y obtener su clasificación con un buen grado de seguridad. Las variables de entrada pueden ser desde los puntos individuales de cada imagen hasta un vector de características de las mismas que se puedan incorporar al sistema (por ejemplo, estructura anatómica del rostro). La mayoría de los científicos coinciden en que una RNA es muy diferente en términos de estructura de un cerebro animal. Al igual que el cerebro una RNA se compone de un conjunto masivamente paralelo de unidades de proceso muy simples y es en las conexiones entre estas unidades donde reside la inteligencia de la red. Sin embargo, en términos de escala, un cerebro es mucho mayor que cualquier RNA creada hasta la actualidad, y las neuronas artificiales también son más simples que su contrapartida animal. Biológicamente, un cerebro aprende mediante la reorganización de las conexiones sinápticas entre las neuronas que lo componen. De la misma manera, las RNA tienen un gran número de procesadores virtuales interconectados que de forma simplificada simulan la funcionalidad de las neuronas biológicas. En esta simulación, la reorganización de las conexiones sinápticas biológicas se modela mediante un mecanismo de pesos, que son ajustados durante la fase de aprendizaje. En una RNA entrenada, el conjunto de los pesos determina el conocimiento de esa RNA y tiene la propiedad de resolver el problema para el que la RNA ha sido entrenada. Por otra parte, en una RNA, además de los pesos y las conexiones, cada neurona tiene asociada una función matemática denominada función de transferencia. Dicha función genera la señal de salida de la neurona a partir de las señales de entrada. La entrada de la
61
función es la suma de todas las señales de entrada por el peso asociado a la conexión de entrada de la señal. Algunos ejemplos de funciones de transferencia son la función escalón, la lineal o mixta, la sigmoidal y la función gaussiana. Las Redes de Neuronas Artificiales (RNA) tienen muchas ventajas debido a que están basadas en la estructura del sistema nervioso, principalmente el cerebro.
Aprendizaje: Las RNA tienen la habilidad de aprender mediante una etapa que se llama etapa de aprendizaje. Esta consiste en proporcionar a la RNA datos como entrada a su vez que se le indica cuál es la salida (respuesta) esperada. Auto organización: Una RNA crea su propia representación de la información en su interior, descargando al de esto. Tolerancia a fallos. Debido a que una RNA almacena la información de forma redundante, ésta puede seguir respondiendo aceptablemente aún si parcialmente se daña. Flexibilidad: Una RNA puede manejar cambios no importantes en la información de entrada, como señales con ruido u otros cambios en la entrada (por ejemplo, si la información de entrada es la imagen de un objeto, la respuesta correspondiente no sufre cambios si la imagen cambia un poco su brillo o el objeto cambia ligeramente) Tiempo real: La estructura de una RNA es paralela, por lo cuál si esto es implementado con computadoras o en dispositivos electrónicos especiales, se pueden obtener respuestas en tiempo real.
Existen diferentes tipos de clasificaciones de redes neuronales las redes que se pueden clasificar por su topología, aprendizaje y tipo de entrada. Una primera clasificación de las redes de neuronas artificiales que se suele hacer es en función del patrón de conexiones que presenta. Así se definen tres tipos básicos de redes:
Los tipos de redes de propagación hacia delante o acíclicas en las que todas las señales van desde la capa de entrada hacia la salida sin ciclos. Cuando tienen una sola capa, por ejemplo: perceptrón simple, Adaline. Cuando son multicapa por ejemplo el perceptrón multicapa (backpropagation). Las redes recurrentes que presentan al menos un ciclo cerrado de activación neuronal. Ejemplos: Elman, Hopfield, máquina de Bolzman.
Una segunda clasificación que se suele hacer es en función del tipo de aprendizaje de que es capaz (si necesita o no un conjunto de entrenamiento supervisado). Para cada tipo de aprendizaje se encuentran varios modelos:
Aprendizaje supervisado: necesitan un conjunto de datos de entrada previamente clasificado o cuya respuesta objetivo se conoce. Ejemplos de este tipo de redes son: el perceptrón simple, la red Adaline, el perceptrón multicapa y la memoria asociativa bidireccional.
62
Aprendizaje no supervisado o autoorganizado: no necesitan de tal conjunto previo. Ejemplos de este tipo de redes son: las memorias asociativas, las redes de Hopfield, la máquina de Bolzman y la máquina de Cauchy, las redes de aprendizaje competitivo, las redes de Kohonen o mapas autoorganizados y las redes de resonancia adaptativa (ART) Redes híbridas: son un enfoque mixto en el que se utiliza una función de mejora para facilitar la convergencia. Un ejemplo de este último tipo son las redes de base radial.
Finalmente también se pueden clasificar las RNA según sean capaces de procesar información de distinto tipo en:
Redes analógicas: procesan datos de entrada con valores continuos y, habitualmente, acotados. Ejemplos de este tipo de redes son: Hopfield, Kohonen y las redes de aprendizaje competitivo, redes de resonancia adaptativa tipo 2 (ART2). Redes discretas: procesan datos de entrada de naturaleza discreta; habitualmente valores lógicos booleanos. Ejemplos de este segundo tipo de redes son: las máquinas de Bolzman y Cauchy, y la red discreta de Hopfield, redes de resonancia adaptativa tipo 1 (ART1)
Por no existir modelos matemáticos precisos o algoritmos con una complejidad razonable para la detección de rostros en imágenes las RNA pueden ser empleadas. Según el tipo de filtro realizado para la extracción de bordes, se puede un aplicar una red neuronal para analizar secciones de una imagen y encontrar patrones que permitan determinar si en esa sección de la imagen pudiera estar presente un rostro humano, localizar el rostro para que sea reconocido. Por la naturaleza del problema de reconocimiento de rostros, las redes neuronales no organizadas son las más empleadas. Las redes neuronales autoorganizadas fueron inicialmente desarrolladas por Kohonen [KOHONEN 1982]. Este tipo de red puede establecerse para propósitos de clasificación y extracción de características y si se combina con filtros como el de Gabor se tiene una opción con resultados muy positivos para el reconocimiento de rostros. [WELDON 1996] Las redes neuronales no supervisadas o autoorganizadas se caracterizan porque en su entrenamiento no se presentan las salidas objetivo que se desean asociar a cada patrón de entrada. Estos modelos de redes neuronales no supervisadas, pueden clasificarse en dos grupos. Dentro de este tipo de redes neuronales están las redes no supervisadas competitivas, en el que solamente una neurona (o grupo de vecinas) puede quedar finalmente activadas. La base de la operación de estos modelos es la competición entre las neuronas, materializada en forma de inhibiciones laterales, a través de las cuales cada una trata de inhibir a las demás. En los modelos competitivos, durante la fase de aprendizaje las neuronas vencedoras obtienen como premio el refuerzo de sus conexiones sinápticas. La competición es un comportamiento básico en muchos de los modelos neuronales
63
autoorganizados más conocidos como el ART [CARPENTER 1988] o mapas de Kohonen. Modelos muy empleados para el reconocimiento de rostros [STOLL 1997]. La idea de que una red neuronal pudiera aprender nuevos patrones, es decir tener cierta plasticidad del aprendizaje y recordar los patrones ya aprendidos hizo que surgieran las redes ART. Sin embargo, estas dos características de las redes ART, son difíciles de implementar juntas, pues al aprender nuevos patrones, se corre el riesgo de perder los ya memorizados, igualmente, si se mantienen firmemente memorizados unos patrones iniciales, se dificulta el aprendizaje de nuevos patrones, comprometiendo su capacidad de adaptarse a condiciones nuevas. Grossberg, Carpenter y un grupo de colaboradores desarrollaron su teoría de resonancia adaptativa (ART) para resolver este dilema. Esta se aplica a redes con aprendizaje competitivo, en las cuales solo una neurona o una neurona de un grupo de ellas, después de competir con otras, reacciona con su máximo nivel de respuesta al presentarse determinado patrón de entrada. Se dice que esta neurona es la vencedora. De esta manera la red busca crear categorías (clusters en inglés), según los datos que se le introduzca. La red debe decidir a que categoría pertenece cada dato que se le presente según su parecido con alguna categoría definida, y si no hay un grado de similitud lo suficientemente grande, la red creará una categoría nueva tomando como modelo el nuevo patrón. Se deduce de esto que el aprendizaje en las redes ART es no supervisado. A estas redes se les ha agregado un mecanismo especial de realimentación entre las neuronas de la capa de salida (las competitivas) y las de la capa de entrada. Esto contribuye a mantener la plasticidad y la estabilidad de la red. Como variante de la red neuronal ART la red ART2 [CARPENTER 1987] puede tener no solo patrones de entrada binarios sino además analógicos, y así poder trabajar en imágenes en escala de gris. Con redes neuronales ART2 conectada a un Mapa de Memoria se pueden desarrollar sistemas de reconocimiento de rostros con resultados aceptables [SOSSA 1998, et al]
Capítulo tres Proceso de identificación de rostros en imágenes bidimensionales
Hay dos clases de contribuciones matemáticas: Las obras que son importante para la historia de las matemáticas y las que, sencillamente, constituyen un triunfo del espíritu humano. -Paul J. Cohen, 1996
65
Capítulo 3. Proceso de identificación de rostros en imágenes bidimensionales En este capítulo se expone en forma detallada el método para la identificación de una persona entre un conjunto de imágenes de rostros. Por la complejidad que involucraría un sistema completo de reconocimiento, esta tesis trata básicamente de la identificación de rostros que ya fueron detectados y encuadrados. Se menciona en detalle el Análisis de Componentes Principales. [TURK y PENTLAND 1991] Rigurosamente se describirá el proceso con imágenes del ORL [OLIVETTI 2005]. Se ha preferido explicar matemáticamente dicho método y no vincular la explicación con algún lenguaje de programación para no perder la ilación del tema. El capitulo omite detallar conceptos de álgebra lineal. Se ha anexado un apéndice donde en forma concisa se aclaran conceptos como vector, matriz, autovector, ortonormalización, distancia euclidiana, etc. Si el lector desconoce esto se recomienda leer antes éste apéndice junto con la bibliografía recomendada. Los resultados del proceso de identificación fueron obtenidos por el Sistema de Reconocimiento de Rostros codificado para la validación de la hipótesis.
3.1 Sistema completo para el reconocimiento de rostros La detección y reconocimiento de rostros han sido los campos de la visión computacional más investigados. Este problema ha atraído investigadores de diferentes disciplinas como la psicología, ciencias computacionales e ingeniería habiendo significativos avances. Un sistema completo automatizado de reconocimiento cumple con las etapas siguientes: Captura de la
Detección del
Localización
Identificación
imagen
rostro
Del rostro
Del rostro
FG 3-1 Etapas forman parte de un completo sistema de reconocimiento de rostros. Cuando existe un conjunto de rostros en una misma fotografía se tiene un problema de detección de rostros y una vez detectados se requiere un proceso de localización. Un rostro ya detectado en una escena requiere operaciones geométricas y un proceso de normalización fotométrica para que sea localizado. Si la imagen de un rostro al
66
compararse con otras imágenes existe una correspondencia entonces el rostro es “identificado”.
Proceso de Detección de presencia de rostros Rostro localizado
FG 3-2 Diferencia entre detección de rostros y localización de rostros. (imagen cortesía de Microsoft)
3.2 Detección de rostros La idea subyacente de la detección de objetos es que los ojos humanos pueden detectar estos objetos sin esfuerzo, mientras las maquinas no pueden hacerlo de forma tan sencilla. Desde la perspectiva de la computación, es como un hombre en la oscuridad a tientas trata de encontrar un objeto con la ayuda de sus dedos o un palo. El problema de detección de objetos puede ser considerado como tareas de segmentación y localización. Entre los métodos generalmente mas usados para la detección son aquellos que buscan rasgos constantes para encontrar cierta afinidad o estructura geométrica. Al extraer los bordes de una imagen se puede encontrar ciertas afinidades. Existen diferentes filtros para extraer los contornos, como son el filtro Sobel, Prewitt, Roberts, Frei-Chen, Laplaciana de Gaussiana, Canny, etcétera.
67
Escala de grises a)
Filtro de Sobel b)
Filtro de Prewitt c)
Filtro de Roberts d)
Filtro de Frei-Chen e)
Filtro Laplaciana f)
Filtro de la Laplaciana Filtro de Cruzamiento Filtro de Canny i) de la Gaussiana g) Cero (Zero Crossing) h)
FG 3-3 Ejemplo de diferentes filtros de extracción de bordes (las imágenes resultantes de los filtros han sido invertido los colores para una mejor apreciación). (cortesía por equipo Pumas de la UNAM)
68
Al ser detectado un rostro, con operaciones geométricas; un proceso de normalización es realizado para que el rostro sea localizado y posteriormente identificado..
FG 3-4 Aplicación del filtro de Canny en un rostro localizado. En la FIG.3-4 se puede observar la aplicación del filtro de Canny [CANNY 1986]. El filtro de Canny fue desarrollado en 1986 por John F. Canny y es utilizado para la extracción de bordes y es considerado generalmente como el mejor filtro para esta tarea al cerrar los contornos evitando posibles rupturas. Pero sin importar el filtro que se emplee, dependiendo de la naturaleza de la imagen, al extraerse sus bordes puede existir una gran incertidumbre para establecer reglas claras y precisas para que un sistema pueda encontrar algún patrón o figura geométrica que permita detectar un rostro humano. Por ejemplo las siguientes imágenes muestran esta dificultad.
a)
69
b)
FG 3-5 Limitaciones de un método de detección de rostros aplicando el filtro de Canny. (cortesía por Fisher, S. Perkins, A. Walker and E. Wolfart en HIPR2)
Aún así se buscan encontrar tendencias, se pueden aplicar varios métodos como la transformada de Hough ó una red neuronal como la ART en secciones de la imagen.
3.3 Descripción general del sistema para la identificación de rostros Aunque aún no se ha encontrado una solución óptima en el reconocimiento de rostros existen dos marcos teóricos que han sido diseñados con éxito. 1. Las redes neuronales artificiales: Como es sabido, son de uso general para la resolución de problemas de reconocimiento de patrones. La técnica más empleada es la de Análisis en Componentes Principales, que se tratará con mayor amplitud. 2. Los modelos deformables: Agrupados bajo este nombre están métodos muy diversos. Son llamamos así porque se basan en la adaptación o deformación de alguna estructura (un grafo que represente a la imagen, un modelo de la misma, etc.) que simplifique el proceso de reconocimiento. En [LANITIS 1997] y [WURTZ 1994] se emplean métodos de este tipo.
70
La tarea del reconocimiento de rostros es la discriminación de las señales de entradas (datos de imágenes) en diferentes clases (personas). Estas señales son altamente ruidosas; pero aún al capturar estas imágenes la información no está completamente al azar y a pesar de las diferencias, existen patrones recurrentes. Tales patrones, que pueden ser observados en todas las señales como (en el dominio del reconocimiento de rostros) la presencia de algunos objetos (ojos, nariz, boca, etc.). Estos rasgos pueden ser extraídos de la imagen original por medios de métodos como el Análisis de Componentes Principales (A). El A es una técnica usada para describir conjuntos de imágenes que se registran espacialmente. Esta herramienta matemática pretende reducir el número de operaciones haciendo para el ordenador abordable el problema de reconocimiento. La idea es aprovechar la redundancia de un conjunto por hallarse constituido por imágenes de naturaleza similar. (puesto que todas son de rostros humanos) El enfoque de A comienza con un desglose de un conjunto imágenes no entrenadas que son ingresadas al sistema conocido como Conjunto de Entrenamiento (CE) extrayendo los componentes distintivos para generar un espacio de múltiples dimensiones llamado como Espacio de Rostros, a esta etapa se le conoce como Entrenamiento. Una vez el entrenamiento, cualquier imagen puede ser proyectada a este espacio. Sin embargo, solamente aquellas imágenes que compartan características similares serán proyectadas de manera exitosa. Las imágenes que no están en el CE aún si llegarán a pertenecer a un individuo; esas imágenes usualmente son detectadas a un grado satisfactorio, siempre y cuando no difirieran mas allá de lo permitido con las del CE. En el lenguaje de la teoría de información, el objetivo del A es extraer aquella información que sea relevante en la imagen codificada para compararla con respecto a modelos de base de datos codificados de una manera similar. Es decir, se extrae la información relevante contenida en la imagen, capturando las variaciones existentes del CE, sin prejuicios sobre las características presentes, y usar esta información para codificarla y compararla con otras imágenes. En términos matemáticos, con el A se puede representar grandes dimensiones de datos en un espacio menor con vectores ortogonales significativos. Se tratan a las imágenes como vectores, y forman un espacio de multidimensional y en este espacio se encuentran los principales componentes de la distribución. El conjunto de características que definen las variaciones se pueden conocer como autovectores. Cada imagen ubicada contribuye de alguna manera a cada autovector, de tal forma que se pueden mostrar los autovectores como un rostro fantasmal llamado Rostro Característico, autocara ó eigenface.
71
FG 3-6 Imagen de rostros característicos o autocaras. El número de posibles autocaras es igual al número de imágenes del CE y su uso es motivado por que con el A se puede representar estas imágenes a partir de reconstrucciones aproximadas, almacenando una pequeña colección de pesos relativos para cada rostro del CE y las autocaras correspondientes. Entonces la imagen reconstruida es una aproximación de la imagen original. La imagen original en un CE puede ser reconstruida, si se suman todas las autocaras en la proporción correcta. Cada autocara representa solamente ciertos rasgos de un rostro, que pudieran o no ser presentados en la imagen original. Si el rasgo en la imagen original es remarcadamente distinto al resto de las imágenes del CE, en la “suma” de las autocaras deberá tener mayor presencia. Si por el contrario, el rasgo particular no es (o casi no) presentado en la imagen original entonces la autocara correspondiente deberá contribuir a una menor (o no del todo) parte de la suma de las autocaras. Entonces en orden de reconstruir la imagen original se debe de construir algo como una suma de pesos de todas las autocaras. Esto es, la imagen reconstruida original es igual a la suma de todas las autocaras, con cada autocara teniendo un peso específico. Estos pesos indican la cantidad por lo que el rostro en cuestión difiere de los rostros típicamente representados por las autocaras. Es decir los pesos determinan el grado que un rasgo específico (autocara) este presente en la imagen original. Si se usan todas las autocaras extraídas de las imágenes originales (imágenes que formaron parte del Conjunto de Entrenamiento), se puede reconstruir las imágenes originales de autocaras casi exactamente (puede haber diferencias menores por método empleado para la ortonormalización de los autovectores). Es posible también usar solamente una parte de las autocaras; los rostros pueden aproximarse usando solamente las “mejores” autocaras, considerando solamente las autocaras que describan mejor las peculiaridades distintivas de la imagen original. Se puede asegurar que las perdidas debido a la omisión de algunas autocaras pueden ser minimizadas ya que se escogerían solamente los rasgos más importantes o distintivos.
72
La omisión de autocaras es necesariamente debido a la escasez de recursos computacionales pero puede significar en un decremento en la eficiencia del reconocimiento si los rostros son muy semejantes como son en el caso de los gemelos. Al ser posible no solamente extraer el rostro desde las autocaras dados a un conjunto de pesos, también lo es extraer los pesos de autocaras y el rostro a ser reconocido. Por lo tanto, usando estos pesos puede determinar lo siguiente: 1. El determinar si la imagen en cuestión es un rostro del todo. En caso de que los pesos de la imagen difieran demasiado de los pesos de las imágenes de rostros entonces probablemente la imagen no es un rostro. 2. Los rostros similares (imágenes) poseen rasgos similares (autocaras) en grados similares (pesos). Si se extraen pesos de todas las imágenes disponibles, las imágenes podrían ser agrupadas. Esto es, todas las imágenes que tienen pesos similares probablemente son rostros similares. Hasta el momento, se puede resumir que en el método de A, el reconocimiento de rostros se realiza correlacionando una imagen con respecto a todas las imágenes del Conjunto de Entrenamiento. La imagen del conjunto que proporcione la mayor correlación será la correspondiente a la identidad de la persona que se desea averiguar.
3.4 Algoritmo para el reconocimiento de rostros El algoritmo para el reconocimiento de rostros usando autocaras es básicamente descrito en la siguiente figura, (FG 3-7) las imágenes originales de rostros del Conjunto de Entrenamiento son adquiridas y transformadas a un conjunto de autocaras E, mismo conjunto que definirá el Espacio de Rostros. Después, los pesos de características en son calculados para cada imagen del conjunto de entrenamiento y se almacenan dichos pesos en el conjunto W. En la obtención de una imagen desconocida X, los pesos son calculados para esa imagen particular y almacenados en el vector Wx. Después, Wx es comparado con los pesos de las imágenes de rostros del conjunto de entrenamiento W, es decir, que se proyectará la nueva imagen en cada una de las autocaras del conjunto E. Una manera de hacer esto, es considerar cada vector de pesos como un punto en un espacio multidimensional y calcular la distancia euclidiana D entre el vector de pesos W y el vector de pesos de la imagen desconocida Wx. Si esta distancia excede un valor umbral predefinido θ entonces el vector de pesos de la imagen desconocida Wx esta muy alejado de los pesos de las imágenes. En este caso, la imagen no se clasifica. En caso contrario, el vector de pesos Wx es almacenado para una clasificación. La determinación del umbral se define empíricamente. Existe un paso, que es opcional, que no se muestra en la gráfica (FG 3-7), si existe un rostro que no se puede clasificar y es repetitivo, se calcula su peso de sus características
73
y se incorpora dicho rostro dentro del Conjunto de Entrenamiento, para que mismo conjunto se “actualice”.
inicio
CE
E=autocaras(ConjuntoEntrenamiento)
W=pesos(E,ConjuntoEntrenamiento)
Entrada de imagen desconocida X
Wx=pesos(E,X)
D=prom(distancia(W,Wx))
D<θ? X es un rostro
X no es un rostro
Almacenar X y Wx
fin
FG 3-7 Algoritmo para el reconocimiento de rostros. La aproximación de autocaras para el reconocimiento de rostros involucra varías operaciones englobadas en dos fases. En la fase de inicialización estas operaciones son: 1. Adquirir un conjunto de imágenes para su entrenamiento. 2. Calcular las autocaras del conjunto de entrenamiento, manteniendo solamente las mejores M imágenes con los autovalores más altos. Estas M imágenes se definirá como un “Espacio de Rostros”. A medida que se experimenta el sistema nuevos rostros las autocaras pueden ser actualizadas.
74
3. Calcular la distribución correspondiente en un espacio de M dimensiones de pesos para cada individuo conocido (imagen de entrenamiento) proyectando su imagen de rostros en el espacio de rostros. Habiendo inicializando el sistema, los siguientes pasos se hacen para el reconocimiento de nuevas imágenes de rostros. 1. Dada una imagen para ser reconocida, se calculan un conjunto de pesos de las M autocaras al proyectar los pesos a cada una de las autocaras. 2. Determinar si la imagen es un rostro verificando si dicha imagen esta ubicada en un grado suficiente al Espacio de Rostros. 3. Si es un rostro, clasificar el pesos de patrones ya sea como una persona conocida o desconocida. 4. (opcional) Actualizar las autocaras y/o los pesos de los patrones. 5. (opcional) Calcular las características de los peso de patrones de la nueva imagen, e incorporar a los rostros conocidos.
3.5 Metodología en el reconocimiento de rostros Teniéndose un CE Γ los vectores Γ1, Γ2, ... ΓM, donde cada vector Γi permite mostrar el rostro de una persona en 256 tonos de gris. Las imágenes con un tamaño de x columnas por y renglones generarán vectores de dimensión N (xy). Será recomendable antes de generar estos vectores aplicar un filtro como una ecualización, para mejorar la imagen. 1a.jpg
: 123 124 128 132 134 136 133 128 :
Γ1
FG 3-8 Vectorización de imágenes del Conjunto de Entrenamiento.
Conjunto de Entrenamiento
75
Estos vectores del CE definen un espacio vectorial denominado como “Espacio de Rostros”. Como el conjunto es de un tipo de imágenes con una configuración general similar (porque son todas las imágenes rostros humanos), no se distribuirán los vectores de manera aleatoria en este gran espacio, por lo que se pueden describir en un subespacio dimensional menor. La idea principal del A es encontrar el vector que mejor explique la distribución de los rostros dentro de este espacio. Considérese un CE (FG 3-9)con 3 imágenes diferentes de 6 personas (M=18). Cada imagen tiene un tamaño de 92 × 112 píxeles, por lo tanto cada vector Γi tiene una dimensión de 10.304 (N).
FG 3-9 Conjunto de Entrenamiento (CE). (Cortesía de la Olivetti Research Laboratory ORL)
Este CE se utilizará para mostrar como el A funciona y como operan las ecuaciones. Entonces con este CE se calcula el Rostro Promedio ψ.
Ψ= EC 3-1 Ecuación para obtener el Rostro Promedio.
1 M
M
∑Γ i =1
i
76
Para el CE (FG 3-9) el vector ψ se muestra así (FG 3-10):
FG 3-10 Rostro Promedio según el CE (FG 3-9).
Cada rostro del CE difiere en algún grado de éste Rostro Promedio ψ. Φ i = Γi − Ψ EC 3-2 Ecuación para calcular las diferencias al Rostro Promedio (Φ).
Estos vectores Φi visualmente se observan de la siguiente manera:
FG 3-11 Imágenes Φi que son resta del Rostro Promedio (FG 3-10) a cada imagen del CE (FG 3-9).
77
Se buscan los M autovectores uk ortonormales que mejor describan la distribución de datos, de manera que cualquiera de las imágenes pueda reconstruirse de la siguiente forma (EC 3-3): M
Γ j = ψ + ∑ u k ω jk k =1
EC 3-3 Ecuación para proyectar una imagen Γj al Espacio de Rostros.
Los coeficientes wjk están determinados por las proyecciones sobre los autovectores uk:
ω jk = Φ Tj u k EC 3-4 Ecuación para conocer la matriz de pesos W.
Lo que se busca es encontrar las direcciones de los vectores uk donde las desviaciones se encuentren concentradas. En la siguiente ecuación provee una medida de desviación en dirección al vector uk.
λk =
1 M
∑ (u M
j =1
T k
Φj
)
2
EC 3-5 Medidas de desviación de los autovectores uk (autovalores de la matriz de covarianzas).
Ahora, se introduce el concepto de Matriz de Covarianza: C=
1 M
M
∑Φ Φ i =1
i
T i
EC 3-6 Calculo de la matriz de covarianza.
Por lo tanto los vectores uk y los escalares λk son los autovectores y autovalores de la matriz de covarianzas C. Pero con (EC 3-6)la matriz C tendría dimensiones de N2 y el cálculo de los autovectores uk sería una tarea muy difícil. Considerando que el tamaño del CE, es un número menor a la dimensión del espacio de las imágenes (M
78
A = [Φ 1
Φ2 L ΦM ]
EC 3-7 Definición de la matriz para el cálculo de Matriz de Covarianzas reducida (A).
Entonces el calculo de los autovectores vk de ATA sería: AT Av k = λ k v k EC 3-8 Autovectores vk de la matriz ATA.
Premultiplicando ambos lados de la ecuación (EC 3-8) por A entonces se tienen que Avk son los autovectores de C=AAT. Entonces la ecuación (EC 3-6) puede reescribirse:
C=
1 AAT M
EC 3-9 Calculo de Matriz de Covarianzas reducida (dimensiones MN).
Por lo anterior, los autovectores uk de la matriz C (EC 3-5) se pueden obtener a partir de los autovectores vk de la matriz reducida AAT de la siguiente forma: u k = Avk EC 3-10 Calculo de los autovectores uk.
Entonces la matriz C con(EC 3-9) las dimensiones serán menores, obtener los autovectores vk a través de un proceso iterativo como el método de potencias y la ortonormalización de los vk con un método como el de Householder, permitirá que se obtengan los autovectores uk (EC 3-10) Para más información véase el apéndice. Para observar correctamente los autovectores uk, (EC 3-10) los vectores Φi (EC 32)y el Rostro Promedio ψ (EC 3-1) se normalizan estos vectores a un rango entre 0 y 255, (solo para propósitos de visualización) para que se representen en imágenes de gris (EC 3-11).
79
⎛ 255 × (MAX (V ) − V ) ⎞ ⎟ V = 255 − ⎜⎜ ⎟ ( ) ( ) MAX V MIN V − ⎝ ⎠ EC 3-11 Procedimiento para representar correctamente un vector V.
MAX(V) es el mayor valor del vector V y MIN(V) es el menor. La longitud del rango de valores del vector V es |MAX(V) MIN(V)|. Cuando se transforman los autovectores uk, en imágenes se obtiene según en el campo de reconocimiento de rostros “autocaras”, “Rostros Característicos” ó “eigenfaces”. Al transformar en imagenes los autovectores uk del CE son vistos de la siguiente manera:
u1
u2
u3
u4
u5
u6
u7
u8
u9
u10
u11
u12
u13
u14
u15
u16
u17
u18
FG 3-12 Autocaras obtenidas a partir de la conversión de los autovectores uk (EC 3-10) con el CE (FG 39).
Después los autovectores uk son “pesados” (EC 3-4) para que se pueda reconstruir las imágenes proyectadas al Espacio de Rostros (EC 3-3) construyendo primero la matriz W en (EC 3-12)
80
⎡ u1T Φ 1 ⎢ T u Φ W =⎢ 2 1 ⎢ M ⎢ T ⎢⎣u M Φ 1
u1T Φ 2 L u1T Φ M ⎤ ⎥ u 2T Φ 2 L u 2T Φ M ⎥ M O M ⎥ ⎥ T T u L Φ 2 L u M Φ M ⎥⎦
EC 3-12 Definición de la matriz de pesos W del Espacio de Rostros.
La siguiente gráfica 3D (FG 3-13) muestra los pesos W conforme a los autovectores ortonormalizados uk mostrados en (FG 3-12) y los vectores Φi que se muestran en (FG 3-11)
FG 3-13 Relación de los autovectores uk (FG 3-12) y los vectores Φi (FG 3-11) con el CE muestra (FG 39).
Supóngase que se quiere proyectar la siguiente imagen Γa (FG 3-14) al Espacio de Rostros:
81
FG 3-14 Imagen Γa no pertenece al CE (FG 3-9) y será proyectada al Espacio de Rostros.
(Cortesía Olivetti Research Laboratory ORL)
Cuando se proyectan los vectores Γi que pertenecen al CE (FG 3-9) sobre el mismo Espacio de Rostros la reconstrucción de la imagen es casi perfecta. Sin embargo, al hacerlo con la imagen (FG 3-14) diferencias son esperadas. Al vectorizar la imagen Γa y restarle el Rostro Promedio ψ (FG 3-10)de manera similar a (EC 3-2) se obtiene el vector Φa. Y si desea ver el resultado se le aplica (EC 3-11) Ahora si se proyecta Γa al Espacio de Rostros, primero se calculan de las proporciones, (EC 3-10) cada autovector uk aportará en diferente grado para la reconstrucción de la imagen ΓPROY (FG 3-16) y conocer el grado en que se proyecta la imagen Γa al Espacio de Rostros según (EC 3-3). Primero se genera el vector ωa a con (EC 3-4) de la siguiente forma:
ω1 a = Φ Ta u1 = M
M
− 652.37 M
ω18 a = Φ u18 = − 154.22 T a
EJ 3-1 Ejemplo de cómo generar el vector de pesos ωa según (EC 3-4). Con el vector Φa y los autovectores uk mostrados como autocaras en (FG 3-12).
82
u1ω1a
u2ω2 a
u3ω3 a
u7ω7a
u8ω8 a
u9ω9 a
u13ω13 a
u14ω14 a
u15ω15 a
u4ω4 a
u10ω10 a
u16ω16 a
u5ω5 a
u6ω6 a
u11ω11 a
u12ω12 a
u17ω17 a
u18ω18 a
FG 3-15 Proporciones para la reconstrucción de ΓPROY (FG 3-16). Las imágenes son observadas usando la ecuación (EC 3-11)
Ahora, se aplica la suma en(EC 3-3) comenzando por el Rostro Promedio (FG 310)a las imágenes (FG 3-15).
83
ΓPROY 0=Ψ
ΓPROY 1 = ΓPROY 0 + u1ω1 a
ΓPROY 2 = ΓPROY 1 + u2ω2 a
ΓPROY 3 = ΓPROY 2 + u3ω3 a
ΓPROY 4 = ΓPROY 3 + u4ω4 a
ΓPROY 5 = ΓPROY 4 + u5ω5a
ΓPROY 6 = ΓPROY 5 + u6ω6 a
ΓPROY 7 = ΓPROY 6 + u7ω7 a
ΓPROY 8 = ΓPROY 7 + u8ω8 a
ΓPROY 9 = ΓPROY 8 + u9ω9 a
ΓPROY 10 = ΓPROY 9 + u10ω10 a
ΓPROY 11 = ΓPROY 10 + u11ω11 a
ΓPROY 12 = ΓPROY 11 + u12ω12 a
ΓPROY 13 = ΓPROY 12 + u13ω13 a
ΓPROY 14 = ΓPROY 13 + u14ω14 a
ΓPROY 15 = ΓPROY 14 + u15ω15 a
ΓPROY 16 = ΓPROY 15 + u16ω16 a
ΓPROY 17 = ΓPROY 16 + u17ω17 a
ΓPROY 18 = ΓPROY 17 + u18ω18 a
ΓPROY ≈ Γ8
FG 3-16 Proyección al Espacio de Rostros, por una suma acumulativa de las imágenes en (FG 3-15)
84
Se puede observar en (FG 3-16) que al reconstruir la imagen tiende a semejarse a Γ8. Para sustentar tal afirmación se encuentran las distancias euclidianas entre cada vector columna de la matriz W (FG 3-13) y vector wa. La menor distancia euclidiana corresponderá a la imagen más semejante a la imagen reconstruida. ⎡ ⎡ u1T Φ 1 ⎤ ⎡ u1T Φ 2 ⎤ ⎡ u1T Φ 3 ⎤ ⎡ u1T Φ M ⎤ ⎤ ⎡ u1T Φ a ⎤ ⎢⎢ T ⎥ ⎢ T ⎥ ⎥ ⎢ ⎢ T ⎥⎢ ⎥⎥ u2 Φ a ⎥ u 2 Φ 1 ⎥ ⎢ u 2 Φ 2 ⎥ ⎢ u 2T Φ 3 ⎥ ⎢ u 2T Φ M ⎥ ⎥ ⎢ ⎢ ⎢ L wa = W = ⎢⎢ M ⎥ ⎢ M ⎥ ⎢ M ⎥ ⎢ M ⎥⎥ ⎢ M ⎥ ⎢⎢ T ⎥ ⎥⎢ T ⎥⎢ T ⎥ ⎢ T ⎢ T ⎥⎥ ⎢⎣ ⎢⎣u M Φ 1 ⎦⎥ ⎣⎢u M Φ 2 ⎦⎥ ⎣⎢u M Φ 3 ⎦⎥ ⎣⎢u M Φ M ⎦⎥ ⎥⎦ ⎣⎢u M Φ a ⎦⎥ L W = [ w1 w2 wM ] e1 = wa − w1
e1 = e1T e1
e 2 = wa − w2 M
e2 = e2T e2 M
e L = wa − w M
e M = e MT eM
E =[
e1
e2
e3
L
MIN (E ) = eα
eM
]
ΓPROY ⇒ Γα
α
puntero de la imágen más semejante
EC 3-13 Procedimiento para encontrar la imagen más semejante al CE.
Entonces con (EC 3-13) se calculan todas las distancias euclidianas formándose el siguiente vector de distancias euclidianas E. α
E
01 02 03 04 05 06 07 08 09
3725 5871 5569 6245 5710 5569 2878 2108 3365
Orden α 5 17 14 18 16 15 2 1er 3
10 11 12 13 14 15 16 17 18
E
Orden
3442 3743 4433 4531 4421 4590 5055 5299 4042
4 6 9 10 8 11 16 13 7
TB 3-1 Vector de distancias euclidianas E, estableciendo la imagen Γ8 (α=8) del CE (FG 3-9) más semejante a ΓPROY (FG 3-16) y Γ4 como la menos semejante, las cantidades fueron redondeadas.
Por tener la menor distancia euclidiana, la imagen del CE Γ8 (α=8) (FG 3-9) es el más semejante a Γa.(FG 3-14) Le siguen en semejanza las imágenes Γ7 y Γ9 (Γ8, Γ7, y Γ9 son imágenes de la misma persona). Ahora si la distancia euclidiana no excede del valor umbral predefinido θ entonces la persona se considerará como identificada por el Sistema de Reconocimientos de Rostros.
85
3.6 Definición de reglas para el reconocimiento Es complejo definir un umbral, sobre todo viendo que una misma persona puede cambiar tan radicalmente como es en el caso del cantante Michael Jackson. Un maquillaje bien elaborado puede transformar a cualquier mujer.
FG 3-17 Todas las imágenes se tratan de la misma persona y su cambio solo consiste en maquillaje. Fuente: Internet
86
Si la capacidad de transformación del aspecto de una persona es sorprendente, no es menos sorprendente el grado de semejanza que pueden alcanzar dos personas, por ejemplo en el caso de los gemelos idénticos (FG 3-18).
FG 3-18 Fotos de gemelos idénticos. Fuente: http://www.joesnyc.streetnine.com/
Es diferente el esfuerzo que las personas toman para reconocer a las personas. La gente cuando convive con alguien empieza a reconocer a la persona en todas sus facetas y el conocimiento tiene una plasticidad suficiente como para seguir considerando como un mismo individuo a la persona de la imagen (FG 3-17). También con el tiempo se detectan sutilezas para considerar como individuos diferentes a las personas de las imágenes (FG 3-18) En ocasiones estas sutilezas son tan poco obvias para los demás como el tono de voz o hasta el temperamento. Así el Sistema de Reconocimiento de Rostros puede solo ofrecer grados de semejanza, ya que estos tienen una problemática que no se presenta en los sistemas de reconocimiento de huellas digitales o el iris. La probabilidad de que las huellas digitales de dos personas sean idénticas es de 197 según un estudio encargado 1999 por el Departamento de Justicia de Estados Unidos al FBI y a la empresa Lockheed Martin, inclusive en gemelos idénticos no se presenta tal eventualidad [EPSTEIN 2002]. En México el artículo 1834 del Código Federal Civil, como en otros países del mundo, las huellas digitales son reconocidas legalmente como sustituto de la firma escrita, indispensable para imponer obligación en un contrato o documento, en los casos en que la persona involucrada no pueda firmar.
87
Considérese que se desea proyectar imágenes (FG 3-19) al CE (FG 3-9)
4228 4093 4190
3978
3797
2780
3309
3609 4160
4760
3439
3844
FG 3-19 Distancias euclidianas al proyectar imágenes sobre personas que no están en el CE (FG 3-9). Fuente: Internet, páginas diversas
Es complejo definir un umbral para no considerar a ninguna de las imágenes (FG 319) como parte del Espacio de Rostros, pero seguir considerando a la persona de la imagen (FG 3-14) como miembro. En lugar de cambiar constantemente el umbral para ajustar al sistema a una decisión correcta sería una mejor estrategia reducir la incertidumbre al disminuyendo las distancias euclidianas de los individuos identificados como parte del CE.
88
3.7 Mejoras al proceso de identificación Para poder tener un sistema de reconocimiento de rostros que apoye mejor la determinación si una imagen es de una persona que es de un grupo, el CE debe ser especialmente rico en contener las diferentes facetas de la persona. Este cometido no cumple el CE (FG 3-9). Por ejemplo las imágenes Γ7, Γ8 y Γ9 persisten en mostrar a la persona con lentes.
FG 3-20 Imágenes del Conjunto de Entrenamiento (FG 3-9) Γ7, Γ8 y Γ9.
(Cortesía Olivetti Research Laboratory ORL)
Esto es muy rígido, la persona como se ha visto, puede presentarse sin lentes.
FG 3-21 Persona Γ7, Γ8 y Γ9 mostrándose sin lentes.
(Cortesía Olivetti Research Laboratory ORL)
Aunque al proyectar las imágenes (FG 3-21) al CE (FG 3-9) aún las distancias euclidianas son las menores en el vector E pero la incertidumbre es alta. (FG 3-22)
89
2108 ▬►
2047 ▬►
2348 ▬►
2303 ▬► FG 3-22 Proyecciones de las imágenes (FG 3-21) al CE (FG 3-9) y sus distancias euclidianas.
Las imágenes Γ7 y Γ9 en (FG 3-20) son muy semejantes, se podría sustituir cualquiera de las dos imágenes por alguna imagen en que se muestre a la persona sin lentes (FG 3-21). Al encontrar donde existen las menores desviaciones de dirección de los autovectores ortonormales uk concentrados, se pueden conocer los autovectores uk que se pueden omitir porque su aportación es poco significativa en la reconstrucción de las imágenes. Estas desviaciones se muestran en los autovalores λ k; cuando tienen valores muy pequeños es que las imágenes del CE son muy semejantes como en λ 9. k 01 02 03 04 05 06
λ 4210275 1907793 2059516 1283921 900012 871418
K 07 08 09 10 11 12
λ 597435 520780 8.02e-010 412369 84179 362404
k 13 14 15 16 17 18
λ 320192 225779 209026 173445 286523 185671
TB 3-2 autovalores de la Matriz de Covarianzas, obsérvese lo anormalmente bajo es el autovalor 9.
90
El autovector u9 puede omitirse en la formación del vector de pesos W (correspondiente al autovalor λ9 y vector Φ9) ya que su aportación es mínima. Eliminando del CE a la imagen Γ9, las imágenes Γ7 y Γ8 son más que suficientes para identificar Γa, Γb, Γc y Γd.
2075 ▬►
2042 ▬►
2337 ▬►
2296 ▬► FG 3-23 Proyecciones de las imágenes (FG 3-21) al Espacio de Rostros sin u9, λ9 y Φa.
Ahora, si se agrega al CE la imágenes Γa en lugar de Γa. Γa
Γ9
FG 3-24 Sustitución de la imagen Γ9 por Γa en el CE (FG 3-9).
91
Con esta actualización del CE se proyectan Γb, Γc y Γd al nuevo Espacio de Rostros.
1461 ▬►
1677 ▬►
2866 ▬►
895 ▬► FG 3-25 Proyección de imágenes Γa Γb, Γc y Γd al Espacio de Rostros. Considérese la sustitución en (FG 324)
Como se observa detenidamente, salvo en el caso de la proyección de Γc las distancias euclidianas disminuyeron con esta actualización, teniéndose así una menor incertidumbre. Sustituir las imágenes del CE con los autovalores más bajos por imágenes que generen desviaciones mayores en la dirección de los autovectores uk tiene una ventaja en computo al liberar recursos pero puede presentar problemas si los individuos son muy semejantes. Aunque también es posible aumentar la presencia de una persona en el CE al incorporar más imágenes, no es algo recomendable ya que se incrementarían los requerimientos de cómputo.
Capítulo cuatro Pruebas y Resultados
Todos los matemáticos viven en dos mundos distintos: habitan en un mundo cristalino de formas platónicas perfectas, un palacio de hielo, pero también en el mundo común, donde las cosas son transitorias, ambiguas y sujetas de vicisitudes. Los matemáticos van arriba y abajo, de un mundo al otro: en el mundo cristalino son adultos; en el real niños. -S. Cappell
93
Capitulo 4. Pruebas y Resultados Se ha procurado explicar en detalle el método de Análisis de Componentes Principales (A) en su implementación en un Sistema para el Reconocimiento de Rostros. En lugar de explicar el código en sí, por las reglas de sintaxis y semántica propios del lenguaje de programación se prefirió describir matemáticamente el funcionamiento del A y se mostró su operación con ejemplos. Para validar la hipótesis de esta tesis, se implemento el A en un programa escrito en el lenguaje de programación de Visual Basic versión 6. Resultados experimentales se hicieron según a un conjunto de imágenes que están ampliamente disponibles en Internet, la base de datos de imágenes tomadas por el Laboratorio de Investigaciones de la Olivetti (Olivetti Research Laboratory). En un ejercicio de síntesis, por los resultados de las pruebas obtenidas se formularán conclusiones para que el lector lo considere en trabajo futuros.
4.1 Microsoft Visual Basic BASIC, en informática, acrónimo de Beginners All-purpose Symbolic Instruction Code (Código de Instrucciones Simbólicas de Uso General para Principiantes). Se trata de un lenguaje de programación de alto nivel desarrollado por los estadounidenses John Kemeny y Thomas Kurtz en el Dartmouth College a mediados de la década de 1960. BASIC se ganó su enorme popularidad gracias sobre todo a dos implementaciones, Tiny BASIC y Microsoft BASIC, que convirtieron a este lenguaje en la primera lengua franca de los microordenadores o microcomputadoras. El lenguaje ha cambiado en el transcurso de los años. Visual Basic es comercializado por Microsoft para desarrollos de aplicaciones en entornos Windows, como lenguaje de programación de aplicaciones ofimáticas, consultas a bases de datos y creación de páginas de Internet dinámicas. El lenguaje BASIC se suele enseñar a los programadores principiantes porque es fácil de utilizar y de comprender y porque, en sus versiones más recientes, contienen muchos de los conceptos fundamentales de otros lenguajes considerados más complejos y técnicamente más potentes, como Pascal, C, C++ o JAVA. Visual Basic ha evolucionado a partir del lenguaje BASIC original y ahora contiene centenares de instrucciones, funciones y palabras clave, muchas de las cuales están directamente relacionadas con la interfaz gráfica de Windows. La palabra "Visual" hace referencia al método que se utiliza para crear la interfaz gráfica de (GUI). En lugar de escribir numerosas líneas de código para describir la apariencia y la ubicación de los elementos de la interfaz, simplemente puede agregar objetos prefabricados en su lugar dentro de la pantalla.
94
El lenguaje de programación Visual Basic no es exclusivo de Visual Basic. La Edición para aplicaciones del sistema de programación de Visual Basic, incluida en Microsoft Excel, Microsoft Access y muchas otras aplicaciones Windows, utilizan el mismo lenguaje. El sistema de programación de Visual Basic, Scripting Edition (VBScript) es un lenguaje de secuencias de comandos ampliamente difundido y un subconjunto del lenguaje Visual Basic. En las aplicaciones por procedimientos, la aplicación es la que controla qué partes de código y en qué secuencia se ejecutan. Sin embargo las aplicaciones de Visual Basic son controladas por eventos, el código no sigue una ruta predeterminada; se ejecutan distintas secciones de código como respuesta a los eventos. Los eventos pueden desencadenarse por acciones del , por mensajes del sistema o de otras aplicaciones, o incluso por la propia aplicación. La secuencia de estos eventos determina la secuencia en la que se ejecuta el código, por lo que la ruta a través del código de la aplicación es diferente cada vez que se ejecuta el programa. Por ser el lenguaje de programación más conocido y empleado y con las facilidades que ofrecen en programación de aplicaciones de Windows se decidió desarrollar el Sistema de Reconocimiento de Rostros.
4.2 FaceRec.exe – Sistema de Reconocimiento de Rostros El FaceRec.exe (Face Recognition) es la aplicación resultado de la compilación del archivo de proyecto de Visual Basic FaceRec.vbp y demás componentes; el Sistema de Reconocimiento de Rostros para validar la hipótesis de la presente tesis. Para comprender el Sistema de Reconocimiento de Rostros es necesario haber entendido lo expuesto en el capítulo anterior y comprender los términos matemáticos, explicados en el apéndice. La estructura lógica del sistema es muy similar al esquema(FG 3-7). El siguiente diagrama de flujo muestra en grandes rasgos la estructura lógica del Sistema de Reconocimiento de Rostros desarrollado(FG 4-1). El aprendizaje del Sistema de Reconocimiento de Rostros esta contenido en la matriz de pesos W. Si se tiene esta matriz no es necesario leer el Conjunto de Entrenamiento (CE). Salvo en el caso de que el mismo Conjunto tenga cambios que requiera que el sistema los ‘aprenda’ de nuevo entonces se leerán las imágenes y se les hará una ecualización. Los formatos gráficos reconocidos por Visual Basic incluyen archivos de mapas de bits (.bmp), archivos de iconos (.ico), archivos de cursor (.cur), archivos de longitud codificada (.rle), metarchivos (.wmf), metarchivos mejorados (.emf), archivos GIF (.gif) y archivos JPEG (.jpg). Por los propósitos de normatividad el sistema desarrollado requiere que el CE sean imágenes de un mismo formato, (JPG) y de una misma
95
dimensión, 92 X 112 píxeles (mismas dimensiones de las imágenes muestra de la ORL) en escala de grises y con rostros ya localizados. Una vez leído el CE se calcula el Rostro Promedio. Mismo que servirá para formar la Matriz de Covarianza. Con la Matriz de Covarianza se calcularán el Conjunto de autovectores V (en Matriz) por medio del método de potencias, con sus autovalores ortonormalizados por el método de Householder. Los autovalores muy pequeños permitirán decidir si se omiten imágenes muy semejantes y que poco contribuyen al CE, liberando al sistema de recursos. No es necesario hacer esto y esto tiene un riesgo si las personas son físicamente muy semejantes entre sí; para la serie de pruebas realizadas se omitió esta acción. La matriz de pesos W, permitirá que cualquier imagen se proyecte al Espacio de Rostros. Es útil almacenar dichos valores si se desea que el sistema no necesite volver a “aprender”. Las imágenes que se quieran proyectar al Espacio de Rostros pueden ser de formatos como BMP, GIF y JPG. La ecualización de la imagen no es exigida pero sí recomendada si la imágenes del CE es de bajo contraste. Se forma un vector de pesos de la imagen que se desea proyectar o reconocer ω. Esto es para ubicar esta imagen dentro del espacio multidimensional de rostros y encontrar relaciones. La imagen del CE más semejante será aquella que tenga la menor distancia euclidiana con la imagen X. Es complejo definir si una imagen es o no un rostro, empíricamente se puede definir un valor umbral para “sugerir” esto, pero sí se puede establecer un grado de tolerancia máxima para considerar a la persona como miembro del CE, este valor umbral es empírico. Lo mejor es indicar solo la distancia euclidiana mínima existente entre la imagen proyectada y el miembro del CE con su grado de semejanza entre las imágenes. Como las personas cambian, lo mismo lo debe hacer el CE y la matriz de pesos W. A medida que el CE aumenta los resultados mejoran (esto se verá después) pero es recomendable que crezca dicho Conjunto en forma homogénea. Es decir que las personas les corresponda el mismo número de imágenes del CE (se predeterminó en tres imágenes por persona). Por convencionalismo se normaron los nombres de las imágenes del CE en que los primeros dígitos son el número de la persona y siguiente carácter como indicativo de la imagen de la persona. Es decir “15c.jpg” sería individuo número 15, tercera imagen. De forma iterativa proyectar a un conjunto de imágenes al espacio de Rostros es solo una adecuación si se quiere evaluar al sistema de forma general. El código del sistema no se expone en esta tesis por las complicaciones ya mencionadas y porque el lector puede en realidad implementar su propio sistema en otros lenguajes y plataformas y comparar resultados con los obtenidos en esta tesis.
96
INICIO
APRENDE LEER Wx
CONJUNTO DE ENTRENAMIENTO CE
ECUALIZACION DE HISTOGRAMAS CE
CALCULAR ROSTRO PROMEDIO
FORMAR MATRIZ DE COVARIANZA C
OBTENER AUTOVECTORES U, AUTOVALORES V DE C
ORTONORMALIZAR AUTOVECTORES U
OMITIR AUTOVECTORES CON AUTOVALORES MENORES
FORMAR MATRIZ DE PESOS W
LEER IMAGEN X
1
97
1
ECUALIZACION DE HISTOGRAMAS X
FORMAR VECTOR DE PESOS ωX
CALCULAR DISTANCIAS EUCLIDIANAS D=(W, ωX )
E=CALCULAR MIN(D)
E<θ?
X ES DE CE
X NO ES DE CE
ALMACENAR X, ACTUALIZAR CE, WX
FIN
FG 4-1 Diagrama de flujo general para el Sistema de Reconocimiento de Rostros implementado. Por las dimensiones del diagrama se expone en dos partes (observe el conector 1). El Sistema de Reconocimiento de Rostros desarrollado responde a los lineamientos descritos con anterioridad y las imágenes subsecuentes describen el aspecto de la interfaz de dicho sistema (FG 4-2).
98
a)
b)
99
c)
d)
100
e)
FG 4-2 Interfaz del sistema FaceRec. a) Arranque del sistema. b) Configuración del sistema en número de personas y rostros por persona. c) Identificación del software. d) Etapa de aprendizaje. e) Etapa en la identificación con un grado de semejanza entre imágenes.
4.3 Imágenes de rostros ORL Entre Abril de 1992 y Abril de 1994 el Laboratorio de investigaciones de la empresa Olivetti en Cambridge, Reino Unido, [OLIVETTI 2005] tomó 400 fotografías de 40 individuos diferentes. A cada individuo se les tomaron 10 fotografías diferentes, en donde se mostraban sus diferentes expresiones faciales, con diferentes condiciones de iluminación y detalles variados (cambios en lentes, barba, bigote, etc.). Estas imágenes permiten evaluar la eficacia de un sistema de reconocimiento de rostros y están ampliamente distribuidas en Internet sin costo alguno. Las imágenes están en formato PGM (Portable Graymap ASCII). El PGM es el formato de imágenes nativo de UNIX pero software como Jasc Paint Shop Pro® de JascSoftware® permite la conversión a formatos de como BMP , JPG ó GIF. Cada imagen tienen un tamaño de 92 X 112 píxeles con una profundidad de píxel de 8 bits, teniendo así cada imagen 256 niveles de gris y 10.318 bytes de tamaño. Las imágenes están organizadas en 40 directorios o fólderes, siendo cada fólder asignado a solo una persona. Nombrados como sx donde x indica el número de sujeto (entre 1 y 40). En cada directorio están presentes 10 imágenes diferentes del individuo nombrados como y.pgm,
101
siendo y el número de imagen específica de la persona. Por ejemplo el directorio s1 contiene las siguientes imágenes (FG 4-3).
s1\1.pgm
s1\2.pgm
s1\3.pgm
s1\4.pgm
s1\5.pgm
s1\6.pgm
s1\7.pgm
s1\8.pgm
s1\9.pgm
s1\10.pgm S2
… S2\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s2\10.pgm
102
S3
… s3\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s3\10.pgm
S4
… s4\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s4\10.pgm
S5
… s5\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s5\10.pgm
S6
… s6\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s6\10.pgm
103
S7
… s7\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s7\10.pgm
S8
… s8\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s8\10.pgm
S9
… s9\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s9\10.pgm
S10
… s10\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s10\10.pgm
104
S11
… s11\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s11\10.pgm
S12
… s12\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s12\10.pgm
S13
… s13\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s13\10.pgm
S14
… s14\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s14\10.pgm
105
S15
… s15\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s15\10.pgm
S16
… s16\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s16\10.pgm
S17
… s17\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s17\10.pgm
S18
… s18\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s18\10.pgm
106
S19
… s19\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s19\10.pgm
S20
… s20\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s20\10.pgm
S21
… s21\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s21\10.pgm
S22
… s22\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s22\10.pgm
107
S23
… s23\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s23\10.pgm
S24
… s24\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s24\10.pgm
S25
… s25\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s25\10.pgm
S26
… s26\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s26\10.pgm
108
S27
… s27\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s27\10.pgm
S28
… s28\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s28\10.pgm
S29
… s29\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s29\10.pgm
S30
… s30\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s30\10.pgm
109
S31
… s31\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s31\10.pgm
S32
… s32\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s32\10.pgm
S33
… s33\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s33\10.pgm
S34
… s34\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s34\10.pgm
110
S35
… s35\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s35\10.pgm
S36
… s36\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s36\10.pgm
S37
… s37\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s37\10.pgm
S38
… s38\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s38\10.pgm
111
S39
… s39\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s39\10.pgm
S40
… s40\1.pgm
2.pgm, 3.pgm, …, 9.pgm,
s40\10.pgm
FG 4-3 Imágenes de los directorios s1 al s40 de la ORL (imágenes cortesía de Olivetti Research Laboratory)
4.4 Pruebas de identificación de rostros Para validar el sistema implementado se harán una serie de pruebas. Por ejemplo del conjunto de imágenes de ORL se escogen 3 imágenes de cada persona. Considérese el siguiente CE (TB 4-1).
112
s1\1.pgm s2\5.pgm s3\1.pgm s4\4.pgm s5\2.pgm s6\1.pgm s7\7.pgm s8\2.pgm s9\5.pgm s10\2.pgm s11\3.pgm s12\1.pgm s13\1.pgm s14\3.pgm s15\2.pgm s16\2.pgm s17\2.pgm s18\1.pgm s19\1.pgm s20\3.pgm s21\3.pgm s22\3.pgm s23\1.pgm s24\1.pgm s25\1.pgm s26\1.pgm s27\1.pgm s28\3.pgm s29\4.pgm s30\1.pgm s31\3.pgm s32\1.pgm s33\4.pgm s34\1.pgm s35\1.pgm s36\2.pgm s37\3.pgm s38\6.pgm s39\1.pgm s40\4.pgm
s1\5.pgm s2\6.pgm s3\4.pgm s4\6.pgm s5\7.pgm s6\3.pgm s7\8.pgm s8\5.pgm s9\7.pgm s10\9.pgm s11\4.pgm s12\8.pgm s13\6.pgm s14\8.pgm s15\5.pgm s16\5.pgm s17\3.pgm s18\3.pgm s19\3.pgm s20\4.pgm s21\7.pgm s22\5.pgm s23\8.pgm s24\8.pgm s25\2.pgm s26\2.pgm s27\5.pgm s28\7.pgm s29\5.pgm s30\4.pgm s31\8.pgm s32\7.pgm s33\6.pgm s34\3.pgm s35\4.pgm s36\6.pgm s37\6.pgm s38\7.pgm s39\6.pgm s40\5.pgm
s1\7.pgm s2\9.pgm s3\5.pgm s4\9.pgm s5\10.pgm s6\5.pgm s7\9.pgm s8\8.pgm s9\8.pgm s10\10.pgm s11\8.pgm s12\10.pgm s13\8.pgm s14\9.pgm s15\6.pgm s16\9.pgm s17\6.pgm s18\10.pgm s19\9.pgm s20\9.pgm s21\8.pgm s22\10.pgm s23\9.pgm s24\10.pgm s25\8.pgm s26\8.pgm s27\8.pgm s28\8.pgm s29\10.pgm s30\10.pgm s31\9.pgm s32\10.pgm s33\10.pgm s34\6.pgm s35\10.pgm s36\8.pgm s37\8.pgm s38\9.pgm s39\9.pgm s40\8.pgm
TB 4-1 Conjunto de Entrenamiento escogido para las pruebas (TB 4-2) Ahora considérese que se busca proyectar cada imagen de la ORL al Espacio de Rostros dado el CE (TB 4-1). Es natural que la distancia Euclidiana de las imágenes que son ya del CE será de cero. Para la siguiente tabla, se muestran los resultados de proyectar las 400 imágenes al Espacio de Rostros, 120 imágenes forman parte del CE (TB 4-1). En la tercera columna, indica la distancia euclidiana de la imagen más semejante del CE a la imagen de entrada. En las 280 pruebas (descontando aquellas imágenes que son del CE) sólo una dio un resultado negativo, la imagen s40\9.pgm. (TB 4-2)
113
Imagen de Entrada s1\1.pgm s1\2.pgm s1\3.pgm s1\4.pgm s1\5.pgm s1\6.pgm s1\7.pgm s1\8.pgm s1\9.pgm s1\10.pgm s2\1.pgm s2\2.pgm s2\3.pgm s2\4.pgm s2\5.pgm s2\6.pgm s2\7.pgm s2\8.pgm s2\9.pgm s2\10.pgm s3\1.pgm s3\2.pgm s3\3.pgm s3\4.pgm s3\5.pgm s3\6.pgm s3\7.pgm s3\8.pgm s3\9.pgm s3\10.pgm s4\1.pgm s4\2.pgm s4\3.pgm s4\4.pgm s4\5.pgm s4\6.pgm s4\7.pgm s4\8.pgm s4\9.pgm s4\10.pgm s5\1.pgm s5\2.pgm s5\3.pgm s5\4.pgm s5\5.pgm s5\6.pgm s5\7.pgm s5\8.pgm s5\9.pgm s5\10.pgm
Imagen mas semejante s1\1.pgm s1\5.pgm s1\1.pgm s1\5.pgm s1\5.pgm s1\7.pgm s1\7.pgm s1\5.pgm s1\5.pgm s1\.pgm s2\5.pgm s2\6.pgm s2\5.pgm s2\6.pgm s2\5.pgm s2\6.pgm s2\5.pgm s2\5.pgm s2\9.pgm s2\5.pgm s3\1.pgm s3\1.pgm s3\1.pgm s3\4.pgm s3\5.pgm s3\1.pgm s3\4.pgm s3\4.pgm s3\1.pgm s3\1.pgm s4\9.pgm s4\9.pgm s4\6.pgm s4\4.pgm s4\4.pgm s4\6.pgm s4\4.pgm s4\6.pgm s4\9.pgm s4\4.pgm s5\7.pgm s5\2.pgm s5\2.pgm s5\7.pgm s5\10.pgm s5\7.pgm s5\7.pgm s5\10.pgm s5\10.pgm s5\10.pgm
Distancia Euclidiana 0 3352 3225 3532 0 3113 0 3565 3172 3206 1958 2111 2271 2372 0 0 2997 2583 0 2603 0 2245 2186 0 0 2623 2748 2834 2280 2578 2827 1739 2782 0 2046 0 1403 2827 0 2815 1279 0 1546 1045 2691 2685 0 3001 2646 0
114
Imagen de Entrada s6\1.pgm s6\2.pgm s6\3.pgm s6\4.pgm s6\5.pgm s6\6.pgm s6\7.pgm s6\8.pgm s6\9.pgm s6\10.pgm s7\1.pgm s7\2.pgm s7\3.pgm s7\4.pgm s7\5.pgm s7\6.pgm s7\7.pgm s7\8.pgm s7\9.pgm s7\10.pgm s8\1.pgm s8\2.pgm s8\3.pgm s8\4.pgm s8\5.pgm s8\6.pgm s8\7.pgm s8\8.pgm s8\9.pgm s8\10.pgm s9\1.pgm s9\2.pgm s9\3.pgm s9\4.pgm s9\5.pgm s9\6.pgm s9\7.pgm s9\8.pgm s9\9.pgm s9\10.pgm s10\1.pgm s10\2.pgm s10\3.pgm s10\4.pgm s10\5.pgm s10\6.pgm s10\7.pgm s10\8.pgm s10\9.pgm s10\10.pgm
Imagen mas semejante s6\1.pgm s6\1.pgm s6\3.pgm s6\5.pgm s6\5.pgm s6\5.pgm s6\5.pgm s6\5.pgm s6\5.pgm s6\5.pgm s7\9.pgm s7\9.pgm s7\7.pgm s7\9.pgm s7\9.pgm s7\7.pgm s7\7.pgm s7\8.pgm s7\9.pgm s7\9.pgm s8\2.pgm s8\2.pgm s8\8.pgm s8\2.pgm s8\5.pgm s8\5.pgm s8\2.pgm s8\8.pgm s8\2.pgm s8\8.pgm s9\5.pgm s9\5.pgm s9\5.pgm s9\8.pgm s9\5.pgm s9\7.pgm s9\7.pgm s9\8.pgm s9\8.pgm s9\5.pgm s10\2.pgm s10\2.pgm s10\2.pgm s10\2.pgm s10\2.pgm s10\2.pgm s10\2.pgm s10\2.pgm s10\9.pgm s10\10.pgm
Distancia Euclidiana 0 1493 0 1906 0 1696 1557 2350 2509 1671 1749 2637 1528 2896 2410 2068 0 0 0 2848 1232 0 1644 2776 0 2172 1937 0 2856 2068 2121 2678 1892 2078 0 1553 0 0 2420 2281 2486 0 2218 2826 2858 3077 3195 1803 0 0
115
Imagen de Entrada s11\1.pgm s11\2.pgm s11\3.pgm s11\4.pgm s11\5.pgm s11\6.pgm s11\7.pgm s11\8.pgm s11\9.pgm s11\10.pgm s12\1.pgm s12\2.pgm s12\3.pgm s12\4.pgm s12\5.pgm s12\6.pgm s12\7.pgm s12\8.pgm s12\9.pgm s12\10.pgm s13\1.pgm s13\2.pgm s13\3.pgm s13\4.pgm s13\5.pgm s13\6.pgm s13\7.pgm s13\8.pgm s13\9.pgm s13\10.pgm s14\1.pgm s14\2.pgm s14\3.pgm s14\4.pgm s14\5.pgm s14\6.pgm s14\7.pgm s14\8.pgm s14\9.pgm s14\10.pgm s15\1.pgm s15\2.pgm s15\3.pgm s15\4.pgm s15\5.pgm s15\6.pgm s15\7.pgm s15\8.pgm s15\9.pgm s15\10.pgm
Imagen mas semejante s11\3.pgm s11\3.pgm s11\3.pgm s11\4.pgm s11\4.pgm s11\3.pgm s11\8.pgm s11\8.pgm s11\3.pgm s11\3.pgm s12\1.pgm s12\10.pgm s12\1.pgm s12\10.pgm s12\10.pgm s12\1.pgm s12\10.pgm s12\8.pgm s12\10.pgm s12\10.pgm s13\1.pgm s13\1.pgm s13\1.pgm s13\8.pgm s13\1.pgm s13\6.pgm s13\8.pgm s13\8.pgm s13\6.pgm s13\1.pgm s14\3.pgm s14\3.pgm s14\3.pgm s14\3.pgm s14\3.pgm s14\9.pgm s14\8.pgm s14\8.pgm s14\9.pgm s14\9.pgm s15\6.pgm s15\2.pgm s15\6.pgm s15\6.pgm s15\5.pgm s15\6.pgm s15\5.pgm s15\6.pgm s15\5.pgm s15\2.pgm
Distancia Euclidiana 2020 3003 0 0 1372 2276 2558 0 2974 3082 0 2678 3128 3011 2573 2262 2331 0 1592 0 0 1440 3149 2947 2326 0 864 0 2512 2126 2266 802 0 2704 2890 2368 1871 0 0 3072 1420 0 1669 2102 0 0 1676 3111 1918 1469
116
Imagen de Entrada s16\1.pgm s16\2.pgm s16\3.pgm s16\4.pgm s16\5.pgm s16\6.pgm s16\7.pgm s16\8.pgm s16\9.pgm s16\10.pgm s17\1.pgm s17\2.pgm s17\3.pgm s17\4.pgm s17\5.pgm s17\6.pgm s17\7.pgm s17\8.pgm s17\9.pgm s17\10.pgm s18\1.pgm s18\2.pgm s18\3.pgm s18\4.pgm s18\5.pgm s18\6.pgm s18\7.pgm s18\8.pgm s18\9.pgm s18\10.pgm s19\1.pgm s19\2.pgm s19\3.pgm s19\4.pgm s19\5.pgm s19\6.pgm s19\7.pgm s19\8.pgm s19\9.pgm s19\10.pgm s20\1.pgm s20\2.pgm s20\3.pgm s20\4.pgm s20\5.pgm s20\6.pgm s20\7.pgm s20\8.pgm s20\9.pgm s20\10.pgm
Imagen mas semejante s16\2.pgm s16\2.pgm s16\2.pgm s16\5.pgm s16\5.pgm s16\2.pgm s16\2.pgm s16\9.pgm s16\9.pgm s16\2.pgm s17\2.pgm s17\2.pgm s17\3.pgm s17\3.pgm s17\2.pgm s17\6.pgm s17\6.pgm s17\6.pgm s17\6.pgm s17\6.pgm s18\1.pgm s18\1.pgm s18\3.pgm s18\1.pgm s18\10.pgm s18\10.pgm s18\1.pgm s18\3.pgm s18\1.pgm s18\10.pgm s19\1.pgm s19\1.pgm s19\3.pgm s19\3.pgm s19\3.pgm s19\3.pgm s19\3.pgm s19\3.pgm s19\9.pgm s19\1.pgm s20\3.pgm s20\3.pgm s20\3.pgm s20\4.pgm s20\9.pgm s20\4.pgm s20\9.pgm s20\9.pgm s20\9.pgm s20\3.pgm
Distancia Euclidiana 3442 0 2325 1456 0 3464 3157 3144 0 2371 2227 0 0 691 1544 0 2192 2345 2074 2189 0 1761 0 2387 2367 2217 2652 1720 2554 0 0 1191 0 2896 3045 2181 2909 3647 0 1599 1944 1973 0 0 2990 902 2508 1842 0 1877
117
Imagen de Entrada s21\1.pgm s21\2.pgm s21\3.pgm s21\4.pgm s21\5.pgm s21\6.pgm s21\7.pgm s21\8.pgm s21\9.pgm s21\10.pgm s22\1.pgm s22\2.pgm s22\3.pgm s22\4.pgm s22\5.pgm s22\6.pgm s22\7.pgm s22\8.pgm s22\9.pgm s22\10.pgm s23\1.pgm s23\2.pgm s23\3.pgm s23\4.pgm s23\5.pgm s23\6.pgm s23\7.pgm s23\8.pgm s23\9.pgm s23\10.pgm s24\1.pgm s24\2.pgm s24\3.pgm s24\4.pgm s24\5.pgm s24\6.pgm s24\7.pgm s24\8.pgm s24\9.pgm s24\10.pgm s25\1.pgm s25\2.pgm s25\3.pgm s25\4.pgm s25\5.pgm s25\6.pgm s25\7.pgm s25\8.pgm s25\9.pgm s25\10.pgm
Imagen mas semejante s21\3.pgm s21\3.pgm s21\3.pgm s21\7.pgm s21\7.pgm s21\7.pgm s21\7.pgm s21\8.pgm s21\8.pgm s21\8.pgm s22\3.pgm s22\10.pgm s22\3.pgm s22\3.pgm s22\5.pgm s22\10.pgm s22\3.pgm s22\3.pgm s22\5.pgm s22\10.pgm s23\1.pgm s23\8.pgm s23\8.pgm s23\9.pgm s23\8.pgm s23\9.pgm s23\1.pgm s23\8.pgm s23\9.pgm s23\1.pgm s24\1.pgm s24\1.pgm s24\10.pgm s24\10.pgm s24\1.pgm s24\8.pgm s24\1.pgm s24\8.pgm s24\10.pgm s24\10.pgm s25\1.pgm s25\2.pgm s25\1.pgm s25\8.pgm s25\8.pgm s25\1.pgm s25\1.pgm s25\8.pgm s25\1.pgm s25\1.pgm
Distancia Euclidiana 2590 1949 0 2438 2502 2715 0 0 2629 1671 1796 1910 0 2463 0 2449 1609 1704 1957 0 0 941 3085 2459 2730 2132 2641 0 0 1684 0 1483 2309 2532 2476 1498 1644 0 1879 0 0 0 1737 2484 1968 1917 1778 0 2489 1871
118
Imagen de Entrada s26\1.pgm s26\2.pgm s26\3.pgm s26\4.pgm s26\5.pgm s26\6.pgm s26\7.pgm s26\8.pgm s26\9.pgm s26\10.pgm s27\1.pgm s27\2.pgm s27\3.pgm s27\4.pgm s27\5.pgm s27\6.pgm s27\7.pgm s27\8.pgm s27\9.pgm s27\10.pgm s28\1.pgm s28\2.pgm s28\3.pgm s28\4.pgm s28\5.pgm s28\6.pgm s28\7.pgm s28\8.pgm s28\9.pgm s28\10.pgm s29\1.pgm s29\2.pgm s29\3.pgm s29\4.pgm s29\5.pgm s29\6.pgm s29\7.pgm s29\8.pgm s29\9.pgm s29\10.pgm s30\1.pgm s30\2.pgm s30\3.pgm s30\4.pgm s30\5.pgm s30\6.pgm s30\7.pgm s30\8.pgm s30\9.pgm s30\10.pgm
Imagen mas semejante s26\1.pgm s26\2.pgm s26\1.pgm s26\8.pgm s26\8.pgm s26\1.pgm s26\1.pgm s26\8.pgm s26\8.pgm s26\8.pgm s27\1.pgm s27\5.pgm s27\1.pgm s27\1.pgm s27\5.pgm s27\8.pgm s27\8.pgm s27\8.pgm s27\8.pgm s27\1.pgm s28\3.pgm s28\7.pgm s28\3.pgm s28\7.pgm s28\7.pgm s28\3.pgm s28\7.pgm s28\8.pgm s28\7.pgm s28\3.pgm s29\10.pgm s29\4.pgm s29\10.pgm s29\4.pgm s29\5.pgm s29\5.pgm s29\4.pgm s29\5.pgm s29\10.pgm s29\10.pgm s30\1.pgm s30\1.pgm s30\1.pgm s30\4.pgm s30\4.pgm s30\10.pgm s30\4.pgm s30\4.pgm s30\10.pgm s30\10.pgm
Distancia Euclidiana 0 0 2177 1602 2251 2034 2984 0 2545 940 0 2138 1985 1493 0 1760 2757 0 1315 2255 2414 2525 0 3074 2268 2224 0 0 3313 2391 2084 2302 1910 0 0 1387 1787 2263 2859 0 0 1783 1733 0 1476 1797 1832 1693 2639 0
119
Imagen de Entrada s31\1.pgm s31\2.pgm s31\3.pgm s31\4.pgm s31\5.pgm s31\6.pgm s31\7.pgm s31\8.pgm s31\9.pgm s31\10.pgm s32\1.pgm s32\2.pgm s32\3.pgm s32\4.pgm s32\5.pgm s32\6.pgm s32\7.pgm s32\8.pgm s32\9.pgm s32\10.pgm s33\1.pgm s33\2.pgm s33\3.pgm s33\4.pgm s33\5.pgm s33\6.pgm s33\7.pgm s33\8.pgm s33\9.pgm s33\10.pgm s34\1.pgm s34\2.pgm s34\3.pgm s34\4.pgm s34\5.pgm s34\6.pgm s34\7.pgm s34\8.pgm s34\9.pgm s34\10.pgm s35\1.pgm s35\2.pgm s35\3.pgm s35\4.pgm s35\5.pgm s35\6.pgm s35\7.pgm s35\8.pgm s35\9.pgm s35\10.pgm
Imagen mas semejante s31\8.pgm s31\3.pgm s31\3.pgm s31\3.pgm s31\3.pgm s31\8.pgm s31\9.pgm s31\8.pgm s31\9.pgm s31\3.pgm s32\1.pgm s32\1.pgm s32\1.pgm s32\1.pgm s32\1.pgm s32\10.pgm s32\7.pgm s32\10.pgm s32\10.pgm s32\10.pgm s33\10.pgm s33\10.pgm s33\4.pgm s33\4.pgm s33\6.pgm s33\6.pgm s33\10.pgm s33\10.pgm s33\6.pgm s33\10.pgm s34\1.pgm s34\3.pgm s34\3.pgm s34\1.pgm s34\1.pgm s34\6.pgm s34\1.pgm s34\6.pgm s34\6.pgm s34\6.pgm s35\1.pgm s35\4.pgm s35\10.pgm s35\4.pgm s35\10.pgm s35\4.pgm s35\4.pgm s35\4.pgm s35\10.pgm s35\10.pgm
Distancia Euclidiana 1576 2364 0 852 1546 2008 1941 0 0 2042 0 3255 3461 3485 2624 1753 0 2942 2029 0 2906 651 1794 0 3039 0 2795 2588 2006 0 0 667 0 2358 2378 0 2843 1265 2255 1914 0 2164 3149 0 2534 2974 3262 2707 3623 0
120
Imagen de Entrada s36\1.pgm s36\2.pgm s36\3.pgm s36\4.pgm s36\5.pgm s36\6.pgm s36\7.pgm s36\8.pgm s36\9.pgm s36\10.pgm s37\1.pgm s37\2.pgm s37\3.pgm s37\4.pgm s37\5.pgm s37\6.pgm s37\7.pgm s37\8.pgm s37\9.pgm s37\10.pgm s38\1.pgm s38\2.pgm s38\3.pgm s38\4.pgm s38\5.pgm s38\6.pgm s38\7.pgm s38\8.pgm s38\9.pgm s38\10.pgm s39\1.pgm s39\2.pgm s39\3.pgm s39\4.pgm s39\5.pgm s39\6.pgm s39\7.pgm s39\8.pgm s39\9.pgm s39\10.pgm s40\1.pgm s40\2.pgm s40\3.pgm s40\4.pgm s40\5.pgm s40\6.pgm s40\7.pgm s40\8.pgm
Imagen mas semejante s36\8.pgm s36\2.pgm s36\8.pgm s36\8.pgm s36\8.pgm s36\6.pgm s36\6.pgm s36\8.pgm s36\8.pgm s36\6.pgm s37\3.pgm s37\6.pgm s37\3.pgm s37\6.pgm s37\6.pgm s37\6.pgm s37\3.pgm s37\8.pgm s37\3.pgm s37\3.pgm s38\6.pgm s38\7.pgm s38\7.pgm s38\7.pgm s38\7.pgm s38\6.pgm s38\7.pgm s38\7.pgm s38\9.pgm s38\7.pgm s39\1.pgm s39\1.pgm s39\1.pgm s39\1.pgm s39\9.pgm s39\6.pgm s39\9.pgm s39\9.pgm s39\9.pgm s39\6.pgm s40\8.pgm s40\5.pgm s40\8.pgm s40\4.pgm s40\5.pgm s40\8.pgm s40\5.pgm s40\8.pgm
Distancia Euclidiana 3404 0 1758 2349 3288 0 2224 0 2541 2951 1269 1751 0 2447 1914 0 2831 0 1496 2164 1583 1440 1980 2226 1483 0 0 2513 0 2074 0 2046 2922 2673 1797 0 2779 2800 0 2280 2240 2453 2994 0 0 1869 2266 0
121
s40\9.pgm s40\10.pgm
s5\10.pgm s40\4.pgm
2594 2361
TB 4-2 Resultados de proyectar cada imagen del CE (TB 4-1) al Espacio de Rostros. En la prueba de la imagen s40\9.pgm da un resultado negativo el sistema al determinar que s5 es la más similar. Sin embargo 2927 unidades de distancia euclidiana el sistema considera a la imagen s40\5.pgm como la “segunda imagen más semejante” por tener 333 unidades más que s5\10.pgm. Resultados son diferentes si se aumenta o disminuyen el número de imágenes por persona para el CE. Eficiencia del sistema según tamaño del Conjunto de Entrenamiento 99.64% 100%
85.00%
80%
Reconocimiento
100.00%
63.57%
60%
40%
20%
0% 1
2
3
4
Núm ero de fotos por persona
FG 4-4 Resultados de identificación obtenidos por número de imágenes seleccionadas por persona de la ORL. Seleccionando solo la primera columna a la izquierda del CE (TB 4-1) se obtuvieron 178 identificaciones correctas de 280 (63.75%). En dos fotografías; las dos primeras columnas del mismo CE se obtuvieron 238 identificaciones correctas. Para seleccionar 4 imágenes de cada individuo además de tomar el CE anterior, se agregaron 40 imágenes más, entre ellas s40\9.pgm teniéndose así 100% de identificación. Los resultados anteriores se deben a la selección hecha del CE. Pero, si se hicieran una serie de pruebas en donde sea la computadora la que escoja al azar el CE los resultados son más interesantes.
122
La siguiente gráfica (FG 4-5) muestra los resultados de 14000 proyecciones con 60 diferentes CE que tienen 6 tamaños distintos. Por ejemplo, para cada combinación de CE seleccionado al azar por la computadora se proyectan las imágenes que no son del mismo grupo al Espacio de Rostros. Por ejemplo, si se seleccionan 3 imágenes diferentes de cada individuo al azar, se tendrá un CE con un tamaño de 120/400 (de 40 individuos) de la ORL. Al reportar los resultados en 280 identificaciones por cada CE distinto se tendrán los resultados de 2800 proyecciones o intentos de identificación (por 10 combinaciones únicas). Estos resultados se adjuntan en la gráfica a lo obtenido con CE de un tamaño desde 40/400 hasta 240/400 teniéndose así 14000 intentos.
80% 60%
70%
Eficiencia
90%
100%
Pruebas con Conjunto de Entrenamiento escogido al azar
1
2
3
4
5
6
7
8
9
10
Com binaciones diferentes
40/400
80/400
120/400
160/400
200/400
240/400
FG 4-5 Resultados de identificación obtenidos por diferentes tamaños de CE en 10 combinaciones distintas. Seleccionando solamente una imagen por cada uno de los 40 individuos presentes en la base de datos de la ORL se tuvieron resultados de eficiencia máximos de 72.22% y mínimos de 65.56% en 10 CE distintos (con un tamaño de 40/400) obteniendo un promedio de 69%. El promedio de eficiencia aumenta hasta 83% con dos imágenes seleccionadas por individuo. En un CE de 120/400 se tiene un promedio de 90% y en adelante la eficiencia crece poco hasta alcanzar un promedio de un 95% por un CE de 240/400. A medida que se incrementa el CE la eficiencia lo hace, pero no en forma proporcional, con un CE de 1/3 se obtienen resultados aceptables.
123
Se ha buscado realizar pruebas con la base de datos de la ORL para que el lector a su vez realice su propio sistema de reconocimiento de rostros y con las mismas imágenes compare los resultados obtenidos. Pero es útil realizar pruebas con imágenes con diferentes fondos y gestos a los evaluados. Considérese las siguientes imágenes (FG 4-6):
1a.jpg
1b.jpg
1c.jpg
1d.jpg
1e.jpg
2a.jpg
2b.jpg
2c.jpg
2d.jpg
2e.jpg
3a.jpg
3b.jpg
3c.jpg
3d.jpg
3e.jpg
FG 4-6 Conjunto de imágenes tomadas con una cámara digital y transformadas en escala de grises. Considérese que de las imágenes anteriores, se escoge una imagen por individuo para el CE y se proyecta el resto al Espacio de Rostros:
}
124
IMG 1b.jpg
3111
1c.jpg
3338
1d.jpg
CE 1a.jpg
1651
1840
2a.jpg
1197
3a.jpg
2266
2637 1944
1e.jpg 2b.jpg 2c.jpg 2d.jpg 2e.jpg
2826
3b.jpg 4183
3c.jpg
2957
3d.jpg
3976
3e.jpg
FG 4-7 Proyecciones de imágenes mostradas en (FG 4-6) teniendo como CE 1a.jpg, 2a.jpg y 3a.jpg. Se conoce que según las imágenes que formen el CE las imágenes de los rostros podrán o no ser identificados. Si se toma una imagen por cada individuo de (FG 4-6)existirán 125 CE diferentes. Se pueden evaluar estos 125 Conjuntos y observar el comportamiento del sistema. Los siguientes 57 grupos (TB 4-3) permiten identificar plenamente a cada imagen de (FG 4-6)
125
1a 2a 3a
1a 2a 3b
1a 2a 3c
1a 2a 3e
1a 2b 3a
1a 2b 3b
1a 2b 3c
1a 2b 3e
1a 2c 3a
1a 2c 3b
1a 2c 3c
1a 2c 3e
1a 2d 3a
1a 2d 3b
1a 2d 3e
1a 2e 3a
1a 2e 3c
1b 2b 3b
1b 2b 3c
1b 2c 3b
1c 2a 3a
1c 2a 3b
1c 2a 3c
1c 2a 3e
1c 2b 3a
1c 2b 3b
1c 2b 3c
1c 2b 3e
1c 2c 3a
1c 2c 3b
1c 2c 3c
1c 2d 3a
1c 2d 3b
1c 2e 3c
1d 2a 3b
1d 2a 3e
1d 2b 3a
1d 2b 3b
1d 2b 3c
1d 2c 3a
1d 2c 3b
1d 2c 3e
1d 2d 3a
1d 2d 3b
1d 2d 3e
1d 2e 3b
1d 2e 3c
1e 2a 3b
1e 2b 3b
1e 2b 3c
1e 2c 3a
1e 2c 3b
1e 2c 3c
1e 2c 3e
1e 2d 3a
1e 2d 3b
1e 2e 3b
TB 4-3 Los 57 CE que permiten identificar plenamente a cualquiera de las imágenes mostradas en (FG 4-6) se omite la extensión “.jpg”. En amarillo se remarca el mejor grupo por tener un promedio de distancias euclidianas menor. Para los 68 CE restantes, se tienen proyecciones diferentes. CE 1a 2a 3d 1a 2b 3d 1a 2c 3d 1a 2d 3c 1a 2d 3d 1a 2e 3b 1a 2e 3d 1a 2e 3e 1b 2a 3a 1b 2a 3b 1b 2a 3c 1b 2a 3d 1b 2a 3e 1b 2b 3a 1b 2b 3d 1b 2b 3e 1b 2c 3a 1b 2c 3c 1b 2c 3d 1b 2c 3e
1a 1a 1a 1a 1a 1a 1a 1a 1a 3a 1b 3c 1b 1b 3a 1b 1b 3a 3c 1b 1b
1b 1a 1a 1a 1a 1a 1a 1a 1a 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b
1c 1a 1a 1a 1a 1a 1a 1a 1a 3a 3b 3c 1b 1b 1b 1b 1b 3a 3c 1b 1b
1d 1a 1a 1a 1a 1a 1a 1a 1a 3a 1b 1b 1b 1b 1b 1b 1b 3a 1b 1b 1b
1e 1a 1a 1a 1a 1a 1a 1a 1a 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b
2a 2a 2b 2c 2d 2d 2e 2e 2e 2a 2a 2a 2a 2a 2b 2b 2b 2c 2c 2c 2c
2b 2a 2b 2c 2d 2d 2e 2e 2e 2a 2a 2a 2a 2a 2b 2b 2b 2c 2c 2c 2c
2c 2a 2b 2c 2d 2d 2e 2e 2e 2a 2a 2a 2a 2a 2b 2b 2b 2c 2c 2c 2c
2d 2a 2b 2c 2d 2d 3b 2e 2e 2a 2a 2a 2a 2a 2b 2b 2b 2c 2c 2c 2c
2e 2a 2b 2c 3c 2d 2e 2e 2e 2a 2a 2a 2a 2a 2b 2b 2b 2c 2c 2c 2c
3a 1a 1a 2c 3c 1a 3b 1a 2e 3a 3b 3c 3d 2a 3a 2b 3e 3a 3c 2c 2c
3b 2a 2b 2c 3c 2d 3b 2e 2e 3a 3b 3c 2a 2a 3a 2b 2b 3a 3c 2c 2c
3c 2a 2b 2c 3c 3d 3b 2e 2e 3a 3b 3c 2a 2a 3a 2b 2b 3a 3c 2c 2c
3d 3d 3d 3d 3c 3d 3b 3d 2e 3a 3b 3c 3d 2a 3a 3d 2b 3a 3c 3d 2c
3e 2a 2b 2c 3c 2d 3b 2e 3e 3a 3b 3c 2a 3e 2b 2b 3e 3a 3c 2c 3e
126
CE 1b 2d 3a 1b 2d 3b 1b 2d 3c 1b 2d 3d 1b 2d 3e 1b 2e 3a 1b 2e 3b 1b 2e 3c 1b 2e 3d 1b 2e 3e 1c 2a 3d 1c 2b 3d 1c 2c 3d 1c 2c 3e 1c 2d 3c 1c 2d 3d 1c 2d 3e 1c 2e 3a 1c 2e 3b 1c 2e 3d 1c 2e 3e 1d 2a 3a 1d 2a 3c 1d 2a 3d 1d 2b 3d 1d 2b 3e 1d 2c 3c 1d 2c 3d 1d 2d 3c 1d 2d 3d 1d 2e 3a 1d 2e 3d 1d 2e 3e 1e 2a 3a 1e 2a 3c 1e 2a 3d 1e 2a 3e 1e 2b 3a 1e 2b 3d 1e 2b 3e 1e 2c 3d 1e 2d 3c 1e 2d 3d 1e 2d 3e 1e 2e 3a
1a 3a 1b 3c 1b 1b 3a 1b 1b 1b 1b 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e
1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e
1c 3a 3b 3c 1b 1b 1b 1b 3c 1b 1b 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 3a 3c 1d 1d 1d 3c 1d 1d 1d 1d 1d 1d 3a 3c 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e
1d 3a 1b 3c 1b 1b 1b 1b 1b 1b 1b 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e
1e 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e
2a 2d 2d 2d 2d 2d 2e 2e 2e 2e 2e 2a 2b 2c 2c 2d 2d 2d 2e 2e 2e 2e 2a 2a 2a 2b 2b 2c 2c 2d 2d 2e 2e 2e 2a 2a 2a 2a 2b 2b 2b 2c 2d 2d 2d 2e
2b 2d 2d 2d 2d 2d 2e 2e 2e 2e 2e 2a 2b 2c 2c 2d 2d 2d 2e 2e 2e 2e 2a 2a 2a 2b 2b 2c 2c 2d 2d 2e 2e 2e 2a 2a 2a 2a 2b 2b 2b 2c 2d 2d 2d 2e
2c 2d 2d 2d 2d 2d 2e 2e 2e 2e 2e 2a 2b 2c 2c 2d 2d 2d 2e 2e 2e 2e 2a 2a 2a 2b 2b 2c 2c 2d 2d 2e 2e 2e 2a 2a 2a 2a 2b 2b 2b 2c 2d 2d 2d 2e
2d 2d 2d 2d 2d 2d 2e 3b 2e 2e 2e 2a 2b 2c 2c 2d 2d 2d 3a 3b 2e 2e 2a 2a 2a 2b 2b 2c 2c 2d 2d 2e 2e 2e 2a 2a 2a 2a 2b 2b 2b 2c 2d 2d 2d 2e
2e 2d 2d 3c 2d 2d 2e 2e 2e 2e 2e 2a 2b 2c 2c 3c 2d 3e 2e 2e 2e 2e 2a 2a 2a 2b 2b 2c 2c 3c 2d 2e 2e 2e 2a 2a 2a 2a 2b 2b 2b 2c 3c 2d 2d 2e
3a 3a 3b 3c 2d 2d 3a 3b 3c 3d 2e 2a 1c 2c 2c 3c 2d 3e 3a 3b 2e 2e 3a 3c 2a 1d 2b 3c 2c 3c 3d 3a 2e 2e 3a 3c 1e 2a 3a 1e 2b 2c 3c 3d 2d 3a
3b 3a 3b 3c 2d 2d 3a 3b 3c 2e 2e 2a 2b 2c 2c 3c 2d 3e 3a 3b 2e 3e 3a 3c 2a 2b 2b 3c 2c 3c 2d 3a 2e 2e 3a 3c 2a 2a 3a 2b 2b 2c 3c 2d 3e 3a
3c 3a 3b 3c 2d 2d 3a 3b 3c 2e 2e 2a 1c 2c 2c 3c 1c 3e 3a 3b 2e 2e 3a 3c 2a 2b 2b 3c 2c 3c 3d 3a 2e 2e 3a 3c 2a 2a 3a 2b 2b 2c 3c 3d 3e 3a
3d 3a 3b 3c 3d 2d 3a 3b 3c 3d 2e 3d 3d 3d 2c 3c 3d 3e 3a 3b 3d 2e 3a 3c 3d 3d 2b 3c 3d 3c 3d 3a 3d 2e 3a 3c 3d 2a 3a 3d 2b 3d 3c 3d 3e 3a
3e 3a 3b 3c 2d 3e 2e 3b 3c 2e 3e 2a 2b 2c 3e 3c 2d 3e 3a 3b 2e 3e 3a 3c 2a 2b 3e 3c 2c 3c 2d 2e 2e 3e 3a 3c 2a 3e 2b 2b 3e 2c 3c 2d 3e 2e
127
CE 1e 2e 3c 1e 2e 3d 1e 2e 3e
1a 1e 1e 1e
1b 1e 1e 1e
1c 1e 1e 1e
1d 1e 1e 1e
1e 1e 1e 1e
2a 2e 2e 2e
2b 2e 2e 2e
2c 2e 2e 2e
2d 3c 2e 2e
2e 2e 2e 2e
3a 3c 1e 2e
3b 3c 2e 2e
3c 3c 2e 2e
3d 3c 3d 2e
3e 3c 2e 3e
TB 4-4 Resultados obtenidos con 68 CE al proyectar las imágenes mostradas en (FG 4-6)se omite la extensión “.jpg”. Por ejemplo si se opera un Espacio de Rostros con un CE por las imágenes 1e.jpg, 2e.jpg y 3e.jpg (ultimo) y se proyecta la imagen 3b.jpg a éste espacio vectorial la imagen con la menor distancia euclidiana será con la imagen 2e.jpg del conjunto, obteniéndose en este caso una identificación negativa. La menor distancia euclidiana se logra al proyectar la imagen 2b.jpg con 35 puntos al tener el CE con las imágenes 1c.jpg, 2c.jpg y 3a.jpg. En contraparte, la mayor distancia eucldiana es de 7358 unidades al identificar la imagen 1c.jpg con el CE 1b.jpg, 2a.jpg y 3d.jpg. En los casos que se obtuvo una identificación negativa, la menor distancia euclidiana es de 3435 unidades al no poder identificar la imagen 3e.jpg y considerándola el sistema como la más semejante a 2e.jpg, esto trabajando con el CE formado por las imágenes 1c.jpg, 2e.jpg y 3d.jpg. La dispersión es grande en las distancias euclidianas, en 1500 proyecciones de cada imagen al espacio de rostros (que no son ya del CE) esto es observado en la siguiente gráfica. Distancias euclidianas en 1500 proyecciones 6000 >= MIN(E) 3%
0 > MIN(E) < 1200 4%
4800 >= MIN(E) < 6000 11%
1200 >= MIN(E) < 2400 28%
3600 >= MIN(E) < 4800 20% 2400 >= MIN(E) < 3600 34%
FG 4-8 Proporciones de distancias euclidianas en 1500 proyecciones de imágenes al Espacio de Rostros en 125 CE y donde las imágenes no son de éstos conjuntos.
128
4.5 Comparación de resultados con otros estudios Comparando los resultados con otros estudios, se tiene con [STOLL 1997] la implementación de un sistema de reconocimiento de rostros aplicando una red neuronal Kohonen. En las pruebas se utilizan las imágenes ORL, pero se reducen su tamaño. Con 40 imágenes de CE he aquí los resultados: Tasa de reconocimiento con imágenes ORL a una reducción de 25% (82% prom.)
Iteración a) Tasa de reconocimiento con imágenes ORL a una reducción de 50% (81.5% prom.)
Iteración
b)
FG 4-9 Resultados obtenidos en [STOLL 1997] con un reconocimiento de rostros con una red neuronal Kohonen. Reduciendo las dimensiones de las imágenes a un cuarto a) y a la mitad b). Sin embargo, resultados muy pobres de reconocimiento se obtuvieron aplicando el filtro de extracción de contornos de Gabor [STOLL 1997]. Conclusiones que no son compartidas en [RAJAPAKSE y GUO 2001] al aplicar el mismo filtro pero con una red neuronal backpropagation teniendo un error cuadrático medio del 4.75%. Otro sistema de reconocimiento con redes neuronales fue con [SOSSA 1998, et al] al aplicar una red neuronal ART 2. Se obtuvo un desempeño promedio del sistema en 87%.
Conclusiones
Felix qui potuit rerum cognoscere causas -Virgilio
130
El sistema de reconocimiento de rostros basados en la herramienta de Análisis de Componentes Principales (A) o también llamada transformada de Hotelling implementada en Microsoft Visual Basic versión 6 representa un método para proyectar imágenes de rostros encuadrados a un Espacio de Rostros multidimensional. Un nuevo rostro es comparado a rostros ya conocidos dentro de un grupo llamado como CE calculando la distancia euclidiana entre los autovectores (autocaras ó Rostros Característicos) proyectados en este Espacio de Rostros. Esto fue probado con imágenes de rostros obtenidos del Laboratorio de Investigaciones de la empresa Olivetti. Estos son los resultados obtenidos. Lo que el A busca es encontrar las direcciones de los vectores de los Rostros Característicos ó autocaras donde las desviaciones se encuentren concentradas, conociendo la medida de la cantidad de desviación en dirección a estos vectores y la relación euclidiana existente a los rostros que se proyecten a éste espacio donde contienen éstos vectores. Una de las mayores ventajas del reconocimiento de rostros por el A es la facilidad de su implementación, además que no requiere conocimientos de geometría de los rasgos físicos del rostro. A diferencia de otros métodos, la función del A depende del conjunto de datos de la imagen con lo que permite determinar estocásticamente el grado de relaciones de imágenes en el Conjunto de Entrenamiento sin involucrar las relaciones geométricas de los rostros. Se recuerda la hipótesis de esta tesis: con el desarrollo de un algoritmo empleando el modelo de Análisis de Componentes Principales será posible, en su aplicación, discriminar la imagen del rostro de un conjunto, con un error menor del 5% de reconocimiento. Las imágenes serán de rostros claramente detectados. Se concluye que en la primera parte de la hipótesis se logra efectivamente identificar a un individuo, pero definir una tasa de error para cualquier conjunto de entrenamiento, es complejo, por la naturaleza misma del rostro, donde puede ser ampliamente superada esta meta en (ver en TB 4-2) pero en (ver en FG 4-5) se prueba que esto depende del tamaño del Conjunto de Entrenamiento y el grado de discrepancia de las imágenes que se quieren detectar con las del conjunto. Las limitaciones del método de A son evidentes. En primer lugar el algoritmo es sensible a la escala del rostro y su localización en la imagen. Además, sólo demuestra un buen desempeño en fondos controlados. Se verificó experimentalmente que una representación a través de la A resulta eficiente desde el punto de vista de compresión de datos ya que la energía principal de una imagen está concentrada en
131
los primeros coeficientes (asociados a los autovalores de mayor magnitud). Se ha demostrado experimentalmente que el método A es muy sensible a variaciones en las condiciones en que las imágenes a clasificar son tomadas. Particularmente se ha analizado el caso de imágenes trasladadas horizontalmente, rotadas, con distintos niveles de contraste. Por lo tanto para la implementación de sistema efectivo resulta crítico realizar un encuadre inicial (localización) y ecualización del histograma de las imágenes a reconocer. También se analizó la identificación de imágenes alternativas, es decir donde las expresiones gestuales de los individuos son diferentes y pudo observarse que el algoritmo detecta dichas personas pero con ciertas limitaciones. El sistema tiene una fuerte dependencia a la naturaleza del CE. Se requiere un CE reducido que muestre la variabilidad de expresiones y detalles para que el grado de proyección de imágenes subsecuentes sea alto en recursos de cómputo reducidos. La conclusión principal de este trabajo es que este método es muy sensible a deformaciones en los patrones a reconocer. Si existen importantes diferencias de las imágenes de entrada con las imágenes tomadas por el CE el sistema puede confundirse requiriendo una actualización del CE.
Trabajos futuros Para mejorar el rendimiento del sistema de reconocimiento de rostros por el Análisis de Componentes Principales (A) se requiere lo siguiente: 1. Combinar el sistema con otros sistemas de reconocimiento como huellas digitales ó de iris y que dichos sistemas sirvan de confirmación de resultados cuando se tenga un grado de certidumbre alto. Teniéndose así sistemas que analicen características inmutables para confirmar el proceso de identificación de rostros de manera más confiable para sistemas de seguridad más críticos. 2. Sin importar el vector de patrones que represente un individuo, se puede lograr que cada clase de rostro sea consistente a varios patrones de vectores cada uno construido a partir de una imagen de un rostro en una condición específica en lugar de representar el promedio de estos vectores en ser representados en la clase de rostros. 3. Implementar herramientas que permitan una aproximación en menor tiempo a los autovectores y autovalores correspondientes a una Matriz de Covarianza con mayores dimensiones al método de Potencias y el método de Householder, sin que esto exija mayores recursos de cómputo. 4. Incorporar al sistema existente un módulo de detección y localización de rostros, para que a partir de una imagen presente varios individuos el sistema logre una identificación de los mismos sin que requiera un encuadre y alimentación manual al sistema. 5. Para fortalecer el sistema de reconocimiento, se recomienda que se establezcan controles cuando se de el caso en que autovectores o autovalores
132
tengan valores casi idénticos. Aunque la repetición de autovectores significaría una imagen duplicada en el CE; autovectores casi idénticos podría darse en gemelos, generando una incertidumbre que solo sería resuelta con información de sistemas de reconocimiento auxiliares. El A no es una herramienta para la identificación de persona en tiempo real ó en videos, sin embargo, esto es un limitante presente en todo sistema de reconocimiento. Con el advenimiento de sistemas de cómputo mejores como los sistemas nanotecnológicos dicha barrera se romperá permitiendo un fuerte resurgimiento de éstos sistemas. Por lo que nuevo conocimiento será necesario con estos recursos.
Bibliografía y referencias
134
[CANNY 1986] [CARPENTER 1988] [CARPENTER 1987] [EPSTEIN 2002] [ETEMAD Y CHELLAPPA 1997] [GONZALEZ Y WOODS 2002] [GONZALO 2002] [GROSSMAN 1992] [HOUGH 1962] [HOWARD 2004] [KIRBY Y SIROVICH 1990]
[KOHONEN 1982] [KINDERSLEY 1991] [LANITIS 1997] [MOGHADDAM Y PENTLAND 1997] [OLIVETTI 2005] [PENEY Y ATICK 1996]
Canny, J. "A Computational Approach for Edge Detection," IEEE Trans. Pattern Anal. Machine Intell, vol. 8 no 6, pg. 679-698. G. A. Carpenter and S. Grossberg, The ART of adaptive pattern recognition by a self-organizing neural network, IEEE Computer, 21(3):77-88, 1988. G. A. Carpenter and S. Grossberg, ART 2: Self-organization of stable category recognition codes for anaput signals, Applied Optics, 26(23):4919-4930, 1987. Robert Epstein “Fingerprints meet Doubert. The myth of fingerprint ‘science’ is Revealed” Southern California Law Review. Vol .75:605. 4 de Marzo 2002. K. Etemad and R. Chellappa, ``Discriminant analysis for recognition of human face images,'' Journal of the Optical Society of America, vol. 14, pp. 1724-1733, 1997. González, C. Rafael Y Woods E. Richard. “Digital Image Proccessing,”. Prentice Hall. ISBN:0-20-118075-8. United States, 2002. Gonzalo, Pajares Y De La Cruz, M. Jesús. “Visión por computador,”. Alfaomega, ISBN: 970-15-0804-1. México, 2002 Grossman, Stanley I. "Álgebra lineal con aplicaciones". Cuarta Edición. Editorial Mc Graw Hill. ISBN 968-422-984-4. México 1992. Hough, P.V.C. "Methods and Means for Recognizing Complex Patterns" U.S. Patent 3,069,654. HOWARD, ANTON. "Introducción al álgebra lineal". Tercera edición. Editorial Limusa Wiley ISBN 968-18-6317-8. México 2004. M. Kirby and L. Sirovich, ``Application of the karhunen-loeve procedure for the characterization of human faces,'' IEEE Pattern Analysis and Machine Intelligence, vol. 12, no. 1, pp. 103-108, 1990. Kohonen, T. "Self-organized formation of topologically correct feature maps," Biological Cybernetics, 43 59-69, 1982. Dorling Kindersley. The visual dictionary of the human body. UK 1991. Lanitis A., Taylor C.J. y Cootes, T.F (1997) "Automatic Interpretation and Coding of Face Images Using Flexible Models", IEEE Trans. on PAMI, pp. 743-756, vol. 19, nº 7, julio 1997. B. Moghaddam and A. Pentland, ``Probabalistic visual recognition for object recognition,'' IEEE Pattern Analysis and Machine Intelligence, vol. 19, no. 7, pp. 696-710, 1997. Olivetti Research Laboratories ftp://ftp.uk.research.att.com:pub/data/att_faces.zip 2003. Penev P. and J. Atick, ``Local feature analysis: A general statistical theory for object representation,'' Network: Computation in Neural Systems, vol. 7, pp. 477-500, 1996.
135
[PHILLIPS 1993 et al.]
[POOLE 2004] [RAJAPAKSE Y GUO 2001] [SOSSA 1998, et al.]
[STOLL 1997]
[TURK Y PENTLAND 1991]
[WELDON 1996] [WISKOTT 1997 et al.]
[WALPOLE Y MYERS 1999] [WURTZ 1994] [ZAUNY 2001]
P. Phillips, H. Wechsler, J. Huang, and P. Rauss, ``The FERET database and evaluation procedure for face recognition algorithms,'' Image and Vision Computing, vol. 16, no. 5, pp. 295306, 1993. Poole, David. "Álgebra lineal: Una introducción moderna". Editorial Thomson. ISBN: 970-686-272-2. México 2004. Menaka Rajapakse, Yan Guo. “Performance analysis of Gabor responses in face recognition,” Kent Ridge Digital Lab.
[email protected]. Singapore 2001. Juan Humberto Sossa Azuela, Patricia Rayón Villela y Jesús Figueroa Nazuno "Arquitectura basada en Redes Neuronales para el Reconocimiento de Rostros" Centro de Investigación en Computación del IPN. Laboratorio de Sistema Complejos, Soluciones Avanzadas pgs. 67-72. Noviembre 1998. Jacob Stoll. "Face Recognition using Neural Methods" Bachelor Thesis Department of Electrical and Computer Engineering, University of Queensland. En la division de Computer Systems Engineering. Octubre 1997. M.A. Turk, A.P. Pentland, "Face Recognition using Eigenfaces". Vision and Modeling Group. The Media Laboratory Massachusetts Institute of Technology. En proc. de Computer Vision an Pattern Recognition, pgs 586-591. IEEE, junio 1991. Weldon T, Higgins W and Dunn D, ‘Efficient Gabor Filter Design for Texture Segmentation’, Pattern Recognition, Vol. 29, No. 12, pg. 2005-2015, 1996. L. Wiskott, J-M. Fellous, N. Kruger, and C. von der Malsburg, ``Face recognition by elastic bunch graph matching,'' IEEE Pattern Analysis and Machine Intelligence, vol. 19, no. 7, pp. 775-779, 1997. WALPOLE, RONALD E., MYERS, RAYMOND H. MYERS SHARON L. "Probabilidad y estadística para ingenieros" Sexta Edición. Editorial Prentice Hall. México 1999. Würtz, R.P., Multilayer Dynamic Link Networks for Establishing Image Point Correspondences and Visual Object Recognition. Ph. D. Thesis, Universidad de Bochum, 1994. Zauny, Faúndez Marcos. “Tratamiento digital de voz e imagen,”. Afaomega, México, 2001.
Apéndice A Breve repaso de álgebra lineal
Las matemáticas es el puente que une El mundo de las ideas con el mundo de la realidad. -Isaac Newton
137
Apéndice A: Breve repaso de álgebra lineal El propósito de éste apéndice es dar un contexto general, que sea suficiente para el entendimiento de los términos de álgebra lineal que se mencionan en ésta tesis. Aunque se recomienda utilizar la bibliografía propuesta para su mejor entendimiento.
A.1 Definiciones generales El álgebra lineal es una rama de las matemáticas que estudia los sistemas de ecuaciones lineales, transformaciones lineales, vectores y espacios vectoriales y temas afines. Un sistema de ecuaciones es un conjunto de ecuaciones cuyas soluciones comunes se pretende hallar. Las ecuaciones de un sistema suelen tener dos o más incógnitas, por lo que cada una de ellas puede tener infinitas soluciones. Se llama solución del sistema a una solución común a todas las ecuaciones que lo forman. Resolver un sistema de ecuaciones es hallar todas sus soluciones o concluir que no tiene solución. Si dos sistemas de ecuaciones tienen las mismas soluciones o ambos carecen de solución, se dice que son sistemas de ecuaciones equivalentes. Los sistemas de ecuaciones sin solución se llaman incompatibles y los que tienen solución, compatibles. Una ecuación con varias incógnitas es lineal si es de la forma ax + by = c, ax + by + cz = d4…, es decir, si las incógnitas aparecen sin exponentes. Un sistema de ecuaciones lineales compatible, o bien tiene solución única (es determinado), o tiene infinitas soluciones (es indeterminado). Existen varios métodos elementales para resolver sistemas de ecuaciones: el método de sustitución, el método de igualación y el método de reducción.
El método de sustitución consiste en despejar una de las incógnitas en una de las ecuaciones y sustituir su expresión en la otra, la cual se transformará en una ecuación con una incógnita que se puede resolver.
El método de igualación consiste en despejar la misma incógnita en las dos ecuaciones e igualar sus expresiones, obteniendo así una ecuación con una incógnita. Una vez resuelta se obtiene fácilmente el valor de la otra incógnita.
El método de reducción consiste en procurar que una de las incógnitas tenga el mismo coeficiente en las dos ecuaciones para que, al restarlas miembro a miembro, se elimine dicha incógnita, dando lugar a una ecuación con sólo la otra incógnita. Se resuelve dicha ecuación y el valor de la incógnita se sustituye en una de las ecuaciones primitivas, y con ello se puede obtener el valor de la otra incógnita.
Una matriz es una tabla rectangular de números. Una de las principales aplicaciones de las matrices es la representación de sistemas de ecuaciones de primer grado con varias incógnitas. Cada fila de la matriz representa una ecuación, siendo los valores de una fila
138
los coeficientes de las distintas variables de la ecuación, en determinado orden. Por ejemplo, para representar en una matriz un sistema de ecuaciones se hace (EJ A-1): 2 x + 4 y + 6 z = 18 ⎫ ⎡2 4 6 18 ⎤ ⎪ ⎢ ⎥ 4 x + 5 y + 6 z = 24⎬ = ⎢4 5 6 24⎥ 3 x + y − 2 z = 4 ⎪⎭ ⎢⎣3 1 − 2 4 ⎥⎦
EJ A-1 Ejemplo de sistema de ecuaciones lineales. Los elementos de una matriz general, de tamaño m × n, m renglones, n columnas. Se representan normalmente utilizando un doble subíndice; el primer subíndice, i, indica el número de fila y el segundo, j, el número de columna. Así pues, el elemento a23 está en la segunda fila, tercera columna. La matriz general se delimita generalmente entre corchetes, aunque también puede ser entre paréntesis.
⎡ a11 ⎢a A = ⎢ 21 ⎢ ⎢ ⎣a m1
a12 a 22 am2
a1n ⎤ ⎛ a11 ⎜ a 2 n ⎥⎥ ⎜ a 21 = ⎥ ⎜ ⎥ ⎜ a mn ⎦ ⎜⎝ a m1
a12 a 22 am2
a1n ⎞ ⎟ a2n ⎟ ⎟ ⎟ a mn ⎟⎠
EC A-1 Definición de una matriz. El tamaño de una matriz está dado por el número de filas y el de columnas en este orden. Si m = n, es una matriz cuadrada y el número de filas (o columnas) es el orden de la matriz. Dos matrices A = (aij) y B = (bij), son matrices iguales, si y sólo si son de igual tamaño y sí para todo i e j, aij = bij. Si A = (aii) es una matriz cuadrada, los elementos a11, a22, ..., aii forman la diagonal principal de la matriz. La matriz transpuesta de una matriz A es otra matriz AT en la cual en cada elemento aij de A, su fila i será la columna i de AT, y la columna j será la fila j de AT. Una matriz cuadrada es una matriz simétrica si es igual a su transpuesta. La matriz cero es aquélla en la que todos los elementos son 0. Una matriz diagonal es una matriz cuadrada donde todos los elementos son 0 salvo los elementos de la diagonal principal. La matriz unidad o matriz de identidad Im de orden m, es una matriz cuadrada de orden m en la cual todos los elementos son cero excepto los de la diagonal principal, que son 1. El orden de la matriz de identidad se puede omitir si se sobrentiende con el resto de la expresión, con lo que Im se escribe simplemente I.
139
La adición y la multiplicación de matrices están definidas de manera que ciertos conjuntos de matrices forman sistemas algebraicos. Considérese los elementos de las matrices números reales cualesquiera. La suma de dos matrices sólo está definida si ambas tienen el mismo tamaño. Si A = (aij) y B = (bij) tienen igual tamaño, entonces la suma C = A + B se define como la matriz (cij), en la que cij = aij + bij, es decir, para sumar dos matrices de igual tamaño basta con sumar los elementos correspondientes. Para restar dos matrices, C=A-B, la matriz (cij), se define como cij = aij - bij teniendo las matrices A y B también el mismo tamaño. En el conjunto de todas las matrices de un determinado tamaño la adición tiene las propiedades uniforme, asociativa y conmutativa. Además hay una matriz única 0 tal que para cualquier matriz A, se cumple A + 0 = 0 + A = A y una matriz única B tal que A + B = B + A = 0. En el producto de dos matrices AB, A y B, está definido sólo si el número de columnas del factor izquierdo, A, es igual al número de filas del factor derecho, B; si A = (aij) es de tamaño m × n y B = (bjk) es de tamaño n × p, el producto AB = C = (cik) es de tamaño m × p, y cik está dado por n
cik = ∑ aij b jk j =1
EC A-2 Ecuación para el producto de dos matrices. Es decir, el elemento de la fila i y la columna k del producto es la suma de los productos de cada uno de los elementos de la fila i del factor izquierdo multiplicado por el correspondiente elemento de la columna k del factor derecho. La determinante de una matriz es una función det(A) que asocia un escalar denotado como |A| a una matriz cuadrada A. El significado geométrico de un determinante es un factor escalar para un volumen, cuando A es considerado como una transformación lineal. Para conocer, por ejemplo, la determinante de una matriz de tamaño 2 x 2 es igual a11a22 - a21a12. De forma general, para encontrar el determinante de una matriz de tamaño n x n se hace por medio de un desarrollo de cofactores a lo largo del primer renglón. n
det( A) = ∑ a1 j C1 j j =1
EC A-3 Determinante de una matriz.
140
Definiéndose como cofactor:
Cij = (−1) i + j det( Aij ) EC A-4 Definición de un cofactor. Por ejemplo, para calcular la determinante de una matriz de 3 x 3 se hace lo siguiente: det( A) = A = (−1)1+1 a11 A11 a11
a12
A = a 21 a31
a 22 a32
a13
(−1)1+ 2 a12 A12
a a 23 = (+1)a11 22 a32 a33
(−1)1+3 a13 A13
a a 23 (−1)a12 21 a 31 a33
a a 23 (+1)a13 21 a31 a33
a 22 a32
A = a11 (a 22 a33 − a 23 a33 ) − a12 (a 21 a 33 − a 23 a33 ) + a13 (a 21 a32 − a 22 a31 )
EJ A-2 Ejemplo para calcular la determinante de una matriz de 3 X 3. Una matriz es inversa de otra matriz, si el producto entre las matrices es la matriz identidad. Es decir, la matriz A-1 es una matriz inversa de la matriz A sí A-1A = AA-1 = I. Existiendo un sistema de n ecuaciones lineales con n incógnitas Ax=b y se debe utilizar el álgebra de matrices para resolver el sistema. A modo de analogía, considérese la ecuación ax=b, donde a y b son números reales y despejando x será igual a b/a, a≠0. De manera análoga, se necesita encontrar A-1 (análoga a 1/a) tal que AA-1 = I, para resolver el sistema de ecuaciones lineales Ax=b, se tiene la solución única x=A-1b, para cualquier b de orden m. Es decir, el objetivo será encontrar la matriz inversa A-1 para satisfacer el sistema de ecuaciones Ax=b. Es claro que no toda matriz puede invertirse, como es en el caso de la matriz 0, pero en caso que lo sea, entonces su inversa es única. Por ejemplo, para la obtención de la matriz inversa de orden 2 se hace solucionando el siguiente sistema de ecuaciones.
141
a12 ⎤ ⎡ x y ⎤ ⎡1 0⎤ ⎡a Ax = ⎢ 11 ⎥⎢ ⎥=⎢ ⎥ ⎣a 21 a 22 ⎦ ⎣ z w⎦ ⎣0 1⎦ ⎡ a11 x + a12 z a11 y + a12 w ⎤ ⎡1 0⎤ ⎢ a x + a z a y + a w⎥ = ⎢ 0 1 ⎥ 22 21 22 ⎦ ⎣ ⎦ ⎣ 21 ⎡ a11 x + a12 z 1⎤ ⎢ ⎥ ⎣a 21 x + a 22 z 0⎦ ⎡ a11 x + a12 z 1 ⎢ ⎣a 21 x + a 22 z 0 ⎡1 0 x ⎤ ⎢ ⎥ ⎣0 1 z ⎦
⎡ a11 y + a12 w 0⎤ ⎢ ⎥ ⎣a 21 y + a 22 w 1⎦ ⎡1 0 x y ⎤ 0⎤ ⎡ a11 y + a12 w 1 0⎤ ⎥=⎢ ⎥→⎢ ⎥ 1⎦ ⎣a 21 y + a 22 w 0 1⎦ ⎣ 0 1 z w⎦ ⎡1 0 y ⎤ ⎢ ⎥ ⎣ 0 1 w⎦
EJ A-3 Ejemplo para la inversa de una matriz de dimensiones de 2 X 2. Para calcular la inversa de una matriz cuadrada A. Primero se escribe la matriz aumentada [A|I]. Utilizando la reducción de renglones de Gauss-Jordan deberá aparecer la matriz inversa a la derecha de la barra vertical. En caso de que se obtenga un renglón de ceros la matriz no es invertible. Una matriz es invertible si su determinante es diferente de cero. Ahora, existen algunas propiedades en las matrices inversas. Teniéndose las matrices cuadradas A y B y el escalar α las siguientes propiedades. ( A −1 ) −1 = A (αA) −1 = 1 A −1
a)
( AB) −1 = A −1 B −1
c)
α
T
(A )
−1
−1 T
= (A )
b) d)
A − n = ( A n ) −1 = ( A −1 ) n , n ≥ 0 e) A-1A = AA-1 = I f) EC A-5 Propiedades de una matriz inversa.
142
Para el mejor entender del proceso de invertir una matriz, véase el ejemplo (EJ A-4) ⎡ 2 4 6 1 0 0⎤ ⎢ ⎥ ⎢ 4 5 6 0 1 0⎥ ⎢⎣3 1 − 2 0 0 1⎥⎦
⎡2 4 6 ⎤ A = ⎢⎢4 5 6 ⎥⎥ ⎢⎣3 1 − 2⎥⎦
⎡1 2 3 ⎢ R1 → 1 R1 = ⎢4 5 6 2 ⎢3 1 − 2 ⎢⎣ ⎡1 ⎢ = ⎢0 R3 → R3 − 3R1 ⎢ ⎢⎣0 ⎡1 ⎢ R 2 → − 1 R 2 = ⎢0 3 ⎢ ⎢⎣0 ⎡1 0 R1 → R1 − 2 R2 ⎢ = ⎢0 1 R3 → R3 + 5 R2 ⎢ ⎢⎣0 0 R2 → R2 − 4 R1
0 0⎤ 2 ⎥ 0 1 0⎥ 0 0 1⎥⎥ ⎦
1
3 1 0 0⎤ 2 ⎥ − 6 − 2 1 0⎥ 0 1⎥⎥ − 5 − 11 − 3 2 ⎦ 2 −3
2
3
1
0 0⎤ ⎥ − 1 0⎥ 3 ⎥ 0 1⎥ ⎦ 0⎤ ⎥ 0⎥ ⎥ 1⎥ ⎦
2
1 2 2 3 − 5 − 11 − 3 2
− 1 − 56 23 −1 2 2 3 3 − 1 11 −5 6 3
⎡1 0 − 1 − 5 2 6 3 ⎢ 2 1 ⎢ R3 → −1R3 = 0 1 2 − 3 3 ⎢ 5 11 0 0 1 − ⎢⎣ 6 3
0⎤ ⎥ 0⎥ ⎥ − 1⎥ ⎦
⎡1 0 0 − 8 7 3 3 ⎢ R1 → R1 + R3 13 11 = ⎢0 1 0 − 3 3 R2 → R2 − 2 R3 ⎢ 5 11 0 0 1 − ⎢⎣ 6 3 7 ⎡− 8 − 1⎤ ⎡− 16 3 3 ⎥ ⎢ −1 − 11 A = A = ⎢ 13 2 ⎥ = 1 ⎢⎢ 26 3 3 6 ⎢ ⎥ ⎢⎣ − 11 5 11 − 1⎥ ⎢⎣− 6 3 ⎦ EJ A-4 Ejemplo para poder invertir una matriz.
− 1⎤ ⎥ 2⎥ ⎥ − 1⎥ ⎦ 14 − 6⎤ − 22 12 ⎥⎥ 10 − 6⎥⎦
143
Cualquier representación de una matriz como un producto de dos o más matrices se denomina factorización matricial. Una matriz puede ser factorizada como un producto de dos matrices, una matriz triangular inferior y otra matriz triangular superior. A este tipo de factorización matricial se conoce como factorización LU. Una matriz es triangular superior si todos los elementos situados debajo de la diagonal principal son igual a cero. En forma contraria, una matriz es triangular inferior si todos los elementos situados por arriba de la diagonal principal son cero. En un sistema de ecuaciones lineales Ax=b se puede resolver mediante el producto de dos matrices: Una matriz triangular inferior (L) y otra matriz triangular superior (U). Si se emplea la eliminación gaussiana, a fin de resolver el sistema Ax=b, lo que se obtiene es una matriz triangular superior. La eliminación gaussiana concluirá cuando la matriz este en la forma escalonada por renglones, y la forma escalonada por renglones de la matriz cuadrada A es la matriz triangular superior U. Entonces A se reduce a U mediante una sucesión de operaciones elementales de renglón, cada una de estas operaciones se puede efectuar multiplicando por una matriz elemental apropiada. Así, es posible encontrar matrices elementales E1, E2, ..., En tales que (EC A-6):
U = E n E n −1 E n − 2 L E 2 E1 A
EC A-6 Ecuación para obtener una matriz triangular superior. Las matrices E1, E2, ..., En son matrices elementales porque se pueden obtener a partir de la matriz de identidad al efectuar una sola operación elemental en uno de sus renglones. Toda matriz elemental es invertible, así como su matriz inversa es elemental. De modo que es posible multiplicar sucesivamente por la izquierda ambos de la ecuación anterior (EC A-6) por lo siguiente: E n−1 , L , E 2−1 E1−1
EC A-7 Definición de matrices elementales.
144
Para obtener:
A = E1−1 E 2−1 L E n−1U L = E1−1 E 2−1 L E n−1 A = LU EC A-8 Definición de una matriz triangular superior e inferior. La matriz L es la matriz triangular inferior en el supuesto que para reducir A hacia U, no sea necesario efectuar ningún intercambio de renglones. Suponiendo que es el caso, se obtendrá la factorización de A en un producto de una matriz triangular inferior y una matriz triangular superior. Por ejemplo para factorizar la siguiente matriz:
6 2⎤ ⎡2 A = ⎢⎢− 3 − 8 0⎥⎥ ⎢⎣ 4 9 2⎥⎦ y obtener sus correspondientes matrices triangular superior e inferior se realiza lo siguiente:
145
⎡ 1 0 0⎤ ⎢ 2 ⎥ E1 = ⎢ 0 1 0⎥ ⎢ 0 0 1⎥ ⎣ ⎦ 3 ⎡1 R1 → 1 R1 ⎢ 2 ⎯⎯ ⎯⎯→⎢− 3 − 8 ⎢⎣ 4 9
⎡ 2 0 0⎤ −1 E1 = ⎢⎢0 1 0⎥⎥ ⎢⎣0 0 1⎥⎦ 1⎤ 0⎥⎥ 2⎥⎦
⎡1 0 0 ⎤ ⎡1 −1 ⎢ ⎥ E1 = ⎢3 1 0⎥ E1 = 3⎢⎢− 3 ⎢⎣0 0 1⎥⎦ ⎢⎣ 0 ⎡1 3 1 ⎤ R2 → R2 + 3 R11 ⎯⎯ ⎯ ⎯⎯→⎢⎢0 1 3⎥⎥ ⎢⎣4 9 2⎥⎦ ⎡ 1 0 0⎤ ⎡1 −1 ⎥ ⎢ E1 = ⎢ 0 1 0⎥ E1 = ⎢⎢0 ⎢⎣− 4 0 1⎥⎦ ⎢⎣4
⎡ 1 3 1⎤ U = ⎢⎢0 1 3⎥⎥ ⎢⎣0 0 1⎥⎦
−1 1
E
0 0⎤ 1 0⎥⎥ 0 1⎥⎦
E 2−1
E
0 0⎤ 1 0⎥⎥ 0 1⎥⎦
⎡1 ⎯⎯ ⎯ ⎯ ⎯→⎢⎢0 ⎢⎣0 ⎡1 0 E1 = ⎢⎢0 1 ⎢⎣0 3
3 1⎤ 1 3 ⎥⎥ − 3 − 2⎥⎦ 0⎤ ⎡1 0 0 ⎤ −1 ⎥ 0⎥ E1 = ⎢⎢0 1 0⎥⎥ ⎢⎣0 − 3 1⎥⎦ 1⎥⎦ 1⎤ ⎡1 3 R3 → R3 + 3 R21 ⎢ ⎯⎯ ⎯ ⎯⎯→⎢0 1 3 ⎥⎥ ⎢⎣0 − 3 − 2⎥⎦ ⎡1 0 0 ⎤ ⎡1 0 0 ⎤ ⎥ ⎢ −1 E1 = ⎢0 1 0 ⎥ E1 = ⎢⎢0 1 0⎥⎥ ⎢0 0 1 ⎥ ⎢⎣0 0 7 ⎥⎦ 7⎦ ⎣
−1 3
E 4−1
R3 → R3 − 4 R1
⎡1 3 1⎤ ⎯⎯ ⎯⎯→⎢⎢0 1 3⎥⎥ = U ⎢⎣0 0 1⎥⎦ R3 → 1 R3 7
EJ A-5 Ejemplo para factorizar una matriz de 3 X 3.
E
−1 5
⎡ 2 0 0⎤ = ⎢⎢0 1 0⎥⎥ ⎣⎢0 0 1⎥⎦ ⎡ 1 0 0⎤ = ⎢⎢− 3 1 0⎥⎥ ⎢⎣ 0 0 1⎥⎦ ⎡1 = ⎢⎢0 ⎢⎣4 ⎡1 = ⎢⎢0 ⎢⎣0
0 0⎤ 1 0⎥⎥ 0 1⎥⎦ 0 0⎤ 1 0⎥⎥ − 3 1⎥⎦
⎡1 0 0 ⎤ = ⎢⎢0 1 0⎥⎥ ⎢⎣0 0 7 ⎥⎦
L = E1−1 E 2−1 E3−1 E 4−1 E5−1 0 0⎤ ⎡2 ⎢ L = ⎢− 3 1 0⎥⎥ ⎢⎣ 4 − 3 7 ⎥⎦ A = LU = 6 2⎤ ⎡ 2 0 0⎤ ⎡1 3 1⎤ ⎡2 ⎢− 3 − 8 0⎥ = ⎢− 3 1 0⎥ ⎢0 1 3⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ 9 2⎥⎦ ⎢⎣ 4 − 3 7 ⎦⎥ ⎣⎢0 0 1⎦⎥ ⎣⎢ 4
146
Suponiendo que el sistema de ecuaciones lineales Ax=b sea el siguiente:
6 2⎤ ⎡ x1 ⎤ ⎡2⎤ ⎡2 ⎢ Ax = ⎢− 2 − 8 0⎥⎥ ⎢⎢ x 2 ⎥⎥ = ⎢⎢2⎥⎥ = b ⎢⎣ 4 9 2⎥⎦ ⎢⎣ x3 ⎥⎦ ⎢⎣3⎥⎦ EJ A-6 Ejemplo de un sistema de ecuaciones usando la matriz A del (EJ A-5).
Se puede resolver el sistema mediante el producto de las matrices triangular inferior (L) y la triangular superior (U) obtenidas a partir de (EJ A-5): 0 0⎤ ⎡1 3 1⎤ ⎡ x1 ⎤ ⎡2⎤ ⎡2 ⎢− 3 1 0⎥ ⎢0 1 3⎥ ⎢ x ⎥ = ⎢2⎥ ⎥⎢ 2 ⎥ ⎢ ⎥ ⎥⎢ ⎢ ⎢⎣ 4 − 3 7⎥⎦ ⎢⎣0 0 1⎥⎦ ⎢⎣ x3 ⎥⎦ ⎢⎣3⎥⎦ EJ A-7 Resolución de un sistema de ecuaciones dada a las matrices superior e inferior de A (EJ A-5).
Se puede definir una nueva matriz y de n x 1 por: ⎡1 3 1⎤ ⎡ x1 ⎤ ⎡ y1 ⎤ Ux = y, ⎢⎢0 1 3⎥⎥ ⎢⎢ x 2 ⎥⎥ = ⎢⎢ y 2 ⎥⎥ ⎢⎣0 0 1⎥⎦ ⎢⎣ x3 ⎥⎦ ⎢⎣ y 3 ⎥⎦ EJ A-8 Uso de la matriz triangular superior en un sistema de ecuaciones.
De modo que (EJ A-6) se puede volver escribir como: 0 0⎤ ⎡ y1 ⎤ ⎡2⎤ ⎡2 ⎢ Ly = b, ⎢− 3 1 0⎥⎥ ⎢⎢ y 2 ⎥⎥ = ⎢⎢2⎥⎥ ⎢⎣ 4 − 3 7⎥⎦ ⎢⎣ y 3 ⎥⎦ ⎢⎣3⎥⎦ EJ A-9 Uso de la matriz triangular inferior en un sistema de ecuaciones.
El procedimiento para resolver este sistema es semejante a la retrosustitución, excepto que las ecuaciones se resuelven de arriba hacia abajo, en vez de abajo hacia arriba. Este procedimiento es denominado sustitución hacia delante produciendo y1=1, y2=5, y3=2.
147
Sustituyendo estos valores en (EJ A-8) se obtiene un sistema lineal que servirá para conocer los valores x1, x2, x3 por retrosustitución, teniendo respectivamente los valores de 2, -1 y 2. Aunque este procedimiento reemplaza el problema de resolver el simple sistema Ax=b por el problema de resolver dos sistemas Ly=b y Ux=y, éstos se resuelven fácilmente porque las matrices de coeficientes son triangulares. A diferencia del método de eliminación gaussiana, el método de Gauss-Jordan reduce la matriz por renglones a la forma escalonada por reglones reducida La diferencia es importante, si se quiere implementar en computadora, se requieren menos operaciones elementales de renglón en la eliminación gaussiana. El estudio de los vectores y las matrices es el alma del álgebra lineal. En esencia, el estudio comenzó con el trabajo del gran matemático irlandés Sir William Rowan Hamilton (1805-1865). Su deseo de hallar una forma de representar ciertos objetos en el plano y en el espacio le llevó a descubrir lo que él llamó cuaterniones. Este concepto condujo a su vez el desarrollo de lo que ahora se conoce por vectores. El concepto geométrico de vector como segmento rectilíneo de módulo, dirección y sentido dados. Un n-vector (vector n-dimensional, vector de orden n o vector de dimensión n) es un conjunto ordenado de n elementos de un cuerpo. Al igual que en la teoría de matrices, los elementos de un vector pueden ser números reales. Un vector renglón de n-componentes se define como un conjunto ordenado de n números, y se escribe como:
(x1 , x 2 ,...xn ) EC A-9 Definición de un vector renglón.
Un vector columna de n-componentes se define como un conjunto ordenado de n números, y se escribe como ⎛ x1 ⎞ ⎜ ⎟ ⎜ x2 ⎟ ⎜ M ⎟ ⎜ ⎟ ⎜x ⎟ ⎝ n⎠ EC A-10 Definición de un vector columna.
148
En vectores, x1 recibe el nombre de primer componente del vector y en general, es el xn n-ésimo componente del vector. Se refiere a una matriz de tamaño n por 1, como un vector. Tal vector asume un significado geométrico cuando se asocian sus elementos con propiedades geométricas. Por ejemplo, considérese un espacio bidimensional en donde sus puntos son representados por sus coordenadas ( x, y ) . Mismas coordenadas pueden ser expresadas en términos de una columna como la siguiente: ⎡ x⎤ u=⎢ ⎥ ⎣ y⎦ EJ A-10 Las coordenadas x, y en un vector columna.
Geométricamente, se representa este vector como una línea directa desde el origen hasta el punto (x, y). En un espacio tridimensional el vector tendría componentes ( x, y, z ) . En un espacio de n dimensiones se representaría de la siguiente forma: ⎡ x1 ⎤ ⎢x ⎥ x = ⎢ 2⎥ ⎢M⎥ ⎢ ⎥ ⎣ xn ⎦ EC A-11 Definición de un vector multidimensional.
Los vectores tienen algunas propiedades entre las que se pueden mencionar: • •
Los vectores tienen componentes reales o complejos. Para propósitos de la presente tesis solamente se considerarán los vectores cuyos componentes con del conjunto de los números reales R. Se emplea el símbolo Rn para denotar los vectores reales de m dimensiones.
La igualdad de dos vectores se da si y solo sí en cada vector existen el mismo número de componentes y sus componentes correspondientes sean iguales. Las operaciones aritméticas de los vectores siguen las mismas reglas como en el caso de las matrices. El producto en un vector por un escalar se obtiene simplemente multiplicando cada elemento del vector por el escalar. La suma de dos vectores x y y se forma por la adición de sus elementos correspondientes {x1+y1, x2+y2 + ... + xn+yn} y es similar en la resta de vectores{x1-y1, x2-y2 + ... + xn-yn}. La multiplicación de dos vectores es al igual como en el caso de las matrices, teniendo que ser ambos factores mismas dimensiones.
149
Sean u, v y w vectores en Rn y α es un número real, entonces (EC A-12): Por ley de identidad
u+0 = 0+u =u 0⋅u = u ⋅0 = 0
Por ley distributiva
(u + v) ⋅ wT = u ⋅ wT + v ⋅ wT u ⋅ (v + w) T = u ⋅ v T + u ⋅ wT
Por ley conmutatividad
v ⋅ u T = (u ⋅ v T ) T α ⋅ u = u ⋅α
Por transpuesta
(u T ) T = u (u + v) T = u T + v T
Ley de distribución por producto escalar
(α ⋅ u ) ⋅ v T = α ⋅ (u ⋅ v T ) = u ⋅ (α ⋅ v T )
a) b) c) d) e)
EC A-12 Propiedades de los vectores.
A.2 Espacio de vectores Informalmente se puede pensar en un espacio vectorial como un conjunto cuyos vectores se pueden sumar, restar, (estructura de grupo) estirar y contraer (multiplicación por escalar). Más formalmente, un conjunto V no vacío es un espacio vectorial sobre un cuerpo K, si dadas dos operaciones: suma vectorial definida en V, se denota v + w para todo v y w de V, y producto escalar en V, se denota av para todo v de V y a de K, si cumple las siguientes 10 propiedades (5 propiedades para la suma y 5 para el producto escalar) para todo a, b de K y u, v y w de V: Para la Suma 1. La suma vectorial es una operación cerrada en V. Es decir, v + w pertenece a V. 2. Asociatividad de la suma vectorial en V, u + (v + w) = (u + v) + w. 3. Existe un elemento 0 en V tal que para todo v de V, v + 0 = v. Existencia del elemento neutro de la suma vectorial en V. 4. Para todo v de V, existe un elemento -v en V, tal que v + (-v) = 0. Existencia del elemento opuesto respecto a la suma vectorial en V. 5. Conmutatividad de la suma vectorial en V como v + w = w + v. Para el Producto Escalar 1. El producto escalar es una operación cerrada en V. Es decir, av pertenece a V.
150
2. Asociatividad del producto escalar en V, a(bv) = (ab)v. 3. La matriz de identidad 1 como elemento neutro en la multiplicación del campo escalar K, entonces 1v = v. Neutralidad del uno del campo escalar. 4. Distributividad con respecto a la suma vectorial. a(v + w)=av + aw. 5. Distributividad con respecto a la suma escalar (a + b)v = av + bv. Las propiedades de la 1 a la 5 indican que V es conmutativo o Abeliano bajo la suma vectorial. De las propiedades anteriores, se puede probar inmediatamente las siguientes formulas útiles: a0 = 0v = 0 -(av) = (-a)v = a(-v) ∀ a ∈ K , ∀v ∈ V .
a) b)
EC A-13 Según las propiedades se puede probar que cualquier vector multiplicado por cero es el origen y la propiedad conmutativa en la resta vectorial.
Ahora, para determinar si un conjunto V es un espacio vectorial se debe especificar el conjunto V, el campo escalar K y definir la suma vectorial y el producto escalar en V. Entonces si V satisface las 10 propiedades anteriores, es un espacio vectorial sobre el cuerpo K. Si en dos espacios de vectores V0 y V, cada elemento de V0 es también un elemento en V, se dice que V0 es subespacio de V. Las operaciones de los elementos en V0 serán los mismos como los elementos en V.
A.3 Vectores linealmente independientes Se dice que dos vectores u y v de un mismo espacio vectorial son vectores independientes si no son proporcionales, es decir si uno de ellos no es un múltiple del otro. Para cualquier escalar k, se tiene u ≠ kv. Es equivalente decir que el sistema (u, v) compuesto por los dos vectores es libre. Geométricamente, dos vectores son independientes si no tienen la misma dirección (con sentidos idénticos u opuestos). Esta definición supone que el vector nulo tiene todas las direcciones. Tres vectores son independientes si y sólo si no están contenidos en el mismo plano vectorial, o sea si ninguno de ellos es una combinación lineal de los otros dos (en cuyo caso estaría en el plano generado por estos vectores). Esta noción se generaliza a un número cualquiera de vectores. Los n vectores son independientes si ninguno de ellos es una combinación lineal de los demás, o, de manera equivalente, si no existe una combinación lineal no nula de los vectores cuyo resultado es el vector nulo. Es decir formalmente, en un conjunto de vectores v1, v2, .., vn, son independientes si no existen n escalares α1, α2, ... αn, no siendo todos los escalares cero,
151
tales que α1v1 + α2v2 + ... + αnvn ≠ 0. Es decir, ninguno de ellos puede ser combinación de otros, en caso que lo sea, son vectores dependientes. El espacio generado por un sistema de vectores es el conjunto de todas las combinaciones lineales de estos vectores. Es un espacio vectorial. El espacio generado por un vector no nulo es la recta vectorial dirigido por este vector. El espacio generado por dos vectores independientes es el plano que los contiene. Resulta fácil comprobar que el espacio generado por un sistema de vectores es el menor (por la inclusión) espacio vectorial que los contiene a todos. Si n vectores son independientes, el espacio generado es de dimensión n (dimensión en el sentido usual: 0 para un punto, 1 para una recta, 2 para un plano, etcétera). Por ejemplo, en el espacio tridimensional usual:
Los vectores u y j son dependientes pues tienen la misma dirección. (Aunque sentidos opuestos). Los vectores u y v son independientes y generan el plano P. Los vectores u, v y w son dependientes, pues son tres vectores en el mismo plano. Los vectores u, v y k son independientes pues u y v lo son y k no es una combinación lineal de u y v generando el espacio tridimensional. Los vectores 0 y k son dependientes puesto que 0=0k
FG A-1 Ejemplos del comportamiento de vectores en un espacio tridimensional.
Un conjunto S con vectores v1, v2, v3, ..., vn, dentro del espacio vectorial V se dice que se extiende sobre el subespacio V0 de V si y solamente si S es un subconjunto de V0 y cada vector v en V0 es linealmente dependiente a los vectores en S. El conjunto S se dice que es una extensión del subespacio V0. Teniendo un conjunto de vectores v1, v2, ..., vn estando los n vectores dentro del espacio vectorial V. El conjunto de combinaciones lineales de {v1, v2, ..., vn} generará un espacio, mismo que seguirá estando dentro del espacio vectorial V. Es decir el espacio vectorial V se habrá extendido. El conjunto de n vectores linealmente independientes que generen un espacio vectorial será la base de dicho espacio. Es decir todo conjunto de n vectores linealmente independientes en Rn es una base de Rn. Los n vectores base de un espacio vectorial será la dimensión del espacio vectorial.
152
A.4 Norma de vectores y propiedades En un sistema coordenado, la distancia entre dos puntos se define como el valor numérico o valor absoluto de la longitud del segmento rectilíneo que uno esos dos puntos. Sea la distancia entre dos puntos dados. Sean P1(x1, y1) y P2(x2, y2) dos puntos cualquiera. 5
B
P1 (x1 , y1 )
4 3 2
A
1 0
C
-1
D
-2
E P2 (x2 , y2 )
-3 -4 -5 -5
-3
-1
1
3
5
FG A-2 Recta entre los puntos P1 y P2.
Para determinar la distancia d entre los puntos P1 y P2. Por la recta P1P2 se trazan las rectas perpendiculares P1A y P2D a ambos ejes coordenados, con el punto E como intersección. Considerando P1EP2 como triangulo rectángulo, con el teorema de Pitágoras, se establece: 2
d 2 = P1 P2 = P2 E 2 + EP1
2
EJ A-11 Distancia entre los puntos P1 y P2 de (FG A-1).
Como coordenadas se tiene que A(x1, 0), B(0, y1), C(x2, 0), y D(0,y2). Restando la coordenada de origen y la coordenada externa se obtiene su longitud. P2 E = CA = x1 − x 2 , EP1 = DB = y1 − y 2
EJ A-12 Reexpresión de (EJ A-11) en términos de diferencia de coordenadas.
153
Sustituyendo (EJ A-11)en los valores de (EJ A-12), se obtiene:
d=
(x1 − x2 )2 + ( y1 − y 2 )2
EC A-14 Longitud de una recta en un espacio de dos dimensiones.
La norma de un vector en un espacio vectorial V es una función que asigna a cada vector v en el espacio vectorial V un número real positivo, llamado norma de v denotado como |v|. La norma de un vector satisface las siguientes condiciones: 1. |v|> 0 para v≠0; |0|=0. 2. |cv|=|c||v| para todos los escalares c y los vectores v, y 3. |u + v|≤|u|+|v|. La norma más frecuente es la segunda norma, que para un vector x en espacio vectorial Rm, es decir es de orden m. Esto se define como:
x =
m
∑x i =1
2 i
EC A-15 Norma de un vector de múltiples dimensiones obtenido por sus componentes.
Al igual que en la geometría, sobre la longitud de una recta, la norma de un vector es la distancia de éste vector con su origen.. Se reconoce esta expresión como distancia Euclidiana del origen al vector x, dando a esta expresión comúnmente como Norma Euclidiana. La expresión también es reconocida como la longitud del vector x y de forma similar a los valores absolutos, la longitud del vector se denota como |x|. Basándose en la multiplicación de dos vectores columna se puede indicar también la norma del vector x como:
x = xT x EC A-16 Reinterpretación de (EC A-15) para obtener la norma de un vector de múltiples dimensiones.
Un vector de longitud 1 se le conoce como vector unitario. En R2, el conjunto de todos los vectores unitarios puede ser identificado como un circulo unitario. Dado cualquier vector x distinto de cero, se puede encontrar un vector en la misma dirección y sentido, normalizando el vector a uno, es decir, dividiendo el vector entre su propia longitud. A
154
esto se le llama normalización estándar, lográndose a través de la siguiente formula (EC A-17).
x=
1 x x
EC A-17 Normalización estándar de un vector. y x
1 1
1
1
x 1
FG A-3 Vectores en un espacio bidimensional que tienen una longitud de 1.
La desigualdad de Cauchy – Schwartz establece que: xT y ≤ x y
EC A-18 Desigualdad Cauchy - Schwartz.
En palabras, esto establece que el valor absoluto del producto interno de dos vectores nunca excede al producto de normas de los vectores. Otra expresión indica que: cosθ =
xT y T x y = x y cosθ x y
EC A-19 Definición del ángulo de dos vectores θ.
Donde θ es el ángulo entre los vectores x y y Así el producto interno de dos vectores puede representarse como una función del producto de las normas de estos vectores y el ángulo entre ellos. Si se tiene que el producto interno de dos vectores Rn es cero, pero cada vector es también diferente de cero, entonces se dice que los vectores son ortogonales. Si además
155
de que los dos vectores son ortogonales, si el múltiplo del vector sí mismo es uno, entonces además son vectores ortonormales. Un conjunto de vectores es un conjunto ortogonal si cada par de vectores del conjunto dado es ortogonal. Así mismo, un conjunto de vectores es un conjunto ortonormal si cada par de vectores dados son ortonormales.
A.5 Aspectos importantes de la ortogonalidad Puesto que se tiene un cero en el producto interno entre vectores ortogonales, estos vectores tendrán un ángulo entre ellos de 90°. Empleando la ecuación (EC A-19) dado los siguientes hipotéticos vectores se demuestra el ángulo entre ellos es de 90°. ⎛ 2 ⎜ [2 4]⎡⎢ ⎤⎥ ⎛x y⎞ ⎡ 2⎤ ⎡2⎤ ⎣− 1⎦ ⎟ = a cos⎜⎜ x = ⎢ ⎥, y = ⎢ ⎥, θ = a cos⎜⎜ ⎟ 2 2 2 2 ⎣ 4⎦ ⎣− 1⎦ ⎝x y⎠ ⎜ 2 + 4 2 −1 ⎜ ⎝ 2π rad = 360° T
⎞ ⎟ ⎟⎛ 360 ⎞ ⎟⎜ 2π ⎟ = 90° ⎠ ⎟⎝ ⎟ ⎠
EJ A-13 Ejemplo de obtener el ángulo de dos vectores según (EC A-19).
Por lo que los vectores x y y son ortogonales. Sin embargo, una matriz cuadrada será una matriz ortogonal si y solo si su inversa es igual a su transpuesta. Sea la matriz A ⎡1 5 A =A =⎢ ⎢2 ⎢⎣ 5 T
−1
⎤ 5 ⎥ − 1 ⎥ 5 ⎥⎦ 2
EJ A-14 Ejemplo de una matriz ortogonal.
La matriz A es ortogonal. Para que los vectores x y y de (EJ A-13) conformen una matriz ortogonal, deberá ser ortonormalizada a través de un proceso como el de Gram Schmidt ó Householder. En realidad, la matriz (EJ A-14) es el resultado de ortonormalizar la matriz cuyas columnas son los vectores x y y de (EJ A-13), por medio del proceso de Gram Schmidt esté proceso se explicará después.
156
Sea B={v1, v2, ..., vn}tenga una base ortogonal u ortonormal, pudiéndose cualquier vector v puede ser representado con respecto a una base B ortogonal como: v = α 1v1 + α 2 v 2 + L + α n v n EC A-20 Espacio vectorial B contenidos los vectores v con una base ortogonal.
Obteniéndose los coeficientes de la siguiente manera:
αi =
v T vi v T v i = 2 viT vi vi
EC A-21 Obtención de los coeficientes en (EC A-20).
Si se representa un vector como una combinación lineal de base de vectores ortogonales u ortonormales, se puede determinar directamente los coeficientes a partir calculo de los productos internos. Todo conjunto ortogonal finito de vectores no nulos es linealmente independiente. Es posible convertir un conjunto linealmente independiente de vectores de una dimensión a una base ortonormal a través del proceso como de Gram-Schmidt o Householder. Aunque cuando se realiza el proceso de ortogonalización la transformación de Householder usualmente es preferido al proceso de Gram-Shmidt, porque los errores de redondeo tienen efectos menores.
A.6 Procesos estocásticos Un Proceso estocástico es un conjunto de operaciones matemáticas en el que un sistema cambia de forma aleatoria entre diferentes estados, a intervalos regulares o irregulares. La teoría matemática de los procesos estocásticos intenta definir clases de procesos para el cual una teoría unificada pueda ser desarrollada. Las clases más importantes de procesos son los procesos estacionarios y los procesos de Markov. Se centrará la discusión en los procesos de Markov. Un proceso estocástico discreto es llamado un proceso de Markov (por el matemático Andrey Andreyevich Markov) si en cualquier tiempo t la probabilidad condicional de un evento arbitrario futuro es dada por el pasado del mismo proceso. Es decir, si se conoce la historia del sistema hasta su instante actual, su estado presente resume toda la información relevante para describir en probabilidad su estado futuro.
157
Una cadena de Markov (finita) es una serie de eventos, en la cual la probabilidad de que ocurra un evento determinado depende del evento inmediatamente anterior. En efecto, las cadenas de este tipo tienen memoria. Se registra el último evento y esto condiciona las posibilidades de los eventos futuros. Esta dependencia del evento anterior, distingue a las cadenas de Markov de las series de eventos independientes, como lanzar dados. En una cadena de Markov, dada una secuencia de variables o eventos aleatorios x1, x2, …, xn dentro de un rango llamado como espacio estado, el valor del proceso x(t) es el estado del proceso en el tiempo t definido éste valor por un proceso en un evento pasado inmediato x(s) para todo s ≤ t. Así, para conocer acerca el comportamiento futuro del proceso de Markov, no es muy útil conocer toda la historia del proceso sino solo el estado actual. La distribución condicional de x(t) dado x(s) es llamado probabilidad de transición del proceso. Si esta distribución condicional no depende de s, el proceso es llamado como una probabilidad de transición estacionaria. Se aclarará mejor esta explicación con un ejemplo. Un equipo de investigación de mercado está realizando una investigación controlada para determinar las preferencias de la población con respecto a pastas dentales. La muestra consta de 200 personas, a cada una de las cuales se le solicita probar dos marcas de dentífricos durante un periodo de varios meses. Basados en respuestas, el equipo de investigación compila las estadísticas siguientes acerca de las preferencias detectadas. De los que utilizan la marca A en cualquier mes, 70% continúan utilizándola al mes siguiente, mientras que el 30% cambian a la marca B; de los que utilizaban la marca B en cualquier mes, 80% continúan haciéndolo mientras que 20% cambiaban a la marca A. Estos datos se resumen en la siguiente figura.
70%
30%
A
B
80%
20%
FG A-4 Fluctuación entre compradores de las marcas de pasta de dientes A y B en un mes.
La figura (FG A-4) es un ejemplo simple de una cadena de Markov. Representa un proceso desarrollado compuesto por un número finito de estados. En cada paso o punto del tiempo, el proceso puede estar en cualquiera de los estados; en el siguiente paso, el proceso puede permanecer en un estado presente o cambiar a uno de los otros estados. El estado al que el proceso se mueve en el siguiente paso y la probabilidad de hacerlo así dependen solamente del estado presente y no de la historia del proceso. Estas probabilidades se conocen como probabilidades de transición y se supone que son constantes (es decir, la probabilidad de moverse de el estado i hasta el estado j es siempre la misma).
158
En la investigación sobre las pastas dentales existen sólo dos estados: utilizar la marca A o la marca B, y las probabilidades de transición son las indicadas en (FG A-4). Supóngase que cuando la investigación comienza, 120 personas emplean la marca A mientras que 80 prefieren la marca B. Para saber cuantas personas utilizan cada marca un mes después se hace lo siguiente: El número de clientes que preferirán Marca A un mes después se calcula sumando los clientes que son leales con la marca más los clientes de la marca B que cambiarán sus preferencias por la marca A. 70 × 120 + 20 × 80 = 100 clientes 100 100 EJ A-15 Cantidad de clientes que prefieren la marca A en cualquier mes.
De manera semejante, el número de los clientes de la marca B después de un mes será una combinación de aquellos de se cambian a ella y quienes continúan usándola: 30 × 120 + 80 × 80 = 100 clientes 100 100 EJ A-16 Cantidad de clientes que prefieren la marca B en cualquier mes.
Se puede resumir estas dos ecuaciones en una sola ecuación matricial: ⎡0.70 0.20⎤ ⎡120⎤ ⎡100⎤ P=⎢ x0 = ⎢ ⎥ x1 = ⎢ ⎥ ⎥ ⎣0.30 0.80⎦ ⎣ 80 ⎦ ⎣100⎦ Px0 = x1 EJ A-17 Fluctuación de clientes entre las marcas expresados en una ecuación matricial.
Si se extiende la notación para que xk sea el vector cuyas componentes registren la distribución de los clientes de pasta dental después de k meses. Para determinar el número de clientes de cada marca después de haber transcurrido dos meses, simplemente se aplica el mismo razonamiento, comenzando x1 en lugar de x0 se obtiene lo siguiente (EJ A-18):
159
⎡0.70 0.20⎤ ⎡100⎤ ⎡ 90 ⎤ Px1 = ⎢ ⎥ ⎢ ⎥ = ⎢ ⎥ = x2 ⎣0.30 0.80⎦ ⎣100⎦ ⎣110⎦ EJ A-18 Cantidad de clientes que prefieren las marcas A y B después de dos meses.
Teniéndose después de dos meses 90 clientes de la marca A y 110 de la marca B. El proceso para poder calcular las cantidades de clientes que preferirán las marcas A y B después de medio año (k=6) es el siguiente: ⎡0.70 Px 2 = ⎢ ⎣0.30 ⎡0.70 Px 4 = ⎢ ⎣0.30
0.20⎤ ⎡ 90 ⎤ ⎡ 85 ⎤ = = x3 0.80⎥⎦ ⎢⎣110⎥⎦ ⎢⎣115⎥⎦
⎡0.70 0.20⎤ ⎡ 85 ⎤ ⎡ 82.5 ⎤ Px3 = ⎢ ⎥⎢ ⎥ = ⎢ ⎥ = x4 ⎣0.30 0.80⎦ ⎣115⎦ ⎣117.5⎦ 0.20⎤ ⎡ 82.5 ⎤ ⎡ 81.25 ⎤ ⎡0.70 0.20⎤ ⎡ 81.25 ⎤ ⎡ 80.625 ⎤ =⎢ = x5 Px5 = ⎢ ⎥ ⎢ ⎥ ⎥ ⎥⎢ ⎥=⎢ ⎥ = x6 0.80⎦ ⎣117.5⎦ ⎣118.75⎦ ⎣0.30 0.80⎦ ⎣118.75⎦ ⎣119.375⎦
EJ A-19 Cantidad de clientes que prefieren las marcas A y B en medio año.
En medio año, 81 clientes (redondeando) preferirán la marca A y 119 la marca B. Los vectores xk son conocidos como vectores de estado de la cadena de Markov, mientras que la matriz P se conoce como matriz de transición. Como se pudo ver en el ejemplo anterior, la cadena de Markov satisface la siguiente relación:
x k +1 = Px k para k = 0, 1, 2, L EC A-22 Definición de una cadena de Markov.
De este resultado se sigue se puede calcular un vector de estado arbitrario de manera iterativa una vez que se conoce x0 y P. En otras palabras, una cadena de Markov se encuentra completamente determinada por sus probabilidades de transición y su estado inicial. En caso de querer los vectores de probabilidad, los datos se dividen entre el total de clientes (200 clientes). Por ejemplo, después de medio año se 40.3% de los clientes usaran la marca A y 59.7% la marca B (EJ A-20).
160
⎡ 80.625 ⎤ 200 ⎥ = ⎡ 0.4031⎤ x6 = ⎢ ⎢0.5969⎥ ⎢119.375 ⎥ ⎦ 200⎦ ⎣ ⎣
EJ A-20 Porcentaje de participación del mercado para las marcas A y B.
Las columnas de la matriz P son vectores de probabilidades, cualquier matriz cuadrada con esta propiedad se llama matriz estocástica, (deriva del adjetivo griego stokhastikos que quiere decir “capaz de predecir” o “adivinar”) puesto que sus columnas suman 1, es decir los vectores columnas tienen una norma unitaria. Se puede comprender la naturaleza determinística de las cadenas de Markov de otra manera. x 2 = Px1 = P ( Px 0 ) = P 2 x 0
EC A-23 Transición entre un periodo 0 y 2 en la determinación del valor de una matriz x2.
y en general: x k = P k x 0 para k = 0, 1, 2, L
EC A-24 Ecuación de Markov para calcular la matriz xk en k periodos.
Por lo que en siete meses se tendrá:
⎡0.70 0.20⎤ ⎡ 80.625 ⎤ ⎡0.4047 0.3969⎤ ⎡120⎤ ⎡ 80.3125 ⎤ Px6 = ⎢ = P 7 x0 = ⎢ = x7 = ⎢ ⎥ ⎢ ⎥ ⎥ ⎢ ⎥ ⎥ ⎣0.30 0.80⎦ ⎣119.375⎦ ⎣ 0.5953 0.6031⎦ ⎣ 80 ⎦ ⎣119.6875⎦ EJ A-21 Clientes para la marcas A y B después de medio año aplicando (EC A-24).
Su correspondiente vector de probabilidad será el siguiente (EJ A-22):
161
⎡ 80.3125 ⎤ 200 ⎥ = ⎡0.4016⎤ x7 = ⎢ ⎢0.5984⎥ ⎢119.6875 ⎥ ⎦ 200⎦ ⎣ ⎣
EJ A-22 La determinación de la cantidad de clientes de la marca A y B en siete meses, con (EJ A-21).
Si se quiere saber la distribución de los clientes en las pastas dentales a largo plazo, como veinte meses se muestra el comportamiento en (FG A-5). Distribución de clientes en 20 meses 0.7
0.6
Sin cambio
vectores de probabilidad
0.5
0.4
0.3
0.2
0.1
0 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
meses A
B
FG A-5 Participación del mercado para las marcas de pasta de dientes A y B en 20 meses.
Parece que los vectores de probabilidad de estado se aproximan ó convergen al vector.
⎡0.4⎤ ⎢0.6⎥ ⎣ ⎦ EJ A-23 Vector estacionario en participación de mercado de las marcas A (40%) y B (60%).
162
Lo que implica que finalmente 40% de los clientes de pastas dentales sujetos de la investigación utilizarán la marca A mientras que 60% empleará la marca B. En realidad, se puede verificar que, esta distribución es alcanzada a los quince meses, no habiendo cambios después de éste mes. Cuando se tiene una probabilidad semejante de moverse de un estado i a otro estado j en k transacciones se alcanza un vector estacionario, es decir se tiene la propiedad Pk(x)i= Pk+n(x)j, como es el vector (EC A-24). P
Para encontrar un vector estacionario sin hacer una iteración se comienza a rescribir la ecuación matricial Px=x como Px=Ix. y (I-P)x=0. Ahora esto es un sistema homogéneo de ecuaciones lineales como matriz de coeficientes I-P, de modo que la matriz aumentada es [I-P|0]. Para el ejemplo de pastas dentales, se tiene la distribución relativa siguiente (EJ A-24):
⎡1 0⎤ ⎡0.70 0.20 0⎤ ⎡ 0.30 − 0.20 0⎤ ⎡ 310 − 210 0⎤ ⎥ [I − P 0] = ⎢0 1⎥ − ⎢0.30 0.80 0⎥ = ⎢− 0.30 0.20 0⎥ = ⎢ 3 2 0 − ⎢ ⎥ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ 10 10 ⎦ ⎡ 3 − 2 0⎤ ⎡1 − 2 0 ⎤ − 2 0⎤ 10 ⎥ R → 3 R ⎡ 1 3 ⎥ R2 → R2 + 3 R1 ⎢ 3 ⎥ ⎢ 10 ⎢ 1 1 10 ⎢− 0.30 0.20 0⎥ 10 ⎢0 2 0⎥ 0⎥⎦ ⎢− 3 0 ⎣ ⎦ ⎣ 10 ⎦ ⎣ 10 x1 = 2 t , x 2 = t 3 1 = x1 + x 2 = 2 t + t = 2 t + 3 t = 5 t 3 3 3 3 t = x 2 = 3 y x1 = 1 − 3 = 2 5 5 5 x1 = 2 = 0, x 2 = 3 5 5 ⎡ x ⎤ ⎡ 2 ⎤ ⎡0.40⎤ x = ⎢ 1 ⎥ = ⎢ 5⎥ = ⎢ ⎥ ⎣ x 2 ⎦ ⎢⎣ 3 5 ⎥⎦ ⎣0.60⎦ EJ A-24 Calculo del vector estacionario en la distribución de las marcas de pasta dentales A y B.
Si se quiere que x contenga la distribución real en lugar de la distribución relativa se deberá tener x1+x2=200 en lugar de x1+x2=1. Teniéndose entonces como distribución real de clientes que usarán las pastas de dientes A y B el siguiente vector estacionario:
⎡ 80 ⎤ x=⎢ ⎥ ⎣120⎦ EJ A-25 Vector estocástico que indicad el número de clientes que usarán las marcas dentales A y B.
163
Ahora, en este ejemplo se considera un mercado que no crece. Siempre se tendrá siempre doscientos clientes. Cuando se tiene un incremento poblacional se utiliza una ligera variante de las cadenas de Markov que es un modelo basado en matrices propuesto en 1945 por P. H. Leslie.
A.6.1 Modelo de Leslie El modelo de Leslie describe el crecimiento de la parte femenina de una población, que se supone tiene una vida máxima. Las hembras se dividen en clases por edad, todas las cuales abarcan un número igual de años. Si se emplean datos acerca de las tasas de nacimiento promedio y probabilidades de supervivencia de cada clase, el modelo es capaz de determinar el crecimiento de la población en el transcurso del tiempo. Se propone el siguiente ejemplo para explicar mejor el modelo. Cierta especie de escarabajo alemán Vollmar-Wasserman (o escarabajo VW, para abreviar), vive hasta tres años. Se divide las hembras de los escarabajos VW en tres clases de una duración de un año cada clase. Los VW menores (del nacimiento a un año), jóvenes (de uno a dos años) y adultas (de dos a tres años). Las menores no depositan huevos; cada joven produce un promedio de cuatro hembras escarabajo y cada adulta produce un promedio de tres hembras. La tasa de supervivencia de las menores es de la mitad, mientras que la tasa de supervivencia para las jóvenes es del 25%. Supóngase que comienza con una población de cien escarabajos VW hembra: 40 menores, 40 jóvenes y 20 adultas. Para predecir la población de escarabajos de cada clase para los siguientes cinco años. Después de un año, el número de menores será el número producido durante ese año de 220 porque 40 × 4 + 20 × 3 = 220. El número de jóvenes será simplemente el número de jóvenes que hayan sobrevivido 40 × 0.5 = 20. Del mismo modo, el número de adultas será el número de adultas que hayan sobrevivido 40 × 0.25 = 10. Se pueden combinar los resultados en una sola ecuación matricial.
4 3⎤ ⎡40⎤ ⎡220⎤ ⎡0 ⎢ Lx0 = ⎢0.5 0 0⎥⎥ ⎢⎢40⎥⎥ = ⎢⎢ 20 ⎥⎥ = x1 ⎢⎣ 0 0.25 0⎥⎦ ⎢⎣20⎥⎦ ⎢⎣ 10 ⎥⎦ EJ A-26 Predicción de las poblaciones de escarabajos en un año.
La matriz L se denomina como matriz de Leslie. La estructura de la ecuación es exactamente la misma que la que presentan las cadenas de Markov (EC A-24) aunque su interpretación es diferente. Se puede calcular de manera iterativa los vectores
164
sucesivos de distribución de población como las cadenas de Markov, teniéndose la siguiente serie:
⎡110⎤ ⎡ 455 ⎤ ⎡4320⎤ ⎡4570⎤ ⎡301860⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ x 2 = ⎢110⎥, x3 = ⎢ 55 ⎥, L, x9 = ⎢ 950 ⎥, x10 = ⎢2160⎥, L, x 20 = ⎢⎢110040 ⎥⎥ ⎢⎣ 5 ⎥⎦ ⎢⎣27.5⎥⎦ ⎢⎣ 250 ⎥⎦ ⎢⎣ 240 ⎥⎦ ⎢⎣ 16540 ⎥⎦
EJ A-27 Poblaciones de escarabajos en 2, 3 9, 10 y 20 años.
Millares
Teniéndose el siguiente crecimiento de la población en veinte años en(FG A-6). Población
350
300
250
Población
200
150
100
50
0 0
5
10
15
20
Tiempo (en años) Menores
Jóvenes
Adultas
FG A-6 Gráfica que indica el aumento la población de escarabajos en 20 años.
Si en lugar de graficar la población futura, sé grafica la población relativa de cada clase, surge un patrón diferente. Para hacerlo así se necesita calcular la fracción de la población de cada clase de edad por cada año; es decir, se necesita dividir cada vector de
165
distribución entre la suma de los componentes. Por ejemplo para x1 (después de un año) se tiene: 22 ⎡220⎤ ⎡⎢ 25⎤⎥ ⎡0.88⎤ 1 1 ⎢ 20 ⎥⎥ = ⎢ 2 ⎥ = ⎢⎢0.08⎥⎥ x1 = 25 220 + 20 + 10 250 ⎢ ⎢⎣ 10 ⎥⎦ ⎢⎢ 1 ⎥⎥ ⎢⎣0.04⎥⎦ ⎣ 25 ⎦ EJ A-28 Población relativa de escarabajos en un año.
Lo que dice que el 88% de la población después de un año, esta compuesta por 88% de menores, 8% de jóvenes y 4% de adultas. Al proyectar de crecimiento relativo en veinte años se obtiene la siguiente grafica (FG A-7). Población relativa en veinte años 100%
Porcentaje de población
80%
60%
40%
20%
0% 0
2
4
6
8
10
12
14
16
18
20
Tiempo (en años) Menores
Jóvenes
Adultas
FG A-7 Población relativa de escarabajos en una proyección de 20 años.
La proporción de la población de cada clase se aproxima a un estado estacionario. Resultando el vector estacionario del ejemplo el siguiente:
166
⎡0.72⎤ ⎢0.24⎥ ⎢ ⎥ ⎢⎣0.04⎥⎦ EJ A-29 Vector estacionario que indica la población relativa que tenderán las poblaciones de escarabajos.
Aunque existen fluctuaciones en las poblaciones de escarabajos, después de un tiempo estás tenderán a crecer a una tasa fija. A diferencia de las cadenas de Markov, donde el vector estacionario tiene la propiedad de Px=x. En el modelo de Leslie, el vector estacionario va a satisfacer la relación Lx=rx, donde r representa la tasa de crecimiento en estado estacionario. Al graficar las razones en que fluctúan éstas poblaciones se observará la tendencia en (FG A-8).
Veces
Tasa de crecim iento 6.00 5.50 5.00 4.50 4.00 3.50 3.00 2.50 2.00 1.50 1.00 0.50 0.00 1
4
7
10
13
16
19
22
25
28
Años menores
jovenes
adultas
FG A-8 Tasa de crecimiento de las poblaciones en 30 años. Obsérvese que tenderán al 150% por año.
A medida que pasa el tiempo, la tasa crecimiento de las poblaciones tenderá a una razón de 1.5 veces al año. Por ejemplo, en 85 años se tendrá las siguientes poblaciones (EJ A-30).
167
Lx85 = 1.5 x85 = x86 8.7959e + 016 ⎡ 1.3194e + 017⎤ 4 3⎤ 8.7959e + 016 ⎡0 ⎢0.5 ⎥ 0 0⎥ 2.9319e + 016 = 1.5 2.9319e + 016 = ⎢⎢ 4.3979e + 016 ⎥⎥ ⎢ ⎢⎣ 0 0.25 0⎥⎦ 4.8866e + 015 4.8866e + 015 ⎢⎣ 7.3298e + 015 ⎥⎦
EJ A-30 Población de escarabajos en 86 años, alcanzando un crecimiento constante de crecimiento.
Aunque claro, una cantidad así de escarabajos no es realista. Como el modelo de Leslie tendrá siempre una matriz L estática, la predicción de población tiende a ser errónea porque no existen recursos ilimitados para soportar tal población. El problema central del modelo de Leslie es que para una matriz cuadrada A, se buscará si existen vectores distintos de cero tales de Ax sea justamente un múltiplo escalar del vector x. Éste es el problema de los autovalores y autovectores.
A.7 Cálculo de los autovectores y autovalores de la matriz Se aclararan los conceptos de autovectores y autovalores de una matriz. Sea una matriz A de n x n con elementos reales ó complejos. El número λ (real o complejo) recibe el nombre de autovalor de A sí existe algún vector diferente de cero x tal que: Ax = xλ , x ≠ 0
EC A-25 Concepto de autovectores y autovalores de una matriz A.
Se dice que el vector x es un autovector de A correspondiente al autovalor λ. Los autovectores también suele llamárseles como vectores propios, vectores característicos ó eigenvectores. Los autovalores también se les conocen también como valores propios, valores característicos, valores latentes o eigenvalores. La palabra “eigen” significa en alemán “propio” y se pronuncia como “ayg’n”. Los autovalores de A serán sí y solo sí.
p(λ ) = det( A − λI ) = 0 EC A-26 Ecuación característica de A, donde los autovalores λ tendrán la determinante (A - λI)=0.
168
A esta ecuación se le conoce como ecuación característica de A. Además a p(λ) se le llama polinomio característico de A. Cuando se desarrolla la ecuación característica se obtiene el polinomio característico.
p(λ ) = det( A − λI ) = 0 ⎡ a11 ⎢a p(λ ) = ⎢ 21 ⎢ M ⎢ ⎣a n1
a12 a 22 M a n2
a11 − λ a 21 p(λ ) = M a n1
L a1n ⎤ ⎡λ11 L a 2 n ⎥⎥ ⎢⎢ 0 − O M ⎥ ⎢ M ⎥ ⎢ L a nn ⎦ ⎣ 0
a12 a 22 − λ M a n2
0
λ22 M 0
L 0 ⎤ L 0 ⎥⎥ =0 O M ⎥ ⎥ L λ nn ⎦
L a1n L a2n =0 O M L a nn − λ
EC A-27 Desarrollo de la ecuación característica (EC A-26).
Ahora, el concepto de polinomio característico en una matriz de 2 x 2.
a b b 1 0 a−λ ⎡a b ⎤ A − λI = A=⎢ −λ = ⎥ c d c b−λ 0 1 ⎣c d ⎦ p(λ ) = det( A − λI ) = (a − λ )(b − λ ) − bc = λ2 − (a + b )λ + (ad − bc ) EC A-28 Polinomio característico (EC A-26) para una matriz de 2 X 2.
Si A es de n x n, su polinomio característico será de grado n. Un polinomio de grado n con coeficientes reales o complejos tiene como máximo n raíces distintas. Si se aplica este hecho al polinomio característico, se ve que una matriz de n x n con entradas reales o complejas tiene a lo más n distintos autovalores. Por ejemplo, para calcular los autovectores y autovalores de la siguiente matriz (EJ A-31):
169
⎡1 − 1 4 ⎤ A = ⎢⎢3 2 − 1⎥⎥ ⎢⎣2 1 − 1⎥⎦ ⎡1 − λ det ( A − λI ) = ⎢⎢ 3 ⎢⎣ 2
−1 2−λ 1
⎤ − 1 ⎥⎥ = −(λ − 1)(λ + 2 )(λ − 3) = 0 λ1 = 1; λ 2 = −2; λ3 = 3 − 1 − λ ⎥⎦ 4
EJ A-31 Desarrollo de un polinomio característico A.
Con los autovalores ya conocidos se obtendrá sus autovectores correspondientes. ⎛ 0 − 1 4 ⎞⎛ x1 ⎞ ⎛ 0 ⎞ ⎜ ⎟⎜ ⎟ ⎜ ⎟ ( A − I )v = ⎜ 3 1 − 1 ⎟⎜ x2 ⎟ = ⎜ 0 ⎟ ⎜ 2 1 − 2 ⎟⎜ x ⎟ ⎜ 0 ⎟ ⎝ ⎠⎝ 3 ⎠ ⎝ ⎠
⎛ − 1⎞ ⎜ ⎟ v1 = ⎜ 4 ⎟ ⎜1⎟ ⎝ ⎠
⎛ 3 − 1 4 ⎞⎛ x1 ⎞ ⎛ 0 ⎞ ⎛1⎞ ⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ( A − (− 2 I ))v = ⎜ 3 4 − 1⎟⎜ x2 ⎟ = ⎜ 0 ⎟ v 2 = ⎜ − 1⎟ ⎜2 1 ⎜ − 1⎟ 1 ⎟⎠⎜⎝ x3 ⎟⎠ ⎜⎝ 0 ⎟⎠ ⎝ ⎝ ⎠ ⎛ − 2 − 1 4 ⎞⎛ x1 ⎞ ⎛ 0 ⎞ ⎛1⎞ ⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ( A − 3I )v = ⎜ 3 − 1 − 1 ⎟⎜ x 2 ⎟ = ⎜ 0 ⎟ v3 = ⎜ 2 ⎟ ⎜ 2 ⎜1⎟ 1 − 4 ⎟⎠⎜⎝ x3 ⎟⎠ ⎜⎝ 0 ⎟⎠ ⎝ ⎝ ⎠
EJ A-32 Obtención de los autovectores de A por sus autovalores (EJ A-31).
Si en sus n autovectores son todos ellos distintos entonces estos vectores son linealmente independientes. Las matrices pueden descomponerse en productos de otras matrices como matrices triangulares, diagonales u ortogonales. Estas matrices que forman parte de la matriz original, pueden ser usadas para resolver sistemas de ecuaciones lineales. La elección del método para encontrar los autovalores elegido se descompondrá la matriz dependiendo de las características de la misma, como sus dimensiones, rango ó determinante. Una problemática especial existe para encontrar los autovectores y autovalores de una matriz de grandes dimensiones, esto se tratara en el siguiente punto.
170
A.7.1 Cálculo de los autovectores y autovalores de una matriz de n x n Las siguientes propiedades son esenciales en los autovectores y autovalores de una matriz A real A de un tamaño de n x n. 1. Si {λ1, λ2, ... λq}, q n, es un conjunto de autovalores distintos de A y xi es un autovector de A con sus autovalores correspondientes λi, i=1, 2, ..., q, entonces {x1, x2, ..., xq} es un conjunto de vectores linealmente independientes. Si una matriz de n x n tiene n autovalores distintos, sus autovectores constituirán un conjunto ortogonal (ortonormal), que significa que cualquier vector de n dimensiones puede ser expresado como una combinación lineal de autovectores de A. 2. Los componentes de la diagonal principal de la matriz diagonal son iguales a sus autovalores. Usando la definición de Ax=λx los autovectores pueden ser escritos inspeccionando cuando A es diagonal. 3. La matriz real simétrica A con n x n elementos, tiene un conjunto de m autovectores linealmente independientes que pueden ser escogidos del conjunto ortonormal. Esta propiedad es de importancia cuando se tratan matrices de covarianzas que son matrices reales y simétricas. 4. Los autovalores de una matriz real simétrica de n x n son reales, y los autovectores asociados pueden ser escogidos para formar un conjunto de m vectores ortonormales. 5. Suponiendo que la matriz A de n x n es real y simétrica, y que se forma una matriz A cuyos renglones son los n autovectores ortonormales de A. Entonces, el producto XXT=I porque los renglones de X son vectores ortonormales (los renglones de A y las columnas de XT son ortonormales, sus productos internos serán ya sea 1 ó 0). Así, X-1=XT cuando la matriz X se forma como se indicó. 6. Considerando las matrices A y X definidas en el punto anterior. Entonces, el producto Λ=_X-1AX = XTAX es una matriz diagonal cuyos elementos a lo largo de la diagonal principal son los autovalores de A. Los autovectores de Λ son los mismos a los autovectores de A. El encontrar del polinomio característico por medio del cálculo de la determinante necesita muchos recursos computacionales si la matriz es grande. Existen métodos iterativos diferentes que darán una solución en procesos más reducidos. Entre los métodos existentes se explicará el método de potencias.
171
A.7.2 Método de potencias El método de potencias se aplica a una matriz de n x n que tiene un autovalor dominante λ1, es decir, un autovalor que es más grande en valor absoluto que todos los otros autovalores. Por ejemplo, si una matriz tiene los autovalores -4, -3, 1 y 3, entonces -4 será el autovalor dominante, puesto que 4 = |-4| > |-3| ≥ |3| ≥ |1|. Por otra parte, una matriz con autovalores -4, -3, 3 y 4 no tienen un autovalor dominante. El método de potencias procede de manera iterativa para producir una sucesión de escalares que converge hacia λ1 y una sucesión de vectores que converge hacia el vector correspondiente x1, el autovector dominante. Por simplicidad, se supondrá que la matriz A es diagonalizable. Esto es definido por: Sea A una matriz de n x n diagonalizable por:
λ = x −1 Ax EC A-29 Diagonalización de autovalores (EC A-25).
Con un autovalor dominante λ1. Entonces existe un vector distinto de cero x0 tal que la secuencia de vectores de xk definida por:
x1 = Ax0 , x 2 = Ax1 , x3 = Ax 2 , L, x k Ax k −1 , L EC A-30 Definición de una secuencia de autovectores (EC A-23).
Se aproxima a un autovector dominate x1 de A. Se puede suponer que los autovalores de A se hayan etiquetado de modo que
λ1 > λ2 ≥ L ≥ λn EC A-31 Orden de los autovalores como el λ1 el mayor.
172
Ahora considérese los autovectores v1, v2, …, vn con sus correspondientes autovalores distintos λ1, λ2, ..., λn y son linealmente independientes, puesto que constituyen una misma base Rn. Pudiéndose escribir x0 como una combinación lineal de estos autovectores.
x0 = c1v1 + c 2 v 2 + L + c n v n EC A-32 Combinación lineal de x0 y formación de un espacio con base ortogonal Rn (EC A-20).
De forma similar para encontrar el vector estacionario en las cadenas de Markov, el autovector dominante se puede expresar como: x1 = Ax 0 , x 2 = Ax1 = A( Ax 0 ) = A 2 x 0 , x3 = Ax 2 = A( A 2 x 0 ) = A 3 x 0
EC A-33 Definición del autovector dominante (EC A-23).
y, generalmente x k = Ax k −1 = A 2 x k − 2 = L = A k x 0 , k ≥ 1
EC A-34 Definición general del autovector dominante (EC A-22).
Por lo que es fácil probar, por inducción, que A k xi = λik xi , i = 1,2,..., n .
EC A-35 Definición de un autovalor dominante en k periodos de transición (EC A-25).
173
Y entonces para cualquier entero k (EC A-36) x k = A k x0 x k = A k (c1v 2 + c 2 v2 + L + c n v n ) = c1 A k v1 + c2 A k v2 + L + c n A k v n = c1λ1 v1 + c2 λ2 v2 + L + c n λn v n = k
k
k
k k ⎛ ⎛ λ2 ⎞ ⎛ λn ⎞ ⎞⎟ ⎜ = λ c1v1 + c 2 ⎜⎜ ⎟⎟ v 2 + L + c n ⎜⎜ ⎟⎟ v n ⎜ ⎝ λ1 ⎠ ⎝ λ1 ⎠ ⎟⎠ ⎝ k n ⎛ ⎞ ⎛ λi ⎞ k⎜ ⎜ ⎟ = λ1 c1v1 + ∑ ⎜ ⎟ ci vi ⎟ ⎜ ⎟ i = 2 ⎝ λ1 ⎠ ⎝ ⎠ λ1 ≠ 0, v1 ≠ 0 k 1
λ λ 2 λ3 , , L, i < 1 λ1 λ1 λ1 k
⎛λ ⎞ λ1 > λi ∴ lim⎜⎜ i ⎟⎟ = 0 ∀i = 2,3,L , n. k →∞ λ ⎝ 1⎠ ⎛x ⎞ lim⎜⎜ kk ⎟⎟ = c1v1 k →∞ λ ⎝ 1⎠
EC A-36 Obtención del autovector dominante en k periodos.
Donde se verifica que c1v1 es un autovector de A asociado al autovalor de λ1. Si k es suficientemente grande, se tiene:
(
)
Axk = x k +1 ≈ λ1k +1c1v1 = λ1 λ1k c1v1 = λ1 x k , k → ∞ x k = A x0 → λ c v k
k 1 1 1
EC A-37 Obtención del autovalor dominante en k periodos.
174
Por lo que la sucesión xk proporciona un método para aproximar el autovalor λ1. Por ejemplo, aproxímese el autovector dominate A mediante x k = Ax k −1 . Sea la matriz A:
⎡1 1⎤ A= ⎢ ⎥ ⎣2 0⎦ EJ A-33 Matriz que se utilizará para calcular los autovectores y autovalores según método de potencias.
⎡1 1⎤ ⎡1⎤ A= ⎢ x , = 0 ⎥ ⎢0⎥ ⎣2 0⎦ ⎣⎦
Autovector del autovector dominante xk y el autovalor dominante rk 1 ⎡1 ⎤ ⎢ 2⎥ ⎣ ⎦
2 ⎡ 3⎤ ⎢ 2⎥ ⎣ ⎦
3 ⎡5 ⎤ ⎢6 ⎥ ⎣ ⎦
4 ⎡11⎤ ⎢10⎥ ⎣ ⎦
rk
1
3
5
lk
1 1
11 10 11 5
K xk x k = Ax k −1
0 ⎡1 ⎤ ⎢0 ⎥ ⎣ ⎦
2
2
3 1
5
6 3
TB A-1 Obtención del autovector xk y el autovalor dominante rk.
Se sabe que el espacio de autovectores del autovector dominate tendrá una dimensión de 1. Porque las iteraciones convergen sobre la recta cuyo vector de dirección es [1 1]T , Es decir la recta que pasa a través del origen en R2 tiene una ecuación de f(x)=x. Para confirmar que ése es el autovector dominate buscado, sólo se necesita observar que la razón rk del primero al segundo componente de xk, se aproxima a 1, a medida que k se incrementa. Por lo que se deduce que el autovector dominante de A es: Lim ⎡1⎤ xk = ⎢ ⎥ x→∞ ⎣1⎦ EJ A-34 Autovector dominante de A.
9 10 11
175
7
8
x4
3
4
5
6
x3
x2
0
1
2
x1
12
11
10
9
8
7
6
5
4
3
2
1
0
x0
FG A-9 Modo gráfico para la obtención del autovector dominante (TB A-1).
De la tabla anterior (TB A-1), se desprende que la razón lk se aproximará al autovalor dominante λ1 con un valor de 2, a medida que se incremente k. El principal problema de este método es que los componentes xk iterados se hacen muy grandes con mucha rapidez y pueden causar errores de redondeo significativos. Para evitar este problema, se pueden multiplicar cada iteración por algún escalar que reduzca la magnitud de sus componentes. Debido a que los múltiplos escalares de los xk iterados todavía convergerán hacia un autovector dominante, este enfoque es aceptable. Existen varias maneras para conseguirlo; una es normalizar cada xk por el vector unitario |xk|. Al dividir cada xk entre el componete con el máximo valor absoluto, de modo que el componente más grande sea de 1. Otro método es dividir cada xk entre la componente con el máximo valor absoluto, de modo que la componente más grande sea de uno. Este método se denomina escalamiento. De este modo, si mk denota la componente de xk con el máximo valor absoluto, reemplazando xk por yk = (1/mk)xk. Se Ilustrará este enfoque con los cálculos de la tabla anterior (TB A-1). Para x0, no es necesario hacer algo puesto que m0=1. Por lo tanto ⎡1 ⎤ y 0 = x0 = ⎢ ⎥ ⎣0 ⎦ EJ A-35 Valores iniciales de y0 y x0.
176
Entonces se calcula x1 como antes, pero ahora se escala con m1=2.
⎡1 1⎤ ⎡1⎤ ⎡1⎤ → 1 x1 = Ay 0 = ⎢ ⎥⎢ ⎥ = ⎢ ⎥ ⎣ 2 0 ⎦ ⎣0 ⎦ ⎣ 2 ⎦ → 2
1< 2
m1 = 2
EJ A-36 Calculo de x1 y m1 como el mayor valor absoluto de los componentes del vector x1.
Para obtener lo siguiente: y1 =
( )
⎡1⎤ ⎡0.5⎤ 1 x1 = 1 ⎢ ⎥ = ⎢ ⎥ 2 ⎣ 2⎦ ⎣ 1 ⎦ m1
EJ A-37 Obtención de y1.
Ahora, los cálculos cambian, tomando: ⎡1 1⎤ ⎡0.5⎤ ⎡1.5⎤ x 2 = Ay1 = ⎢ ⎥⎢ ⎥ = ⎢ ⎥ ⎣ 2 0⎦ ⎣ 1 ⎦ ⎣ 1 ⎦ EJ A-38 Calculo de x2 a partir de y1.
y al escalar con m2=1.5 se obtiene:
( )
⎡1.5⎤ ⎡ 1 ⎤ y 2 = ⎛⎜ 1 ⎞⎟ x 2 = 1 ⎢ ⎥ = ⎢ 1.5 ⎣ 1 ⎦ ⎣0.67 ⎥⎦ ⎝ m2 ⎠ ⎡1.5⎤ → 1.5 ⎢ 1 ⎥ → 1 1 < 1.5 m2 = 1.5 ⎣ ⎦
EJ A-39 Calculo de y2 y m2 (EJ A-36).
177
Los siguientes cálculos se resumen en la tabla siguiente: K xk yk mk
0 1 ⎡ ⎤ ⎢0 ⎥ ⎣ ⎦
1 1 ⎡ ⎤ ⎢2⎥ ⎣ ⎦
2 1 ⎡ .5⎤ ⎢1⎥ ⎣ ⎦
⎡1 ⎤ ⎢0 ⎥ ⎣ ⎦ 1
⎡0.5⎤ ⎢1⎥ ⎣ ⎦ 2
⎡ 1 ⎤ ⎢0.67 ⎥ ⎣ ⎦ 1.5
3 1 . ⎡ 67⎤ ⎢ 2 ⎥ ⎣ ⎦ ⎡0.83⎤ ⎢ 1 ⎥ ⎣ ⎦ 2
4 1 . ⎡ 83⎤ ⎢1.67⎥ ⎣ ⎦ ⎡ 1 ⎤ ⎢0.91⎥ ⎣ ⎦ 1.83
5 1 . ⎡ 91⎤ ⎢ 2 ⎥ ⎣ ⎦ ⎡0.95⎤ ⎢ 1 ⎥ ⎣ ⎦ 2
6 1 . ⎡ 95⎤ ⎢1.91⎥ ⎣ ⎦ ⎡ 1 ⎤ ⎢0.98⎥ ⎣ ⎦ 1.95
7 1 . ⎡ 98⎤ ⎢ 2 ⎥ ⎣ ⎦ ⎡0.99⎤ ⎢ 1 ⎥ ⎣ ⎦ 2
8 1 . ⎡ 99⎤ ⎢1.98⎥ ⎣ ⎦ ⎡ 1 ⎤ ⎢0.99⎥ ⎣ ⎦ 1.99
TB A-2 Calculo del autovector dominante yk y el autovalor dominante mk (EJ A-33).
Alcanzando el vector yk como estado estacionario en 18 iteraciones. Se puede observar que la sucesión de vectores yk está convergiendo hacia el vector [1 1]T como en (FG A9)también lo hace como autovector dominante. Además la sucesión de escalares mx converge hacia el autovalor dominante de λ1 a 2 como lo hace lk en la tabla(TB A1).Al graficar xk y yk en (FG A-10)se observan que se convergen al mismo autovector [1 1]T como se observa en (FG A-9), Pero el problema en que el vector xk tiende al infinito y su consecuente susceptibilidad de errores por redondeo no se tiene en yk. Teniendo un proceso más estable y factible para matrices mayores.
FG A-10 Modo gráfico para determinar el autovector dominante yk (TB A-2).
178
Ahora, para conocer el segundo autovalor se toma en cuenta de que si λ1 es el autovalor dominante de A, los autovalores de A- λ1I serán 0, λ2- λ1, λ3- λ1, ..., λn- λ1. Esto es porque si λ es un autovalor de A, entonces λ-c es un autovalor de A-cI para cualquier escalar c. Puesto el autovalor dominante λ1=2 para hallar λ2 se hace lo siguiente: ⎡1 1 ⎤ ⎡1 0⎤ ⎡1 1⎤ ⎡2 0⎤ ⎡− 1 1 ⎤ − 2⎢ A2 = A1 − λ1 I = ⎢ ⎥ ⎥=⎢ ⎥−⎢ ⎥=⎢ ⎥ ⎣ 2 0⎦ ⎣0 1 ⎦ ⎣ 2 0 ⎦ ⎣ 0 2 ⎦ ⎣ 2 − 2 ⎦ EJ A-40 Calculo de A2 para calcular el segundo autovector yk y autovalor mk.
Se realizaran las mismas operaciones que se hicieron para obtener xk, yk y mk, tomando los mismos vectores de inicio x0 y y0. Solo la única diferencia será la sustitución de la matriz original de A por la de A2. k xk yk mk
0 ⎡1 ⎤ ⎢0 ⎥ ⎣ ⎦ ⎡1 ⎤ ⎢0 ⎥ ⎣ ⎦ 1
1 ⎡− 1⎤ ⎢2⎥ ⎣ ⎦
2 ⎡1.5⎤ ⎢− 3⎥ ⎣ ⎦
3 ⎡1.5⎤ ⎢− 3⎥ ⎣ ⎦
4 ⎡1.5⎤ ⎢− 3⎥ ⎣ ⎦
5 ⎡1.5⎤ ⎢− 3⎥ ⎣ ⎦
6 ⎡1.5⎤ ⎢− 3⎥ ⎣ ⎦
7 ⎡1.5⎤ ⎢− 3⎥ ⎣ ⎦
8 ⎡1.5⎤ ⎢− 3⎥ ⎣ ⎦
⎡− 0.5⎤ ⎡− 0.5⎤ ⎡− 0.5⎤ ⎡− 0.5⎤ ⎡− 0.5⎤ ⎡− 0.5⎤ ⎡− 0.5⎤ ⎡− 0.5⎤ ⎢ 1 ⎥ ⎢ 1 ⎥ ⎢ 1 ⎥ ⎢ 1 ⎥ ⎢ 1 ⎥ ⎢ 1 ⎥ ⎢ 1 ⎥ ⎢ 1 ⎥ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ 2 -3 -3 -3 -3 -3 -3 -3
TB A-3 Calculo del segundo autovector yk y autovalor mk (TB A-2).
Ahora mx converge a –3 pero el segundo autovalor será de –1, porque λ2- λ1 (-3)-(2)=-1. Entonces los autovalores serán λ1=2 y λ2=-1. Con sus autovectores correspondientes x1=[1 1]T y x2=[-0.5 1]T. Por lo anterior, se puede decir que la matriz A, será una matriz de transición para la obtención de los demás autovalores. Los valores mx que convergerán a los autovalores de A, que serán correspondientes a sus autovectores obtenidos a partir de sus vectores estacionarios yk. Buscando los autovalores y autovectores según la matriz A, a través de su ecuación característica definida en (EC A-26) se obtienen de la siguiente manera (EJ A-41) y (EJ A-42):
179
⎡1 1 ⎤ A=⎢ ⎥ ⎣ 2 0⎦ det( A − λI ) =
1 − λ1 2
1 = (1 − λ1 )(0 − λ 2 ) − 2 = (λ1 − 2)(λ 2 + 1) 0 − λ2
λ1 = 2, λ 2 = −1 EJ A-41 Calculo de los autovalores (EJ A-33) según (EC A-26).
Con los autovalores obtenidos se buscará encontrar sus autovectores que satisfagan la ecuación característica. ⎛ ⎡1 1 ⎤ ⎡1 0⎤ ⎞ ⎡ v1 ⎤ ⎡− 1 1 ⎤ ⎡ v1 ⎤ − (2) ⎢ ( A − λ1 I ) x1 = 0 = ⎜⎜ ⎢ ⎥ ⎟⎟ ⎢v ⎥ = ⎢ 2 − 2⎥ ⎢v ⎥ ⎥ 0 1 2 0 ⎦⎣ 2 ⎦ ⎣ ⎦ ⎠⎣ 2 ⎦ ⎣ ⎦ ⎝⎣ ⎡ v1 ⎤ ⎡1⎤ ⎡− 1 1 ⎤ ⎡ v1 ⎤ ⎡ − v1 + v 2 0⎤ ⎢ 2 − 2⎥ ⎢v ⎥ = ⎢2v − 2v 0⎥, x1 = ⎢v ⎥ = ⎢1⎥ 2 ⎣ ⎦⎣ 2 ⎦ ⎣ 1 ⎣ 2⎦ ⎣ ⎦ ⎦ ⎛ ⎡1 1 ⎤ ⎡1 0⎤ ⎞ ⎡ v1 ⎤ ⎡2 1⎤ ⎡ v1 ⎤ − (−1) ⎢ ( A − λ 2 I ) x1 = 0 = ⎜⎜ ⎢ ⎥⎢ ⎥ ⎥ ⎟⎟ ⎢ ⎥ = ⎢ ⎥ ⎣0 1⎦ ⎠ ⎣v 2 ⎦ ⎣2 1⎦ ⎣v 2 ⎦ ⎝ ⎣ 2 0⎦ ⎡ v1 ⎤ ⎡− 0.5⎤ ⎡2 1⎤ ⎡ v1 ⎤ ⎡2v1 + v 2 0⎤ ⎢2 1⎥ ⎢v ⎥ = ⎢2v + v 0⎥, x 2 = ⎢v ⎥ = ⎢ 1 ⎥ ⎦ ⎣ ⎦⎣ 2 ⎦ ⎣ 1 2 ⎣ 2⎦ ⎣ ⎦ EJ A-42 Calculo de los autovectores (EJ A-33) según (EJ A-32).
Los autovectores obtenidos x1 y x2 satisfacen la igualdad en su múltiplo con su autovalor y la matriz original (EC A-25). ⎡2⎤ ⎡1 1⎤ ⎡1⎤ ⎡1⎤ Ax1 = x1λ1 = ⎢ = ⎢ ⎥ ( 2) = ⎢ ⎥ ⎥ ⎢ ⎥ ⎣2⎦ ⎣2 0⎦ ⎣1⎦ ⎣1⎦ ⎡ 0.5 ⎤ ⎡ 1 1 ⎤ ⎡ − 0.5 ⎤ ⎡ − 0.5 ⎤ Ax 2 = x 2 λ 2 = ⎢ =⎢ (−1) = ⎢ ⎥ ⎥ ⎢ ⎥ ⎥ ⎣ − 1⎦ ⎣2 0⎦ ⎣ 1 ⎦ ⎣ 1 ⎦ ⎡1 1⎤ ⎡1 − 0.5⎤ ⎡1 − 0.5⎤ ⎡2 0 ⎤ ⎡2 0.5⎤ Ax = xλ = ⎢ = = ⎥⎢ 1 ⎥⎦ ⎢⎣1 1 ⎥⎦ ⎢⎣0 − 1⎥⎦ ⎢⎣2 − 1⎥⎦ ⎣2 0⎦ ⎣1
EJ A-43 Igualdad de los autovectores y autovalores con (EJ A-42) según (EC A-25).
180
Como se observa se han obtenido los mismos autovalores y autovectores a través de un método iterativo sin necesidad de buscar el polinomio característico. Esto es especialmente útil cuando se tienen matrices de grandes dimensiones y se quieren procesos menos tardados como lo sería la búsqueda de la determinante. El cociente de Rayleigh fue propuesto por John William Strutt (1842-1919) Barón de Rayleigh, en su artículo publicado 1873 utilizó los cocientes de Rayleigh para explicar los sistemas oscilatorios. Para estimar algún autovalor λk se hace uso de éste cociente: Ax k = λ k x k ⇒ λ k =
x kT Ax k x kT x k
EC A-38 Definición del cociente de Rayleigh para la obtención del autovalor dominante λ1.
Con el cociente de Rayleigh, se obtiene el autovalor dominante de A y autovector x1.
Ax1 = λ1 x1 ⇒ λ1 =
T 1 T 1
x Ax1 = x x1
[1 1]⎡⎢
1 1⎤ ⎡1⎤ ⎥⎢ ⎥ ⎣2 0⎦ ⎣1⎦ = 4 = 2 1 2 [1 1]⎡⎢ ⎤⎥ ⎣1⎦
EJ A-44 Aplicación del autovalor dominante según (EC A-38) como A con (EJ A-33).
En caso de las matrices inversas, los autovalores de una matriz inversa λ -1 serán los autovalores λ de la matriz A divididos entre uno. Para la matriz inversa de A los siguientes son sus autovalores. ⎡1 1 ⎤ ⎡2⎤ A=⎢ λ=⎢ ⎥ ⎥ ⎣ 2 0⎦ ⎣− 1⎦
⎡0 1 ⎤ ⎡ 1 ⎤ 2 ⎥ λ−1 = ⎢ 2 ⎥ A −1 = ⎢ ⎢⎣1 − 1 2 ⎥⎦ ⎢⎣ 1 − 1⎥⎦
EJ A-45 Ejemplo para obtener los autovalores de la matriz inversa (EJ A-3).
En el sistema de ecuaciones anterior (EJ A-43), el autovector dominante x1 pudo haber tenido como valores [5000 5000]T y aún satisfacer que el múltiplo de su autovalor fuera igual al producto de la matriz y mismo autovector. Aunque siempre se tendrá los mismos autovalores, sus autovectores pudieran para la matriz A variar según el método empleado. Pero no todos los autovectores son útiles, ya que es importante determinar mejor las relaciones entre los mismos. Esto se logra que ortonormalizando estos
181
autovectores. Ejemplos de autovectores que pudieron haber satisfecho el sistema de ecuaciones (EJ A-43) se observa en la tabla (TB A-4).
x ⎡0 0 ⎤ ⎢0 0 ⎥ ⎣ ⎦ ⎡5 - 0.3077⎤ ⎢5 0.6154 ⎥ ⎣ ⎦ ⎡1 ⎢ 2 ⎢1 ⎢ 2 ⎣
⎡1 ⎢2 ⎣ ⎡1 ⎢2 ⎣
1 ⎤ ⎡0 0⎥⎦ ⎢⎣0 1⎤ ⎡5 0⎥⎦ ⎢⎣5
Ax=λx 0 ⎤ ⎡0 0 ⎤ ⎡ 2 0 ⎤ ⎡0 0 ⎤ = = 0⎥⎦ ⎢⎣0 0⎥⎦ ⎢⎣0 − 1⎥⎦ ⎢⎣0 0⎥⎦ - 0.3077⎤ ⎡5 - 0.3077⎤ ⎡2 0 ⎤ ⎡10 0.3077 ⎤ = = 0.6154 ⎥⎦ ⎢⎣5 0.6154 ⎥⎦ ⎢⎣0 − 1⎥⎦ ⎢⎣10 - 0.6154⎥⎦
⎤ ⎡1 10 ⎥ ⎡1 1⎤ ⎢ 2 ⎢ 2 0⎥ ⎢ ⎥ 8 ⎣ ⎦⎢ 1 10 ⎥⎦ 2 ⎣
− 2
⎤ ⎡1 10 ⎥ ⎢ 2 =⎢ ⎥ 8 1 10 ⎥⎦ ⎢⎣ 2
− 2
⎤ ⎡ 10 ⎥ ⎡2 0 ⎤ ⎢ 2 ⎢ ⎥= 8 ⎥ ⎣0 − 1⎦ ⎢ 2 ⎢⎣ 10 ⎥⎦
− 2
⎤ 10 ⎥ − 8 ⎥⎥ 10 ⎦ 2
TB A-4 Ejemplo para obtener demostrar la igualdad (EJ A-43) con diferentes autovectores.
A.8 Diagonalización ortogonal La matriz de autovalores λ y la matriz A son matrices similares porque: ⎡ 2
λ = x −1 Ax = ⎢ 3
⎢⎣− 2 3
1 ⎤ ⎡1 1 ⎤ ⎡ 1 − 1 ⎤ ⎡2 0 ⎤ 3⎥ 2⎥ = ⎢ ⎢ ⎥ 2 ⎥ ⎢⎣2 0⎥⎦ ⎢1 1 ⎥⎦ ⎣0 − 1⎦ ⎣ 3⎦
EJ A-46 Aplicación de (EC A-29) con (EJ A-45).
Por lo que la matriz A es diagonalizable por (EC A-29) y la matriz de autovectores x es invertible. Por lo tanto, los autovectores serán linealmente independientes porque forman una misma base. En resumen, si la matriz A de n x n tiene n autovalores distintos, entonces A es diagonalizable. En cuanto a matrices simétricas, siempre existirá una matriz ortogonal tal que:
λ = x −1 Ax = x T Ax; si AT = A EC A-39 Aplicación de matrices simétricas en (EC A-29).
182
Donde la matriz x es ortogonal, es decir, xxT=xTx=I y como λ es diagonal, λ= λT, de modo que: AT = ( xλx T ) T = ( x T ) T λT x T = xλx T = A EC A-40 Aplicación de (EC A-12) en (EC A-39).
Por lo que la matriz A debe ser simétrica y diagonalizable ortogonalmente para tener un conjunto ortonormal de n autovectores. Esto asegura que los autovectores de autoespacios diferentes sean ortogonales. Para la ortogonalizar la matriz A se puede emplear el proceso de Gram-Schmidt.
A.8 Proyecciones ortogonales El conjunto de vectores W={ w1,w2, ..., wk } en Rn se llama conjunto ortonormal si: wi ⋅ w j = 0 si i ≠ j (a ) wi ⋅ wi = 1
(b)
EC A-41 Definición de un vector ortonormal.
Si sólo satisface la ecuación (EC A-41a), se dice que el conjunto es ortogonal. En R2 con el producto interior euclidiano, geométricamente resulta que si W es una recta que pasa por el origen, entonces todo vector u en el espacio se puede expresar como:
u = w1 + w2 EC A-42 Un vector de W que pasa por el origen se puede expresar con la suma de vectores ortonormales.
u 0 FG A-11 Demostración gráfica de (EC A-42).
w2 w
1
W
183
Si W es un subespacio de dimensión finita en un espacio V con producto interior, entonces todo vector u en V se puede expresar de manera única como (EC A-42). Donde w1 está en W y w2 es perpendicular a W. El vector w1 se denomina proyección ortogonal de u sobre W y se denota como proywu. El vector w2 se denomina componente de u ortogonal a W y se denota como proyw┴ u. La formula (EC A-42) se puede expresar: u = proyW u + proyW ⊥ u EC A-43 Ecuación (EC A-42) escrita en términos de la proyección y componente ortogonal.
Como w2=u-w1, se concluye que: proyW ⊥ u = u − proyW u EC A-44 Ecuación del componente u ortogonal a W.
De modo que la ecuación (EC A-44) también se puede escribir como: u = proyW u + (u − proyW u ) EC A-45 Ecuación (EC A-44) escrita en términos del componente ortonormal u.
u 0
proyw u
FG A-12 Proyección mostrada en términos de (EC A-45).
u - proyW u W
184
Ahora, sea W un subespacio de dimensión finita en un espacio V con producto interior. a) Si {v1, v2, ..., vr}es una base ortonormal para W y u es cualquier vector en V, entonces: proyW u = (u, v1 )v1 + (u , v 2 )v 2 + L + (u, v r )v r EC A-46 Proyección de u en una base ortonormal para W en una combinación lineal.
b) Si {v1, v2, ..., vr} es una base ortogonal para W y u es cualquier vector en V, entonces:
proyW u =
(u, v1 ) v v1
2
1
+
(u, v1 ) v v2
2
2
+L+
(u, v1 ) v vr
2
r
EC A-47 Proyección de u de una base ortogonal para W en una combinación lineal (EC A-21).
Sea R3 con el producto interior euclidiano, y sea W el subespacio generado por los vectores ortonormales v1=(0,1,0) y v2=(-0.8, 0, 0.6). Por (EC A-46), la proyección ortogonal de u=(1, 1, 1) sobre W es: proyW u = (u , v1 )v1 + (u , v 2 )v 2
(
= (1)(0, 1, 0 ) + − 1
(
= 4
25
, 1, − 3
25
)
5
)(− 4 5
0
3
5
)
EJ A-47 Ejemplo de una proyección ortogonal de u sobre W (EC A-46).
La componente de u ortogonal a W es:
(
proyW ⊥ u = u − proyW u = (1, 1, 1) − 4
25
, 1 −3
EJ A-48 Ejemplo del componente de u ortogonal a W (EC A-44).
25
) = (21 25 ,
0, 28
25
)
185
Obsérvese que proy w⊥ u es ortogonal tanto a v1 como a v2, de modo que este vector es ortogonal a todo vector en el espacio W generado por v1 y v2, como debe ser.
A.9 Proceso de Gram-Schmidt El proceso de Gram-Schmidt es un método para ortogonalizar un conjunto de vectores en un subespacio de vectores, más comúnmente el espacio Euclidiano Rn. La ortogonalización en este contexto significa que con vectores v1, v1, ..., vk son linealmente independientes y se desea encontrar vectores mutuamente ortogonales u1, u1, ..., uk que se generan en un subespacio como vectores v1, v1, ..., vk. El método fue nombrado por Jørgen Pedersem Gram y Erhard Schmidt y se encuentra el método en los trabajos de Laplace y Cauchy. Además en la teoría de descomposición de grupos de Lie y es generalizado por la descomposición Iwasawa. El proceso de Gram-Schmidt es numéricamente inestable. Cuando se implementa en la computadora, los vectores Uk no son del todo ortogonales por los errores de redondeo de ahí que se prefiera el uso de las transformaciones de Householder o las rotaciones de Givens. Ahora se explicará el proceso de Gram-Schmidt:
u1 = v1
e1 =
u1 u1
u 2 = v 2 − PROYe1v 2 , e2 =
u2 u2
u 3 = v3 − PROYe 2 v3 , e3 =
u3 u3
M
M
k −1
u k = v k − ∑ PROYe j v k , j =1
ek =
uk uk
EC A-48 Proceso de ortonormalización de Gram-Schmidt.
La secuencia u1, u2, ..., uk es el sistema requerido de vectores ortogonales, y los vectores normalizados e1, e2, ..., ek para un sistema ortonormal. Para verificar que (EC A-48) proporciona una secuencia ortogonal, primero se calcula
sustituyendo la formula por u2, teniéndose cero. Entonces, se usa éste método para calcular
de nuevo se sustituye la formula por u3, teniéndose una vez más cero. La prueba general procede por inducción matemática.
186
Geométricamente, con este método se calcula ui, como (EC A-48)y proyecta vi ortogonalmente en un subespacio U generado por u1, u2, ..., ui+1, que es el mismo al subespacio generado por v1, v2, ..., vi+1. Por lo tanto, es la diferencia entre vi y su proyección, garantizando así que todos los vectores en el subespacio U sean ortogonales. El proceso de Gram Shmidt también se aplica como una secuencia infinita de vectores linealmente independientes {vi}i . El resultado es una secuencia de vectores {ui}i ortogonales u ortonormales de tal forma que los vectores v1, v2, ..., vn abarcan el mismo espacio que los vectores u1, u2, ..., un. Para explicar mejor el proceso véase el ejemplo: ⎡3 2 A = ⎢⎢2 4 ⎢⎣1 3 ⎡ 3⎤ x1 = ⎢⎢2⎥⎥, ⎢⎣1⎥⎦
1⎤ 3⎥⎥ = [x1 5⎥⎦
x2
x3 ]
⎡ 2⎤ ⎡1⎤ ⎢ ⎥ x 2 = ⎢4⎥, x3 = ⎢⎢3⎥⎥ ⎢⎣3⎥⎦ ⎢⎣5⎥⎦
A = 8.3485
x1 = 3.7417 x 2 = 5.3852 x3 = 5.9161
x1′ = x1 ⎡3 ⎤ ⎡ 3⎤ ⎡3⎤ ⎢ 14 ⎥ 1 1 ⎥ ⎢ 2⎥ = 1 ⎢ 2⎥ = ⎢ 2 e1 = x1′ = ⎢ ⎥ e1 = 1 ⎢ ⎥ ⎢ ⎥ 2 2 2 14 x'1 14 (3) + (2) + (1) ⎢1⎥ ⎥ ⎢⎣1⎥⎦ ⎢ 1 ⎣ ⎦ ⎢⎣ 14 ⎥⎦ ⎡3 ⎤⎡ 3 ⎤ ⎢ 14 ⎥ ⎢ 14 ⎥ ⎡2⎤ ⎡ 5114 ⎤ ⎡− 2314⎤ ⎡ 2⎤ ⎥⎢ 2 ⎥ ⎢ ⎥ ⎢34 ⎥ ⎢ 22 ⎥ ⎢ x ′2 = x 2 − x 2T e1e1 = ⎢⎢4⎥⎥ − [2 4 3]⎢ 2 = 4 −⎢ ⎥=⎢ ⎥ 14 ⎥ ⎢ 14 ⎥ ⎢ ⎥ ⎢ 14⎥ ⎢ 14 ⎥ ⎥⎢ 1 ⎥ ⎢⎣3⎥⎦ 17 ⎢1 ⎢⎣3⎥⎦ ⎢⎣ 14 ⎥⎦ ⎢⎣ 2514 ⎥⎦ ⎢⎣ 14 ⎥⎦ ⎢⎣ 14 ⎥⎦ Continúa en 187
187
e2 =
1 x ′2 = x' 2
1
(− 2314) + (2214) + (2514) 2
2
2
⎡− 23 ⎤ 14⎥ ⎢ 1 ⎢ 2214 ⎥ = 117 ⎢ 25 ⎥ 14 ⎢⎣ 14 ⎥⎦
⎡− 23 ⎤ ⎡- 0.5683⎤ 14⎥ ⎢ ⎥ ⎢ ⎢ 2214 ⎥ = ⎢ 0.5436 ⎥ ⎢ 25 ⎥ ⎢ ⎥ ⎢⎣ 14 ⎥⎦ ⎣ 0.6177 ⎦
e2 = 1 ⎤ ⎤⎡ 3 ⎡3 ⎡- 0.5683⎤ ⎡- 0.5683⎤ ⎡1⎤ ⎢ 14 ⎥ ⎢ 14 ⎥ ⎥ ⎢ ⎥ ⎢ ⎥ T T ⎢ 2 2 − [1 3 5]⎢⎢ 0.5436 ⎥⎥ ⎢⎢ 0.5436 ⎥⎥ x3′ = x3 − x3 e1e1 − x3 e 2 e2 = ⎢3⎥ − [1 3 5] ⎢ 14 ⎥ ⎢ 14 ⎥ ⎢⎣ 0.6177 ⎥⎦ ⎢⎣ 0.6177 ⎥⎦ ⎢⎣5⎥⎦ ⎥ ⎥⎢ 1 ⎢1 ⎢⎣ 14 ⎥⎦ ⎢⎣ 14 ⎥⎦ ⎡1⎤ ⎡3⎤ ⎡- 2.35897 ⎤ ⎡ 0.3590 ⎤ x3′ = ⎢⎢3⎥⎥ − ⎢⎢2⎥⎥ − ⎢⎢ 2.25641 ⎥⎥ = ⎢⎢- 1.2564⎥⎥ ⎢⎣5⎥⎦ ⎢⎣1 ⎥⎦ ⎢⎣ 2.56410 ⎥⎦ ⎢⎣ 1.4359 ⎥⎦ ⎡ 0.3590 ⎤ ⎡ 0.3590 ⎤ 1 1 1 ⎥ ⎢- 1.2564⎥ ⎢ - 1.2564⎥ = e3 = x3′ = ⎢ 2 2 2 x'3 (0.3590) + (- 1.2564) + (1.4359) ⎢ 1.4359 ⎥ 1.94145 ⎢⎢ 1.4359 ⎥⎥ ⎦ ⎦ ⎣ ⎣ ⎡ 0.1849 ⎤ e3 = ⎢⎢ - 0.64715⎥⎥ e3 = 1 ⎢⎣ 0.7396 ⎥⎦ Q = [e1 e2 e3 ] ⎡0.80178 - 0.56829 0.18490 ⎤ Q = ⎢⎢0.53452 0.54358 - 0.64715⎥⎥ ⎢⎣0.26726 0.61770 0.73960 ⎥⎦ Q =1
EJ A-49 Ejemplo del componente de u ortogonal a W (EC A-44).
Con Q se tiene la matriz ortonormalizada de la matriz A. Ahora, si A es una matriz m x n son columnas linealmente independiente. (para lo cual se requiere m ≥n), entonces la aplicación del proceso de Gram-Schmidt a estas columnas conduce a la útil factorización de A como el producto de una matriz Q con columnas ortonormales, con una matriz triangular superior R. Este procedimiento se conoce como factorización QR, (EC A49) y tiene aplicaciones en la aproximación numérica de autovalores.
188
A = QR QT Q = I Q T A = Q T QR = IR = R
EC A-49 Factorización QR.
⎡0.80178 - 0.56829 R = Q T A = ⎢⎢0.53452 0.54358 ⎢⎣0.26726 0.61770 4.54344 ⎡ 3.74165 R = ⎢⎢- 5.551e - 016 2.89087 ⎢⎣ 4.440e - 016 1.776e - 015
0.18490 ⎤ - 0.64715⎥⎥ 0.73960 ⎥⎦
T
⎡ 3 2 1⎤ ⎢2 4 3⎥ ⎢ ⎥ ⎢⎣1 3 5⎥⎦
3.74165⎤ 4.15099⎥⎥ 1.94145 ⎥⎦
EJ A-50 Ejemplo de factorización (EJ A-5) QR (EC A-49) usando Q de (EJ-49).
Entonces A puede ser factorizada como A=QR, donde Q es una matriz con columnas ortonormales y R es una matriz triangular superior invertible. Por lo que con R se diagonaliza ortogonalmente. Para observar geométricamente lo que ocurre cuando se ortonormaliza una matriz considérese la siguiente matriz A, con su respectiva matriz ortonormalizada Q. ⎡3 − 1 ⎤ ⎡3 2 ⎤ 1 A=⎢ Q = ⎥ 13 ⎢⎣2 − 3⎥⎦ ⎣ 2 − 2⎦ EJ A-51 Considérese A y Q y grafíquese en (FG A-13).
189
3
2.5
2
3, 2 1.5
1
3
13
,2
13
0.5 90°
0
-0.5
2
-1
13
,− 3
13
-1.5
− 1, − 2 -2
-2.5
-3 -3
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
3
FG A-13 Ortonormalización mostrada según los valores definidos en (EJ A-51).
El conjunto de vectores son ortonormalizados porque tendrán como producto interno el valor de cero, es decir son perpendiculares (son ortogonales) y mismos vectores tienen una norma de 1 (son ortonormales). Por lo mencionado anteriormente, éste método contiene algunas contrariedades cuando se tratan de matrices de grandes dimensiones, por ser numéricamente inestable. Por lo que se propone un método diferente. El método de factorización QR por la transformación de Householder.
190
A.10 Ortonormalización de Householder Un método alternativo al de Gram Schmidt busca desarrollar una factorización QR generalizada de A. Así, se convierte la matriz A en una forma triangular superior Ai, una columna a la vez, mediante la utilización de una sucesión de matrices ortogonales Qi, construyendo la matriz ortogonal Q. El método es análogo de la factorización LU, en el cual la matriz L, es transformada en base en una sucesión de matrices elementales. Sea u el vector de forma que vTv = I, entonces Q = I − 2vv T EC A-50 Matriz Householder vTv=I.
A Q se denomina matriz de Householder (por el matemático A. S. Householder). La matriz Q será una matriz simétrica, ortogonal. ⎡ a11 ⎢a A = ⎢ 21 ⎢ M ⎢ ⎣a M 1
L a1N ⎤ L a1N ⎥⎥ i = 1,2,3L M − 1 O M ⎥ mi = ((i − 1) − M ) ⎥ L a MN ⎦ ⎡ a11 ⎤ ⎡1 ⎤ ⎢a ⎥ ⎢0 ⎥ 21 ⎥ ⎢ ⎥ ei = e1 = 1 × mi xi = ⎢ α i = xi ⎢ M ⎥ ⎢M⎥ ⎢ ⎥ ⎢ ⎥ ⎢⎣a mi 1 ⎥⎦ ⎣0 ⎦ u u = x i − α i ei v = Qi = I mi − 2vv T u a12 a 22 M aM 2
EC A-51 Propiedades de la matriz de Householder (EC A-50).
191
Lo que se requiere es saber cómo construir la matriz ortogonal Q, que transformará una columna dada de A en su columna correspondiente de QiA. ⎡α i * L *⎤ ⎢0 ⎡ ⎤⎥ ⎥⎥ Qi A = ⎢ ⎢ A i ⎢M ⎢ ⎥⎥ ⎢ ⎢⎣ ⎥⎦⎥ ⎦ ⎣0 EC A-52 Matriz Householder ortogonal Q.
Nótese que Ai+1 (EC A-52) es de menor dimensión que Ai para operar la matriz QiA se expande la matriz Ai la esquina superior izquierda superior con 0’s excepto los elementos de la diagonal principal con unos. Todo este proceso se repite para cada Ai resultando en una matriz de Householder Qi Después de i=m-1 iteraciones en el proceso se tiene R. R = Q1Q2 LQi A EC A-53 Proceso para el calculo de la matriz R (EC A-6).
De forma que R es una matriz triangular, por lo que Q = Q1Q2 L Qi EC A-54 Obtención de la matriz Q. Para la factorización de Householder QR.
Es la factorización de la matriz A, en el producto de las matrices Q y R. Analícese el siguiente ejemplo:
192
4 ⎤ ⎡ 12 − 51 ⎢ A = ⎢ 6 − 167 − 68⎥⎥ ⎢⎣− 4 − 41⎥⎦ 24
α 1 = x2 =
A = A1
(12)2 + (6)2 + (− 4)2
= 14
⎡ 12 ⎤ ⎡1 ⎤ ⎡ − 2 ⎤ 2 2 2 ⎢ ⎥ u = x1 − α 1e1 = ⎢ 6 ⎥ − 14⎢⎢0⎥⎥ = ⎢⎢ 6 ⎥⎥ u = (− 2 ) + (6 ) + (− 4 ) = 56 ⎢⎣− 4⎥⎦ ⎢⎣0⎥⎦ ⎢⎣− 4⎥⎦ ⎡− 2 ⎤ ⎡ − 2⎤ ⎢ 56 ⎥ u ⎥ ⎢ ⎢ ⎥ v= = 1 6 ⎥=⎢ 6 ⎥ ⎢ 56 56 u ⎥ ⎢⎣− 4⎥⎦ ⎢ 4 ⎢⎣− 56 ⎥⎦ ⎤ ⎡− 2 ⎢ ⎡1 0 0⎤ 56 ⎥ ⎥ ⎡− 2 ⎤ 6 − 4 Q1 = I − 2vv T = ⎢⎢0 1 0⎥⎥ − 2 ⎢⎢ 6 56 ⎥ ⎢⎣ 56 56 56 ⎥⎦ ⎥ ⎢ 4 ⎢⎣0 0 1⎥⎦ ⎢⎣− 56 ⎥⎦ 3 − 2⎤ ⎡6 ⎢ Q1 = 1 ⎢ 3 − 2 6 ⎥⎥ 7 ⎢⎣− 2 6 3 ⎥⎦ 3 ⎡ 6 − 2 ⎤ ⎡ 12 − 51 4 ⎤ ⎡14 − 855 7 − 14 ⎤ 7 7⎥ ⎢ ⎥ ⎢ 7 6 ⎥ ⎢ 6 − 167 − 68⎥ = ⎢ 0 325 − −2 Q1 A1 = ⎢ 3 ⎥ 14 ⎥ ⎢ 7 7 7 ⎥⎢ ⎥ ⎢ 7 3 ⎥ ⎢⎣− 4 − 41⎥⎦ ⎢ 0 − 828 24 − 77⎥ ⎢⎣− 2 7 6 7 7 7 ⎦ ⎣ ⎦ ⎡ 325 − 14 ⎤ 2 2 7 ⎥ α 2 = x 2 = 325 + − 828 = 1 791209 A2 = ⎢ 7 7 7 828 − 77⎥ ⎢− 7 ⎣ ⎦ ⎡ 325 ⎤ 7 ⎥ − 791209 ⎡1⎤ = ⎡ − 80.6428 ⎤ u = x1 − α 1e1 = ⎢ ⎢0⎥ ⎢− 118.2857⎥ 7 ⎢− 828 ⎥ ⎣ ⎦ ⎣ ⎦ 7⎦ ⎣
(
u = v=
(− 80.6428)2 + (− 118.2857 )2
) (
)
= 143.1599
⎡ − 80.6428 ⎤ ⎡- 0.5633⎤ u 1 = = 143.1599 ⎢⎣− 118.2857⎥⎦ ⎢⎣- 0.8262⎥⎦ u continua 193
193
⎡1 Q2 = I − 2vv T = ⎢ ⎣0 0 ⎡1 Q2 = ⎢⎢0 0.3654 ⎢⎣0 - 0.3654
0⎤ 0.3654 - 0.9309⎤ ⎡- 0.5633⎤ − 2⎢ [- 0.5633 - 0.8262] = ⎡⎢ ⎥ ⎥ ⎥ 1⎦ ⎣- 0.8262⎦ ⎣- 0.9309 - 0.3654⎦ 0 ⎤ − 0.9309⎥⎥ - 0.3654 ⎥⎦
3 ⎡ 6 7 ⎢ 7 Q = Q1Q2 = ⎢ 3 −2 7 ⎢ 7 6 2 ⎢⎣− 7 7 ⎡ 0.8571 0.4225 Q = ⎢⎢ 0.4286 - 0.9023 ⎢⎣- 0.2857 - 0.0858 ⎡ 0.8571 ⎤ X 1 = ⎢⎢ 0.4286 ⎥⎥ ⎢⎣− 0.2857⎥⎦
− 2 ⎤ ⎡1 0 0 ⎤ 7⎥ ⎢ 6 ⎥ 0 0.3654 − 0.9309⎥ ⎥ 7 ⎢ 3 ⎥⎥ ⎢⎣0 - 0.3654 - 0.3654 ⎥⎦ 7 ⎦ - 0.2945⎤ - 0.0472⎥⎥ - 0.9545⎥⎦
⎡ 0.4225 ⎤ X 2 = ⎢⎢ − 0.9023⎥⎥ ⎢⎣− 0.0858⎥⎦
⎡ − 0.2945⎤ X 3 = ⎢⎢− 0.0472⎥⎥ ⎢⎣ − 0.9545⎥⎦
X1 = X 2 = X 3 = 1 T
T
T
X1 X 2 = X1 X 3 = X 2 X 3 = 0 Q = [X 1
Q =Q T
X2
−1
X3]
⎡ 0.8571 0.4286 - 0.2857⎤ = ⎢⎢ 0.4225 - 0.9023 - 0.0858⎥⎥ ⎢⎣- 0.2945 - 0.0472 - 0.9545⎥⎦
− 14 ⎤ ⎡14 − 122.1429 ⎢ R = Q A = ⎢ 0 127.0713 66.5610⎥⎥ ⎢⎣ 0 0 41.1659⎥⎦ T
EJ A-52 Ejemplo de ortonormalización Householder Q.
194
A.11 Resultados de los procesos de Householder, Gram–Schmidt y la funciones Matlab orth, qr, inv y eig El software Matlab, desarrollado por MathWorks Inc.© permite manipular matrices y hacer cálculos vectoriales con facilidad. La palabra Matlab viene de “Matriz Laboratory”. Con el programa Matlab se puede comprobar con facilidad si los ejemplos comentados son correctos. A es la matriz. Q1, Q2, Q3 y Q4 son las matrices de Householder con su resultante Qh. La transpuesta de Qh es Qh’ y su inversa inv(Qh). Rh es la matriz triangular superior de factorización de la matriz A según el método de Householder. G es la matriz ortonormalizada de A según el proceso de Gram Schmidt. Rg es la matriz triangular superior en la factorización de la matriz según el método de Gram Schmidt. G’ es la transpuesta de la matriz G. La inversa de la matriz G es inv(G). Orth(A). Es la función para ortogonalizar la matriz A según Matlab. [Qm, Rm]=qr(A, 0). Es la función de Matlab genera la descomposición de la matriz A en una ortonormal Qm y la matriz triangular superior Rm. [V, D]=eig(A). Es la función para obtener la matriz diagonal de autovalores D con sus respectivos autovectores ortotormalizados V de la matriz A.
A 17 23 4 10 11
24 5 6 12 18
1 7 13 19 25
8 14 20 21 2
15 16 22 3 9
Q1 0.5234 0.7081 0.1231 0.3079 0.3387
0.7081 -0.0521 -0.1830 -0.4574 -0.5032
0.1231 -0.1830 0.9682 -0.0796 -0.0875
0.3079 -0.4574 -0.0796 0.8011 -0.2188
0.3387 -0.5032 -0.0875 -0.2188 0.7594
1.0000 0 0 0 0
0 0.0548 0.2674 0.5178 0.8108
0 0.2674 0.9243 -0.1465 -0.2294
0 0.5178 -0.1465 0.7164 -0.4442
0 0.8108 -0.2294 -0.4442 0.3045
Q2
195
Q3 1.0000 0 0 0 0
0 1.0000 0 0 0
0 0 -0.0963 -0.5612 -0.8220
0 0 -0.5612 0.7127 -0.4208
0 0 -0.8220 -0.4208 0.3836
1.0000 0 0 0 0
0 1.0000 0 0 0
0 0 1.0000 0 0
0 0 0 0.2041 -0.9789
0 0 0 -0.9789 -0.2041
Qh=Q1*Q2*Q3*Q4 0.5234 0.5058 0.7081 -0.6966 0.1231 0.1367 0.3079 0.1911 0.3387 0.4514
-0.6735 0.0177 0.3558 0.4122 0.4996
0.1215 -0.0815 0.6307 0.4247 -0.6328
0.0441 0.0800 0.6646 -0.7200 0.1774
Rh=Q’*A 32.4808 0.0000 0 -0.0000 0.0000
26.6311 19.8943 0.0000 -0.0000 0.0000
21.3973 12.3234 24.3985 0.0000 0
23.7063 1.9439 11.6316 20.0982 -0.0000
25.8615 4.0856 3.7415 9.9739 16.0005
0.5234 0.5058 -0.6735 0.1215 0.0441
0.7081 -0.6966 0.0177 -0.0815 0.0800
0.1231 0.1367 0.3558 0.6307 0.6646
0.3079 0.1911 0.4122 0.4247 -0.7200
0.3387 0.4514 0.4996 -0.6328 0.1774
inv(Qh) 0.5234 0.5058 -0.6735 0.1215 0.0441
0.7081 -0.6966 0.0177 -0.0815 0.0800
0.1231 0.1367 0.3558 0.6307 0.6646
0.3079 0.1911 0.4122 0.4247 -0.7200
0.3387 0.4514 0.4996 -0.6328 0.1774
0.5234 0.7081 0.1231 0.3079 0.3387
0.5058 -0.6966 0.1367 0.1911 0.4514
-0.6735 0.0177 0.3558 0.4122 0.4996
0.1215 -0.0815 0.6307 0.4247 -0.6328
0.0441 0.0800 0.6646 -0.7200 0.1774
32.4808 -0.0000 0.0000 -0.0000 -0.0000
26.6311 19.8943 0.0000 -0.0000 0.0000
21.3973 12.3234 24.3985 -0.0000 -0.0000
23.7063 1.9439 11.6316 20.0982 0.0000
25.8615 4.0856 3.7415 9.9739 16.0005
Q4
Qh'
G
Rg
196
G' 0.5234 0.5058 -0.6735 0.1215 0.0441
0.7081 -0.6966 0.0177 -0.0815 0.0800
0.1231 0.1367 0.3558 0.6307 0.6646
0.3079 0.1911 0.4122 0.4247 -0.7200
0.3387 0.4514 0.4996 -0.6328 0.1774
inv(G) 0.5234 0.5058 -0.6735 0.1215 0.0441
0.7081 -0.6966 0.0177 -0.0815 0.0800
0.1231 0.1367 0.3558 0.6307 0.6646
0.3079 0.1911 0.4122 0.4247 -0.7200
0.3387 0.4514 0.4996 -0.6328 0.1774
orth(A) 0.4472 0.4472 0.4472 0.4472 0.4472
0.5456 0.4498 -0.0000 -0.4498 -0.5456
0.5117 -0.1954 -0.6325 -0.1954 0.5117
0.1954 -0.5117 0.6325 -0.5117 0.1954
-0.4498 0.5456 -0.0000 -0.5456 0.4498
[Qm,Rm]=qr(A,0) -0.5234 0.5058 -0.7081 -0.6966 -0.1231 0.1367 -0.3079 0.1911 -0.3387 0.4514
0.6735 -0.0177 -0.3558 -0.4122 -0.4996
-0.1215 0.0815 -0.6307 -0.4247 0.6328
-0.0441 -0.0800 -0.6646 0.7200 -0.1774
-21.3973 12.3234 -24.3985 0 0
-23.7063 1.9439 -11.6316 -20.0982 0
-25.8615 4.0856 -3.7415 -9.9739 -16.0005
Rm -32.4808 0 0 0 0
-26.6311 19.8943 0 0 0
[V,D]=eig(A) V 0.4472 0.4472 0.4472 0.4472 0.4472
-0.6780 -0.3223 0.5501 0.3525 0.0976
-0.6330 0.5895 -0.3915 0.1732 0.2619
0.0976 0.3525 0.5501 -0.3223 -0.6780
0.2619 0.1732 -0.3915 0.5895 -0.6330
65.0000 0 0 0 0
0 21.2768 0 0 0
0 0 -13.1263 0 0
0 0 0 -21.2768 0
0 0 0 0 13.1263
D
EJ A-53 Uso de Matlab en Álgebra lineal.
Listado de figuras, ecuaciones, ejemplos, tablas y códigos de programas
198
Listado de figuras Capítulo 1 FG 1-1 Visión lateral de los rasgos externos de la cabeza.
3
FG 1-2 Visión frontal de los elementos exteriores de la cabeza.
4
FG 1-3 Músculos de la cabeza y del cuello.
5
FG 1-4 Principales músculos de la expresión facial (FG 1-3)...
6
FG 1-5 Gemelos separados al nacer y se reencontraron a los 31 años...
7
FG 1-6 Diferencias de percepción sobre una misma imagen...
8
Capítulo 2 FG 2-1 Visión estereoscópica.
19
FG 2-2 Formación de imágenes con píxeles.
23
FG 2-3 Imagen de la mariposa isabelina española en diferentes resoluciones. 1 bit, a) 8 24 bits a escala de grises, b) 8 bits a escala de color c) y 24 bits a escala de color d). FG 2-4 Formato de un píxel usando Visual Basic con los alfa, azul, verde y rojo y sus 26 posiciones de inicio. FG 2-5 Salida del programa en Visual Basic. (CD 2-1)
29
FG 2-6 Formato de un píxel codificando en el lenguaje de programación Java® para 29 imágenes en gris (tipo de dato byte) e imágenes a color (tipo de dato int). FG 2-7 Salida del programa en Java. (CD 2-3)
33
FG 2-8 Histograma de una imagen.
35
FG 2-9 Diferencias de frecuencias senoidal y z
37
FG 2-10 Figura que muestra como se realiza una convolución…
39
FG 2-11 Fotografía e histograma antes de la contracción del histograma.
41
FG 2-12 Fotografía después de contraerse el histograma (FG 2-11).
42
199
FG 2-13 Imagen e histograma antes de la ecualización.
43
FG 2-14 Imagen ecualizada de (FG 2-13) con su histograma.
45
FG 2-15 Desplegado del programa (CD 2-4) y resultado de la ecualización.
47
FG 2-16 Ecualización de una imagen a color con el código (CD 2-4) y (EC 2-1)
48
FG 2-17 Imagen con su histograma antes de aplicarle el operador logarítmico.
50
FG 2-18 Imagen obtenida después de aplicarle el operador logaritmo a la imagen (FG 250 17). FG 2-19 Imagen antes a) y después b) de aplicarse el operador exponencial.
51
FG 2-20 Extracción de bordes en una imagen de células en sangre por el algoritmo de 53 Canny. FG 2-21 Distinción entre operadores para la extracción de bordes basados en primera 53 derivada y segunda derivada. FG 2-22 Agrupación de patrones en clases o clusters
58
FG 2-23 Red neuronal artificial perceptrón simple con n neuronas de entrada, m neuronas 60 en su capa oculta y una neurona de salida. Capítulo 3 FG 3-1 Etapas que forman parte de un completo sistema de reconocimiento de rostros.
65
FG 3-2 Diferencia entre detección de rostros y localización de rostros.
66
FG 3-3 Ejemplo de diferentes filtros de extracción de bordes (las imágenes resultantes de 67 los filtros han sido invertido los colores para una mejor apreciación). FG 3-4 Aplicación del filtro de Canny en un rostro localizado.
68
FG 3-5 Limitaciones de un método de detección de rostros aplicando el filtro de Canny.
69
FG 3-6 Imagen de rostros característicos o autocaras.
71
FG 3-7 Algoritmo para el reconocimiento de rostros.
73
FG 3-8 Vectorización de imágenes del Conjunto de Entrenamiento
74
FG 3-9 Conjunto de Entrenamiento (CE)
75
200
FG 3-10 Rostro Promedio según el CE (FG 3-9)
76
FG 3-11 Conjunto de imágenes Φi que son resta del Rostro Promedio (FG 3-10) a cada 76 imagen del CE (FG 3-9) FG 3-12 Autocaras obtenidas a partir de la conversión de los autovectores uk (EC 3-10) 79 con el CE (FG 3-9). FG 3-13 Relación de los autovectores uk (FG 3-12) y los vectores Φi (FG 3-11) conforme 80 al CE muestra (FG 3-9) FG 3-14 Imagen Γa no pertenece al CE (FG 3-9) y será proyectada al Espacio de 81 Rostros. FG 3-15 Proporciones para la reconstrucción de ΓPROY (FG 3-16). Las imágenes son 82 observadas usando la ecuación (EC 3-11) FG 3-16 Proyección de ΓPROY al Espacio de Rostros, haciendo una suma acumulativa de 83 las proporciones de pesos en las imágenes de (FG 3-15) FG 3-17 Todas las imágenes se tratan de la misma persona y su cambio solo consiste en 85 maquillaje. FG 3-18 Fotos de gemelos idénticos
86
FG 3-19 Distancias euclidianas al proyectar imágenes sobre personas que no están en el 87 CE (FG 3-9). FG 3-20 Imágenes del Conjunto de Entrenamiento Γ7, Γ8 y Γ9 (FG 3-9)
88
FG 3-21 Persona Γ7, Γ8 y Γ9 mostrándose sin lentes.
88
FG 3-22 Proyecciones de las imágenes (FG 3-21) al Espacio de Rostros con un CE (FG 89 3-9) y sus distancias euclidianas. FG 3-23 Proyecciones de las imágenes (FG 3-21) al Espacio de Rostros sin u9, λ9 y Φa.
90
FG 3-24 Sustitución de la imagen Γ9 por Γa en el CE (FG 3-9).
90
FG 3-25 Proyección de imágenes Γa Γb, Γc y Γd al Espacio de Rostros. Considérese la 91 sustitución en (FG 3-24)
201
Capítulo 4 FG 4-1 Diagrama de flujo general para el Sistema de Reconocimiento de Rostros implementado. Por las dimensiones del diagrama se expone en dos partes (observe el 97 conector 1). FG 4-2 Interfaz del sistema FaceRec. a) Arranque del sistema. b) Configuración del sistema en número de personas y rostros por persona. c) Identificación del software. d) 100 Etapa de aprendizaje. e) Etapa en la identificación con un grado de semejanza entre imágenes. FG 4-3 Imágenes de los directorios s1 al s40 de la ORL
101
FG 4-4 Resultados de identificación obtenidos por número de imágenes seleccionadas 121 por persona de la ORL. FG 4-5 Resultados de identificación obtenidos por diferentes tamaños de CE en 10 122 combinaciones distintas. FG 4-6 Conjunto de imágenes tomadas con una cámara digital y transformadas en escala 123 de grises. FG 4-7 Proyecciones de imágenes mostradas en (FG 4-6) teniendo como CE 1a.jpg, 124 2a.jpg y 3a.jpg. FG 4-8 Proporciones de distancias euclidianas en 1500 proyecciones de imágenes al Espacio de Rostros en 125 CE y donde las imágenes no son de éstos 127 conjuntos. FG 4-9 Resultados obtenidos en [STOLL 1997] con un reconocimiento de rostros con una red neuronal Kohonen. Reduciendo las dimensiones de las imágenes a un cuarto a) y a la 128 mitad b). Apéndice A FG A-1 Ejemplos del comportamiento de vectores en un espacio tridimensional.
151
FG A-2 Recta entre los puntos P1 y P2.
152
FG A-3 Vectores en un espacio bidimensional que tienen una longitud de 1.
154
FG A-4 Fluctuación entre compradores de las marcas de pasta de dientes A y B en un 157 mes. FG A-5 Participación del mercado para las marcas de pasta de dientes A y B en 20 161 meses.
202
FG A-6 Gráfica que indica el aumento la población de escarabajos en 20 años.
164
FG A-7 Población relativa de escarabajos en una proyección de 20 años.
165
FG A-8 Tasa de crecimiento de las poblaciones en 30 años. Obsérvese que tenderán al 166 150% por año. FG A-9 Modo gráfico para la obtención del autovector dominante (TB A-1).
175
FG A-10 Modo gráfico para determinar el autovector dominante yk (TB A-2).
177
FG A-11 Demostración gráfica de (EC A-42).
182
FG A-12 Proyección mostrada en términos de (EC A-45).
183
FG A-13 Ortonormalización mostrada según los valores definidos en (EJ A-51).
189
203
Listado de ecuaciones Capitulo 2 EC 2-1 Ecuación para la conversión entre modelo RVA a YIQ. Con 0.299R + 0.587V + 0.114A se obtiene la reflectancia, útil si se quiere mostrar solo la iluminación (escala de 26 grises). EC 2-2 Ecuación para realizar la contracción del histograma de una imagen.
41
EC 2-3 Ecuación para conocer la proporción por el nivel de gris g en una imagen.
43
EC 2-4 Ecuación en donde se aclara que la suma de proporciones es igual a uno.
43
EC 2-5 Función de densidad de probabilidad.
44
EC 2-6 Función para establecer el valor de píxel de la imagen de salida correspondiente.
44
EC 2-7 Ecuación para obtener el operador logarítmico de una imagen.
48
EC 2-8 Ecuación para obtener el operador exponencial de una imagen.
51
EC 2-9 Definición de la gradiente.
54
EC 2-10 Definición del cambio de la discontinuidad en la gradiente.
54
EC 2-11 Cambio de la gradiente en un punto de una imagen.
55
EC 2-12 Obtención de la gradiente en un punto.
55
EC 2-13 Binarización de la imagen gradiente.
55
Capítulo 3 EC 3-1 Ecuación para obtener el Rostro Promedio
75
EC 3-2 Ecuación para calcular las diferencias al Rostro Promedio (Φ)
76
EC 3-3 Ecuación para proyectar una imagen Γj al Espacio de Rostros.
77
EC 3-4 Ecuación para conocer la matriz de pesos W.
77
EC 3-5 Medidas de desviación de los autovectores uk (autovalores de la matriz de 77 covarianzas)
204
EC 3-6 Calculo de la matriz de covarianza.
77
EC 3-7 Definición de la matriz para el cálculo de Matriz de Covarianzas reducida (A)
78
EC 3-8 Autovectores vk de la matriz ATA.
78
EC 3-9 Calculo de Matriz de Covarianzas reducida (dimensiones MN).
78
EC 3-10 Calculo de los autovectores uk.
78
EC 3-11 Procedimiento para representar correctamente un vector V.
79
EC 3-12 Definición de la matriz de pesos W del Espacio de Rostros.
80
EC 3-13 Procedimiento para encontrar la imagen más semejante al CE.
84
Apéndice EC A-1 Definición de una matriz.
138
EC A-2 Ecuación para el producto de dos matrices.
139
EC A-3 Determinante de una matriz.
139
EC A-4 Definición de un cofactor.
140
EC A-5 Propiedades de una matriz inversa.
141
EC A-6 Ecuación para obtener una matriz triangular superior.
143
EC A-7 Definición de matrices elementales.
143
EC A-8 Definición de una matriz triangular superior e inferior.
144
EC A-9 Definición de un vector renglón.
147
EC A-10 Definición de un vector columna.
147
EC A-11 Definición de un vector multidimensional.
148
EC A-12 Propiedades de los vectores.
149
EC A-13 Según las propiedades se puede probar que cualquier vector multiplicado por 150 cero es el origen y la propiedad conmutativa en la resta vectorial. EC A-14 Longitud de una recta en un espacio de dos dimensiones.
153
205
EC A-15 Norma de un vector de múltiples dimensiones obtenido por sus componentes.
153
EC A-16 Reinterpretación de (EC A-15) para obtener la norma de un vector de múltiples 153 dimensiones. EC A-17 Normalización estándar de un vector.
154
EC A-18 Desigualdad Cauchy - Schwartz.
154
EC A-19 Definición del ángulo de dos vectores θ.
154
EC A-20 Espacio vectorial B contenidos los vectores v con una base ortogonal.
156
EC A-21 Obtención de los coeficientes en (EC A-20).
156
EC A-22 Definición de una cadena de Markov.
159
EC A-23 Transición entre un periodo 0 y 2 en la determinación del valor de una matriz x2. 160 EC A-24 Ecuación de Markov para calcular la matriz xk en k periodos.
160
EC A-25 Concepto de autovectores y autovalores de una matriz A.
167
EC A-26 Ecuación característica de A, donde los autovalores λ tendrán la determinante 167 (A - λI)=0. EC A-27 Desarrollo de la ecuación característica (EC A-26).
168
EC A-28 Polinomio característico (EC A-26) para una matriz de 2 X 2.
168
EC A-29 Diagonalización de autovalores (EC A-25).
171
EC A-30 Definición de una secuencia de autovectores (EC A-23).
171
EC A-31 Orden de los autovalores como el λ1 el mayor.
171
EC A-32 Combinación lineal de x0 y formación de un espacio con base ortogonal Rn (EC 172 A-20). EC A-33 Definición del autovector dominante (EC A-23).
172
EC A-34 Definición general del autovector dominante (EC A-22).
172
EC A-35 Definición de un autovalor dominante en k periodos de transición (EC A-25).
172
206
EC A-36 Obtención del autovector dominante en k periodos.
173
EC A-37 Obtención del autovalor dominante en k periodos.
173
EC A-38 Definición del cociente de Rayleigh para la obtención del autovalor dominante λ1. 180 EC A-39 Aplicación de matrices simétricas en (EC A-29).
181
EC A-40 Aplicación de (EC A-12) en (EC A-39).
182
EC A-41 Definición de un vector ortonormal.
182
EC A-42 Un vector de W que pasa por el origen se puede expresar con la suma de 182 vectores ortonormales. EC A-43 Ecuación (EC A-42) escrita en términos de la proyección y componente 183 ortogonal. EC A-44 Ecuación del componente u ortogonal a W.
184
EC A-45 Ecuación (EC A-44) escrita en términos del componente ortonormal u.
183
EC A-46 Proyección de u en una base ortonormal para W en una combinación lineal.
184
EC A-47 Proyección de u de una base ortogonal para W en una combinación lineal (EC A184 21) EC A-48 Proceso de ortonormalización de Gram-Schmidt.
185
EC A-49 Factorización QR.
188
EC A-50 Matriz Householder vTv=I.
190
EC A-51 Propiedades de la matriz de Householder (EC A-50).
190
EC A-52 Matriz Householder ortogonal Q.
191
EC A-53 Proceso para el calculo de la matriz R (EC A-6).
191
EC A-54 Obtención de la matriz Q. Para la factorización de Householder QR.
191
207
Listado de ejemplos Capítulo 2 EJ 2-1 Densidad de probabilidad para el nivel de gris 107 en la imagen (FG 2-13).
44
EJ 2-2 Valor de la imagen de salida (FG 2-14) para el píxel ubicado en el renglón uno y 44 columna uno. EJ 2-3 Ejemplo de aplicar el operador logarítmico para un píxel en la columna 5 y renglón 49 8 con un nivel de gris de 130. Capítulo 3 EJ 3-1 Ejemplo de cómo generar el vector de pesos ωa según (EC 3-4). Con el vector Φa y 81 los autovectores uk mostrados como autocaras en (FG 3-12). Apéndice EJ A-1 Ejemplo de sistema de ecuaciones lineales.
138
EJ A-2 Ejemplo para calcular la determinante de una matriz de 3 X 3.
140
EJ A-3 Ejemplo para la inversa de una matriz de dimensiones de 2 X 2.
141
EJ A-4 Ejemplo para poder invertir una matriz.
142
EJ A-5 Ejemplo para factorizar una matriz de 3 X 3.
145
EJ A-6 Ejemplo de un sistema de ecuaciones usando la matriz A del (EJ A-5).
146
EJ A-7 Resolución de un sistema de ecuaciones dada a las matrices superior e inferior de 146 A (EJ A-5). EJ A-8 Uso de la matriz triangular superior en un sistema de ecuaciones.
146
EJ A-9 Uso de la matriz triangular inferior en un sistema de ecuaciones.
146
EJ A-10 Las coordenadas x, y en un vector columna.
148
EJ A-11 Distancia entre los puntos P1 y P2 de (FG A-1).
152
EJ A-12 Reexpresión de (EJ A-11) en términos de diferencia de coordenadas.
152
EJ A-13 Ejemplo de obtener el ángulo de dos vectores según (EC A-19).
155
208
EJ A-14 Ejemplo de una matriz ortogonal.
155
EJ A-15 Cantidad de clientes que prefieren la marca A en cualquier mes.
158
EJ A-16 Cantidad de clientes que prefieren la marca B en cualquier mes.
158
EJ A-17 Fluctuación de clientes entre las marcas expresados en una ecuación matricial.
158
EJ A-18 Cantidad de clientes que prefieren las marcas A y B después de dos meses.
159
EJ A-19 Cantidad de clientes que prefieren las marcas A y B en medio año.
159
EJ A-20 Porcentaje de participación del mercado para las marcas A y B.
160
EJ A-21 Clientes para la marcas A y B después de medio año aplicando (EC A-24).
160
EJ A-22 La determinación de la cantidad de clientes de la marca A y B en siete meses. 161 con (EJ A-21). EJ A-23 Vector estacionario en participación de mercado de las marcas A (40%) y B 161 (60%). EJ A-24 Calculo del vector estacionario en la distribución de las marcas de pasta dentales 162 A y B. EJ A-25 Vector estocástico que indicad el número de clientes que usarán las marcas 162 dentales A y B. EJ A-26 Predicción de las poblaciones de escarabajos en un año.
163
EJ A-27 Poblaciones de escarabajos en 2, 3 9, 10 y 20 años.
164
EJ A-28 Población relativa de escarabajos en un año.
165
EJ A-29 Vector estacionario que indica la población relativa que tenderán las poblaciones 166 de escarabajos. EJ A-30 Población de escarabajos en 86 años, alcanzando un crecimiento constante de 167 crecimiento. EJ A-31 Desarrollo de un polinomio característico A.
169
EJ A-32 Obtención de los autovectores de A por sus autovalores (EC A-34).
169
209
EJ A-33 Matriz que se utilizará para calcular los autovectores y autovalores según método 174 de potencias. EJ A-34 Autovector dominante de A.
174
EJ A-35 Valores iniciales de y0 y x0.
175
EJ A-36 Calculo de x1 y m1 como el mayor valor absoluto de los componentes del vector 176 x1. EJ A-37 Obtención de y1.
176
EJ A-38 Calculo de x2 a partir de y1.
176
EJ A-39 Calculo de y2 y m2 (EJ A-36).
176
EJ A-40 Calculo de A2 para calcular el segundo autovector yk y autovalor mk.
178
EJ A-41 Calculo de los autovalores (EJ A-33) según (EC A-26).
179
EJ A-42 Calculo de los autovectores (EJ A-33) según (EJ A-32).
179
EJ A-43 Igualdad de los autovectores y autovalores con (EJ A-42) según (EC A-25).
179
EJ A-44 Aplicación del autovalor dominante según (EC A-38).
180
EJ A-45 Ejemplo para obtener los autovalores de la matriz inversa (EJ A-3).
180
EJ A-46 Aplicación de (EC A-29) con (EJ A-45).
181
EJ A-47 Ejemplo de una proyección ortogonal de u sobre W (EC A-46).
184
EJ A-48 Ejemplo del componente de u ortogonal a W (EC A-44).
184
EJ A-49 Ejemplo del componente de u ortogonal a W (EC A-44).
187
EJ A-50 Ejemplo de factorización (EJ A-5) QR (EC A-49) usando Q de (EJ-49).
188
EJ A-51 Considérese A y Q y grafíquese en (FG A-13).
188
EJ A-52 Ejemplo de ortonormalización Householder Q.
192
EJ A-53 Uso de Matlab en Álgebra lineal.
194
210
Listado de tablas Capítulo 2 TB 2-1 Diferencias entre visión humana y visión computacional
21
Capítulo 3 TB 3-1Vector de distancias euclidianas E, estableciendo la imagen Γ8 (α=8) del CE (FG 39) más semejante a ΓPROY (FG 3-16) y Γ4 como la menos semejante, las cantidades 84 fueron redondeadas. TB 3-2 Autovalores de la Matriz de Covarianzas, obsérvese lo anormalmente bajo es el 89 autovalor 9. Capítulo 4 TB 4-1 Conjunto de Entrenamiento escogido para las pruebas (TB 4-2)
112
TB 4-2 Resultados de proyectar cada imagen de la ORL al Espacio de Rostros según el 121 CE (TB 4-1) TB 4-3 Los 57 CE que permiten identificar plenamente a cualquiera de las imágenes mostradas en (FG 4-6) se omite la extensión “.jpg”. En amarillo se remarca el mejor grupo 125 por tener un promedio de distancias euclidianas menor. TB 4-4 Resultados obtenidos con 68 CE al proyectar las imágenes mostradas en (FG 4127 6)se omite la extensión “.jpg... Apéndice TB A-1 Obtención del autovector xk y el autovalor dominante rk.
174
TB A-2 Calculo del autovector dominante yk y el autovalor dominante mk (EJ A-33).
177
TB A-3 Calculo del segundo autovector yk y autovalor mk (TB A-2).
178
TB A-4 Ejemplo para obtener demostrar la igualdad (EJ A-43) con diferentes autovectores. 181
211
Listado de código de programas Capítulo 2 CD 2-1 Programa en Visual Basic para convertir una imagen a color en modelo RVA a escala de grises. Para la conversión entre se utiliza la ecuación (EC 2-1) para obtener la 28 reflectancia Y= 0.299*R + 0.587*V + 0.114*A y así mostrar la imagen en escala de grises. CD 2-2 Programa completo en Java para guardar la información de una imagen, ya sea la 32 imagen a color en RVA o escala de grises. CD 2-3 Ejemplo del uso de la función createImage en Java® generando (FG 2-7)
33
CD 2-4 Código escrito en Microsoft Visual Basic © versión 6, para la igualación del 47 histograma, el cuadro es un compendio de los objetos incluidos en el programa y su clase. CD 2-5 Función escrita Visual Basic 6 para calcular el operador logarítmico de una 49 imagen.
Glosario de acrónimos
213
A El Análisis de Componentes Principales (A) es una técnica estadística de síntesis de la información, o reducción de la dimensión (número de variables). Es decir, ante un banco de datos con muchas variables, el objetivo será reducirlas a un menor número perdiendo la menor cantidad de información posible. ART Redes de Resonancia Adaptativa (ART). Es una red neuronal de aprendizaje competitivo, denominado teoría de la resonancia adaptativa, desarrollado por Carpenter y Grossberg en 1986. Esta red realiza un prototipado de las informaciones que recibe a la entrada, generando como salida un ejemplar o prototipo que representa a todas las informaciones que podrían considerarse pertenecientes a la misma categoría. BMP Los archivos con extensión .BMP, en los sistemas operativos Windows, representan la sigla BitMaP, o sea mapa de bits. Los archivos de mapas de bits se componen de direcciones asociadas a códigos de color, uno para cada cuadro en una matriz de píxeles. CD Es para enumerar el código de programas en la tesis. CE Conjunto de Entrenamiento. Conjunto de Aprendizaje. EC Es para referenciar una ecuación en la tesis. EJ Es para enumerar un ejemplo en la tesis o la aplicación de una ecuación. FG Se esta indicando que el elemento en la tesis es una imagen o figura. GIF Graphics Interchange Format, es un formato gráfico utilizado ampliamente en la World Wide Web, tanto para imágenes como para animaciones. JPEG t Photographic Experts Group. Es un algoritmo diseñado para comprimir imágenes con 24 bits de profundidad o en escala de grises. OCR El software de reconocimiento óptico de caracteres, abreviado habitualmente como OCR (Optical Character Recognition), extrae de una imagen los caracteres que componen un texto para almacenarlos en un formato con el cual puedan interactuar programas de edición de texto.
214
ORL Base de datos de Olivetti Reasearch Lab, la cual contiene 10 imágenes diferentes de 40 sujetos distintos. PÍXEL El píxel (del inglés picture element, o sea, "elemento de la imagen") es la menor unidad en la que se descompone una imagen digital, ya sea una fotografía, un fotograma de video o un gráfico. RNA En inteligencia artificial, referidas habitualmente de forma más sencilla como redes de neuronas o redes neuronales, las redes de neuronas artificiales (RNA) son un paradigma de aprendizaje y procesamiento automático inspirado en la forma en que funciona el sistema nervioso de los animales. TB Es para enumerar tablas de datos en la tesis. TIFF La denominación en inglés "Tagged Image File Format" (formato de archivo de imágenes con etiquetas) se debe a que los ficheros TIFF contienen, además de los datos de la imagen propiamente dicha, "etiquetas" en las que se archiva información sobre las características de la imagen, que sirve para su tratamiento posterior.