logo simone provenzano

 

Dott. Simone Provenzano - Tecniche di analisi di immagine applicate allo studio dei suoli

Tesi di Laurea Magistrale in Scienze Geologiche - Capitolo II - Cenni teorici sull'analisi di immagine - Unical

 

 

 

 

 

Dopo aver migliorato un'immagine digitale attraverso i suddetti algoritmi, è possibile eseguire procedure di elaborazione più approfondite, volte cioè ad isolare gli oggetti di interesse dal resto dell'immagine. Le procedure più tipicamente utilizzate per questo scopo sono la segmentazione ed il thresholding.
La segmentazione s.l. è un processo volto ad identificare e delimitare in un'immagine le aree occupate dalle diverse tipologie di oggetti presenti. A livello di software questo processo consiste nella partizione di un'immagine in regioni omogenee e separate, attraverso un criterio di appartenenza dei pixel ad una regione piuttosto che ad un'altra.
Nella segmentazione s.s. il criterio di appartenenza ad una regione si basa generalmente sul principio che pixel contigui abbiano valori simili (cioè entro un intervallo opportunamente stabilito) di un parametro k (colore, luminosità, riflettanza, assorbanza, forma, tessitura, ecc.) scelto come discriminante delle diverse categorie di elementi da individuare. Ad esempio si può ricercare la presenza di diverse tipologie di minerali impostando gli opportuni valori di colore caratteristici di ciascuna specie mineralogica. Non esistono però dei valori specifici ed universali, in quanto molto dipende dal campione in esame, dalla cura con cui questo è stato preparato, dal sistema di acquisizione e dalla qualità dell'immagine digitale. Perciò spetta all'operatore stabilire quale può essere l'intervallo di valori più opportuno. Esistono diverse tipologie di algoritmi di segmentazione s.s.: il region growing, lo split & merge, il clustering, l'edge-matching ed il texturing.
Il region growing consiste nella scelta di diversi pixel di partenza detti seed (semi), ognuno dei quali deve essere relativo ad una diversa categoria di oggetto; a questo punto l'algoritmo considera i pixel contigui ad ogni seed e crea regioni di superficie progressivamente crescente finché i pixel contigui hanno valori simili del parametro k rispetto al seed, e finché non si incontra un'altra regione. Quando due regioni si incontrano viene effettuato un ulteriore controllo per verificare che esse appartengano alla stessa categoria, ed in caso affermativo vengono unite in un'unica regione. Il processo di espansione delle regioni continua finché non viene occupata tutta l'area dell'immagine. Per definire i seed opportuni ci si può basare su un controllo visivo oppure ci si può aiutare con l'istogramma dell'immagine (Fig. 2.17), in quanto esso generalmente è caratterizzato da diversi picchi in relazione ai colori predominanti.

 

 

Istogramma immagine

Fig. 2.17. Esempio di immagine in scala di grigio e relativo istogramma. L'istogramma è stato realizzato con il software Microsoft©Excel©; i dati per la rappresentazione dell'istogramma sono stati ottenuti con il software ImageJ (versione Fiji) attraverso il comando "Analyze - Histogram".

 

 

Lo split & merge lavora in un certo senso in modo inverso rispetto al region growing; parte cioè dall'assunto che l'immagine sia omogenea dopodichè, se l'immagine non è omogenea, effettua una suddivisione in quattro riquadri, sui quali viene verificata nuovamente la condizione di omogeneità. Il processo di suddivisione va avanti iterativamente finché non si ottiene un mosaico di riquadri ciascuno dei quali sia omogeneo. A questo punto si effettua un confronto fra riquadri contigui, dei quali tutti quelli che appartengono alla stessa categoria vengono uniti insieme.
Il clustering è un algoritmo più complesso che non applica il criterio di contiguità dei pixel, e si basa prevalentemente sull'utilizzo delle coordinate bidimensionali dei pixel e sulle coordinate tridimensionali RGB per definire le categorie e delimitare le relative regioni di appartenenza; in questo modo si può produrre una separazione di regioni che i precedenti algoritmi invece considererebbero come regioni uniche.
L'edge-matching è un algoritmo di estrazione dei contorni, e consiste sostanzialmente in un filtro che identifica ed unisce tutti i pixel che chiudono un contorno, dopodichè tutti i pixel interni a ciascun contorno vengono raggruppati insieme a definire una regione.

 

 

 

