1 / 52

SEGMENTAZIONE DELLE IMMAGINI

SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio, il sistema di visione acquisisce automaticamente i vari oggetti da assemblare

Download Presentation

SEGMENTAZIONE DELLE IMMAGINI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio, il sistema di visione acquisisce automaticamente i vari oggetti da assemblare L’obiettivo del sistema intelligente in tale contesto, consiste nel dividere l’immagine in regioni differenti, ognuna delle quali, include solo uno degli oggetti acquisiti da assemblare L’interesse in tale applicazione, è quello di avere disponibile un algoritmo che isoli i vari oggetti presenti nell’immagine Il processo di dividere l’immagine in regioni omogenee, dove tutti i pixel che corrispondono ad un oggetto sono raggruppati insieme, è chiamatoSegmentazione.

  2. Il raggruppamento dei pixel in regioni è basato in relazione ad un criterio di omogeneità che li distingue tra loro. • I criteri possono essere similarità di attributi: • colore, • tessitura, • prossimità spaziale (distanza euclidea…) • ecc.

  3. Due puntualizzazioni importanti: • La segmentazione dell’immagine non implica la classificazione delle regioni. L’algoritmo di segmentazione partiziona soltanto l’immagine in regioni omogenee e nessuna informazione viene fornita per riconoscere gli oggetti associati e tanto meno sulla loro relazione. • La segmentazione dell’immagine non è basata su una particolare teoria fisico-matematica. Diversi sono gli algoritmi disponibili, molti dei quali non esaustivi e basati su un approccio euristico utilizzando metodi ad hoc per le varie applicazioni.

  4. Gli algoritmi di segmentazione possono essere raggruppati come segue: • Algoritmi basati sulla conoscenza globale o parziale dell’immagine (knowledge based). La conoscenza è rappresentata dagli istogrammi di alcune caratteristiche dell’immagine. • Algoritmi basati sui contorni (Edge-based) • Algoritmi basati sulle regioni (Region-based)

  5. Gli algoritmi Edge e Region based si caratterizzano a loro volta sulla base delle features: • luminanza, • tessitura, • movimento, • colore, • ecc.) • utilizzate per l’estrazione dei bordi o delle regioni.

  6. Regioni e Contorni L’insieme dei pixel connessi rappresentanti una particolare caratteristica o proprietà degli oggetti è chiamata regione di una immagine Una immagine può contenere diverse regioni che rappresentano una particolare proprietà di un singolo oggetto complesso oppure proprietà associate ai vari oggetti della scena A causa di errori presenti nell’immagine, non sempre è corretta la corrispondenza tra le regioni e ciò che esse rappresentano, ossia gli oggetti o parte degli stessi Un contorno è una lista ordinata di bordi L’insieme dei pixel che delimitano una regione costituiscono un contorno chiuso. Non sempre i limiti di una regione sono chiusi.

  7. Processo di segmentazione • La segmentazione, processo di raggruppamento dei pixel in regioni, può essere definita come un metodo che partiziona una immagine f(i,j) in regioni R1, R2,.........,Rn che soddisfano le seguenti condizioni: • ossia l’intera immagine (Partizione esaustiva) • Ogni regione Ri soddisfa un definito predicato (o criterio) di omogeneità P(Ri); ossia P(Ri) = vero  i = 1,n • Ogni Regione Ri è spazialmente connessa. • Pixel appartenenti a regioni confinanti Ri ed Rj, quando considerati congiuntamente, non soddisfano il predicato: • P(Ri Rj) = Falso  i,j delle n regioni • {Ri} è una partizione esclusiva, ossia • Ri Rj =  con i  j

  8. Segmentazione mediante soglia Il processo di convertire i livelli di grigio di una immagine f(i,j) in una immagine binaria g(i,j) è il metodo più semplice di segmentazione: per oggetti chiari per oggetti scuri dove S è la soglia dei livelli di grigio g(i,j) = 1 per i pixel appartenenti agli oggetti e g(i,j) = 0 per i pixel appartenenti allo sfondo

  9. Se l’intervallo dei livelli di grigio [S1, S2] associato agli oggetti è noto, l’immagine binaria è così ottenuta

  10. Se sono noti diversi intervalli (disgiunti) di livelli di grigio [Sk,Sk+1] associati ai corrispondenti oggetti Ok, una segmentazione a soglia, più generale, è ottenuta per k = 1,n oggetti.

  11. La segmentazione mediante soglia può essere utilizzata anche per l’estrazione dei bordi corrispondenti agli oggetti della scena Nell’ipotesi che tali oggetti sono scuri rispetto ad uno sfondo più chiaro, si può ipotizzare che un intervallo di livelli di grigio può comprendere solo livelli che appartengono tra lo sfondo ed i confini di ciascun oggetto Se si indica con S l’intervallo che include solo i livelli di grigio dei contorni degli oggetti, si ottiene la seguente immagine segmentata:

  12. Metodo P-Tile Questo metodo si basa sulla conoscenza a priori della percentuale P di area dell’immagine occupata dall’oggetto da esaltare rispetto allo sfondo

  13. Una soglia bassa produce una segmentazione con caratteri in parte o del tutto cancellati, mentre la scelta di una soglia alta, produce una segmentazione con caratteri artefatti e modificati dalla forma originale

  14. Metodo sull’analisi dell’istogramma In alcune applicazioni, risulta efficace analizzare l’istogramma dei livelli di grigio di una immagine, per calcolare soglie appropriate, allo scopo di identificare intervalli di livello di grigio che identificano con buona approssimazione lo sfondo (scuro o chiaro) e gli oggetti della scena Gli istogrammi mostrano due picchi che corrispondono rispettivamente ad un oggetto della scena, con una distribuzione dei livelli di grigio approssimati da una Gaussiana (1,1), ed allo sfondo con distribuzione Gaussiana (S,S). Questo metodo può essere generalizzato per n oggetti con distribuzione Gaussiana dei livelli di grigio (1,1),.....,(n, ,n) e con lo sfondo (S,S). In questo caso sono da ricercare n soglie S1,...........,Sn analizzando l’istogramma H(l) dell’immagine che presenterà n+1 picchi ed n valli

  15. Metodo basato sulla modifica dell’istogramma L’istogramma non presenta un andamento perfettamente bimodale qualunque scelta della soglia S, individua pixel che possono appartenere all’oggetto ed allo sfondo. Per minimizzare questo inconveniente, si può modificare l’istogramma dell’immagine non considerando i pixel ad alto gradiente. • Sia: • - f(i,j) l’immagine da segmentare • f(i,j) il gradiente di f, • l’istogramma H(l) dell’immagine gradiente f si modifica come evidenziato in figura, presentando una valle più profonda che consente la scelta della soglia in modo più semplice.

  16. Metodo della soglia ottimale iterativa Per applicazioni dove non si ha una conoscenza dell’immagine, la soglia di segmentazione S si calcola valutando parametri statistici della distribuzione dei livelli di grigio dei pixel dell’oggetto e dello sfondo Il metodo si basa sull’approssimazione dell’istogramma dell’immagine usando la media pesata di due densità di probabilità con distribuzione normale. Dall’istogramma dell’immagine H(l) si deriva l’istogramma normalizzato dato da: S livello di grigio corrispondente alla minima probabilità p(s) tra i picchi delle due distribuzioni normali, difficoltà nello stimare i parametri delle distribuzioni normali e sull’assunzione che l variabile aleatoria approssimabile ad una distribuzione normale

  17. Metodo della soglia ottimale iterativa cont. Ogni valore di soglia S determina due varianze, vale a dire una per i livelli di grigio minori di S ed una per quelli maggiore di S. La definizione di soglia ottimale introdotta da Otsu [8] è quella per la quale la somma pesata delle varianze (within-group) tra i due gruppi è minimizzata. I pesi sono le probabilità dei rispettivi gruppi. Ciascun gruppo dovrebbe avere una distribuzione unimodale a forma di campana (approssimabile ad una Gaussiana), in cui una distribuita attorno ad una media bassa ed una attorno ad una media più alta. Questo implica che vi è una relazione di omogeneità dei livelli di grigio appartenenti ad ogni raggruppamento, in cui i due gruppi differiscono l’un l’altro (ossia i livelli di grigio dei pixel appartenenti allo sfondo ed all’oggetto). Una misura di omogeneità è caratterizzata dalla varianza. Un raggruppamento con alta omogeneità avrà una varianza bassa e viceversa una varianza alta per un gruppo con bassa omogeneità.

  18. Metodo della soglia ottimale iterativa cont. • Obbiettivo per la scelta della soglia ottimale • Una possibilità di trovare la soglia di segmentazione per i due gruppi è quella di avere una varianza tra gruppi minima. • Un altro modo è quello di massimizzare la differenza tra le medie dei due gruppi. • In corrispondenza di una soglia S, la probabilità che un pixel appartenga al primo gruppo oppure al secondo è data da:

  19. Metodo della soglia ottimale iterativa cont. La migliore soglia può essere ottenuta mediante un metodo di ricerca sequenziale, attraverso tutti i possibili valori di S che minimizzano Vi è una relazione tra varianza within-group w2 e varianza totale 2 Riscrivendo

  20. Metodo della soglia ottimale iterativa cont. Considerando che

  21. Metodo della soglia ottimale iterativa cont. Deve essere massimizzata

  22. Metodo della soglia ottimale iterativa cont. Con un valore iniziale Con valore iniziale . .

  23. Metodo di segmentazione con soglia adattiva Nelle applicazioni dove l’immagine è acquisita in condizioni di luce non uniforme, le soglie selezionate con i metodi precedenti non producono una buona segmentazione In tale contesto, può essere utile dividere l’immagine in sottoimmagini quadrate e per queste ultime la soglia è calcolata utilizzando i metodi precedenti La segmentazione dell’immagine completa è ottenuta considerando come soglia di ciascun pixel il valore di soglia interpolato tra due sottoimmagini

  24. Metodo di segmentazione con soglia adattiva Approccio alternativo è quello di trovare funzioni di approssimazione dello sfondo per immagini ad illuminazione non uniforme

  25. Metodo con soglia multilivello per immagini a colori e multispettrali Per immagini multibanda (satellitari o a colori), la segmentazione può risultare efficace operando ricorsivamente sull’istogramma di intensità di ciascuna componente (o banda) per la ricerca di soglie a diversi livelli Un algoritmo di segmentazione basato sulla ricerca ricorsiva delle soglie: 1- Si considera l’immagine componente f(i,j) come una singola regione 2- Calcola l’istogramma H(l) di intensità con l=0,255. Ricerca il valore minimo tale da dividere l’immagine in una zona chiara ed una scura. 3- Partiziona la regione in sottoregioni in relazione alla soglia calcolata in 2). 4- Ripetere il passo 2) e 3) per ciascuna regione dell’immagine fino a quando gli istogrammi associati contengono solo un picco significativo.

  26. Metodo con soglia multilivello per immagini a colori e multispettrali

  27. Metodo con soglia multilivello per immagini a colori e multispettrali

  28. Red Green Blue Sistema automatico di localizzazione dei vasi sanguigni Attività di pre-processing per migliorare la qualità dell’immagine ed aumentarne il contrasto Un utile strumento per l’analisi qualitativa dell’informazione presente nelle bande RGB è l’istogramma La BANDA GREEN esibisce in assoluto il miglior contrasto dal momento che la distribuzione dei livelli di grigio è molto più ampia rispetto alle altre bande di colore La BANDA GREEN trasporta la più alta quantità di informazione

  29. Segmentazione mediante sottrazione dello sfondo e proiezioni orizzontale e verticale y1 ym yc - y2 xm x1 xc x2 Background subtraction

  30. Etichettamento Componenti Connesse Supponiamo di avere una immagine binaria B e che B(x,y) =B(x’,y’)=v con v=0 oppure v=1. Il pixel (x,y) è connesso al pixel (x’,y’) rispetto al valore v, se c’è una sequenza di pixel (x,y)=(x0,y0), (x1,y1), (x2,y2),….., (xn,yn)=(x’,y’) in cui B(xi,yi)=v per i=1,….,n ed (xi,yi) è pixel nell’intorno di (xi-1,yi-1) per ogni i=1,…,n. La sequenza di pixel (x0,y0), (x1,y1), (x2,y2),….., (xn,yn) forma un percorso connesso da (x,y) a (x’,y’).

  31. Etichettamento Componenti Connesse Algoritmo ricorsivo di labeling (a) 4-vicinanza (b) 8-vicinanza

  32. Segmentazione basata sull’inseguimento dei bordi Si basa sul raggruppamento di pixel con massimo valore del gradiente che soddisfano percorsi con 4-vicinanza oppure con 8-vicinanza e sulla base della direzione più probabile di continuazione del contorno. • Algoritmo: • Cerca un pixel del contorno. Analizza l’immagine gradiente linea per linea fino a quando non si incontra un pixel Pi(x,y) che ha massimo valore del gradiente (oppure che possiede un valore di gradiente che supera una certa soglia predefinita) • Cerca il pixel successivo. Sia PJ(x,y) il pixel adiacente a Pi(x,y) con massimo valore di gradiente e con la stessa direzione (Pi). Pj risulta elemento del contorno ed il passo b) è ripetuto. Altrimenti si procede al passo successivo • Esamina i pixel adiacenti a PJ. Si calcola la media dei pixel adiacenti a PJ corrispondenti alla finestra 3x3 centrata su PJ. Il risultato della media è confrontato con un valore di grigio gradiente predefinito allo scopo di valutare se PJ è interno o esterno alla regione in esame • Continua l’inseguimento del contorno. Il pixel Pk è selezionato come elemento adiacente a Pi nella direzione (Pi)/4. La scelta del segno dipende dal risultato del passo precedente. Se il pixel Pk risulta un nuovo elemento del contorno, l’inseguimento dello stesso continua proseguendo con il passo b). Se Pk non è elemento del contorno ricerca un nuovo pixel di contorno Pi proseguendo con il passo a).

  33. Trasformata di Hough Metodo che si basa su una relazione globale tra i pixel La relazione è possibile poiché degli oggetti si conosce la loro forma Per esempio, nel caso di immagini telerilevate, per lo studio del territorio, risulta essenziale individuare particolari strutture geometriche (linee, poligoni, ecc.) che rappresentano strade, ponti, terreni coltivati, ecc.. Nell’ispezione dei circuiti stampati necessita individuare strutture lineari e circolari, cosi come nell’automazione industriale, il sistema di visione di una cella robotizzata, localizza nel piano di lavoro oggetti con forma circolare predefinita.

  34. Trasformata di Hough Si propone di valutare relazioni strutturali e non, presenti tra i pixel dell’immagine. Data una immagine, si vuole verificare se esistono strutture geometriche lineari significanti, con qualunque direzione ed in qualunque posizione nell’immagine. Il problema si riduce a verificare se esistono insiemi di pixel allineati lungo una retta con identico livello di grigio. Per esempio consideriamo prima due pixel, che individuano una retta, e successivamente, verificare tutti i pixel significativi che sono ben allineati oppure poco distanti dalla retta. Se i pixel da analizzare sono n, si dovrebbe ripetere tale procedura n(n-1)/2n2 volte e poi verificare l’allineamento considerando ciascuno degli n punti con tutte le linee richiedendo circa n×n(n-1)/2n3 confronti. Il tempo di calcolo richiesto sarebbe improponibile

  35. Trasformata di Hough Nel piano immagine, l’equazione di un fascio di rette, passante per un pixel (xi,yi), in forma esplicita, è data da: L’equazione precedente può essere riscritta nella forma: definendo in questo modo un nuovo piano pq che è chiamato spazio parametrico

  36. Trasformata di Hough Si ricerca i massimi locali nell’accumulatore

  37. Trasformata di Hough Quando sono considerate strutture lineari verticali, l’equazione della retta in forma esplicita y=px+q, non risulta più adeguata poichè il parametro p e non è più dicretizzabile facilmente (diventerebbe troppo grande) Per eliminare questo inconveniente, si utilizza la rappresentazione della linea in coordinate polari:

  38. Trasformata di Hough

  39. Trasformata di Hough per i cerchi In forma parametrica:

  40. Trasformata di Hough

  41. Segmentazione di sequenze video – Adaptive Background Si assuma che la sequenza video sia catturata da una telecamera stazionaria. Le regioni contenenti oggetti in movimento saranno segmentate mediante una semplice operazione di sottrazione tra ciascun frame ottenuto con una stima dello sfondo (background). Le differenze vengono successivamente sogliate per far emergere le regioni di movimento. Sia B0(x,y) il modello di background inizializzato con il primo frame acquisito oppure mediante un processo di media tra frame contigui iniziali acquisiti dalla scena. Sia Mn(x,y) una maschera binaria ottenuta dall’operazione di thresholding delle differenze tra frame consecutivi al tempo n e definita come segue: Mn(x,y) mostra semplicemente le regioni che variano il livello di grigio dovuto alla variazione dell’illuminazione oppure dal passaggio di un oggetto in movimento.

  42. Segmentazione di sequenze video – Adaptive Background Il modello adattivo di background si aggiorna costantemente in base alle condizioni ambientali che variano mediante una combinazione lineare del background precedente e del frame corrente acquisito. dove (0,1) è la costante di tempo che definisce la velocità di adattamento del background e determina la sensibilità dell’aggiornamento alle variazioni di illuminazione della scena. Più è alta la variazione di illuminazione (o più è grande l’area coinvolta dagli oggetti in movimento nella scena) tra frame, più basso deve essere il valore (vicino a zero) del coefficiente di variabilità , in modo tale che il modello di background sia più influenzato dall’immagine corrente. Si può avere un parametro adattivo di 

  43. Segmentazione di sequenze video – Adaptive Background L’approccio maggiormente utilizzato per la rilevazione di oggetti in movimento è quello di sottrarre dal frame corrente il modello di background sino a quel momento approssimato Tuttavia, ci possono essere situazioni in cui errati valori di soglia causano oggetti segmentati erroneamente o non corrispondenti alla reale forma dell’oggetto in movimento. Questi problemi si ripercuoterebbero nella fase di estrazione delle forme (feature extraction) e nel riconoscimento. Sia In(x,y) e Bn(x,y) frame corrente e background approssimato Sia Dn(x,y) una maschera binaria che fa emergere gli oggetti di interesse segmentati (foreground detection) con “1” indicante il corrispondente pixel marcato come appartenente all’oggetto

  44. Segmentazione di sequenze video – Adaptive Background La semplice differenza non è appropriate per quelle applicazioni in cui la scena è soggetta a repentine fluttuazioni di illuminazione Per questa ragione si utilizza una soglia Th automatica fattore di normalizzazione della distribuzione Gaussiana.

  45. Segmentazione di sequenze video – Adaptive Background

  46. Segmentazione di sequenze video – Misture di Gaussiane Il livello di grigio di ciascuna immagine è dipendente fortemente dalla riflessione della condizione di illuminazione del momento, che se dipendente da una sola superficie, allora una singola Gaussiana sarebbe sufficiente a modellarlo tenuto conto delle fluttuazioni dovute al rumore nel sistema di acquisizione. Nelle situazioni reali invece il contributo del livello di grigio di ciascun pixel non dipende solo dalla riflessione di una singola superficie ma dal contributo di diverse superfici presenti. . Pertanto è necessario modellare ciascun pixel con una mistura di Gaussiane. Sia {x0,y0} la posizione del pixel al tempo t, la cui storia è costituita da una sequenza temporale:

  47. Segmentazione di sequenze video – Misture di Gaussiane Figura 23 Le immagini mostrano diversi tipi di situazioni ambientali per cui il valore di un particolare pixel nel nel tempo viene graficato. In (a) i valori della banda Red e Green vengono graficati per uno stesso pixel a distanza di due minuti, lasciando intravedere una distribuzione di tipo multimodale. In (b) due distribuzioni dello stesso pixel per istanti di tempo diversi ed in (c) le stesse considerazioni causate dalla forte variazione di illuminazione dovute alle continue fluttuazioni del monitor (flickering).

  48. Segmentazione di sequenze video – Misture di Gaussiane ciascun pixel è modellato con una mistura di K Gaussiane, la cui probabilità di osservare un determinato livello è dato da: stima del peso Per ragioni implementative, i livelli di rosso, verde e blu si considerano statisticamente indipendenti con la stessa varianza, e pertanto, la matrice di covarianza è data da:

  49. Segmentazione di sequenze video – Misture di Gaussiane Ad ogni osservazione del livello di intensità del pixel, si trova una Gaussiana che soddisfa il match L’idea è che se il pixel è di background (sfondo) allora il valore del pixel si discosta dalla media di una delle Gaussiane che lo rappresenta entro 2,5 volte la sua deviazione standard. Se nessuna delle K Gaussiane soddisfa la condizione di match con il pixel in esame, allora la distribuzione meno probabile è rimpiazzata con il valore corrente del pixel in termini di media della Gaussiana, un valore di varianza iniziale V0 impostato con valori molto alti (V0=30) ed un peso a priori della Gaussiana basso. I pesi a priori delle K Gaussiane al tempo t, vengono modificati come segue: con  il parametro di apprendimento (generalmente molto basso e da ricavare sperimentalmente, comunque con valori che possono essere tipo =0.005. Mk,t è 1 per il modello che soddisfa il match, altrimenti 0 per le Gaussiane rimanenti

  50. Segmentazione di sequenze video – Misture di Gaussiane Successivamente i pesi devono essere normalizzati. I parametri delle Gaussiane ( ) che non soddisfano il match rimangono invariati I parametri delle Gaussiane che invece soddisfano il match sono aggiornati come segue Quindi la stima del modello di background B è dato in base al contributo delle Gaussiane attive per ogni pixel.

More Related