Università di Verona Facoltà di Scienze MM.FF.NN. Laurea ...profs.sci.univr.it › ... ›...

45
1 Sistemi avanzati per il riconoscimento Dr. Marco Cristani e-mail: [email protected] ufficio: Stanza 47, Ca’ Vignal 2 Università di Verona Facoltà di Scienze MM.FF.NN. Corso di Laurea magistrale in Ingegneria e scienze informatiche Lezione 2 – Face recognition

Transcript of Università di Verona Facoltà di Scienze MM.FF.NN. Laurea ...profs.sci.univr.it › ... ›...

1

Sistemi avanzati per il riconoscimento

Dr. Marco Cristanie-mail: [email protected]: Stanza 47, Ca’ Vignal 2

Università di VeronaFacoltà di Scienze MM.FF.NN.

Corso di Laurea magistrale in Ingegneria e scienze informatiche

Lezione 2 – Face recognition

2

Distinzione preliminareRiconoscimento o identificazione

Matching 1-molti

illuminazione + espressione

posa, orientazione

rumore

Mr.X

Dataset - galleryCandidato - probe

3

Distinzione preliminare (2)

Mr.X ? Mr.X!!!

Dataset - gallery

Candidato - probe

Mr.X

VerificaMatching 1-1

4

(Alcuni) sistemi di riconoscimento esistenti

• FaceIt from Visionics www.FaceIt.com• ViisageTechnology www.viisage.com• FaceVACS from Plettac www.plettac-electronics.com• FaceKeyCorp. www.facekey.com• CognitecSystems www.cognitec-systems.de• KeywareTechnologies www.keywareusa.com• Passfacesfrom ID-arts www.id-artss.com• Image Ware Sofware www.iwsinc.com• EyematicInterfaces Inc. www.eyematic.com• BioIDsensor fusion www.bioid.com• VisionsphereTechnologies www.visionspheretech.com/menu.htm• Biometric Systems, Inc. www.biometrica.com• FaceSnap Recoder www.facesnap.de/htdocs/english/index2.html• SpotItfor face composite www.spotit.itc.it/SpotIt.html

• DATABASE: http://www.face-rec.org/databases/

5

Come riconoscere i volti?• Come recepiscono i volti l’uomo?

– Studi psicofisici, neuroscienze (Darwin, 1872)

• Come recepiscono i volti le macchine?– Da semplici profili geometrici a feature complesse (Galton)

• E’ necessario applicare diverse discipline– Psicologia: da’ indizi su un processo fisiologico da mimare– Elaborazione delle immagini: pre-processing, feature– Pattern recognition/Learning/neural networks: classificazione– Computer vision & Computer graphics: manipolazione 2D-3D

• Tre paradigmi per il riconoscimento automatico di volti1. Olistico2. Feature based3. Ibrido

6

Parole chiave

7

Studi psicologici-neurofisiologici• Alcuni esperimenti mostrano che, nel riconoscimento di volti

familiari, un livello medio di accuratezza del 95% crolla al 50-60% quando gli stessi volti vengono presentati a testa in giù

• L’identità di un volto è codificata soprattutto dalle relazioni spaziali fra i suoi tratti (naso, bocca, occhi), quindi tra le feature collegate assieme.

Thompson, P. (1980). Margaret Thatcher: A new illusion. Perception, 9(4), 483-484.Face Recognition by Humans: Nineteen Results All Computer Vision Researchers Should Know AboutSinha, P. Balas, B. Ostrovsky, Y. Russell, R. Dept. of Brain & Cognitive Sci., MIT, Cambridge, MA;This paper appears in: Proceedings of the IEEE Publication Date: Nov. 2006 Volume: 94, Issue: 11 On page(s): 1948-1962

8

Architettura di un sistema di riconoscimento

9

Linea temporale

10

Metodi olistici

11

Riconoscimento di volti mediante Principal Component Analysis (PCA)

•Turk, M., Pentland, A.: Eigenfaces for recognition. J. Cognitive Neuroscience 3 (1991) 71–86

12

Riconoscimento di volti mediante Principal Component Analysis (PCA)

• Idea– Il volto come combinazione

lineare di facce “base” o “componenti”

-8029 2900 1751 1445 4238 6193

– Questi volti base possono esserepesati in maniera differente, per rappresentare più volti

– Quindi, ogni volto = vettore dipesi

-8029 -1183 2900 -2088 1751 -4336 1445 -669 4238 -4221 6193 10549

