52
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

SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

Embed Size (px)

Citation preview

Page 1: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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, è chiamato SegmentazioneSegmentazione.

Page 2: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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.

Page 3: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

Due puntualizzazioni importanti:

1. 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.

2. 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.

Page 4: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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)

Page 5: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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.

Page 6: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

Regioni e Contorni

L’insieme dei pixel connessiconnessi rappresentanti una particolare caratteristica o proprietà degli oggetti è chiamata regioneregione 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 bordiL’insieme dei pixel che delimitano una regione

costituiscono un contorno chiuso. Non sempre i limiti di una regione sono chiusi.

Page 7: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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:

1. ossia l’intera immagine (Partizione esaustiva)

2. Ogni regione Ri soddisfa un definito predicato (o criterio) di omogeneità P(Ri); ossia P(Ri) = vero i = 1,n

3. Ogni Regione Ri è spazialmente connessa.

4. Pixel appartenenti a regioni confinanti Ri ed Rj, quando considerati congiuntamente, non soddisfano il predicato:P(Ri Rj) = Falso i,j delle n regioni

5. {Ri} è una partizione esclusiva, ossiaRi Rj = con i j

R f i jkk

n

( , )1

Page 8: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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:

g i jse f i j S

se f i j S( , )

( , )

( , )

1

0

g i jse f i j S

se f i j S( , )

( , )

( , )

1

0

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

Page 9: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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

g i jse S f i j S

altrimenti( , )

( , )

1

01 2

Page 10: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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

altrimenti

SSjifsekjig kk

0

],[),(),( 1

per k = 1,n oggetti.

Page 11: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

La segmentazione mediante soglia può essere utilizzata anche per l’estrazione dei bordil’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:

g i jse f i j S

altrimenti( , )

( , )

1

0

Page 12: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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

Page 13: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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

Page 14: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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

Page 15: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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 segmentaref(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.

Page 16: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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:

p lH l

H ii

( )( )

( )

0

255

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

Page 17: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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. Una misura di omogeneità è caratterizzata dalla varianza.

Un raggruppamento con alta omogeneità avrà una varianza bassa e viceversa una Un raggruppamento con alta omogeneità avrà una varianza bassa e viceversa una varianza alta per un gruppo con bassa omogeneità.varianza alta per un gruppo con bassa omogeneità.

Page 18: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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:

)(1)()()()( 1

255

12

01 SqlpSqlpSq

Sl

S

l

S

l

SqlplS0

11 )(/)()(

255

122 )(/)()(

Sl

SqlplS

255

12

22

22

01

21

21 )(/)())(()(/)())(()(

Sl

S

l

SqlpSlSqlpSlS

)()()()()( 222

211

2 SSqSSqSW

Page 19: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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

)(2 SW

255

0

22 )()(l

lpl

255

0

)(l

lpl

255

1

222

0

211

2 )(])()([)(])()([Sl

S

l

lpSSllpSSl

255

1

2222

22

0

2111

21

)(])([])()][([2)]([

)(])([])()][([2)]([

Sl

S

l

lpSSSlSl

lpSSSlSl

Page 20: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

Metodo della soglia ottimale iterativa cont.

Considerando che

255

1

222

0

211

2 )(])()([)(])()([Sl

S

l

lpSSllpSSl

255

1

2222

22

0

2111

21

)(])([])()][([2)]([

)(])([])()][([2)]([

Sl

S

l

lpSSSlSl

lpSSSlSl

0)(])()][([0

11

S

l

lpSSl 0)(])()][([255

122

Sl

lpSSl

)(])([)()]([)(])([)()]([ 2

255

1

22

22

01

21

21

2 SqSlpSlSqSlpSlSl

S

l

222

211

222

211 ])()[(])()[()()()()( SSqSSqSSqSSq

)(2 SW )(2 SB

Page 21: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

Metodo della soglia ottimale iterativa cont.

)(])([)()]([)(])([)()]([ 2

255

1

22

22

01

21

21

2 SqSlpSlSqSlpSlSl

S

l

222

211

222

211 ])()[(])()[()()()()( SSqSSqSSqSSq

)(2 SW )(2 SB

)()()()( 2211 SSqSSq

22111

22 )]()()][(1)[()( SSSqSqSW

22111

2 )]()()][(1)[()( SSSqSqSB Deve essere massimizzata

Page 22: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

Metodo della soglia ottimale iterativa cont.

)1()()1( 11 SpSqSq

Con un valore iniziale )0()0(1 pq

.

)1(

)1()1()()()1(

1

111

Sq

SpSSSqS

Con valore iniziale 0)0(1 .

)1(1

)1()1()1(

1

112

Sq

SSqS

Page 23: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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

Page 24: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

Metodo di segmentazione con soglia adattiva

Approccio alternativo è quello di trovare funzioni di approssimazione dello sfondo per immagini ad illuminazione non uniforme

Page 25: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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.

Page 26: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

Metodo con soglia multilivello per immagini a colori e multispettrali

Page 27: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

Metodo con soglia multilivello per immagini a colori e multispettrali

Page 28: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

Attività di pre-processing per migliorare la qualità dell’immagine ed aumentarne il contrasto

Red BlueGreen

La BANDA GREEN trasporta la più alta quantità di informazione

Sistema automatico di localizzazione dei vasi sanguigni

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

Page 29: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

ym

xm

y1

yc -

y2

xcx1 x2

Segmentazione mediante sottrazione dello sfondo e proiezioni orizzontale e verticale

Backgroundsubtraction

Page 30: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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’).

(a) Immagine binaria (b) Etichettamento delle componenti

connesse

(c) Immagine binaria ed etichettata

Page 31: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

Etichettamento Componenti Connesse

Algoritmo ricorsivo di labeling

(a) 4-vicinanza (b) 8-vicinanza

Page 32: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

Algoritmo:a) 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)

