Framework Viola-Jones
Universit`a degli Studi di Firenze
Facolt`a di Ingegneria
Viola-Jones Face Detector
Marco Righini
3 Febbraio 2014
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Face detection
Il problema del rilevamento facciale costituisce una componente di
notevole interesse nel panorama della computer vision.
Presenta un ampio spazio applicativo
sistemi di videosorveglianza;
auto-focus delle fotocamere;
programmi di videochat.
. . . ed una natura intrinsecamente complessa
variabilit`a dei lineamenti umani;
molteplici variabili ambientali (luce, occlusioni, posa facciale);
vincolo temporale quasi-realtime.
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Face detection
Il problema del rilevamento facciale costituisce una componente di
notevole interesse nel panorama della computer vision.
Presenta un ampio spazio applicativo
sistemi di videosorveglianza;
auto-focus delle fotocamere;
programmi di videochat.
. . . ed una natura intrinsecamente complessa
variabilit`a dei lineamenti umani;
molteplici variabili ambientali (luce, occlusioni, posa facciale);
vincolo temporale quasi-realtime.
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Idea ed innovazioni
Idea [Paul Viola and Michael Jones, 2001]
Utilizzo di feature semplici a basso costo computazionale, non
molto espressive nella singolarit`a ma potenti se combinate
opportunamente.
Il metodo ha introdotto tre innovazioni fondamentali:
immagine integrale per computazione rapida delle feature;
apprendimento tramite meta-algoritmo AdaBoost;
disposizione in cascata dei classificatori.
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Idea ed innovazioni
Idea [Paul Viola and Michael Jones, 2001]
Utilizzo di feature semplici a basso costo computazionale, non
molto espressive nella singolarit`a ma potenti se combinate
opportunamente.
Il metodo ha introdotto tre innovazioni fondamentali:
immagine integrale per computazione rapida delle feature;
apprendimento tramite meta-algoritmo AdaBoost;
disposizione in cascata dei classificatori.
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Idea ed innovazioni
Idea [Paul Viola and Michael Jones, 2001]
Utilizzo di feature semplici a basso costo computazionale, non
molto espressive nella singolarit`a ma potenti se combinate
opportunamente.
Il metodo ha introdotto tre innovazioni fondamentali:
immagine integrale per computazione rapida delle feature;
apprendimento tramite meta-algoritmo AdaBoost;
disposizione in cascata dei classificatori.
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Idea ed innovazioni
Idea [Paul Viola and Michael Jones, 2001]
Utilizzo di feature semplici a basso costo computazionale, non
molto espressive nella singolarit`a ma potenti se combinate
opportunamente.
Il metodo ha introdotto tre innovazioni fondamentali:
immagine integrale per computazione rapida delle feature;
apprendimento tramite meta-algoritmo AdaBoost;
disposizione in cascata dei classificatori.
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Feature
L’obiettivo `e codificare il contrasto locale in caratteristiche zone
facciali.
Tre tipologie di feature: a 2, 3 o 4 rettangoli.
La risposta di una feature f in punto (x, y)
f (x, y) =
pj ∈Pb
I(pj ) −
pk ∈Pw
I(pk)
dove Pb rappresenta la regione nera e al contrario Pw quella
bianca.
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Feature
L’obiettivo `e codificare il contrasto locale in caratteristiche zone
facciali.
Tre tipologie di feature: a 2, 3 o 4 rettangoli.
La risposta di una feature f in punto (x, y)
f (x, y) =
pj ∈Pb
I(pj ) −
pk ∈Pw
I(pk)
dove Pb rappresenta la regione nera e al contrario Pw quella
bianca.
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Feature
L’obiettivo `e codificare il contrasto locale in caratteristiche zone
facciali.
Tre tipologie di feature: a 2, 3 o 4 rettangoli.
La risposta di una feature f in punto (x, y)
f (x, y) =
pj ∈Pb
I(pj ) −
pk ∈Pw
I(pk)
dove Pb rappresenta la regione nera e al contrario Pw quella
bianca.
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Immagine integrale
La computazione rapida di una feature `e ottenuta tramite l’utilizzo
dell’immagine integrale II(x, y).
Essa fornisce una rappresentazione intermedia dell’immagine
originaria I(x, y), tramite la definizione
II(x, y) =
x ≤x,y ≤y
I(x , y )
L’efficienza deriva da:
II(x, y) `e calcolata in un singolo passaggio su I(x, y), tramite
opportuna ricorrenza;
la somma delle intensit`a dei pixel di un
rettangolo richiede solamente 4 riferimenti.
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Immagine integrale
La computazione rapida di una feature `e ottenuta tramite l’utilizzo
dell’immagine integrale II(x, y).
Essa fornisce una rappresentazione intermedia dell’immagine
originaria I(x, y), tramite la definizione
II(x, y) =
x ≤x,y ≤y
I(x , y )
L’efficienza deriva da:
II(x, y) `e calcolata in un singolo passaggio su I(x, y), tramite
opportuna ricorrenza;
la somma delle intensit`a dei pixel di un
rettangolo richiede solamente 4 riferimenti.
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Immagine integrale
La computazione rapida di una feature `e ottenuta tramite l’utilizzo
dell’immagine integrale II(x, y).
Essa fornisce una rappresentazione intermedia dell’immagine
originaria I(x, y), tramite la definizione
II(x, y) =
x ≤x,y ≤y
I(x , y )
L’efficienza deriva da:
II(x, y) `e calcolata in un singolo passaggio su I(x, y), tramite
opportuna ricorrenza;
la somma delle intensit`a dei pixel di un
rettangolo richiede solamente 4 riferimenti.
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Feature e normalizzazione
Differenze di illuminazione sono gestite durante la valutazione delle
feature tramite normalizzazione della varianza.
Si noti che
p∈R
I(p)
σ(R)
=
1
σ(R)
p∈R
I(p)
con
σ2
(R) =
1
n
p∈R
I2
(p) −

