Sistema biometrico di autenticazione basato sull'hand tracking

32
Università degli Studi di Roma Tre Facoltà di Ingegneria Corso di Laurea Magistrale in Ingegneria delle Tecnologie della Comunicazione e dell’Informazione Sicurezza delle Telecomunicazioni Sistema di autenticazione basato sull’Hand Tracking Flavio Otello Pierangeli Matteo Ratini Anno Accademico 2008-2009

description

Biometrics authentication system based on hand-tracking

Transcript of Sistema biometrico di autenticazione basato sull'hand tracking

Page 1: Sistema biometrico di autenticazione basato sull'hand tracking

Università degli Studi di Roma Tre

Facoltà di Ingegneria

Corso di Laurea Magistrale in

Ingegneria delle Tecnologie della Comunicazione e dell’Informazione

Sicurezza delle Telecomunicazioni

Sistema di autenticazione basato sull’Hand Tracking

Flavio Otello Pierangeli Matteo Ratini

Anno Accademico 2008-2009

Page 2: Sistema biometrico di autenticazione basato sull'hand tracking

Outline

• Introduzione alla biometria

• Keystroke

– Componenti e caratteristiche

– Algoritmo

• Hand Tracking

– Fondamenti

– Algoritmo

– Optical Flow

• Conclusioni

Page 3: Sistema biometrico di autenticazione basato sull'hand tracking

Outline

• Introduzione alla biometria

• Keystroke

– Componenti e caratteristiche

– Algoritmo

• Hand Tracking

– Fondamenti

– Algoritmo

– Optical Flow

• Conclusioni

Page 4: Sistema biometrico di autenticazione basato sull'hand tracking

Introduzione alla biometria (1)

• Biometria: identificazione della persona sulla base delle caratteristiche fisiologiche e comportamentali.

• Tipi di autenticazione:

– Password: qualcosa che l’utente conosce

– Oggetti fisici: qualcosa che l’utente possiede

– Biometria: qualcosa che l’utente È

Page 5: Sistema biometrico di autenticazione basato sull'hand tracking

Introduzione alla biometria (2)

Un sistema biometrico deve garantire: • Universalità: le caratteristiche devono appartenere

solo a una persona

• Unicità: due persone diverse devono avere caratteristiche diverse

• Permanenza: le caratteristiche devono essere invarianti in un certo periodo di tempo

• Collectability: le caratteristiche devono essere misurabili quantitativamente

• Prestazioni: l’uso delle caratteristiche deve garantire buone prestazioni

• Circonvenzione: le caratteristiche devono essere robuste agli attacchi

Page 6: Sistema biometrico di autenticazione basato sull'hand tracking

Introduzione alla biometria (3)

Un sistema di autenticazione biometrico è composto da due sottosistemi:

1. Sistema di Enrollment: si occupa dell’acquisizione e della memorizzazione dei template dell’utente

2. Sistema di Autenticazione, il quale comprende le fasi di:

• Verifica (ricerca uno a molti)

• Identificazione (ricerca uno a uno)

Page 7: Sistema biometrico di autenticazione basato sull'hand tracking

Outline

• Introduzione alla biometria

• Keystroke

– Componenti e caratteristiche

– Algoritmo

• Hand Tracking

– Fondamenti

– Algoritmo

– Optical Flow

• Conclusioni

Page 8: Sistema biometrico di autenticazione basato sull'hand tracking

Keystroke: componenti

• Il Keystroke-scan è una tecnologia puramente software che impiega la tradizionale tastiera per pc per eseguire misurazioni e autenticazione.

• I componenti sono così individuabili: – Data Sampler

– Estrattore di caratteristiche

– Costruttore del template

– Autenticatore

Page 9: Sistema biometrico di autenticazione basato sull'hand tracking

Keystroke: caratteristiche

• Per garantire l’autenticazione, e formare quindi il pattern con le features, sono necessari almeno due tipi di elementi:

