157 lines
No EOL
9.2 KiB
Markdown
157 lines
No EOL
9.2 KiB
Markdown
- identification is much more than verification
|
||
|
||
- decidability (aggiungere parte mancante)
|
||
> [!PDF|yellow] [[LEZIONE3_Affidabilita_del_riconoscimento.pdf#page=3&selection=0,0,1,1&color=yellow|LEZIONE3_Affidabilita_del_riconoscimento, p.3]]
|
||
> > Extending
|
||
>
|
||
> decidability
|
||
|
||
- misure come FAR, FRR, CMS ecc. non sono abbastanza per avere una solida valutazione dei sistemi
|
||
- se il dataset è limitato
|
||
- la prestazione di un sistema biometrico è molto sensibile al contesto in cui viene utilizzato, se ad es. viene usato in europa o in asia ecc.
|
||
|
||
- per una comparazione affidabile bisogna considerare
|
||
- numero e caratteristiche del dataset usato
|
||
- dimensione delle immagini
|
||
- dimensione di probe e gallery
|
||
- quantità e qualità
|
||
- cross-dataset evaluation: training on a dataset but testing on a different one
|
||
- performance may even halve, if not worse.
|
||
|
||
## Metrics
|
||
Una **metrica** su un insieme X è una funzione (detta distance function o distance)
|
||
$d: XxX -> R$ (R è l'insieme dei numeri reali)
|
||
|
||
Una metrica deve soddisfare le seguenti condizioni:
|
||
- $d(x,y) >= 0$ (non negatività / separazione)
|
||
- $d(x,y) = 0$ se e solo se $x=y$ (identità indiscernibili / coincidence)
|
||
- $d(x, y) = d(y, x)$ (simmetria)
|
||
- $d(x, z) <= d(x,y)+d(y,z)$ (subadditività / triangle inequality)
|
||
|
||
Una **semimetrica** soddisfa solo i primi 3, ma non necessariamente l'ultimo.
|
||
|
||
- se una misura non è simmetrica possiamo fare la media
|
||
|
||
A partire dalla matrice di distanza DM si possono calcolare diverse metriche, spesso chiamate Figures or Merit (FoMs)
|
||
|
||
## Doddington zoo
|
||
Doddington ha definito alcune similitudini con le classi animali per quanto
|
||
riguarda la voice recognition
|
||
- Pecora: produce tratti biometrici che matchano bene con altri template di se stesso e male con quelli di altri soggetti (classe media)
|
||
- Capra: produce tratti biometrici che matchano poco con altri template di se stesso, aumentando cosı̀ i casi di FR
|
||
- Agnello: produce tratti biometrici che sono facilmente riproducibili da altri, aumentando cosı̀ i casi di FA nei suoi confronti
|
||
- Lupo: produce un matching score più alto rispetto alla media quando viene confrontato con template diversi dal suo, aumentando così i FA.
|
||
|
||
La differenza è che gli agnelli sono facili da impersonare, i lupi sono forti a impersonare gli altri. Gli agnelli sono dal lato del gallery, i lupi dal lato del probe.
|
||
|
||
> [!PDF|yellow] [[LEZIONE3_Affidabilita_del_riconoscimento.pdf#page=14&selection=0,9,4,9&color=yellow|LEZIONE3_Affidabilita_del_riconoscimento, p.14]]
|
||
> > Extending the managerie
|
||
>
|
||
> integrare questo
|
||
|
||
Successivamente Yager ha individuato altre 4 classi, prendendo però in con-
|
||
siderazione sia score genuini (Gk) che score impostori (Ik), al contrario di Dod-
|
||
dington che invece prendeva in considerazione solo uno dei due. Ha individuato
|
||
quindi:
|
||
- Camaleonte: ha sia Gk che Ik alti, quindi riesce facilmente ad apparire simile ad altri. Può produrre tanti FA ma pochi FR
|
||
- ad es. possiede delle caratteristiche a cui il sistema biometrico dà molto peso
|
||
- Fantasma: ha sia Gk che Ik bassi, quindi causa tanti FR
|
||
- Colomba: è un’estensione della pecora di Doddington, ha Gk alto e Ik basso, quindi è l’utente ideale
|
||
- Verme: avendo Gk basso e Ik alto è il peggiore utente che si possa avere
|
||
- difficili da riconoscere ma impersonano facilmente
|
||
|
||
I sample presi in input possono avere una qualità diversa (per diversi motivi, es.:
|
||
qualità sensore, tempo, ombre, etc..), possiamo quindi definire delle misure di
|
||
affidabilità del riconoscimento che ci aprono ulteriori opzioni come ad esempio
|
||
il richiedere all’utente di ripetere la cattura del sample.
|
||
![[Pasted image 20241016141746.png]]
|
||
|
||
During enrollment we usually have good quality samples because the user is guided (controlled system)
|
||
|
||
We should not only compare good quality samples with good quality, bad quality wiith bad quality...
|
||
e.g. if an image is perfect but not the other one, we may have a bad result.
|
||
|
||
##### Qualità dell'immagine
|
||
Una possibile misura di qualità è tramite la stima della qualità dell’immagine.
|
||
Questa può essere effettuata in diversi modi:
|
||
- Prendendo tutte le immagini in TR e calcolando un template medio da utilizzare come riferimento.
|
||
- Stimando la nitidezza dell’immagine andando a visualizzare l’istogramma delle frequenze; una mancanza di alte frequenze significa una bassa nitidezza (immagine sfocata)
|
||
|
||
![[Pasted image 20241016143112.png]]
|
||
un modo per calcolarli è misurare le distanze tra gli elementi della faccia, l'angolo della retta che collega gli occhi ecc.
|
||
|
||
- SP per misurare la distorsione rispetto a una posa frontale, misuriamo quindi dei disallineamenti sui vari assi di rotazione
|
||
- $SP = α(1 − roll) + β(1 − yaw) + γ(1 − pitch)$
|
||
- SI per misurare l’omogeneità dei livelli di grigio in alcune zone predeterminate della faccia, utile per vedere se ci sono ombre nette in alcuni punti
|
||
- $SI = 1 − F (std(mc))$
|
||
- SY per misurare la simmetria della faccia
|
||
- $SY = \sum_{(i,j) \in X}{sym(Pi, Pj)}$
|
||
|
||
Visualizzando la distribuzione di un dataset rispetto alle misure proposte/scelte è possibile decidere quali sample scartare (possibilmente soloquelli che presentano gravi distorsioni), sapendo a priori quanto questo inciderà sulla grandezza finale del dataset. Per valutare le performance di una misura
|
||
di qualità possiamo verificare l’aumento o la diminuzione delle performance
|
||
del modello finale (EER): una buona misura di qualità dovrebbe aumentare
|
||
l’efficacia del modello sui sample con score alti
|
||
|
||
vedere slide per integrare formule
|
||
- **Universal Image Quality Index (UIQI):** any image distortion as a combination of three factors: loss of correlation, luminance distortion, and contrast distortion
|
||
- x = {xi | i = 1...N} immagine originale
|
||
- y = {yi | i = 1...N} immagine di test
|
||
- the index is defined as $$Q=\frac{4 \sigma_{xy} \overline{x}\overline{y}}{(\sigma^{2}_{x} + \sigma^{2}_{y})[(\overline{x}^{2})+(\overline{y}^{2})]}$$
|
||
![[Pasted image 20241016174120.png]]
|
||
|
||
- $\sigma^2$ rappresenta la varianza, $\sigma_{xy}$ la covarianza
|
||
|
||
- **Sharpness Estimation Quality Index:** In order to estimate the sharpness of an image I of x\*y pixels, we compute the mean of intensity differences between adjacent pixels, taken in both the vertical and horizontal directions![[Pasted image 20241016174417.png]]
|
||
|
||
|
||
**alcuni dataset per face recognition:**
|
||
- **FERET:** first 250 images of the fa (frontal) group, corresponding to 116 subject
|
||
- **LFW:** (Labeled Face in the Wild): 480 images, the first 6 of the first 80 subjects
|
||
- **Scface:** 650 images of 130 subjects, corresponding to groups cam1-5 (visible light) of the subgroup dist3 (greater distance).
|
||
|
||
#### Misurare la qualità di una misura di qualità
|
||
- bisogna effettuare le misure di qualità sul dataset, e vedere come i valori sono distribuiti
|
||
- in questo modo possiamo capire il livello medio di qualità del dataset per ogni specifica misura
|
||
- possiamo comparare due o più misure calcolando il livello di correlazione tra i valori restituiti
|
||
- possiamo così scartare immagini troppo distorte a priori
|
||
- variando la tolleranza possiamo vedere come varia l'ERR del sistema
|
||
- bisogna ridurre il più possibile gli errori del sistema scartando il minor numero di campioni possibili dal dataset
|
||
|
||
#### Margine
|
||
Un altro approccio è tramite il concetto di “margine”, che viene calcolato
|
||
nel seguente modo: $M(t) = |FAR(t) − FRR(t)|$
|
||
notare in corrispondenza dell'ERR, si ha $M(t) = 0$
|
||
|
||
### SRR
|
||
C’è una netta differenza tra misurare la qualità di un’immagine in input rispetto
|
||
al misurare l’affidabilità di una risposta da parte del sistema.
|
||
Quest’ultimo approccio viene chiamato indice SRR, ovvero un valore nel range [0, 1] che fornisce una misura di quanto un sistema, in fase di identificazione, riesce a separare bene soggetti genuini da soggetti impostori sulla base di un singolo probe.
|
||
Questo sistema utilizza una funzione φ che misura la quantità di “confusione” tra i possibili candidati.
|
||
Definiamo due funzioni φ
|
||
- relative distance
|
||
- density ratio
|
||
|
||
Presa la lista data in output da una fase di identificazione, si guarda nell’intorno del risultato a rango 1. Se i soggetti a ranghi più bassi sono molto vicini, avremo una risposta poco affidabile, altrimenti se c’è una buona distanza avremo una risposta affidabile.
|
||
|
||
|
||
Possibili esempi di φ sono:
|
||
|
||
- Relative distance
|
||
![[Pasted image 20241017083255.png]]
|
||
$$φ(p) = \frac{F (d(p, g1 )) − F (d(p, g2))}{F (d(p, g|G| ))}$$
|
||
|
||
|
||
- Density ratio![[Pasted image 20241017083506.png]]
|
||
- questa funzione è meno sensibile agli "outlier", ovvero template con distanza anomalamente molto alta dal probe, e infatti performa meglio della funzione precedente
|
||
|
||
Definiamo poi φk , come quel valore che minimizza gli errori di φ(p), ovvero
|
||
i casi in cui, probe impostori hanno φ(pI) > φk e probe genuini hanno φ(pG) ≤
|
||
φk . Valori φ(p) molti distanti da φk avranno un SRR maggiore, quindi:
|
||
![[Pasted image 20241017083943.png]]
|
||
|
||
#### Template Updating
|
||
Un altro modo per aumentare la qualità e l’affidabilità di un sistema è quella tramite l’aggiornamento dei template (evitando problemi come l’invecchiamento).
|
||
Si può prendere un probe e aggiungerlo al gallery.
|
||
Questa operazione per una maggiore sicurezza deve essere fatta in soli due possibili modi:
|
||
- Supervisionata (supervised)
|
||
- Semi-supervisionata (semi-supervised) |