aplicaciones del algebra lineal

31
APLICACIONES DEL ALGEBRA LINEAL RECONOCIMIENTO DE ROSTRO

Upload: hisano

Post on 24-Feb-2016

88 views

Category:

Documents


1 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: APLICACIONES DEL ALGEBRA LINEAL

APLICACIONES DEL ALGEBRA LINEAL

RECONOCIMIENTO DE ROSTRO

Page 2: APLICACIONES DEL ALGEBRA LINEAL

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 de T

ii

n

iii vxcvcx ,;

1

iT

ii vxvxc ,

nxnRT TPDPT

1nxRV

Page 3: APLICACIONES DEL ALGEBRA LINEAL

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

mxnRA)(1 nxnAAT T

1T)(ARgo

1T TT VDVAAT 1 nvvvV ...21

nR

)(2 mxmAAT T2T

TT UDUAAT 2 muuuU ...21 mR

Page 4: APLICACIONES DEL ALGEBRA LINEAL

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.

rARgo )(

r ,...,, 21

mxmTnxnT RAARAA ;

TT AAyAA

r

rr

AvuAvuAvu

,...,,2

22

1

11

ruuu ,..,, 21 Tiriiii dddgA ...21

iA

Page 5: APLICACIONES DEL ALGEBRA LINEAL

Un poco de estadistica• Sea: matriz de datos• valor medio, correlacion , covariancia

• Calculados a partir de los datos resultan:

)(...21 mxnXXXX n

TT XXXXECXXERXEX )~)(~(;;~

)(...~);1(11

mxnMMMXmxXn

Mn

ii

mxmmatricesXXXXn

CXXn

R TT )~)(~(1;1

Page 6: APLICACIONES DEL ALGEBRA LINEAL

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.

Page 7: APLICACIONES DEL ALGEBRA LINEAL

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.

Page 8: APLICACIONES DEL ALGEBRA LINEAL

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 face space, 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

TXXXXn

C )~)(~(1

XX ~

Page 9: APLICACIONES DEL ALGEBRA LINEAL

• 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.

Page 10: APLICACIONES DEL ALGEBRA LINEAL

Base de DATOS

• ORL: Olivetti Research Laboratory -Cambridge –UK

• 10 imagenes distintas de cada uno de 40 sujetos con variaciones menores de iluminacion, expresion del rostro, postura

• Cada imagen es de 112x92 pixels con 8 bits de niveles de gris

• Se utilizaron 10 imagenes de s1 a s10 tomando de cada una Ii=imread(‘1.pgm’)

Page 11: APLICACIONES DEL ALGEBRA LINEAL

BASE DE DATOS USANDO ORL

base de DATOS.fig

base de datos

Page 12: APLICACIONES DEL ALGEBRA LINEAL

De matrices a vectores columna

• 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]

Page 13: APLICACIONES DEL ALGEBRA LINEAL

ROSTRO PROMEDIO

• M es una columna promedio (10304x1) que representa el rostro promedio.

• Para visualizarlo, llevo esta columna a ser nuevamente una matriz 112x92

• MM=reshape(M,112,92)

Page 14: APLICACIONES DEL ALGEBRA LINEAL

Rostro Promedio

Page 15: APLICACIONES DEL ALGEBRA LINEAL

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)..

Page 16: APLICACIONES DEL ALGEBRA LINEAL

Valores Propios encontrados

• Los valores propios encontrados 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

Page 17: APLICACIONES DEL ALGEBRA LINEAL

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)

iii

ii conAvu

Page 18: APLICACIONES DEL ALGEBRA LINEAL

IMAGENES DE LAS EIGENFACES

EIGENFACES

Page 19: APLICACIONES DEL ALGEBRA LINEAL

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.

i

iiAvu

Page 20: APLICACIONES DEL ALGEBRA LINEAL

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 =Ji

T *uj con lo que se obtiene los vectores columna gi (9x1) que representa cada columna Ji de la matriz A

Page 21: APLICACIONES DEL ALGEBRA LINEAL

Reconocimiento de Rostro: segundo paso

• 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.

Page 22: APLICACIONES DEL ALGEBRA LINEAL

Reconocimiento de Rostro: tercer paso

• 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.

)()()((),(2 iT

iiiii ggggggggggdL

Page 23: APLICACIONES DEL ALGEBRA LINEAL

Ejemplo 1

• Se tomo del archivo s7 la imagen I=imread(‘7.pgm’)

• Realizado el proceso indicado anteriormente , calculado su vector g de coordenadas respecto a la base de eigenfaces y las distancias euclideanas respecto a los vectores coordenados de los rostros usados en la base de datos, resultaron:

Page 24: APLICACIONES DEL ALGEBRA LINEAL

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

Page 25: APLICACIONES DEL ALGEBRA LINEAL

IMAGENES EJEMPLO 1

Page 26: APLICACIONES DEL ALGEBRA LINEAL

Ejemplo 2

• Se tomo del archivo s1 la imagen I=imread(‘5.pgm’)

• Realizado el proceso indicado anteriormente , calculado su vector g de coordenadas respecto a la base de eigenfaces y las distancias euclideanas respecto a los vectores coordenados de los rostros usados en la base de datos, resultaron:

Page 27: APLICACIONES DEL ALGEBRA LINEAL

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

Page 28: APLICACIONES DEL ALGEBRA LINEAL

IMAGENES EJEMPLO 2

Page 29: APLICACIONES DEL ALGEBRA LINEAL

Ejemplo 3

• Se tomo del archivo s20 la imagen I=imread(‘8.pgm’)

• Realizado el proceso indicado anteriormente , calculado su vector g de coordenadas respecto a la base de eigenfaces y las distancias euclideanas respecto a los vectores coordenados de los rostros usados en la base de datos, resultaron:

Page 30: APLICACIONES DEL ALGEBRA LINEAL

Resultados Ejemplo 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 son muy grandes. Con un umbral

razonable (ej.: 500) podemos asegurar que el rostro del Ejemplo 3 no se corresponde con ningun rostro de nuestra base de datos.

Page 31: APLICACIONES DEL ALGEBRA LINEAL

IMAGEN EJEMPLO 3