1. Latenza: intervallo temporale tra il rilascio di un

tasto e la pressione del successivo

2. Key-down time: durata della pressione del tasto

• Il keystroke pattern è un vettore di un numero variabile di elementi in cui compaiono sempre il latency-time e il key-down time

Page 10: Sistema biometrico di autenticazione basato sull'hand tracking

Outline

• Introduzione alla biometria

• Keystroke

– Componenti e caratteristiche

– Algoritmo

• Hand Tracking

– Fondamenti

– Algoritmo

– Optical Flow

• Conclusioni

Page 11: Sistema biometrico di autenticazione basato sull'hand tracking

Keystroke: algoritmo (1)

• È stato implementato un algoritmo che si occupa di trovare i tasti premuti e i loro istanti di pressione Keydown e Latency time

• Caratteristiche video:

– 320 x 240 pixel

– 30 fps

– Formato .avi non compresso

• Uso di maschere di colore e di forma per identificare i tasti

Page 12: Sistema biometrico di autenticazione basato sull'hand tracking

Keystroke: algoritmo (2)

• Setup sperimentale:

– Tastierino numerico: tasti con bordo bianco

– Webcam fissa

• Maschere di colore e di forma:

– Trovare bordi e identificare i singoli tasti

Page 13: Sistema biometrico di autenticazione basato sull'hand tracking

Keystroke: algoritmo (3)

• Griglia di riconoscimento basata sul criterio “scomparsa del bordo inferiore”

• Iterazione su tutti i frame e salvataggio dei templates nella forma:

(N1 N2 N3 N4 T1 T2 T3 T4 L1 L2 L3)

Page 14: Sistema biometrico di autenticazione basato sull'hand tracking

Outline

• Introduzione alla biometria

• Keystroke

– Componenti e caratteristiche

– Algoritmo

• Hand Tracking

– Fondamenti

– Algoritmo

– Optical Flow

• Conclusioni

Page 15: Sistema biometrico di autenticazione basato sull'hand tracking

Hand Tracking – Fondamenti (1)

• Accresce la quantità di informazione associata all’utente

• Migliora le prestazioni dei sistemi basati su keystroke

• Analisi delle caratteristiche della mano – Forma

– Dimensioni del palmo

– Lunghezza delle dita

– Posizione delle dita

– Velocità di digitazione

• Basso costo computazionale

• Caratteristica fortemente variabile (crescita, incidenti..)

• Scarsa individualità

Page 16: Sistema biometrico di autenticazione basato sull'hand tracking

Hand Tracking – Fondamenti (2)

• Il movimento della mano possiede circa 27 gradi di libertà: 21 per gli angoli di giunzione e 6 per l’orientamento e la posizione

• Self – Occlusion

• Discontinuità del movimento

• Inizializzazione automatica dell’algoritmo

• Soglie

• Luminosità variabile

• Skin detection

Page 17: Sistema biometrico di autenticazione basato sull'hand tracking

Outline

• Introduzione alla biometria

• Keystroke – Componenti

– Algoritmo

• Hand Tracking – Fondamenti

– Algoritmo

– Optical Flow

• Conclusioni

Page 18: Sistema biometrico di autenticazione basato sull'hand tracking

Hand Tracking - Algoritmo

• Tracciamento della posizione delle dita nell’istante di digitazione

• Creazione della maschera

• Indicizzazione degli oggetti nel frame

• Riconoscimento dell’oggetto mano e suo isolamento sulla base del criterio “Area Maggiore”

• Scansione iterativa dell’immagine della mano partendo dal basso

• Per ogni dito trovato viene creata una nuova immagine della mano in cui il dito non è più presente e si riesegue la scansione

Page 19: Sistema biometrico di autenticazione basato sull'hand tracking

Hand Tracking – Risultati (1)

(1) Creazione della maschera (2) Indicizzazione degli oggetti