Il texturing è un algoritmo di selezione delle tessiture; il suo funzionamento si basa sulla cernita delle aree caratterizzate da un insieme di colori diversi che però si ripetono in maniera regolare, e che quindi possono essere considerate come appartenenti ad una certa classe tessiturale.
Il thresholding (Fig. 2.18) è un particolare metodo di segmentazione s.l. che lavora principalmente su immagini in scala di grigio, ed ha l'obiettivo di separare drasticamente una categoria di oggetto rispetto al resto. Con questa tecnica si produce un'immagine binaria che rappresenta con il colore nero le zone di interesse e con uno sfondo bianco le zone di non interesse (o viceversa); il suo funzionamento consiste in una selezione basata su tutti i valori (generalmente di luminosità) superiori o inferiori ad una certa soglia.
Il valore di soglia ottimale tipicamente viene determinato tramite l'istogramma relativo all'immagine, individuando la zona di valle compresa fra due picchi o fra due mode principali.

 

 

Thresholding immagine

Fig. 2.18. Esempio di applicazione del thresholding. a: immagine originale; b: istogramma relativo all'immagine, in cui il valore di soglia utilizzato è indicato dalla freccia; c: immagine ottenuta dall'applicazione del thresholding. L'istogramma è stato realizzato con il software Microsoft© Excel©; i dati per la rappresentazione dell'istogramma sono stati ottenuti con il software ImageJ (versione Fiji) attraverso il comando "Analyze - Histogram". Il thresholding è stato eseguito con il software ImageJ (versione Fiji) attraverso il comando "Image - Adjust - Threshold".

 

 