– Preso un insieme arbitrariamente grande difacce, si ricava un set di basi (eigenfaces )chemeglio rappresentano le differenze tra facce

13

Eigenfaces: utilizzi

• Due utilizzi per le eigenfaces:

• 1: immagazzinare in poco spazio volti e ricostruirli al bisogno

• 2: individuare il volto più simile ad un volto sconosciuto

14

PCA - richiami• Il volto = un vettore

N-dimensionale divalori di pixel

• Supponiamo N=2 volti = punti 2D

Come possodescrivere in modocompatto questi Mpunti?

• SOL 1: Con un punto (vettore) solo, cheminimizzi la distanza media quadratica con tutti i pti

∑=

−=M

k

kJ1

2)()0()0(0 )( argmin

)0(xxx

x

• Soluzione: il vettore media ∑=

=M

k

k

M 1

)(1 xmProblema

m poco espressivo!!!

15

PCA - richiami

• Supp. una retta diproiezione nellospazio

Alcune vanno bene ... altre no.intuitivamente

• SOL2: Con una retta di proiezione, che minimizzi la distanza media quadratica con tutti i pti

• In questo caso useremmo una dimensione per descrivere i dati (la posizione sulla retta)!

16

PCA - richiami• Per convenienza, imponiamo passaggio dalla media, e

specifichiamo quindi i punti della retta come

⎥⎦

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡=⎥

⎤⎢⎣

2

1

2

1

2

1

ee

amm

xx

1x

2x)(kae

m

emx )()( kk a+=)(kx

{ }{ }( ) ( )( )mxe

xeme

−=→

−+=∑=

==

)()(

1

2)()(...1

)(1

'...

, argmin...1

)(

kk

M

k

kkMk

k

a

a

aaJMk

k

• Troviamo quindi i coefficienti che minimizzano la distanza quadratica

{ } Mkka ...1

)(=

17

PCA - richiami• Sostituendo in otteniamo

, ossia( )mxe −= )()( ' kka { }( )e,...1

)(1 Mk

kaJ =

( ) ∑=

−+−=M

k

kJ1

2)(1 mxSee'e

( )e1J

( )( )∑=

−−=M

k

kk

1

)()( 'mxmxS

• Minimizzare significa massimizzare tenuto conto che, via moltiplicatori di Lagrange; ossia

( )e1J See'1=e ( )1−+= ee'See' λu

022 =−=∂∂ eSee

λu• Minimizzo;

eSe λ=

Scatter matrix ≈ mat. di covarianza

A conti fatti:1. e deve essere autovettore;2. Poiché

deve essere massimo

λλ == ee'See' λ

18

Esempio

1x

2x

⎥⎦

⎤⎢⎣

⎡=

717.0615.0615.0617.0

S

⎥⎦

⎤⎢⎣

⎡−=

678.0735.0

)1(e ⎥⎦

⎤⎢⎣

⎡−=

735.0678.0

)2(e

049.0)1( =λ 284.1)2( =λ

• La matrice di covarianza è

• Ottengo 2 autovettori (e autovalori): quale prendo?

19

Esempio - osservazioni⎥⎦

⎤⎢⎣

⎡=

717.0615.0615.0617.0

S• La matrice di covarianza è simmetrica, reale

gli autovettori {e} sono ortogonali, formanti una base per lo spazio N dimensionale

gli autovalori più grandi sihanno nelle direzioni dimassima dispersione dei dati

⎥⎦

⎤⎢⎣

⎡−=

678.0735.0

1e ⎥⎦

⎤⎢⎣

⎡−=

735.0678.0

2e

049.01 =λ 284.12 =λ

1x

2x

20

Esempio - osservazioni

∑=

+=D

ii

ki

k a1

)()( emx

• I coefficienti , per i =1,...,N, sono le componenti del punto

per la base trovata

• Quindi un punto può essere scritto come

)(kia

)(kx

)(kx

m

)(2ka

)(1

ka

21

Da PCA ad eigenfaces• Dato un gruppo di punti, ho trovato la base che descrive lo

scattering dei punti

• Ogni punto puo’ essere mappato tramite i componenti dellabase (numero componenti = numero dimensioni N)

• Usare meno componenti (le componenti principali) permette diproiettare i punti in un sottospazio altamente informativoriduzione della dimensionalità dei punti

• Ora passiamo alle facce (...punti!) dataset di M facce, N dimensioni

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

)1(

)1(2

)1(1

)1(

Nx

xx

Mx

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

)2(

)2(2

)2(1

)2(

Nx

xx

Mx

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

)(

)(2

)(1

)(

MN

M

M

M

x

xx

Mx… N.B.:

di solito,M<<N

22

Da PCA ad eigenfaces (2)• Preprocessing -

– Le immagini devono contenere esclusivamente facce (no outliers)

– Le immagini devono essere ragionevolmente prive di rumore

– Le facce devono avere la stessa dimensione riscalamento

– Stesse condizioni di illuminazione, o compensazione

– Non ci deve essere sfondo ritaglia le facce, catturale su sfondoneutro (alternativa: background subtraction)

– In maniera automatica, utilizzo di un metodo di face detection

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

)1(

)1(2

)1(1

)1(

Nx

xx

Mx

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

)2(

)2(2

)2(1

)2(

Nx

xx

Mx

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

)(

)(2

)(1

)(

MN

M

M

M

x

xx

Mx…

23

Eigenfaces - proiezioni• Dopo aver ricavato gli autovettori {e} (eigenfaces) dalla matrice di

covarianza S, calcolo le componenti {a} (o proiezione) per la faccia x

ed ho

• Le ricostruzioni, g, possono avvenire anche nei sottospazi descrittidalle eigenfaces con eigenvalues più grandi – riduzionedimensionalità

( ) ( ) ( )mxemxemxe −−− N',...,',' 21

1a 2a NaNNaaa eeemx ++++= ,...,2211

8877665544332211 eeeeeeee aaaaaaaa +++++++ … NNa e+xxg ≈

m +x

10 20 30 50 70 82n.

coeff.

24

Eigenfaces• Autovettori {e} (eigenfaces): in pratica?

1e 2e 3e

...

m

25

Eigenfaces - problema

• Sia pertanto S = AA’

• Con un’img 256 x 256 ho : problemi di overflow!

• Trick: calcolo gli autovettori di , ossia , tenuto conto

che di solito si usano 20-30 eigenfaces e che

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

)()2()1(

)(2

)2(2

)1(2

)(1

)2(1

)1(1

...

...

...

MNNN

M

M

xxx

xxxxxx

MMMMA

N x M N x N

65536 65536×S

MM '×AA { }e~

eAeSAeAeAAAeeAA

~ ~~ ~'~ ~'

λλλ

=→=→=

eAe ~ =quindi

26

Eigenfaces - note

• Gli M autovalori di A’A corrispondono agli M autovalori piùgrandi di S (così come i corrispondenti autovettori)

27

Eigenfaces - algoritmo

1. Sottraggo ad ogni immagine x(k) ,k=1...M, la media

ottenendo i vettori da cui costruisco la matrice

2. Calcolo M autovettori di formando la matrice

3. Ricavo gli M autovettori più grandi di S = AA’, ossia

o in forma matriciale

4. Ricavo i corrispondenti componenti (o coeff. di proiezione)

o in forma matriciale

MN ×A

MM '×AA{ } Mii ,...,1ˆ

=e

ii eAe ˆ=

( ))()( ~' ki

kia xe=

∑=

=M

k

k

M 1

)(1 xm

{ })(~ kx

MM ×V

MMMNMN ×××= VAU

( ))(

1

)(

1

~' k

NNM

k

M ×××= xUω

28

Proprietà chiave della rappresentazione ad eigenfaces

Date

• 2 immagini usate per costruire l’eigenspace

• è la proiezione nell’eigenspace dell’img

• è la proiezione nell’eigenspace dell’img

allora,

ossia, la distanza nell’eigenspace è approssimativamenteuguale alla distanza tra due immagini.

21,xx

|||||||| 1212 xxωω −≈−

1x

2x2ω

29

Riconoscimento con le eigenfaces1. Analizza il database d’immagini etichettato (<volti,identità>)

a) Esegui PCA — calcola le eigenfaces, formo Ub) Calcola i K coefficienti per ogni immagine x(k) k=1,...,Mc) Calcola le M proiezioni nello spazio delle eigenfaces ω(k) k=1,...,Md) Calcolo la soglia