b) 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

c) 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

d) 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).

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.

Page 33: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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.

Page 34: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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)/2n2 volte e poi verificare l’allineamento considerando ciascuno degli n punti con tutte le linee richiedendo circa n×n(n-1)/2n3 confronti.

Il tempo di calcolo richiesto sarebbe improponibile

Page 35: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

Trasformata di Hough

Nel piano immagine, l’equazione di un fascio di rette, passante per un pixel (xi,yi), in forma esplicita, è data da:

qpxy ii

L’equazione precedente può essere riscritta nella forma:

ii pxyq

definendo in questo modo un nuovo piano pq che è chiamato spazio parametricospazio parametrico

Page 36: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

Trasformata di Hough

Si ricerca i massimi locali nell’accumulatore

Page 37: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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:

sincos yx

Page 38: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

Trasformata di Hough

Page 39: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

Trasformata di Hough per i cerchi

In forma parametrica:

Page 40: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

Trasformata di Hough

Page 41: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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:

ti altrimen 1

1(x,y)I(x,y)I1 or (x,y)I(x,y)I0 if (x,y)M n-11nn1n

1n

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.

Page 42: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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

wise other (x,y) B

0(x,y)f M(x,y) iIα)(1(x,y)Bα(x,y)B

n

nnn1n

n

Ix,yn

area of I

(x,y)M

1α n

Page 43: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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

enti altrim1

Th(x,y)S0 if (x,y)D n

n(x,y)B(x,y)I(x,y)S nnn

Page 44: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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

enti altrim1

Th(x,y)S0 if (x,y)D n

n(x,y)B(x,y)I(x,y)S nnn

(x,y)S medianMED n Ix,y n

MED(x,y)S medianMAD n Ix,y n

MADMEDTh 4826.13

fattore di normalizzazione della distribuzione Gaussiana.

Page 45: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

Segmentazione di sequenze video – Adaptive Background

Page 46: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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:

tiiyxIXXX t 1|),,(,,, 0021

Page 47: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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).

Page 48: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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:

K

ititittit XXP

1,,, ),()(

stima del peso

ttT

tt XX

nt eX

1

2

1

2

12)2(

1),,(

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:

I2, ktk

Page 49: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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

)()1( ,1,, tktktk M

Page 50: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

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.

,

ttt X 1)1(

)()()1( 21

2tt

Ttttt XX

),|( kktX

Page 51: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

Segmentazione di sequenze video – Misture di Gaussiane

Un oggetto di background avrà varianza molto piccola,

mentre un nuovo oggetto che occlude uno di background, non soddisferà il criterio di match con una delle distribuzioni Normali esistenti,

Quindi risulterà nella creazione di una nuova distribuzione oppure in un aumento sostanziale della varianza di una distribuzione esistente.

Quali Gaussiane scegliere per il modello di background?

Si ordinano le Gaussiane secondo il criterio di importanza dato da

Stabilendo quali delle K sono significative per un dato pixel e quali no

Quindi le prime B distribuzioni vengono scelte come modello di background secondo la seguente relazione:

/

TBb

kk

b 1

minarg T=0,7

Page 52: SEGMENTAZIONE DELLE IMMAGINI Generalmente una immagine contiene diversi oggetti presenti nella scena. Per esempio, in una cella robotizzata di assemblaggio,

Segmentazione di sequenze video – Misture di Gaussiane