8

Nel loro documento che descrive Viola-Jones object detection quadro (Robust Real-Time Face Detection da Viola e Jones), si dice:Come normalizzare un colore dell'immagine?

Tutti esempio sotto-finestre utilizzate per la formazione sono stati varianza normalizzati per minimizzare l'effetto della diversa illuminazione condizioni.

La mia domanda è "Che tipo di strumento Hanno usato per normalizzare le immagini?"

NON sto cercando lo strumento specifico utilizzato da Viola & Jones ma uno simile che produce quasi la stessa uscita. Ho seguito un sacco di tutorial di addestramento al haar (cercando di rilevare una mano) ma non ancora in grado di produrre un buon rivelatore (xml).

Ho provato a contattare gli autori, ma ancora nessuna risposta ancora.

risposta

5

Un modo possibile consiste nell'applicare la normalizzazione semplice e semplice assumendo la distribuzione normale a tutti gli elementi.

In primo luogo trovare la media (Mu) e standard deviation (S):

Mu = 1/N * Sum(a[i][j]) for each i,j 
S = sqrt(1/(N-1) * Sum((a[i][j] - Mu)^2)) for each i,j 
     (in here N is the number of pixels, 20*20 in the viola jones case) 

Da questo, si può normalizzare il valore di ciascun pixel con lo standard normale formula di distribuzione (da standardizing all values):

a'[i][j] = (a[i][j] - Mu)/S 

Un altro metodo è vector normalization, che in pratica dice:

  • Trova il lunghezza del vettore: |a| = sqrt(sum (a[i][j]*a[i][j])) for each i,j
  • Assegnazione: a'[i][j] = a[i][j]/|a|
+0

Grazie per la risposta. Mi ha davvero aiutato molto! Questo metodo può essere implementato in MATLAB giusto? –

+1

@KojiIkehara: Sì. Inoltre, credo che sia già implementato in MATLAB. Quando torno dal lavoro posso verificare come implementarlo in ottava (variante open source di MATLAB) se vuoi (sarà solo molto più tardi oggi) – amit

+0

Sì certo, sarebbe fantastico! Lo farò anche io. Molte grazie! –

Problemi correlati