Segmentazione di immagini

La segmentazione di un'immagine nell'elaborazione digitale delle immagini è il processo di partizione di un'immagine in regioni significative. Viene utilizzata per ottenere una rappresentazione più compatta, per estrarre degli oggetti o come strumento per l'analisi delle immagini e permette di partizionare le immagini digitali in insiemi di pixel. Lo scopo della segmentazione è semplificare e/o cambiare la rappresentazione delle immagini in qualcosa che è più significativo e facile da analizzare.

Immagine segmentata di un femore
Metodo di partizione a grafo: vicinanza MRF (campi casuali markoviani) dato un pixel

La segmentazione è di solito utilizzata per localizzare oggetti e bordi (linee, curve, ecc.). Più precisamente, la segmentazione è il processo con il quale si classificano i pixel dell'immagine che hanno caratteristiche comuni, pertanto ciascun pixel in una regione è simile agli altri della stessa regione per una qualche proprietà o caratteristica (colore, intensità o texture). Regioni adiacenti sono significativamente differenti rispetto ad almeno una di queste caratteristiche. Il risultato di un'immagine segmentata è un insieme di segmenti che, collettivamente, coprono l'intera immagine.

Esistono tre tipologie principali di algoritmo per segmentare un'immagine: basati sull'istogramma, basati sulla crescita/divisione delle regioni e basati sulla tecnica del rilassamento.

Metodologie di segmentazione modifica

Di seguito un elenco dei metodi di segmentazione:

  • Metodi variazionali
  • Metodi di partizione a grafo
    • Campi casuali markoviani
      • Segmentazione dell'immagine supervisionata usando MRF e MAP
      • Algoritmi di ottimizzazione
        • Iterated conditional modes/gradient descent
        • Annealing simulato (SA)
        • Algoritmi alternanti
      • Segmentazione dell'immagine non supervisionata usando MRF e massimizzazione dell'aspettazione
      • Segmentazione d'immagini basati sull'implementazione di MRF

Region growing modifica

  Lo stesso argomento in dettaglio: Region growing.

Tali meccanismi si basano sull'idea che bisogna trovare regioni che rappresentano oggetti o parti di essi; per questo motivo, il dominio dell'immagine deve essere diviso in   regioni   e la regola di segmentazione è un predicato logico  . La procedura di segmentazione partiziona l'insieme   dell'immagine in   sottoinsiemi tali che: l'unione di tali sottoinsiemi corrisponda con l'insieme  , i sottoinsiemi siano disgiunti, il predicato   assuma valore di verità positivo per ciascuno di tali sottoinsiemi e che non sia possibile che venga verificato il predicato   per una regione corrispondente all'unione di più sottoinsiemi  . Il risultato della segmentazione è un predicato logico avente la forma  , in cui   è un vettore delle caratteristiche associate al pixel (luminosità, texture, colore, coordinate spaziali),   è un vettore di parametri (generalmente dei valori di soglia).

Il cosiddetto region growing utilizza un semplice approccio, cioè parte da alcuni pixel (seeds) che rappresentano regioni distinte dell'immagine (per fare ciò ci si può basare sulle informazioni fornite dall'istogramma) e li "accresce" fino a che tutta l'immagine risulta coperta. Per fare ciò servono una regola che descriva il meccanismo di crescita ed una regola che controlla l'omogeneità di ogni regione dopo ogni "accrescimento" e che verifica se è possibile unire due regioni distinte. Il meccanismo di crescita funziona in questa maniera: ad ogni passo   e per ciascuna regione  , si controlla se ci sono pixel non classificati nel vicinato 8-connesso (in poche parole gli otto pixel che circondano quello in esame) di ciascun pixel del bordo della regione; nel caso, prima di assegnare tale pixel alla regione  , si verifica se la regione è ancora omogenea, ovvero se  .

Un possibile esempio di test di omogeneità è il seguente: se l'intensità del pixel è vicina al valore medio della regione, cioè  .

La soglia   varia a seconda della regione   e dell'intensità del pixel  , una possibile soglia è:   =     . Un meccanismo simile può essere usato per fare il merging, ovvero la fusione, di regione distinte: date le deviazioni standard dei valori presenti nelle due regioni, se |  | <  , con  , le due regioni sono fuse insieme.

Split modifica

Un approccio differente al region growing e di tipo top-down è quello dello splitting: esso parte dall'ipotesi che l'immagine sia omogenea; se ciò non è verificato l'immagine viene suddivisa in altre sottoimmagini (generalmente 4, per creare un cosiddetto quad-tree). Tale procedura viene ripetuta ricorsivamente fino a che restano esclusivamente regioni omogenee. Poiché la procedura è ricorsiva, produce una rappresentazione che può essere descritta da un albero i cui nodi hanno quattro (o comunque il numero di sottoimmagini che vengono ottenute suddividendo) figli ciascuno. Un problema che si pone a questo punto con la tecnica di split è come unire le regioni adiacenti ed omogenee che risultano distinte: per tale motivazione ad ogni iterazione è seguito un merging; proceduralmente, ciò significa che date due regioni   e  , se   esse vengono fuse.

Clustering modifica

  Lo stesso argomento in dettaglio: Clustering.

Una procedura più elaborata per effettuare l'image segmentation è quella di utilizzare la tecnica del clustering, peraltro usata in moltissimi ambiti applicativi. Questa tecnica consente di determinare, a partire da un insieme di dati, gruppi con caratteristiche "simili", connotando ovviamente in modo matematico questa affermazione (distanza euclidea, distanza in termini di colore, ecc). Per una spiegazione elaborata si fa riferimento alla voce corrispondente, tuttavia bisogna ricordare che nel caso specifico dell'image processing, tra le caratteristiche da tenere in considerazione devono esservi anche le coordinate spaziali, per evitare che vengano rilevate regioni omogenee ed uniche ma che di fatto sono distinte nell'immagine.

Voci correlate modifica

Altri progetti modifica