• Non ci sono risultati.

Local Binary Pattern

4.2 Normalizzazione: BioLab ICAO Framework

5.1.5 Local Binary Pattern

La feature presa in esame in questo paragrafo prende il nome di Local Binary Pattern (LBP) e, seppur inserita in questa tesi nel contesto delle cosiddette feature di forma, nasce in realtà con l'obiettivo di fornire un valido descrittore per la texture dell'oggetto rappresentato all'interno di un'immagine. Grazie al proprio potere discriminativo, alla sua semplicità computazionale, oltre che alla robustezza rispetto alle variazioni di illuminazione, l'operatore LBP è ben presto diventato un approccio molto popolare in svariate applicazioni come ad esempio il riconoscimento facciale 2D a partire da immagini grayscale del vol- to. Il nostro interesse è quello di valutare l'ecacia di questa feature quando l'immagine grayscale in input è in realtà quella relativa ai soli contorni del volto, esattamente come accade per tutte le altre feature di forma analizzate no a questo momento.

L'operatore LBP è stato introdotto da Ojala et al. [47] per l'analisi della già menzionata tessitura delle immagini. Nella sua versione base il funzionamento dell'operatore è molto semplice: a ciascun pixel dell'immagine viene assegnato un valore binario dipendente dalla valorizzazione dei pixel che stanno nell'in- torno 3×3 di quello preso in esame. Sia ad esempio p un pixel dell'intorno e sia pcil pixel centrale in una situazione come quella rappresentata in Figura 5.17:

se p ha un valore superiore o uguale a quello di pc allora a p è assegnato il

valore 1, altrimenti il valore 0. Mettendo in sequenza i valori binari ottenuti confrontando il pixel centrale con ciascun pixel dell'intorno si ottiene un nu- mero binario di 8 cifre: la sua conversione in sistema decimale rappresenta il valore nale associato al pixel p preso come riferimento. Questa versione base di LBP ha un inconveniente legato alla dimensione dell'intorno; essa infatti ha un valore pressato pari a 3 mentre potrebbe essere preferibile utilizzare intorni di dimensione diversa a seconda del caso applicativo specico. Per questo mo- tivo, l'operatore LBP è stato esteso per gestire intorni di dimensione variabile. In particolare, nella nuova versione, si passa dal considerare un intorno qua- drato al considerare un intorno circolare del pixel introducendo il concetto di interpolazione per quei punti campione dell'intorno che non cadono esattamen- te su un pixel dell'immagine. Come indicato anche in Figura 5.18, l'operatore LBP prevede in questo caso la denizione di due nuovi parametri: il numero di punti campione P e il raggio dell'intorno circolare R. Considerare intorni circolari e utilizzare l'interpolazione per dare un preciso valore a ciascun punto campione dell'intorno non cambia il processo di costruzione del valore binario associato al pixel centrale. Quanto illustrato per l'intorno quadrato 3 × 3 vale anche qualora si utilizzi un intorno circolare; unitamente al fatto che l'intorno circolare prevede un numero piuttosto elevato di punti campione, l'eetto che

5.1 Feature di forma 56

Figura 5.17: Local Binary Pattern: calcolo dell'operatore LBP su un'immagine grayscale del volto del soggetto

Figura 5.18: Local Binary Pattern: intorno circolare di un pixel per il calcolo di LBP

5.1 Feature di forma 57 si ottiene è la produzione di particolari pattern binari contraddistinti dal nu- mero e dalla sequenza di transizioni 0-1. In Figura 5.19 possiamo visualizzare alcuni esempi di pattern binari uniformi, chiamati in questo modo per la loro particolarità di rappresentare alcune fra le strutture locali più rilevanti come edge, spot, ecc..

Figura 5.19: Local Binary Pattern: esempi di strutture di pattern uniformi Nello specico, un pattern è detto uniforme quando, considerato in modo cir- colare, contiene al massimo due transizioni 0-1 o 1-0 (ad esempio i pattern 10000011, 11110000, 00000000 sono uniformi). Il motivo per cui risulta conve- niente considerare solo i pattern uniformi risiede nel risparmio di memoria, in quanto i pattern totali sono 2P mentre i pattern uniformi sono solo P (P −1)+2.

Per capire meglio questo concetto possiamo ad esempio considerare Figura 5.20: l'immagine originale (a sinistra) viene rappresentata nella versione che eviden- zia con puntini bianchi i pixel con pattern uniforme (immagine al centro) e nella versione che, in modo analogo, evidenzia i pixel con pattern non unifor- me (immagine a destra). Si può pertanto notare come la prima contenga molti meno pixel bianchi rispetto a quest'ultima, a conferma di quanto illustrato in precedenza.

Figura 5.20: Local Binary Pattern: pattern uniformi e non uniformi individuati all'interno di un'immagine grayscale del volto

Calcolare LBP sull'intera immagine signica produrre come risultato di output un vettore di feature consistente in un istogramma (eventualmente normaliz- zato). Il vettore viene ottenuto dividendo innanzi tutto l'immagine in k2 sot-

tonestre e per ogni sottonestra è costruito un istogramma in cui a ciascun bin è associato a uno specico pattern binario. I bin sono quindi in totale pari a P (P −1)+3: P (P −1) bin per i pattern con 2 transizioni, 2 bin per i pattern con 0 transizioni ed un solo bin per i pattern non uniformi. L'ultimo passo

5.1 Feature di forma 58 consiste nel normalizzare e concatenare gli istogrammi calcolati per tutte le sottonestre, come mostra Figura 5.21.

Figura 5.21: Local Binary Pattern: istogrammi costituenti il vettore di feature Come il lettore avrà notato, gli esempi mostrati per illustrare il funzionamento di LBP fanno riferimento ad immagini grayscale del volto. Nel nostro caso LBP viene invece applicato direttamente ad immagini grayscale contenti i soli contorni dei volti, in conformità con quanto accade per tutte le altre featu- re di forma. Essendo LBP molto sensibile alla tessitura dell'immagine e alla eventuale presenza di pixel di `rumore', si rende necessaria l'introduzione di un nuovo parametro, oltre ai già citati numero di punti campione e raggio del- l'intorno circolare, detto soglia grayscale. Questo parametro serve per scartare pixel dell'immagine grayscale che, pur non assumendo una tonalità esattamen- te bianca e non uguale in valore a 255, si avvicinano a tale colorazione e possono essere considerati ugualmente come sfondo. Ad esempio, ssando questa soglia ad un valore pari a 250, si assume che i pixel che hanno un valore grayscale superiore a 250 sono da considerare comunque come pixel di sfondo. Si è veri- cato sperimentalmente che l'introduzione di tale soglia consente di migliorare l'ecacia di LBP per il riconoscimento.

Il risultato prodotto da LBP, come detto, consiste in un insieme di istogram- mi concatenati no a formare un vettore numerico; nel confrontare il vettore estratto dai contorni di uno sketch e quello estratto dai contorni di una foto, si possono teoricamente utilizzare le consuete misure di distanza di tra isto- grammi. A livello pratico, però, avendo tali vettori un numero molto elevato di componenti a causa della concatenazione multipla di istogrammi, risulta più conveniente utilizzare la classica misura di distanza euclidea.

Documenti correlati