(3) Isolamento della mano

Page 20: Sistema biometrico di autenticazione basato sull'hand tracking

Hand Tracking – Risultati (2)

(4) Iterazione dell’algoritmo di ricerca

(5) Posizione delle dita

Page 21: Sistema biometrico di autenticazione basato sull'hand tracking

Outline

• Introduzione alla biometria

• Keystroke – Componenti

– Algoritmo

• Hand Tracking – Fondamenti

– Algoritmo

– Optical Flow

• Conclusioni

Page 22: Sistema biometrico di autenticazione basato sull'hand tracking

Hand Tracking – Optical Flow (1)

• Rappresentazione delle velocità apparente degli elementi di un’immagine

• Campo bidimensionale di velocità generato da una sequenza temporale di immagini dovuto al moto degli oggetti presenti nella scena, dell’osservatore e alle fonti luminose.

• Si consideri ora il punto u=[ux uy]T del primo frame. Lo

scopo dell’algoritmo è quello di trovare la posizione v = u+d = =[ux+dx uy+dy]

T nel secondo quadro tale che I(u) e J(v) sono simili.

• Il vettore d=[dx dy]T rappresenta la velocità del punto x,

ovvero l’Optical Flow di x.

I(x)=I(x,y) e J(x)=J(x,y)

Page 23: Sistema biometrico di autenticazione basato sull'hand tracking

Hand Tracking – Optical Flow (2)

• Minimizzazione della funzione ε

• d vettore di velocità

• L’Optical Flow è stato calcolato con il metodo PyrLK basato sull’algoritmo iterativo di Lucas- Kanade

• Permette di aggiungere al template dell’utente le informazioni sulla velocità della mano

Page 24: Sistema biometrico di autenticazione basato sull'hand tracking

Hand Tracking – Optical Flow (3)

(1) Rappresentazione grafica del campo scalare di velocità

(2) Rappresentazione grafica del campo scalare di velocità della sola area in movimento

Page 25: Sistema biometrico di autenticazione basato sull'hand tracking

Outline

• Introduzione alla biometria

• Keystroke – Componenti

– Algoritmo

• Hand Tracking – Fondamenti

– Algoritmo

– Optical Flow

• Risultati e Conclusioni

Page 26: Sistema biometrico di autenticazione basato sull'hand tracking

Conclusioni – PCA (1)

• Template con troppi dati : ridondanza

• I dati dello stesso utente hanno variabilità ridotta entro un certo limite

• Il metodo del Principal Component Analysis è basato sull’errore quadratico medio ed esprime un dato segnale come somma di componenti ortonormali e scorrelate

• Generazione di un nuovo template con i soli valori principali

Page 27: Sistema biometrico di autenticazione basato sull'hand tracking

Conclusioni – PCA (2)

• Nella matrice degli autovalori le prime componenti principali avranno peso maggiore

• Si determina quali autovalori costituiscono il 95% dell’informazione

• Sommare il resto degli autovalori per avere una misura della variabilità delle caratteristiche

Page 28: Sistema biometrico di autenticazione basato sull'hand tracking

Risultati 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

1 0,7 0,1 0,1 1 1 1 0,8 0 0 0 1 0,7 1 1 1 0,9 0,2 0 0,9 0,1 0,9 0,3 1 0 0,1 1 1 1 1

2 1 0,2 0,9 1 1 1 0 0 0 0 0,9 1 1 1 1 1 0,6 0,1 1 0,1 1 1 1 0 0,8 1 1 1 1

3 1 0,1 1 1 0,1 0,9 0 0 0 0 1 0,9 1 1 1 1 0,6 1 0,2 0,1 1 1 1 1 0,3 1 1 1 1

4 1 0,1 0,3 1 0,8 1 0 0 0 0 1 0,5 1 1 1 1 0,3 0,2 0,1 0,1 0,9 1 1 1 0,1 1 0,2 1 1