1
n
p∈R
I(p)


2
p∈R I2(p) `e ottenuto in tempo costante tramite immagine
integrale in riferimento all’immagine avente come singole intensit`a
il quadrato delle intensit`a originarie.
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Feature e normalizzazione
Differenze di illuminazione sono gestite durante la valutazione delle
feature tramite normalizzazione della varianza.
Si noti che
p∈R
I(p)
σ(R)
=
1
σ(R)
p∈R
I(p)
con
σ2
(R) =
1
n
p∈R
I2
(p) −

1
n
p∈R
I(p)


2
p∈R I2(p) `e ottenuto in tempo costante tramite immagine
integrale in riferimento all’immagine avente come singole intensit`a
il quadrato delle intensit`a originarie.
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Feature e normalizzazione
Differenze di illuminazione sono gestite durante la valutazione delle
feature tramite normalizzazione della varianza.
Si noti che
p∈R
I(p)
σ(R)
=
1
σ(R)
p∈R
I(p)
con
σ2
(R) =
1
n
p∈R
I2
(p) −

1
n
p∈R
I(p)


2
p∈R I2(p) `e ottenuto in tempo costante tramite immagine
integrale in riferimento all’immagine avente come singole intensit`a
il quadrato delle intensit`a originarie.
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Apprendimento
Per una finestra di rilevamento di dimensioni tipiche 24 × 24 pixel,
la cardinalit`a dell’insieme delle feature `e ≈ 160000, molto superiore
al numero di pixel della finestra.
Ipotesi (classificatore)
Risulta sufficiente combinare un numero ristretto di feature critiche
per formare un classificatore efficace.
La selezione delle feature e l’addestramento del classificatore sono
perseguiti tramite l’algoritmo AdaBoost. Permette di ottimizzare
semplici algoritmi di apprendimento tramite aggregazione di
funzioni classificatrici deboli h(x) (weak learner).
h(x, f , p, θ) =
1 se pf (x) < pθ
0 altrimenti
con f feature, θ threshold appreso e p polarit`a della disuguaglianza.
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Apprendimento
Per una finestra di rilevamento di dimensioni tipiche 24 × 24 pixel,
la cardinalit`a dell’insieme delle feature `e ≈ 160000, molto superiore
al numero di pixel della finestra.
Ipotesi (classificatore)
Risulta sufficiente combinare un numero ristretto di feature critiche
per formare un classificatore efficace.
La selezione delle feature e l’addestramento del classificatore sono
perseguiti tramite l’algoritmo AdaBoost. Permette di ottimizzare
semplici algoritmi di apprendimento tramite aggregazione di
funzioni classificatrici deboli h(x) (weak learner).
h(x, f , p, θ) =
1 se pf (x) < pθ
0 altrimenti
con f feature, θ threshold appreso e p polarit`a della disuguaglianza.
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Apprendimento
Per una finestra di rilevamento di dimensioni tipiche 24 × 24 pixel,
la cardinalit`a dell’insieme delle feature `e ≈ 160000, molto superiore
al numero di pixel della finestra.
Ipotesi (classificatore)
Risulta sufficiente combinare un numero ristretto di feature critiche
per formare un classificatore efficace.
La selezione delle feature e l’addestramento del classificatore sono
perseguiti tramite l’algoritmo AdaBoost. Permette di ottimizzare
semplici algoritmi di apprendimento tramite aggregazione di
funzioni classificatrici deboli h(x) (weak learner).
h(x, f , p, θ) =
1 se pf (x) < pθ
0 altrimenti
con f feature, θ threshold appreso e p polarit`a della disuguaglianza.
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Apprendimento (algoritmo)
Data: Example images (x1, y1), . . . , (xN , yN ) where yi = 0, 1 for negative and positive examples respectively; T
final number of weak classifiers.
1 begin
2 Initialize weights w1,i = 1
2m
, 1
2l
for yi = 0, 1 respectively, where m and l are the number of negatives and
positives respectively
3 for t = 1, . . . , T do
4 Normalize the weights, wt,i =
wt,i
N
j=1
wt,j
5 Select the best weak classifier with respect to the weighted error
t = min
f ,p,σ
N
i=1
wt,i |h(xi , f , p, σ) − yi |
6 Define ht (x) = h(x, ft , pt , σt ) where ft , pt and σt are the minimizers of t
7 Update the weights
wt+1,i = wt,i β
1−ei
t
where ei = 0 if example xi is classified correctly, ei = 1 otherwise, and βt = t
1− t
8 end
9 return the final strong classifier C(x) =
1 if T
t=1 αt ht (x) ≥ 1
2
T
t=1 αt
0 otherwise
where αt = log 1
βt
10 end
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Classificatori in cascata
Idea (disposizione in cascata)
Strutturazione a cascata di classificatori forti al fine di
incrementare l’accuratezza e ridurre il tempo di esecuzione.
Esempio: con K = 10 livelli, ciascuno con percentuale di
rilevamento di = 99% e di falsi positivi fi = 30%, si ottiene in
conclusione D = K
i=1 di ≈ 0.9 e F = K
i=1 fi ≈ 6 ∗ 10−6.
L’esecuzione ordinata della cascata permette di eliminare molte
regioni negative nei primi livelli. Le finestre dell’immagine che
superano invece tutte le fasi sono accettate come facce.
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Classificatori in cascata
Idea (disposizione in cascata)
Strutturazione a cascata di classificatori forti al fine di
incrementare l’accuratezza e ridurre il tempo di esecuzione.
Esempio: con K = 10 livelli, ciascuno con percentuale di
rilevamento di = 99% e di falsi positivi fi = 30%, si ottiene in
conclusione D = K
i=1 di ≈ 0.9 e F = K
i=1 fi ≈ 6 ∗ 10−6.
L’esecuzione ordinata della cascata permette di eliminare molte
regioni negative nei primi livelli. Le finestre dell’immagine che
superano invece tutte le fasi sono accettate come facce.
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Classificatori in cascata
Idea (disposizione in cascata)
Strutturazione a cascata di classificatori forti al fine di
incrementare l’accuratezza e ridurre il tempo di esecuzione.
Esempio: con K = 10 livelli, ciascuno con percentuale di
rilevamento di = 99% e di falsi positivi fi = 30%, si ottiene in
conclusione D = K
i=1 di ≈ 0.9 e F = K
i=1 fi ≈ 6 ∗ 10−6.
L’esecuzione ordinata della cascata permette di eliminare molte
regioni negative nei primi livelli. Le finestre dell’immagine che
superano invece tutte le fasi sono accettate come facce.
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Classificatori in cascata (algoritmo di apprendimento)
Data: the maximum acceptable false positive rate per layer f ; the minimum acceptable detection rate per layer d;
the overall false positive rate Ftarget .
1 begin
2 P = set of positive examples
3 N = set of negative examples
4 F0 = 1.0; D0 = 1.0
5 i = 0
6 while Fi > Ftarget do
7 i = i + 1
8 ni = 0; Fi = Fi−1
9 while Fi > f ∗ Fi−1 do
10 ni = ni + 1
11 Use P a N to train a classifier with ni features using AdaBoost
12 Evaluate current cascaded classifier on validation set to determine Fi and Di
13 Decrease threshold for the i-th classifier until the current cascaded classifier has a detection rate
of at least d ∗ Di−1. This also affects Fi
14 end
15 N = ∅
16 if Fi > Ftarget then
17 Evaluate the current cascaded detector on the set of non-face images and put any false
detection into the set N
18 end
19 end
20 end
Marco Righini Viola-Jones face detector
Framework Viola-Jones
Grazie per l'attenzione
Marco Righini Viola-Jones face detector

