SlideShare a Scribd company logo
1 of 32
Download to read offline
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
Outline
• Introduzione alla biometria
• Keystroke
  – Componenti e caratteristiche
  – Algoritmo
• Hand Tracking
  – Fondamenti
  – Algoritmo
  – Optical Flow
• Conclusioni
Outline
• Introduzione alla biometria
• Keystroke
  – Componenti e caratteristiche
  – Algoritmo
• Hand Tracking
  – Fondamenti
  – Algoritmo
  – Optical Flow
• Conclusioni
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 È
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
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)
Outline
• Introduzione alla biometria
• Keystroke
  – Componenti e caratteristiche
  – Algoritmo
• Hand Tracking
  – Fondamenti
  – Algoritmo
  – Optical Flow
• Conclusioni
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
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
Outline
• Introduzione alla biometria
• Keystroke
  – Componenti e caratteristiche
  – Algoritmo
• Hand Tracking
  – Fondamenti
  – Algoritmo
  – Optical Flow
• Conclusioni
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
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
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)
Outline
• Introduzione alla biometria
• Keystroke
  – Componenti e caratteristiche
  – Algoritmo
• Hand Tracking
  – Fondamenti
  – Algoritmo
  – Optical Flow
• Conclusioni
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à
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
Outline
• Introduzione alla biometria
• Keystroke
  – Componenti
  – Algoritmo
• Hand Tracking
  – Fondamenti
  – Algoritmo
  – Optical Flow
• Conclusioni
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
Hand Tracking – Risultati (1)




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




                 (3) Isolamento della mano
Hand Tracking – Risultati (2)



       (4) Iterazione dell’algoritmo di ricerca




               (5) Posizione delle dita
Outline
• Introduzione alla biometria
• Keystroke
  – Componenti
  – Algoritmo
• Hand Tracking
  – Fondamenti
  – Algoritmo
  – Optical Flow
• Conclusioni
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.
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
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
Outline
• Introduzione alla biometria
• Keystroke
  – Componenti
  – Algoritmo
• Hand Tracking
  – Fondamenti
  – Algoritmo
  – Optical Flow
• Risultati e Conclusioni
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
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
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”
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”
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
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
Grazie dell’attenzione

More Related Content

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
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
  • 17. Outline • Introduzione alla biometria • Keystroke – Componenti – Algoritmo • Hand Tracking – Fondamenti – Algoritmo – Optical Flow • Conclusioni
  • 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
  • 21. Outline • Introduzione alla biometria • Keystroke – Componenti – Algoritmo • Hand Tracking – Fondamenti – Algoritmo – Optical Flow • Conclusioni
  • 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
  • 28. 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”
  • 29. 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”
  • 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