5 1 0 0,4 1 1 0,1 0 0 0 0 1 0 1 1 1 1 0,1 0,4 0 0,1 0,9 1 1 1 0,1 0,9 0,8 1 1

6 1 0,1 0,1 1 0 1 0 0 0 0 1 0,1 1 1 1 1 0,1 0,2 0,1 0,1 1 1 1 1 0,1 1 0,1 1 1

7 1 0,1 0,9 1 0,9 0,8 0,8 0 0 0 1 0,1 1 1 1 1 0,2 1 0 0,1 1 1 1 1 0,1 0,9 1 1 1

8 1 0,3 1 1 1 1 0,9 1 0,9 0,1 1 1 1 1 1 1 0,9 1 0,9 0,2 1 1 1 1 0,9 1 1 1 1

9 1 0,2 0,9 1 1 1 0,1 0 0 0 0,9 0,9 1 1 1 1 0,8 0 0,9 0,1 0,9 1 1 0 0,8 1 1 1 1

10 1 0,2 0,9 1 1 1 0,9 0,6 0 0 1 1 1 1 1 1 0,9 0,9 0,9 0,1 1 1 1 1 0,9 1 1 1 1

11 1 0,2 0,6 1 1 1 0 0 0 0 1 0,8 1 1 1 1 0,5 0 0,2 0,1 0,9 1 1 0 0,1 1 1 1 1

12 1 0,2 0,9 1 1 1 0 0 0 0 1 1 1 1 1 1 0,9 1 1 0,1 1 1 1 1 0,9 1 1 1 1

13 1 0,2 0,9 1 1 1 0,2 0 0 0 1 0,9 1 1 1 1 0,7 0 0,4 0,1 0,9 1 1 0 0,1 1 1 1 1

14 1 0,1 0,2 1 0 0,7 0 0 0 0 1 0,9 1 1 1 1 0,1 0,2 0,4 0,1 0,9 1 1 1 0,1 1 0,1 1 1

15 1 0,1 0,2 1 0 0,9 0 0 0 0 1 1 1 1 1 1 0,2 0,1 0,9 0,1 0,9 1 1 1 0,7 1 0,1 1 1

16 1 0,2 0,9 1 1 1 0,1 0 0 0 0,9 1 1 1 1 1 0,7 0 1 0,1 0,9 1 1 0 0,8 1 1 1 1

17 1 0,1 0,2 1 0 1 0 0 0 0 1 0,4 1 1 1 1 0,2 0,2 0,2 0,1 0,9 1 1 1 0,1 1 0,4 1 1

18 0,8 0,2 0,9 1 1 1 1 0,6 0 0 1 1 1 1 1 1 0,9 0,1 1 0,1 1 1 1 0 0,9 1 1 1 1

19 1 0,2 0,9 1 1 1 0 0 0 0 0,9 1 1 1 1 1 0,9 0,1 1 0,1 0,9 1 1 1 0,9 1 1 1 1

20 1 0,2 0,9 1 1 1 0,1 0 0 0 0,9 0,9 1 1 1 1 0,9 0 0,9 0,1 0,9 1 1 0 0,7 1 1 1 1

21 1 0,2 0,9 1 1 1 0,2 0,2 0 0 1 1 1 1 1 1 0,9 0,2 0,9 0,1 1 1 1 0 0,9 1 1 1 1

22 1 0,2 0,9 1 1 1 0,1 0 0 0 0,9 1 1 1 1 1 0,9 0,1 1 0,1 0,9 1 1 0,9 0,9 1 1 1 1

23 1 0,1 0,1 1 0,1 1 0 0 0 0 1 0,5 1 1 1 1 0,2 0 0,9 0,1 0,9 1 1 0,1 0,1 1 0,3 1 1

24 0,7 0,2 0,9 1 1 1 0,8 0,1 0 0 0,9 1 1 1 1 1 0,9 0 1 0,1 0,9 1 1 0 0,8 1 1 1 1

