Top Banner
APLICACIONES DEL ALGEBRA LINEAL RECONOCIMIENTO DE ROSTRO
31

APLICACIONES DEL ALGEBRA LINEAL RECONOCIMIENTO DE ROSTRO.

Feb 13, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: APLICACIONES DEL ALGEBRA LINEAL RECONOCIMIENTO DE ROSTRO.

APLICACIONES DEL ALGEBRA LINEAL

RECONOCIMIENTO DE ROSTRO

Page 2: 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 • 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 RECONOCIMIENTO DE ROSTRO.

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 RECONOCIMIENTO DE ROSTRO.

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

Avu

Avu

Avu

,...,,

2

22

1

11

ruuu ,..,, 21

Tiriiii dddgA ...21

iA

Page 5: APLICACIONES DEL ALGEBRA LINEAL RECONOCIMIENTO DE ROSTRO.

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(1

1

mxnMMMXmxXn

Mn

ii

mxmmatricesXXXXn

CXXn

R TT )~

)(~

(1

;1

Page 6: APLICACIONES DEL ALGEBRA LINEAL RECONOCIMIENTO DE ROSTRO.

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 RECONOCIMIENTO DE ROSTRO.

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 RECONOCIMIENTO DE ROSTRO.

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 RECONOCIMIENTO DE ROSTRO.

• 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 RECONOCIMIENTO DE ROSTRO.

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 RECONOCIMIENTO DE ROSTRO.

BASE DE DATOS USANDO ORL

base de DATOS.fig

base de datos

Page 12: APLICACIONES DEL ALGEBRA LINEAL RECONOCIMIENTO DE ROSTRO.

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 RECONOCIMIENTO DE ROSTRO.

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 RECONOCIMIENTO DE ROSTRO.

Rostro Promedio

Page 15: APLICACIONES DEL ALGEBRA LINEAL RECONOCIMIENTO DE ROSTRO.

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 RECONOCIMIENTO DE ROSTRO.

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 RECONOCIMIENTO DE ROSTRO.

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 conAv

u

Page 18: APLICACIONES DEL ALGEBRA LINEAL RECONOCIMIENTO DE ROSTRO.

IMAGENES DE LAS EIGENFACES

EIGENFACES

Page 19: APLICACIONES DEL ALGEBRA LINEAL RECONOCIMIENTO DE ROSTRO.

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

ii

Avu

Page 20: APLICACIONES DEL ALGEBRA LINEAL RECONOCIMIENTO DE ROSTRO.

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.

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.

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 RECONOCIMIENTO DE ROSTRO.

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 RECONOCIMIENTO DE ROSTRO.

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 RECONOCIMIENTO DE ROSTRO.

IMAGENES EJEMPLO 1

Page 26: APLICACIONES DEL ALGEBRA LINEAL RECONOCIMIENTO DE ROSTRO.

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 RECONOCIMIENTO DE ROSTRO.

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 RECONOCIMIENTO DE ROSTRO.

IMAGENES EJEMPLO 2

Page 29: APLICACIONES DEL ALGEBRA LINEAL RECONOCIMIENTO DE ROSTRO.

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 RECONOCIMIENTO DE ROSTRO.

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 RECONOCIMIENTO DE ROSTRO.

IMAGEN EJEMPLO 3