1 / 31

APLICACIONES DEL ALGEBRA LINEAL

APLICACIONES DEL ALGEBRA LINEAL. RECONOCIMIENTO DE ROSTRO. NOCIONES DE PARTIDA. V espacio vectorial dm n . base ortonormal de V Si x pertenece a V Si en particular

hisano
Download Presentation

APLICACIONES DEL ALGEBRA LINEAL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. APLICACIONES DEL ALGEBRA LINEAL RECONOCIMIENTO DE ROSTRO

  2. NOCIONES DE PARTIDA • V espacio vectorial dm n . base ortonormal de V Si x pertenece a V Si en particular • cuadrada y simetrica , luego T diagonaliza ortogonalmente: con D matriz diagonal y P matriz ortogonal cuyas columnas son los vectores propios deT

  3. Valores y Vectores propios • Sea • Construimos cuadrada, simetrica y semidefinida positiva Luego todos los valores propios de son reales y mayores o iguales a cero y el numero de los no nulos coincide con diagonaliza ortogonalmente : con columnas base ortonormal de • Idem diagonaliza ortogonalmente: con columnas base ortonormal de

  4. Propiedades • Sea , • Las matrices simetricas tienen los mismos valores propios no nulos • Los vectores propios asociados a estan vinculados por: Los vectores forman una base ortonormal del espacio columna de A, luego es el vector coordenado de respecto a dicha base.

  5. Un poco de estadistica • Sea: matriz de datos • valor medio, correlacion , covariancia • Calculados a partir de los datos resultan:

  6. Matriz de Covariancia • En la matriz de covariancia se resumen la variabilidad de los datos y la informacion relativa a las relaciones lineales entre las variables. • La matriz de covariancia es cuadrada, simetrica y semidefinida positiva por lo tanto diagonaliza ortogonalmente.

  7. PROBLEMA PLANTEADO • Dado un conjunto de imágenes de rostro etiquetados con la identidad de la persona (conjunto de entrenamiento) y un conjunto sin etiquetar de imágenes de rostros del mismo grupo de personas (conjunto test) , identificar cada persona de este ultimo grupo.

  8. Solucion • La idea es encontrar los vectores que mejor representen a las imágenes de los rostros dentro de todo el espacio imagen. Ellos definen el subespacio de las imágenes de rostro: el facespace, y dentro de este subespacio, los que corresponden a nuestro conjunto de entrenamiento. • Supongamos tener n imágenes (pxq) de rostros de entrenamiento . Con este conjunto armaremos la matriz de datos X, cuyas columnas sean la representacion vectorial de dichas imágenes. • Se calcula la matriz de covariancia cuyos vectores propios , los eigen-face formaran una base del espacio columna de

  9. Cada rostro del conjunto de entrenamiento viene representado por un vector de coordenadas respecto a dicha base. • Para identificar un rostro no incluido en el conjunto de entrenamiento, se procede: • 1) dada la nueva imagen de rostro, se calcula el vector coordenado respecto a la base de eigenfaces • 2) se clasifica su vector coordenado de acuerdo a su menor distancia a los respectivos vectores de coordenadas del conjunto de entrenamiento.

  10. Base de DATOS • ORL: Olivetti Research Laboratory -Cambridge –UK • 10 imagenesdistintas de cadauno de 40 sujetos con variacionesmenores de iluminacion, expresion del rostro, postura • Cadaimagenes de 112x92 pixels con 8 bits de niveles de gris • Se utilizaron 10 imagenes de s1 a s10 tomando de cadauna Ii=imread(‘1.pgm’)

  11. BASE DE DATOS USANDO ORL

  12. De matrices a vectorescolumna • Se transforman las imágenes Ii (112x92) en vectores columna IIi =Ii (:) (10304x1) • Se arma la matriz X=[II1 II2 ….. II10] . Las columnas son clase uint8. • Para mejor operar la llevo a clase double: A1=im2double(X) • Se calcula el valor medio de las columnas M=mean(A1, 2) • Se resta a cada columna de A1 el valor medio M: J1=A1 (:,1)-M;….. J10=A1(:,10)-M y se arma la matriz A=[J1 J2 ….J10]

  13. ROSTRO PROMEDIO • M esunacolumnapromedio (10304x1) querepresenta el rostropromedio. • Para visualizarlo, llevoestacolumna a ser nuevamenteunamatriz112x92 • MM=reshape(M,112,92)

  14. RostroPromedio

  15. AUTOVALORES • A los fines de trabajar con los autovalores , se arma la matriz T=ATA (10x10) y se calcula [V,D]=eig(T) • Los valores propios son los elementos de la diagonal principal de D (matriz diagonal) a los cuales se los ordena de mayor a menor . • A la vista de la matriz D resulta: c1=D(10,10) , c2=D(9,9)……y de igual forma a los vectores propios: v1=V(:,10); v2=V(:,9)..

  16. ValoresPropiosencontrados • Los valorespropiosencontrados son • [V,D]=eig(T); • >> D • D = • 0.0000 0 0 0 0 0 0 0 0 0 • 0 90.8927 0 0 0 0 0 0 0 0 • 0 0 113.0817 0 0 0 0 0 0 0 • 0 0 0 118.7217 0 0 0 0 0 0 • 0 0 0 0 161.7505 0 0 0 0 0 • 0 0 0 0 0 180.1657 0 0 0 0 • 0 0 0 0 0 0 228.2964 0 0 0 • 0 0 0 0 0 0 0 303.0239 0 0 • 0 0 0 0 0 0 0 0 363.4151 0 • 0 0 0 0 0 0 0 0 0 456.3304

  17. EIGENFACES • Para encontrar las eigenfaces se toman los vectores • Como solo tenemos 9 autovalores no nulos, se toman 9 vectores propios. • A estos vectores columna las volvemos matrices 112x92 . (Debido a que aparecen muy oscuras tomamos un múltiplo)

  18. IMAGENES DE LAS EIGENFACES

  19. Base Ortonormal del face space • Para obtener la base ortonormal del espacio de rostro generado por nuestra Base de Datos se toman efectivamente • De esta forma se obtiene la base del espacio de caras UR=(u1, u2,….,u9) base ortonormal del espacio columnas de A.

  20. Reconocimiento de Rostro: primer paso • Para usar este algoritmo en el reconocimiento de rostro, a cada vector Ji (columnas de la matriz A) le calculamos su vector coordenado respecto a la base UR: gi =[d1, d2 ,….,d9]T con dj =JiT *ujcon lo que se obtiene los vectores columna gi (9x1) que representa cada columna Ji de la matriz A

  21. Reconocimiento de Rostro: segundopaso • A los fines de usar el método para reconocimiento de rostro, tomamos otra imagen de la base ORL . En particular, de las clases utilizadas para armar nuestra base de datos pero con imágenes distintas a las usadas para armar la matriz A. Se la lleva a ser matriz columna y luego a la clase double. Se le resta el valor medio M y se calcula su vector coordenado respecto a la base UR.

  22. Reconocimiento de Rostro: tercerpaso • Para reconocer la imagen nueva , se calculan las distancias entre los vectores coordenados g y cada gi : • La menor distancia por debajo de un umbral, permite individualizar el rostro.

  23. Ejemplo 1 • Se tomo del archivo s7 la imagen I=imread(‘7.pgm’) • Realizado el procesoindicadoanteriormente , calculadosu vector g de coordenadasrespecto a la base de eigenfaces y lasdistanciaseuclideanasrespecto a los vectorescoordenados de los rostrosusados en la base de datos, resultaron:

  24. Resultados del Ejemplo 1 • 294.9595 • 297.7571 • 304.4939 • 330.2959 • 424.1840 • 322.3384 • 23.8455 corresponde al rostro 7 • 342.5990 • 304.4939

  25. IMAGENES EJEMPLO 1

  26. Ejemplo 2 • Se tomo del archivo s1 la imagen I=imread(‘5.pgm’) • Realizado el procesoindicadoanteriormente , calculadosu vector g de coordenadasrespecto a la base de eigenfaces y lasdistanciaseuclideanasrespecto a los vectorescoordenados de los rostrosusados en la base de datos, resultaron:

  27. Resultados del Ejemplo 2 • 138.6051 corresponde al rostro 1 • 203.0688 • 304.2247 • 392.7719 • 276.5140 • 404.3301 • 360.2931 • 513.6230 • 476.9250

  28. IMAGENES EJEMPLO 2

  29. Ejemplo 3 • Se tomo del archivo s20 la imagen I=imread(‘8.pgm’) • Realizado el procesoindicadoanteriormente , calculadosu vector g de coordenadasrespecto a la base de eigenfaces y lasdistanciaseuclideanasrespecto a los vectorescoordenados de los rostrosusados en la base de datos, resultaron:

  30. ResultadosEjemplo 3 • LH = ( 1.0e+005 )* • 0.3859 • 0.5568 • 1.4624 • 0.3441 • 0.4907 • 0.2667 • 0.2525 • 0.2460 • 0.3308 • Se observa que todos los valores de distancia sonmuy grandes. Conun umbral razonable (ej.: 500) podemos asegurar que elrostrodelEjemplo 3 no se corresponde conningunrostro de nuestra base de datos.

  31. IMAGEN EJEMPLO 3

More Related