25 1 0,2 0,9 1 1 1 0,1 0,1 0 0 1 1 1 1 1 1 0,9 0,7 1 0,1 1 1 1 1 0,9 1 1 1 1

26 1 0,1 0,9 1 0 1 0 0 0 0 1 1 1 1 1 1 0,9 0,2 1 0,1 0,9 1 1 1 0,9 1 1 1 1

27 1 0 0 0,8 0 0 0 0 0 0 0,9 0 0,9 1 0,9 1 0 1 0 0,1 1 1 1 1 0 0,3 0,1 0,9 1

28 1 0,2 0,9 1 1 1 0,2 0 0 0 1 0,9 1 1 1 1 0,7 0 0,4 0,1 0,9 1 1 0 0,1 1 1 1 1

29 1 0 0,1 1 1 1 0 0 0 0 0,9 0,3 1 1 1 0,9 0,2 0 0,1 0,1 0,9 0,9 1 0 0,1 1 0,9 1 1

(1) Tabella di riconoscimento per “data di nascita”

Page 29: Sistema biometrico di autenticazione basato sull'hand tracking

Risultati 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

1 0,9 0 0 0 1 1 1 0,9 0 1 0,9 0,8 1 1 1 1 0 0,6 1 0 0 1 0,9 0 0 0,9 0,1 1 1

2 0,7 0,3 0 0 1 1 1 0,9 0,8 1 0,8 0,9 1 1 1 1 0 1 1 0 0 1 1 0,2 0 1 0,2 1 1

3 1 0,1 0 0,1 0,8 1 1 0,8 0,1 1 0,9 0,1 1 1 0 1 0 0,2 1 1 0 0,9 1 1 1 0,1 0,2 1 1

4 0,9 0 0 0 0,3 1 0,6 0,7 0 1 0,9 0,2 1 1 0,8 1 0 0,2 1 1 0 1 0,8 0,3 0,1 0,9 0,1 1 1

5 1 1 0 0,1 0,1 1 0 0,9 1 1 0,9 0,5 1 1 0 1 0 1 1 1 0,1 1 0,6 1 1 1 0,1 1 1

6 1 1 0 0,4 0,1 1 0 0,9 1 1 0,9 0,5 1 1 0,1 1 0 1 1 1 0,2 1 0,4 1 1 1 0,1 1 1

7 1 1 0 1 0 1 0,9 1 1 1 1 0,9 1 1 0 1 0 1 1 1 1 1 0,8 1 1 1 0,2 1 1

8 1 0,1 0 0 0,1 1 0 1 0 1 0,9 0,8 1 1 1 1 0 0,9 1 1 0 1 0,5 1 0,9 0,9 0,1 1 1

9 0,7 0,5 0 0 1 1 1 0,8 0,9 1 0,3 0,9 1 1 1 1 0 1 1 0,9 0 1 1 0,9 0,2 1 0,2 1 1

10 1 0,2 0 0 0,1 1 0 0,9 0 1 0,9 0,9 1 1 1 1 0 0,9 1 0 0 1 0,6 0,9 0 1 0,1 1 1

11 0,9 0 0 0 0,4 1 0 0,8 0 1 0,9 0,2 1 1 1 1 0 0,2 1 1 0 1 0,6 0,3 0,1 0,9 0,1 1 1

12 1 0,9 0 0 0 0,9 0 1 1 1 0,9 0,9 1 1 1 1 0 1 1 1 0 1 0,6 1 1 1 0,1 1 1

13 0,9 0 0 0 0,3 1 0 0,8 0 1 0,9 0,2 1 1 1 1 0 0,2 1 0 0 1 0,6 0,1 0 0,9 0,1 1 1

14 1 1 0 0,1 0 0,9 0 1 1 1 0,9 0,9 1 1 1 1 0 1 1 1 0 1 0,1 1 1 1 0,1 1 1