2. Data una nuova img (da riconoscere) x, a) Ne sottraggo la media del dataset di training m, ottengob) Proietto, ossia calcolo le K componenti

c) Calcolo il set di distanze

{ } Mkjkj ,...,1,per max21 )()( =−= ωωθ

TRA

ININ

G

[ ]',...,,~21 Kaaa=→ωx

( ) Mkkk ,...,1per 2)(2)( =−= ωωε

xU'ω ~=

x~

ossia

RIC

ON

OSC

IMEN

TO

30

Riconoscimento con le eigenfaces3. Ricostruisco la faccia usando eigenfaces e componenti

4. Calcolo la distanza tra la faccia di partenza incognita e la ricostruzione

5. Se• non è una faccia

• è una nuova faccia

• è una faccia conosciuta, la kbest-esima, dove

~ oppure ~1

Uωgeg ==∑=

K

iiia

RIC

ON

OSC

IMEN

TO

~~ 22 xg −=ξ

θξ ≥

( ) M1,...,k , e )(k =≥< θεθξ

{ } θεθξ << )(min e k

{ })(best argmin k

kk ε=

31

Dettagli pratici

K Mi =

• Quanti eigenvector usare?• Controlla il decadimento degli

eigenvalues• Dati “buoni” ossia trattabili

hanno poche dimensioni ad alta varianza

• Nel caso in cui tutti gli N autovalori sono stati calcolati per un dataset N-dimensionalevale

{ }iλ

∑∑

=

== N

jj

K

i i

1

1covered

λ

λσ

32

Problemi eigenfaces

• Illuminazione: stessi soggetti con differente illuminazione risultanolontani nello spazio delle eigenfaces

• Pose differenti :le componenti di un volto frontale non servono per un riconoscimento con profili

• Allineamento differente• Espressione facciale differente• Outlier

– Sample outliers = non facce– Intra-sample outliers = facce affette

da rumore

33

Problemi eigenfaces (2)

• Funzionale solo per la rappresentazione di dati appartenenti ad un’unica classe

• Non separano classi differenti

34

Metodi feature-based

35

Model-based face recognition• Lo schema di riconoscimento di volti model-based mira a costruire

un modello del volto umano in grado di catturare variazioni facciali, duvute per esempio alle espressioni

• Gli approcci model-based derivano distanza reciproca e posizionedelle features catturando elementi facciali quali occhi, bocca, nasoetc.

• Generalmente, un modello del volto contiene informazioni di forma e texture della faccia.

36

Bunch Graph• I volti umani hanno una struttura topologica comune.• Il volto può essere strutturato da nodi localizzati in punti

specifici e da edge etichettati con valori di distanza; da questielementi si costruisce un grafo.

• Il Face Bunch graph (FBG) viene generato da un set diimmagini di training di facce. L’FBG serve come rappresentazione generale della faccia, in una particolare posa

• In corrispondenza di ogni nodo dell’FBG vi è uno stack difeature, chiamato jet description, derivanti da soggetti di varieetà, sesso, razza

• Gli edge sono etichettati con le medie delle distanze trovate sui soggetti di training

37

Elastic Bunch Graph Matching• Per riconoscere una nuova faccia si utilizza l’algoritmo di elastic

bunch graph matching. • Sul volto incognito vengono posizionati punti fiduciali in modo da

– 1) corrispondere a particolari feature e – 2) massimizzare la similarità del grafo costruito su di essi e un FBG, in