La soglia può essere ricavata direttamente dal software sulla base dell'istogramma (thresholding automatico). In alternativa la soglia può essere impostata manualmente dall'operatore (thresholding manuale) oppure da una combinazione fra la soglia suggerita dal software ed il controllo dell'operatore (thresholding semiautomatico). Se la soglia si può considerare costante in tutta l'immagine si parla di thresholding globale; nel caso contrario si parla invece di thresholding variabile. Il thresholding globale generalmente si utilizza quando l'immagine è caratterizzata da colorazioni tendenzialmente omogenee e ben definite in tutta la sua superficie. Quando invece l'immagine è caratterizzata da una tonalità sfumata (ad esempio a causa di un'illuminazione non omogenea), si utilizza il thresholding variabile; in particolare si suddivide opportunamente l'immagine in riquadri minori entro i quali è presente una certa omogeneità dei colori, e si applica un thresholding separatamente su ciascun riquadro, in modo da scegliere per ogni riquadro il miglior valore di soglia (es. Fig. 2.20). A questo scopo esistono anche algoritmi di thresholding locale, che utilizzano cioè una valore di soglia variabile (entro un certo intervallo) localmente all'interno dell'immagine in modo da compensare in automatico le disomogeneità di illuminazione.
Un altro possibile caso consiste nell'avere uno sfondo uniforme ma con oggetti caratterizzati da diversi valori di luminosità (Fig. 2.19a). Anche in questo caso non si può applicare un thresholding globale, in quanto si possono escludere alcuni oggetti o al contrario si può includere parte dello sfondo (Fig. 2.19b). Per affrontare una situazione del genere sono stati sviluppati degli algoritmi di adaptive thresholding, che consentono di identificare con buona approssimazione gli oggetti presenti (Fig. 2.19c). Questi algoritmi sono programmati per adattare il valore di soglia oggetto per oggetto, a patto solo che si conosca in una certa misura la dimensione media degli oggetti.

 

 

 

 

 

Adaptive thresholding

Fig. 2.19. Confronto fra due diversi algoritmi di thresholding su un'immagine con oggetti caratterizzati da diversi valori di luminosità. a: immagine originale. b: thresholding globale. Il thresholding è stato eseguito con il software ImageJ (versione Fiji) attraverso il comando "Image - Adjust - Threshold". c: adaptive thresholding. Il thresholding è stato eseguito con il software ImageJ (versione Fiji) attraverso il comando "Plugins - Adaptive Threshold".

 

 

Thresholding variabile

Fig. 2.20. Differenze fra i risultati di una procedura di thresholding globale (s1) ed una procedura di thresholding variabile (s2) su un'immagine con illuminazione non uniforme. Nel caso del thresholding variabile l'immagine originale è stata suddivisa in due riquadri. Gli istogrammi sono stati realizzati con il software Microsoft© Excel©; i dati per la rappresentazione degli istogrammi sono stati ottenuti con il software ImageJ (versione Fiji) attraverso il comando "Analyze - Histogram". Il thresholding è stato eseguito con il software ImageJ (versione Fiji) attraverso il comando "Image - Adjust - Threshold".

 

 

In Fig. 2.20 vengono mostrati i risultati di un test eseguito su un'immagine appositamente sfumata allo scopo di simulare un'illuminazione non omogenea. Applicando un thresholding globale (Fig. 2.20 - s1) non si ottiene una corretta immagine binaria in quanto l'istogramma è caratterizzato da tre mode principali anziché due; in altre parole sono presenti due soglie critiche (due valli comprese fra tre mode), e quindi l'applicazione del thresholding globale, che fa riferimento ad una singola soglia, non può produrre un risultato accettabile. Dividendo invece opportunamente l'immagine in due riquadri, si otterrà per ciascun riquadro un istogramma bimodale e ben definito. Applicando il thresholding separatamente sui due riquadri, cioè eseguendo un thresholding variabile (Fig. 2.20 - s2) si otterranno quindi due nuove immagini segmentate correttamente, che si potranno infine unire per generare l'immagine finale. È possibile comprendere l'efficacia di questa suddivisione affiancando verticalmente gli istogrammi relativi ai due riquadri. Si osserva infatti che ciascun istogramma contiene una zona di valle nulla fra due picchi (soglia ideale) che nell'altro istogramma corrisponde invece ad una zona non di valle o comunque non nulla. Perciò è stato possibile individuare questi due valori di soglia ideale soltanto attraverso la suddivisione dell'immagine nei due riquadri.
Nella Fig. 2.21 viene mostrato il test di un'altra procedura che può essere adottata per correggere le disomogeneità di illuminazione. In questo caso il metodo consiste nel creare separatamente un'immagine sfumata di riferimento (Fig. 2.21b) che riproduca al meglio le disomogeneità di illuminazione presenti nell'immagine originale (Fig. 2.21a), e poi eseguire tramite software una sottrazione fra l'immagine originale e l'immagine sfumata. In questo modo si tende ad ottenere come risultato (Fig. 2.21c) uno sfondo con valori nulli (nero) in quanto sullo sfondo stesso, pixel per pixel vengono sottratti valori molto simili; le restanti porzioni invece, sebbene tendano a diventare più scure per effetto della sottrazione, restano ancora visibili in quanto i valori dei pixel omologhi sono sufficientemente diversi da non annullarsi. Il risultato sarà tanto migliore quanto più accurata sarà stata la ricostruzione dell'immagine sfumata. A questo punto si può come al solito applicare il thresholding per isolare gli oggetti di interesse (Fig. 2.21d).

 

 

Thresholding sfondo non omogeneo

Fig. 2.21. Una possibile soluzione al problema della disomogeneità di illuminazione. a: immagine originale; b: immagine sfumata di riferimento creata ad-hoc per riprodurre al meglio le disomogeneità di illuminazione; c: immagine sottrazione fra l'immagine originale e l'immagine sfumata; d: thresholding sull'immagine sottrazione.
La sottrazione delle immagini è stata eseguita con il software ImageJ (versione Fiji) attraverso il comando "Process - Image Calculator" ed utilizzando l'operatore "subtract". Il thresholding è stato eseguito con il software ImageJ (versione Fiji) attraverso il comando "Image - Adjust - Threshold".

 

 

indice 1 2 3 4 5 6 7 8 9 10 11 12 13 14 bibliografia

 

unical

È possibile utilizzare liberamente le immagini ed i contenuti del presente capitolo di tesi, purché si inseriscano gli opportuni riferimenti bibliografici. Si consiglia un modello di citazione come quello espresso di seguito per tutte le immagini ed i contenuti ove, nel presente capitolo, non siano già presenti espliciti riferimenti bibliografici:

Provenzano Simone. Tecniche di Analisi di immagine applicate allo studio dei suoli (155 pagg.). Tesi di Laurea Magistrale in Scienze Geologiche. Unical - Università della Calabria. A.A. 2014/2015. Relatori: Scarciglia Fabio, Miriello Domenico. Pagg. 26-73.

 

 

 

 

Privacy e Cookie