15 1 0,9 0 0 0 0,3 0 0,9 1 1 0,9 0,9 1 1 1 1 0 1 1 1 0 1 0,3 1 1 1 0,1 1 1

16 0,9 0,3 0 0 0,3 1 0 0,9 0 1 0,9 0,9 1 1 1 1 0 0,9 1 0,9 0 1 0,6 0,9 0,2 0,9 0,1 1 1

17 1 1 0 0,4 0,9 1 1 0,9 1 1 1 0,2 1 1 0,1 1 0 1 1 1 0,3 1 1 1 1 0,4 0,7 1 1

18 0,7 0,4 0 0 1 1 1 0,8 0,9 1 0,3 0,9 1 1 1 1 0 1 1 0 0 1 1 0,6 0,1 1 0,2 1 1

19 1 1 0 0 0 0 0 1 1 1 0,9 0,9 1 1 1 1 0 1 1 1 0 1 0 1 1 1 0,1 1 1

20 0,8 0,2 0 0 1 1 1 0,9 1 1 0,9 0,9 1 1 1 1 0 1 1 0 0,1 1 1 0,1 0 1 0,1 1 1

21 0,9 0 0 0 0,3 1 0,1 0,8 0 1 0,9 0,2 1 1 1 1 0 0,4 1 1 0 1 0,6 1 0,4 0,9 0,1 1 1

22 0,9 0,3 0 0 0 1 0 0,8 0 1 0,9 0,9 1 1 1 1 0 1 1 1 0 1 0,6 1 0,6 1 0,1 1 1

23 1 1 0 1 0 1 0 1 1 1 1 0,9 1 1 0,6 1 0 1 1 1 1 1 0,8 1 1 1 0,1 1 1

24 0,7 0 0 0 1 1 1 0,9 1 1 0,9 0,9 1 1 1 1 0 1 1 0 0 1 1 0,5 0 1 0,1 1 1

25 0,7 0,1 0 0 1 1 1 0,9 0,9 1 0,4 0,9 1 1 1 1 0 1 1 0 0,1 1 1 0,2 0 1 0,2 1 1

26 0,9 0,8 0 0 0 0,9 0 0,8 1 1 0,9 0,9 1 1 1 1 0 1 1 1 0 1 0,6 1 0,9 1 0,1 1 1

27 1 1 0 0,1 0 1 0 1 1 1 0,9 0,8 1 1 0,7 1 0 1 1 1 0,1 1 0,1 1 1 1 0,1 1 1

28 0,9 0 0 0 0,3 1 0 0,8 0 1 0,9 0,2 1 1 1 1 0 0,2 1 0 0 1 0,6 0,1 0 0,9 0,1 1 1

29 1 0 0 0 0 1 0 0,7 0 1 0,9 0,4 1 1 1 1 0 0,9 1 1 0 1 0,3 1 0,9 0,9 0,1 1 1

(2) Tabella di riconoscimento per “codice”

Page 30: Sistema biometrico di autenticazione basato sull'hand tracking

Conclusioni

• L’algoritmo implementato permette la rilevazione delle caratteristiche tipiche dei sistemi basati su keystroke

• L’algoritmo di Hand Tracking aggiunge delle informazioni fisiologiche migliorando le prestazioni del sistema

• Si è giunti all’individuazione di una statistica per il FAR e per il FRR

Page 31: Sistema biometrico di autenticazione basato sull'hand tracking

Conclusioni

• I risultati possono essere migliorati usando un setup sperimentale quanto più costante nel tempo : • Luminanza • Posizione della tastiera • Posizione relativa tastiera-webcam

• Altri aspetti migliorabili • risoluzione del video • frequenza di aggiornamento • Impiego di più webcam

Page 32: Sistema biometrico di autenticazione basato sull'hand tracking

Grazie dell’attenzione