modo da capirne la posa.• Il volto viene confrontato con i (grafi dei) volti nella gallery,

mediante graph matching.

L. Wiskott, J.-M. Fellous, N. Krueuger, C. von der Malsburg, Face Recognition by Elastic Bunch Graph Matching, Chapter 11 in Intelligent Biometric Techniques in Fingerprint and Face Recognition, eds. L.C. Jain et al., CRC Press, 1999, pp. 355-396

38

Active Appearance Model (AAM)• L’ AAM è costruito sulla base di un set di facce etichettate, dove le label

sono posizionate su feature• I vari modelli sono combinati assieme usando metodi di analisi lineare come

PCA.• Le basi del modello combinato regolano – mediante i coefficenti di

proiezione – la forma e la texture dei modelli.• Il fitting dell’AAM viene usato per cercare un set di parametri del modello

che meglio rappresenta l’immagine di test.• Il goal del riconoscimento è trovare il set di parametri di un’img di training

che meglio correla con il set di parametri di test.

cQggcQss

IIgTexture

yxyxsShape

g

s

Tm

Tnn

+=+=

=

=

),...,( :

),,...,,( :

1

11

Vettore dei parametri di partenza

T.F. Cootes, K. Walker, C.J. Taylor, View-Based Active Appearance Models, Proc. of the IEEE International Conference on Automatic Face and Gesture Recognition, 26-30 March 2000, Grenoble, France, pp. 227-232

39

3D Morphable model• Il volto è un oggetto 3D.

Quindi, modelli 3D sono megliocaratterizzanti.

• I modelli 3D sono in grado digestire meglio problemi di posae illuminazione

• I modelli 3D elastici(morphable) rappresentanol’estensione degli AAM su

• La struttura di riconoscimentoper gli AAM viene ereditata nel3D

Tnnn

Tnnn

BGRBGRTvectorTexture

zyxzyxSvectorShape

),,,...,,,(:

),,,...,,,( :

1110

1110

=

=

V. Blanz, T. Vetter, Face Recognition Based on Fitting a 3D Morphable Model, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 25, No. 9, September 2003, pp. 1063-1074

40

Metodi ibridi (spiegazione alla lavagna)

U.Castellani, M.Cristani, S.Fantoni, V.Murino, Interest points detection and matching by exploiting3D mesh saliency in a Hidden Markov Model framework, Computer Graphics Forum Vol. 29(2)

41

Human Face Recognition Limitations

Degraded images

Harmon and Julesz, 1973

Human can handle low resolution celebrity images quite well.

[Sinha05]

42

Human Face Recognition Limitations

43

Human Face Recognition Limitations

44

(Ancora) Riferimenti• W. Zhao, R. Chellappa, A. Rosenfeld, P.J. Phillips, Face Recognition: A Literature Survey, ACM Computing Surveys, 2003, pp. 399-458• X. Lu, Image Analysis for Face Recognition, personal notes, May 2003, 36 pages • H. Moon, P.J. Phillips, Computational and Performance aspects of PCA-based Face Recognition Algorithms, Perception, Vol. 30, 2001, pp.

303-321• C. Liu, H. Wechsler, Comparative Assessment of Independent Component Analysis (ICA) for Face Recognition, Proc. of the Second

International Conference on Audio- and Video-based Biometric Person Authentication, AVBPA'99, 22-24 March 1999, Washington D.C., USA, pp. 211-216

• A. Pentland, B. Moghaddam, T. Starner, View-Based and Modular Eigenspaces for Face Recognition, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 21-23 June 1994, Seattle, Washington, USA, pp. 84-91

• K. Etemad, R. Chellappa, Discriminant Analysis for Recognition of Human Face Images, Journal of the Optical Society of America A, Vol. 14, No. 8, August 1997, pp. 1724-1733

• W. Zhao, R. Chellappa, A. Krishnaswamy, Discriminant Analysis of Principal Components for Face Recognition, Proc. of the 3rd IEEE International Conference on Face and Gesture Recognition, FG'98, 14-16 April 1998, Nara, Japan, p. 336

• A.M. Martinez, A.C. Kak, PCA versus LDA, IEEE Trans. on Pattern Analysis and Machine Intelligence, Vol. 23, No. 2, 2001, pp. 228-233• J. Lu, K.N. Plataniotis, A.N. Venetsanopoulos, Face Recognition Using LDA-Based Algorithms, IEEE Trans. on Neural Networks, Vol. 14,

No. 1, January 2003, pp. 195-200 • C. Liu, H. Wechsler, Evolutionary Pursuit and Its Application to Face Recognition, IEEE Trans. on Pattern Analysis and Machine

Intelligence, Vol. 22, No. 6, June 2000, pp. 570-582 • M.-H. Yang, Kernel Eigenfaces vs. Kernel Fisherfaces: Face Recognition Using Kernel Methods, Proc. of the Fifth IEEE International

Conference on Automatic Face and Gesture Recognition, 20-21 May 2002, Washington D.C., USA, pp. 215-220• .-H. Yang, Face Recognition Using Kernel Methods, Advances in Neural Information Processing Systems, T. Diederich, S. Becker, Z.

Ghahramani, Eds., 2002, vol. 14, 8 pages • B. Moghaddam, J.H. Lee, H. Pfister, R. Machiraju, Model-Based 3D Face Capture with Shape-from-Silhouettes, Proc. of the IEEE

International Workshop on Analysis and Modeling of Faces and Gestures, AMFG, 17 October 2003, Nice, France, pp. 20-27• J. Lee, B. Moghaddam, H. Pfister, R. Machiraju, Finding Optimal Views for 3D Face Shape Modeling, Proc. of the International

Conference on Automatic Face and Gesture Recognition, FGR2004, 17-19 May 2004, Seoul, Korea, pp. 31-36

45

FINE