Viola Jones Face Detector

  • 1.
    Framework Viola-Jones Universit`a degliStudi di Firenze Facolt`a di Ingegneria Viola-Jones Face Detector Marco Righini 3 Febbraio 2014 Marco Righini Viola-Jones face detector
  • 2.
    Framework Viola-Jones Face detection Ilproblema del rilevamento facciale costituisce una componente di notevole interesse nel panorama della computer vision. Presenta un ampio spazio applicativo sistemi di videosorveglianza; auto-focus delle fotocamere; programmi di videochat. . . . ed una natura intrinsecamente complessa variabilit`a dei lineamenti umani; molteplici variabili ambientali (luce, occlusioni, posa facciale); vincolo temporale quasi-realtime. Marco Righini Viola-Jones face detector
  • 3.
    Framework Viola-Jones Face detection Ilproblema del rilevamento facciale costituisce una componente di notevole interesse nel panorama della computer vision. Presenta un ampio spazio applicativo sistemi di videosorveglianza; auto-focus delle fotocamere; programmi di videochat. . . . ed una natura intrinsecamente complessa variabilit`a dei lineamenti umani; molteplici variabili ambientali (luce, occlusioni, posa facciale); vincolo temporale quasi-realtime. Marco Righini Viola-Jones face detector
  • 4.
    Framework Viola-Jones Idea edinnovazioni Idea [Paul Viola and Michael Jones, 2001] Utilizzo di feature semplici a basso costo computazionale, non molto espressive nella singolarit`a ma potenti se combinate opportunamente. Il metodo ha introdotto tre innovazioni fondamentali: immagine integrale per computazione rapida delle feature; apprendimento tramite meta-algoritmo AdaBoost; disposizione in cascata dei classificatori. Marco Righini Viola-Jones face detector
  • 5.
    Framework Viola-Jones Idea edinnovazioni Idea [Paul Viola and Michael Jones, 2001] Utilizzo di feature semplici a basso costo computazionale, non molto espressive nella singolarit`a ma potenti se combinate opportunamente. Il metodo ha introdotto tre innovazioni fondamentali: immagine integrale per computazione rapida delle feature; apprendimento tramite meta-algoritmo AdaBoost; disposizione in cascata dei classificatori. Marco Righini Viola-Jones face detector
  • 6.
    Framework Viola-Jones Idea edinnovazioni Idea [Paul Viola and Michael Jones, 2001] Utilizzo di feature semplici a basso costo computazionale, non molto espressive nella singolarit`a ma potenti se combinate opportunamente. Il metodo ha introdotto tre innovazioni fondamentali: immagine integrale per computazione rapida delle feature; apprendimento tramite meta-algoritmo AdaBoost; disposizione in cascata dei classificatori. Marco Righini Viola-Jones face detector
  • 7.
    Framework Viola-Jones Idea edinnovazioni Idea [Paul Viola and Michael Jones, 2001] Utilizzo di feature semplici a basso costo computazionale, non molto espressive nella singolarit`a ma potenti se combinate opportunamente. Il metodo ha introdotto tre innovazioni fondamentali: immagine integrale per computazione rapida delle feature; apprendimento tramite meta-algoritmo AdaBoost; disposizione in cascata dei classificatori. Marco Righini Viola-Jones face detector
  • 8.
    Framework Viola-Jones Feature L’obiettivo `ecodificare il contrasto locale in caratteristiche zone facciali. Tre tipologie di feature: a 2, 3 o 4 rettangoli. La risposta di una feature f in punto (x, y) f (x, y) = pj ∈Pb I(pj ) − pk ∈Pw I(pk) dove Pb rappresenta la regione nera e al contrario Pw quella bianca. Marco Righini Viola-Jones face detector
  • 9.
    Framework Viola-Jones Feature L’obiettivo `ecodificare il contrasto locale in caratteristiche zone facciali. Tre tipologie di feature: a 2, 3 o 4 rettangoli. La risposta di una feature f in punto (x, y) f (x, y) = pj ∈Pb I(pj ) − pk ∈Pw I(pk) dove Pb rappresenta la regione nera e al contrario Pw quella bianca. Marco Righini Viola-Jones face detector
  • 10.
    Framework Viola-Jones Feature L’obiettivo `ecodificare il contrasto locale in caratteristiche zone facciali. Tre tipologie di feature: a 2, 3 o 4 rettangoli. La risposta di una feature f in punto (x, y) f (x, y) = pj ∈Pb I(pj ) − pk ∈Pw I(pk) dove Pb rappresenta la regione nera e al contrario Pw quella bianca. Marco Righini Viola-Jones face detector
  • 11.
    Framework Viola-Jones Immagine integrale Lacomputazione rapida di una feature `e ottenuta tramite l’utilizzo dell’immagine integrale II(x, y). Essa fornisce una rappresentazione intermedia dell’immagine originaria I(x, y), tramite la definizione II(x, y) = x ≤x,y ≤y I(x , y ) L’efficienza deriva da: II(x, y) `e calcolata in un singolo passaggio su I(x, y), tramite opportuna ricorrenza; la somma delle intensit`a dei pixel di un rettangolo richiede solamente 4 riferimenti. Marco Righini Viola-Jones face detector
  • 12.
    Framework Viola-Jones Immagine integrale Lacomputazione rapida di una feature `e ottenuta tramite l’utilizzo dell’immagine integrale II(x, y). Essa fornisce una rappresentazione intermedia dell’immagine originaria I(x, y), tramite la definizione II(x, y) = x ≤x,y ≤y I(x , y ) L’efficienza deriva da: II(x, y) `e calcolata in un singolo passaggio su I(x, y), tramite opportuna ricorrenza; la somma delle intensit`a dei pixel di un rettangolo richiede solamente 4 riferimenti. Marco Righini Viola-Jones face detector
  • 13.
    Framework Viola-Jones Immagine integrale Lacomputazione rapida di una feature `e ottenuta tramite l’utilizzo dell’immagine integrale II(x, y). Essa fornisce una rappresentazione intermedia dell’immagine originaria I(x, y), tramite la definizione II(x, y) = x ≤x,y ≤y I(x , y ) L’efficienza deriva da: II(x, y) `e calcolata in un singolo passaggio su I(x, y), tramite opportuna ricorrenza; la somma delle intensit`a dei pixel di un rettangolo richiede solamente 4 riferimenti. Marco Righini Viola-Jones face detector
  • 14.
    Framework Viola-Jones Feature enormalizzazione Differenze di illuminazione sono gestite durante la valutazione delle feature tramite normalizzazione della varianza. Si noti che p∈R I(p) σ(R) = 1 σ(R) p∈R I(p) con σ2 (R) = 1 n p∈R I2 (p) −  1 n p∈R I(p)   2 p∈R I2(p) `e ottenuto in tempo costante tramite immagine integrale in riferimento all’immagine avente come singole intensit`a il quadrato delle intensit`a originarie. Marco Righini Viola-Jones face detector
  • 15.
    Framework Viola-Jones Feature enormalizzazione Differenze di illuminazione sono gestite durante la valutazione delle feature tramite normalizzazione della varianza. Si noti che p∈R I(p) σ(R) = 1 σ(R) p∈R I(p) con σ2 (R) = 1 n p∈R I2 (p) −  1 n p∈R I(p)   2 p∈R I2(p) `e ottenuto in tempo costante tramite immagine integrale in riferimento all’immagine avente come singole intensit`a il quadrato delle intensit`a originarie. Marco Righini Viola-Jones face detector
  • 16.
    Framework Viola-Jones Feature enormalizzazione Differenze di illuminazione sono gestite durante la valutazione delle feature tramite normalizzazione della varianza. Si noti che p∈R I(p) σ(R) = 1 σ(R) p∈R I(p) con σ2 (R) = 1 n p∈R I2 (p) −  1 n p∈R I(p)   2 p∈R I2(p) `e ottenuto in tempo costante tramite immagine integrale in riferimento all’immagine avente come singole intensit`a il quadrato delle intensit`a originarie. Marco Righini Viola-Jones face detector
  • 17.
    Framework Viola-Jones Apprendimento Per unafinestra di rilevamento di dimensioni tipiche 24 × 24 pixel, la cardinalit`a dell’insieme delle feature `e ≈ 160000, molto superiore al numero di pixel della finestra. Ipotesi (classificatore) Risulta sufficiente combinare un numero ristretto di feature critiche per formare un classificatore efficace. La selezione delle feature e l’addestramento del classificatore sono perseguiti tramite l’algoritmo AdaBoost. Permette di ottimizzare semplici algoritmi di apprendimento tramite aggregazione di funzioni classificatrici deboli h(x) (weak learner). h(x, f , p, θ) = 1 se pf (x) < pθ 0 altrimenti con f feature, θ threshold appreso e p polarit`a della disuguaglianza. Marco Righini Viola-Jones face detector
  • 18.
    Framework Viola-Jones Apprendimento Per unafinestra di rilevamento di dimensioni tipiche 24 × 24 pixel, la cardinalit`a dell’insieme delle feature `e ≈ 160000, molto superiore al numero di pixel della finestra. Ipotesi (classificatore) Risulta sufficiente combinare un numero ristretto di feature critiche per formare un classificatore efficace. La selezione delle feature e l’addestramento del classificatore sono perseguiti tramite l’algoritmo AdaBoost. Permette di ottimizzare semplici algoritmi di apprendimento tramite aggregazione di funzioni classificatrici deboli h(x) (weak learner). h(x, f , p, θ) = 1 se pf (x) < pθ 0 altrimenti con f feature, θ threshold appreso e p polarit`a della disuguaglianza. Marco Righini Viola-Jones face detector
  • 19.
    Framework Viola-Jones Apprendimento Per unafinestra di rilevamento di dimensioni tipiche 24 × 24 pixel, la cardinalit`a dell’insieme delle feature `e ≈ 160000, molto superiore al numero di pixel della finestra. Ipotesi (classificatore) Risulta sufficiente combinare un numero ristretto di feature critiche per formare un classificatore efficace. La selezione delle feature e l’addestramento del classificatore sono perseguiti tramite l’algoritmo AdaBoost. Permette di ottimizzare semplici algoritmi di apprendimento tramite aggregazione di funzioni classificatrici deboli h(x) (weak learner). h(x, f , p, θ) = 1 se pf (x) < pθ 0 altrimenti con f feature, θ threshold appreso e p polarit`a della disuguaglianza. Marco Righini Viola-Jones face detector
  • 20.
    Framework Viola-Jones Apprendimento (algoritmo) Data:Example images (x1, y1), . . . , (xN , yN ) where yi = 0, 1 for negative and positive examples respectively; T final number of weak classifiers. 1 begin 2 Initialize weights w1,i = 1 2m , 1 2l for yi = 0, 1 respectively, where m and l are the number of negatives and positives respectively 3 for t = 1, . . . , T do 4 Normalize the weights, wt,i = wt,i N j=1 wt,j 5 Select the best weak classifier with respect to the weighted error t = min f ,p,σ N i=1 wt,i |h(xi , f , p, σ) − yi | 6 Define ht (x) = h(x, ft , pt , σt ) where ft , pt and σt are the minimizers of t 7 Update the weights wt+1,i = wt,i β 1−ei t where ei = 0 if example xi is classified correctly, ei = 1 otherwise, and βt = t 1− t 8 end 9 return the final strong classifier C(x) = 1 if T t=1 αt ht (x) ≥ 1 2 T t=1 αt 0 otherwise where αt = log 1 βt 10 end Marco Righini Viola-Jones face detector
  • 21.
    Framework Viola-Jones Classificatori incascata Idea (disposizione in cascata) Strutturazione a cascata di classificatori forti al fine di incrementare l’accuratezza e ridurre il tempo di esecuzione. Esempio: con K = 10 livelli, ciascuno con percentuale di rilevamento di = 99% e di falsi positivi fi = 30%, si ottiene in conclusione D = K i=1 di ≈ 0.9 e F = K i=1 fi ≈ 6 ∗ 10−6. L’esecuzione ordinata della cascata permette di eliminare molte regioni negative nei primi livelli. Le finestre dell’immagine che superano invece tutte le fasi sono accettate come facce. Marco Righini Viola-Jones face detector
  • 22.
    Framework Viola-Jones Classificatori incascata Idea (disposizione in cascata) Strutturazione a cascata di classificatori forti al fine di incrementare l’accuratezza e ridurre il tempo di esecuzione. Esempio: con K = 10 livelli, ciascuno con percentuale di rilevamento di = 99% e di falsi positivi fi = 30%, si ottiene in conclusione D = K i=1 di ≈ 0.9 e F = K i=1 fi ≈ 6 ∗ 10−6. L’esecuzione ordinata della cascata permette di eliminare molte regioni negative nei primi livelli. Le finestre dell’immagine che superano invece tutte le fasi sono accettate come facce. Marco Righini Viola-Jones face detector
  • 23.
    Framework Viola-Jones Classificatori incascata Idea (disposizione in cascata) Strutturazione a cascata di classificatori forti al fine di incrementare l’accuratezza e ridurre il tempo di esecuzione. Esempio: con K = 10 livelli, ciascuno con percentuale di rilevamento di = 99% e di falsi positivi fi = 30%, si ottiene in conclusione D = K i=1 di ≈ 0.9 e F = K i=1 fi ≈ 6 ∗ 10−6. L’esecuzione ordinata della cascata permette di eliminare molte regioni negative nei primi livelli. Le finestre dell’immagine che superano invece tutte le fasi sono accettate come facce. Marco Righini Viola-Jones face detector
  • 24.
    Framework Viola-Jones Classificatori incascata (algoritmo di apprendimento) Data: the maximum acceptable false positive rate per layer f ; the minimum acceptable detection rate per layer d; the overall false positive rate Ftarget . 1 begin 2 P = set of positive examples 3 N = set of negative examples 4 F0 = 1.0; D0 = 1.0 5 i = 0 6 while Fi > Ftarget do 7 i = i + 1 8 ni = 0; Fi = Fi−1 9 while Fi > f ∗ Fi−1 do 10 ni = ni + 1 11 Use P a N to train a classifier with ni features using AdaBoost 12 Evaluate current cascaded classifier on validation set to determine Fi and Di 13 Decrease threshold for the i-th classifier until the current cascaded classifier has a detection rate of at least d ∗ Di−1. This also affects Fi 14 end 15 N = ∅ 16 if Fi > Ftarget then 17 Evaluate the current cascaded detector on the set of non-face images and put any false detection into the set N 18 end 19 end 20 end Marco Righini Viola-Jones face detector
  • 25.
    Framework Viola-Jones Grazie perl'attenzione Marco Righini Viola-Jones face detector