Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Sistema biometrico di autenticazione basato sull'hand tracking
1. Università degli Studi di Roma Tre
Facoltà di Ingegneria
Sistema di autenticazione
basato sull’Hand Tracking
Corso di Laurea Magistrale in
Ingegneria delle Tecnologie della Comunicazione e dell’Informazione
Sicurezza delle Telecomunicazioni
Flavio Otello Pierangeli
Matteo Ratini
Anno Accademico 2008-2009
2. Outline
• Introduzione alla biometria
• Keystroke
– Componenti e caratteristiche
– Algoritmo
• Hand Tracking
– Fondamenti
– Algoritmo
– Optical Flow
• Conclusioni
3. Outline
• Introduzione alla biometria
• Keystroke
– Componenti e caratteristiche
– Algoritmo
• Hand Tracking
– Fondamenti
– Algoritmo
– Optical Flow
• Conclusioni
4. 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 È
5. 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
6. 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)
7. Outline
• Introduzione alla biometria
• Keystroke
– Componenti e caratteristiche
– Algoritmo
• Hand Tracking
– Fondamenti
– Algoritmo
– Optical Flow
• Conclusioni
8. 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
9. 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
10. Outline
• Introduzione alla biometria
• Keystroke
– Componenti e caratteristiche
– Algoritmo
• Hand Tracking
– Fondamenti
– Algoritmo
– Optical Flow
• Conclusioni
11. 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
12. 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
13. 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)
14. Outline
• Introduzione alla biometria
• Keystroke
– Componenti e caratteristiche
– Algoritmo
• Hand Tracking
– Fondamenti
– Algoritmo
– Optical Flow
• Conclusioni
15. 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à
16. 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
18. 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
19. Hand Tracking – Risultati (1)
(1) Creazione della maschera (2) Indicizzazione degli oggetti
(3) Isolamento della mano
20. Hand Tracking – Risultati (2)
(4) Iterazione dell’algoritmo di ricerca
(5) Posizione delle dita
22. 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.
I(x)=I(x,y) e J(x)=J(x,y)
• 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.
23. 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
24. 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
25. Outline
• Introduzione alla biometria
• Keystroke
– Componenti
– Algoritmo
• Hand Tracking
– Fondamenti
– Algoritmo
– Optical Flow
• Risultati e Conclusioni
26. 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
27. 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
30. 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
31. 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