Camminata Aleatoria

46
Gra Camminata aleatoria e funzioni armoniche  Problema di Dirichlet e struttura dell’a lgo ritmo  Esempi Camminata aleatoria per la segmentazione di immagini Relazione di stati stica e probabilit`a Sebastiano Roncoroni Univer sit` a degli Studi dell’In subria 9 dicembre 2013 Sebastiano Roncoroni  Cammin ata aleat oria per la segment azione di immagi ni

description

camminata ale

Transcript of Camminata Aleatoria

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Camminata aleatoria per la segmentazione diimmagini

    Relazione di statistica e probabilita`

    Sebastiano Roncoroni

    Universita` degli Studi dellInsubria

    9 dicembre 2013

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Introduzione

    Il problema della segmentazione consiste nel localizzare le aree diunimmagine che sono legate tra loro per affinita` di contenuto (adesempio, intensita` o colore).

    Immagine originale (a sinistra) e immagine segmentata (a destra). Lasegmentazione e` utilizzata in diagnostica medica per isolare edevidenziare parti di unimmagine.

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Introduzione

    Presentiamo un algoritmo (procedimento che risolve un problema inun numero finito di passaggi) per la segmentazione utilizzando comeoggetto matematico di riferimento la camminata aleatoria definita suun grafo. Il grafo e` indotto dallimmagine facendo corrispondere adogni pixel un vertice ed associando agli archi un valore numericolegato al gradiente della caratteristica considerata (p.e. intensita`).

    immagine grafo

    vertici

    archi

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Introduzione

    Come funziona lalgoritmo?1 Lutilizzatore sceglie un numero piccolo di pixel ( vertici) ai quali

    pre-assegna unetichetta. Chiamiamo questi vertici i verticipre-etichettati. Due vertici pre-etichettati possono avere la stessaetichetta.

    2 Sia K il numero totale di etichette distinte utilizzate. Sia s lindiceche contraddistingue letichetta assegnata ad un vertice, quindi sassume valori s = 1, ...,K .

    3 Lalgoritmo calcola la probabilita` che una camminata aleatoria cheparta da ogni vertice non pre-etichettato (e che muove lungo gliarchi) raggiunga per primo, tra tutti i vertici pre-etichettati, unvertice con etichetta s = 1.

    4 Ripetiamo il calcolo del punto 3 per tutti i valori di s.5 La segmentazione e` ottenuta assegnando ad ogni pixel letichetta per

    la quale la probabilita` calcolata e` massima.

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Esempio

    0.71

    0.41

    0

    0.08

    0.53

    0.24

    0.15

    0.67

    0.47

    0.27

    0.14

    0.54

    0.41

    0.23

    0

    I tre pixel pre-etichettati dallutilizzatore (a sinistra), e la probabilita` cheuna camminata aleatoria che parta da ogni pixel non etichettatoraggiunga per primo il pixel etichettato in blu (a destra).

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Esempio

    0.27

    0.53

    0.76

    0

    0.33

    0.54

    0.53

    0.13

    0.24

    0.30

    0.28

    0.16

    0.19

    0.16

    0

    0.03

    0.06

    0

    0.16

    0

    0.14

    0.22

    0.32

    0.20

    0.29

    0.43

    0.58

    0.30

    0.40

    0.61

    Probabilita` che una camminata aleatoria che parta da ogni pixel nonetichettato raggiunga per primo il pixel etichettato in verde (a sinistra) equello etichettato in rosso (a destra).

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Esempio

    La segmentazione finale si ottiene assegnando ad ogni pixel letichettaper la quale la probabilita` calcolata e` massima.

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Schema della presentazione

    Lo schema della presentazione e` il seguente:

    introduzione ai grafi

    camminata aleatoria e funzioni armoniche

    problema di Dirichlet e struttura dellalgoritmo

    proprieta` dellalgoritmo

    esempi di applicazione

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Definizione di grafo

    Definizione

    Un grafo G e` un insieme finito e non vuoto V assieme ad una relazionesimmetrica e irriflessiva R. V e` linsieme dei vertici ed ogni elemento di Vviene detto un vertice. Chiamiamo E linsieme delle coppie simmetrichein R; E e` linsieme degli archi ed ogni elemento in E e` un arco.

    Notiamo che linsieme degli archi E determina completamente larelazione R, usualmente quindi un grafo G e` definito in termini degliinsiemi V ed E. La cardinalita` |V | dellinsieme dei vertici si dice ordine delgrafo mentre |E | e` la taglia del grafo.

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Esempio

    V = {v1, v2, v3, v4}E = {v1v2, v1v3, v2v3, v3v4}|V | = n = 4|E | = m = 4

    G :

    v1 v2

    v3

    v4

    Sia v un vertice di G: il numero di archi di G incidenti su v e` chiamato ilgrado di v e si indica d(v). Per esempio, per il grafo riportato in figura siha d(v3) = 3. In un grafo pesato ad ogni arco eij corrisponde un valorenumerico w(eij) detto peso dellarco. In questo caso il grado di un verticesi definisce secondo la formula:

    d(vi ) =eij

    w(eij)

    dove la somma e` estesa a tutti gli archi eij incidenti sul vertice vi . .

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Grafi connessi

    Un cammino v1 v2 in un grafo G e` una sequenza alternata di vertici edarchi che comincia in v1 e termina in v2, in modo che ogni arcocongiunga i due vertici immediatamente precedenti e successivi. Lasequenza e` dunque determinata univocamente elencando i soli vertici. Unsentiero in G e` un cammino in G che non ripete alcun vertice.

    {v1, v3, v4, v3, v2} e` un cammino in G{v1, v3, v2} e` un sentiero in G G :

    v1 v2

    v3

    v4

    Definizione

    Due vertici v1 e v2 in un grafo G si dicono connessi se esiste un sentierov1 v2 in G. Un grafo G si dice connesso se ogni sua coppia di vertici e`una coppia di vertici connessi.

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Camminata aleatoria

    Definizione

    Una camminata aleatoria in Zd e` una sequenza di variabili aleatorie Snche comincia con probabilita` 1 da S0 = x Zd e in cui n N Sn e`definita:

    Sn = x + X1 + ...+ Xn

    dove le Xj sono variabili aleatorie indipendenti e identicamente distribuitet.c. per ogni indice di tempo j e per ogni indice di dimensionalita` k:

    P{Xj = ek} = P{Xj = ek} = 12d

    con ek il k-esimo vettore della base canonica di Zd .

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Camminata aleatoria

    Consideriamo ad esempio il caso d = 2: la camminata aleatoria e` quindidefinita in Z2

    x

    y

    Si ha per le variabili aleatorie Xj :

    P{Xj = (1, 0)} = P{Xj = (1, 0)} = 14

    P{Xj = (0, 1)} = P{Xj = (0,1)} = 14

    Ad ogni step quindi la camminata procede con uguale probabilita` su, giu`,a destra o a sinistra. La camminata aleatoria dellesempio e` definita dallasomma:

    S22 = (1,2) + (0, 1) + (1, 0) + (0,1) + ...Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Proprieta`

    Enunciamo di seguito senza dimostrazione alcune proprieta` dellecamminate aleatorie in Zd :

    Proprieta`

    Omegeneita` temporale: sia Sn una camminata aleatoria in Zd :n,m, k N

    P{Sn+k = y |Sn = x} = P{Sm+k = y |Sm = x}

    Proprieta`

    Simmetria: sia Sn una camminata aleatoria in Zd : n, k N

    P{Sn+k = y |Sn = x} = P{Sn+k = x |Sm = y}

    Una classe speciale di funzioni che andiamo di seguito a introdurre sonole funzioni armoniche. Le proprieta` sopra riportate permettono diutilizzare una camminata aleatoria in Zd per costruire funzioni armoniche.

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Proprieta`

    Sn+k = y

    Sn = x

    Sm+k = y

    Sm = x

    Proprieta` di omogeneita` temporale: la probabilita` di trovarsi nellaposizione y dopo n + k passi data la posizione x dopo n passi e`indipendente da n, cioe` e` indipendente da tutto il percorso precedente.

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Proprieta`

    y

    x

    Proprieta` di simmetria: la probabilita` di trovarsi nella posizione y dopon + k passi data la posizione x dopo n passi e` uguale alla probabilita` ditrovarsi nella posizione x dopo n + k passi data la posizione y dopo npassi. La camminata aleatoria muove con uguale probabilita` avanti eindietro.

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    definizione di bordo in Zd

    Definizione

    Sia A un sottoinsieme limitato di Zd . Il bordo di A e` linsieme:

    A = {z Zd : z / A,x A : |z x | = 1}

    La chiusura di A e` linsieme:

    A = A A

    Esempio di bordo di un insieme in Z2:

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Proprieta` del valor medio

    La definizione seguente e` utile per introdurre il Laplaciano in uno spaziodiscreto:

    Definizione

    Sia A un sottoinsieme di Zd . Una funzione F : A R ha la proprieta` delvalor medio se x A:

    F (x) =y

    1

    2dF (y)

    dove le somme sono estese a tutti i punti y Zd : |x y | = 1.

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Proprieta` del valor medio

    Questo significa che il valore che la funzione assume in un punto del suodominio e` uguale alla media dei valori che assume nei puntiimmediatamente circostanti. Per esempio per una funzione F definita inZ2:

    x

    y

    1 2 30

    1

    2

    3

    Il valore che F assume nel punto (2, 1) e` dato da:

    F (2, 1) =1

    4[F (1, 1) + F (3, 1) + F (2, 0) + F (2, 2)]

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Funzioni di piu` variabili

    Il concetto di derivata (ordinaria) per una funzione di una variabile f (x) e`generalizzato dalle derivate parziali per una funzione di piu` variabilif (x1, x2, ..., xn). Ad esempio sia f (x) = x

    2 una funzione di una variabile:

    df

    dx= 2x

    Sia invece g(x , y) = x2 + y 2 + xy una funzione di due variabili. Laderivata parziale rispetto a x si calcola considerando y come unacostante e derivando nel modo ordinario rispetto a x :

    g

    x= 2x + y

    Analogamente la derivata parziale rispetto a y si calcola considerando xcome una costante e derivando nel modo ordinario rispetto a y :

    g

    y= 2y + x

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Operatori

    Il gradiente di una funzione e` un operatore che associa ad una funzione dipiu` variabili il vettore delle sue derivate parziali, e si indica con il simbolo. Ad esempio per una funzione f (x , y) di due variabili:

    f (x , y) =(f

    x,f

    y

    )Il concetto di derivata seconda per funzioni di una variabile si estendeimmediatamente alle derivate parziali: il Laplaciano di una funzione e` unoperatore che associa ad una funzione di piu` variabili uno scalare datodalla somma delle derivate parziali seconde. Il Laplaciano si indica con ilsimbolo . Ad esempio:

    f (x , y) =2f

    x2+2f

    y 2

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Laplaciano in uno spazio discreto

    In uno spazio continuo una funzione f si dice armonica se:

    dk=1

    2f

    x2k= f = 0

    Con loperatore Laplaciano. Lanalogo in Z si ottiene tramite leapprossimazioni:

    F

    x(c) F (c + 1) F (c)

    2F

    x2(c) F (c + 1) 2F (c) + F (c 1)

    Definiamo quindi il Laplaciano discreto in Zd :

    LF (x) =y

    1

    2d[F (y) F (x)]

    dove le somme sono estese a tutti i punti y Zd : |x y | = 1.Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Laplaciano in uno spazio discreto

    Nel caso d = 1 le definizioni di Laplaciano discreto e derivata secondadiscreta, a meno del termine costante 12d =

    12 , coincidono:

    2F

    x2(c) F (c + 1) 2F (c) + F (c 1)

    LF (c) =

    y :|cy |=1

    1

    2d[F (y) F (c)] = 1

    2[F (c 1) 2F (c) + F (c + 1)]

    c c + 1c 1 x

    Ricordiamo la condizione che una funzione deve soddisfare per possederela proprieta` del valor medio:

    F (x) =y

    1

    2dF (y)

    La somiglianza formale con il Laplaciano discreto e` alla base dello strettolegame tra funzioni armoniche e funzioni con la proprieta` del valor medio.

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Definizione di funzione armonica in Zd

    Definizione

    Sia A un sottoinseme limitato di Zd . Una funzione F : A R si dicearmonica se x A vale

    LF (x) = 0

    Le funzioni armoniche cos` definite godono di numerose proprieta`: inprimo luogo si puo` mostrare che una funzione e` armonica se e solo sepossiede la proprieta` del valor medio. Unaltra proprieta` importante checostituisce il punto di partenza per formulare il problema di Dirichlet e`che i valori che una funzione armonica F assume nellinterno del suodominio (cioe` in A) sono univocamente determinati dai valori che assumesul bordo A, nel senso che se esiste una seconda funzione armonica Gcon lo stesso dominio di F t.c. F = G su A allora vale F = G sullinterodominio A.

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Problema di Dirichlet

    In base alle precedenti affermazioni e` dunque ben posto il seguenteproblema di Dirichlet:

    Definizione

    Dato A Zd e data F : A R, il problema di Dirichlet consiste neltrovare unestensione F di F in A t.c. F sia armonica sullintero dominio.

    data F definita sul bordo A

    trovo F armonica definita sullintero dominio A

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Uscita dal dominio

    Come anticipato, la camminata aleatoria permette di costruire unasoluzione al problema di Dirichlet: in particolare il problema di Dirichlet e`analogo al problema di uscita dal dominio di una camminata aleatoria:

    Definizione

    Sia Sn una camminata aleatoria in A Zd . Il tempo di uscita T e`definito:

    T = min {k N : Sk A}

    Se A e` un sottoinsieme limitato di Zd allora il tempo di uscita T e` finitocon probabilita` 1.

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Uscita dal dominio

    Esempio di uscita dal dominio per una camminata aleatoria definita inZ2: i cerchi in nero sono i punti di A, i cerchi in bianco al loro interno ipunti di A.

    x

    yT = 12

    T = 2

    Il tempo di uscita T rappresenta il numero minimo di passi necessariperche` la camminata aleatoria si trovi su un punto del bordo A.

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Il teorema seguente riassume la connessione esistente tra camminataaleatoria e problema di Dirichlet:

    Teorema

    Sia A un sottoinsieme limitato di Zd . Data F : A R, ! F : A Rarmonica, e tale funzione e` data da:

    F (x) = E(F (ST xA )) =zA

    F (z)P{ST xA = z}

    dove T xA denota il tempo di uscita dal dominio A di una camminataaleatoria che comincia in x.

    Quindi, il valore che la funzione F assume in un punto x A e` dato dallesomme su tutti i punti z appartenenti al bordo A del valore che Fassume in z (infatti F e` definita solo su A) per la probabilita` che unacamminata aleatoria che cominci da x esca dal dominio proprio dal puntoz (cioe` la probabilita` che z sia il primo punto del bordo su cui si viene atrovare la camminata aleatoria).

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Principio di Dirichlet

    Una semplificazione ulteriore del problema e` fornita dal principio diDirichlet, che enunciamo per una funzione u definita in uno spaziocontinuo:

    Teorema

    Sia u : Rn R soluzione del problema di Dirichlet con condizioni albordo u(x) = g(x) su , allora u si ottiene minimizzando il seguenteintegrale di Dirichlet:

    D[u] =

    |u|2d

    dove indica loperatore gradiente.

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Induzione di un grafo dallimmagine

    Siamo ora in grado di presentare lalgoritmo di segmentazione con ilformalismo piu` adeguato: lobiettivo finale e` quello di calcolare laprobabilita` che una camminata aleatoria che parte da ogni pixel nonetichettato raggiunga per primo uno dei pixel pre-etichettatidallutilizzatore.In primo luogo, limmagine da analizzare verra` considerata nel seguitocome un grafo connesso e pesato: il grafo e` indotto dallimmaginefacendo corrispondere ad ogni pixel un vertice e assegnando i pesi degliarchi w(eij) wij attraverso la formula:

    wij = exp ((gi gj)2)

    dove gi e` lintensita` dellimmagine al pixel i-esimo e e` un parametrolibero dellalgoritmo. Dalla formula leggiamo inoltre wij = wji cioe` ilgrafo e` anche non-direzionato.

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Funzionamento dellalgoritmo

    In virtu` del principio di Dirichlet, il nostro obiettivo e` adesso quello diriscrivere lintegrale di Dirichlet per funzioni definite sul grafo ( in Z2) etrovare la funzione x(vi ) xi che ne minimizza il valore. Imponendo leopportune condizioni al bordo, xi rappresenta la probabilita` desiderataper la camminata aleatoria che parta dalli-esimo vertice non etichettato.

    Consideriamo inizialmente il caso molto semplificato di un grafo di ordinee taglia uguali a 4:

    V = {v1, v2, v3, v4}E = {e12, e13, e24, e34} G :

    v1 v2

    v3 v4

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Matrice di incidenza e matrice costitutiva

    Introduciamo la matrice di incidenza A che rappresenta loperatoregradiente (mentre AT rappresenta loperatore divergenza):

    Aeijvk =

    +1 i = k

    1 j = k0 altrimenti

    A e` una matrice m n indicizzata dallarco eij e dal vertice vk .Denominiamo inoltre matrice costitutiva C la matrice diagonale m m icui elementi lungo la diagonale sono i pesi wij di ogni arco.Per il nostro esempio si ha dunque:

    A =

    1 1 0 01 0 1 00 1 0 10 0 1 1

    C =

    w12 0 0 00 w13 0 00 0 w24 00 0 0 w34

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Laplaciano e operatore di Laplace-Beltrami

    Come nel caso continuo, loperatore Laplaciano L nel caso discreto siottiene dalla composizione degli operatori divergenza e gradiente, dunque:

    L = ATA

    Questa definizione tuttavia non contiene alcuna informazione circa i pesiassociati agli archi: il Laplaciano deve essere generalizzato dalloperatoredi Laplace-Beltrami:

    L = ATCA

    Quindi:

    L = ATCA =

    w12 + w13 w12 w13 0w12 w12 + w24 0 w24w13 0 w13 + w34 w34

    0 w24 w34 w34 + w24

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    integrale di Dirichlet

    Lintegrale di Dirichlet si scrive quindi:

    D[x ] =1

    2(Ax)TC (Ax) =

    1

    2xTLx =

    1

    2

    eijE

    wij(xi xj)2

    Dividiamo ora linsieme V dei vertici in due insiemi disgiunti VM (verticipre-etichettati) e VU (vertici non etichettati) t.c. V = VM VU .Assumiamo senza perdita di generalita` che in L e in x i vertici sianoordinati in modo che i vertici etichettati vengano prima di quelli nonetichettati. Nel nostro esempio supponiamo:

    VM = {v1, v2}VU = {v3, v4} G :

    v1 v2

    v3 v4Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Quindi loperatore Laplaciano diventa:

    L =

    w12 + w13 w12 w13 0w12 w12 + w24 0 w24w13 0 w13 + w34 w34

    0 w24 w34 w34 + w24

    E possiamo riscrivere lintegrale di Dirichlet:

    D[xU ] =1

    2

    [xTM x

    TU

    ] [LM BBT LU

    ] [xMxU

    ]cioe`, svolgendo i conti:

    D[xU ] =1

    2(xTMLMxM + 2x

    TU B

    T xM + xTU LUxU)

    LM B

    BT LU

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Ponendo la derivata di D[xU ] rispetto a xU uguale a zero otteniamo unsistema di equazioni lineari in |VU | incognite la cui soluzione costituisce ilminimo dellintegrale di Dirichlet:

    LUxU = BT xMCioe`, grazie al teorema di Dirichlet il problema (complicato) di calcolarela probabilita` che una camminata aleatoria che parta da un punto di VUraggiunga per primo uno dei punti di VM con una data etichetta si e`ridotto alla soluzione di equazioni di primo grado!Nel nostro esempio otteniamo un sistema di due equazioni nelle dueincognite x3 e x4:{

    (w13 + w34)x3 w34x4 = w13x1w34x3 + (w34 + w24)x4 = w24x2

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Condizioni al bordo

    A questo punto non resta che imporre le opportune condizioni al bordo:

    Notiamo che mentre nellenunciato generale del problema di Dirichletimporre le condizioni al bordo significa fissare i valori che la funzioneassume su A, nel nostro caso specifico cio` equivale a fissare i valori (0oppure 1) della probabilita` su tutti i vertici pre-etichettati.

    Sia s lindice che contraddistingue una delle K etichette considerate,s = 1, 2, ...,K .

    Chiamiamo x si la probabilita` che una camminata aleatoria che partadal vertice non pre-etichettato vi raggiunga per primo un verticemarcato con letichetta s.

    Sia Q(vj) la funzione definita sullinsieme VM il cui valore e` lindices associato alletichetta del vertice vj .

    La probabilita` cercata si ottiene imponendo le condizioni al bordo:

    x sMj =

    {+1 se Q(vj) = s

    0 se Q(vj) 6= sSebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Esempio

    Il teroema di Dirichlet richiede di fissare le condizioni al bordo: Nel casogenerale devo imporre i valori che F assume sui punti del bordo A. Nelcaso particolare dellalgoritmo devo specificare i valori della probabilita` sututti i vertici in VM (vertici pre-etichettati).

    0.27

    0.53

    0.76

    0

    0.33

    0.54

    0.53

    0.13

    0.24

    0.30

    0.28

    0.16

    0.19

    0.16

    0

    1

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Segmentazione

    La segmentazione finale e` ottenuta risolvendo per ognuna delle Ketichette (cioe` per ognuna delle K diverse condizioni al bordo) il sistema:

    LUxs = BT x sM

    ed assegnando ad ogni vertice in VU letichetta s t.c.:

    x si = max{x si }Ks=1

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Un esempio piu` complicato

    Alcune proprieta` dellalgoritmo non possono essere visualizzateconsiderando un grafo di soli 4 vertici: un grafo realmente indotto daunimmagine come quella utilizzata nellintroduzione di questapresentazione conta 104 vertici. Consideriamo quindi il grafo seguente,piu` complicato:

    V = {v1, v2, ..., v6}E = {v1v2, v1v5, ..., v15v16}|V | = 16|E | = 24

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    La matrice dincidenza A e` una matrice 24 16. La prima riga di A, adesempio, e` data da:

    (A)1 =[

    1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ]Loperatore Laplaciano e` rappresentato da una matrice quadrata 24 24.La prima riga di L e`, ad esempio:

    (L)1 =[w12 + w15 w12 0 0 w15 0 0 0 0 0 0 0...

    ...0 0 0 0 0 0 0 0 0 0 0 0]

    Due osservazioni:

    La matrice A, in generale, non e` una matrice quadrata.

    Gli elementi di L diversi da zero sono in numero molto minore deglielementi di L uguali a zero: si dice che L e` una matrice sparsa. Cio`comporta una notevole semplificazione computazionale.

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Proprieta` qualitative dellalgoritmo

    Le seguenti proprieta` sono motivate sia da argomenti teorici che daapplicazioni pratiche; viene mostrata la stabilita` dellalgoritmo nellecondizioni di:

    Confini deboli: quando sono parte di confini piu` marcati lalgoritmoindividua confini deboli di oggetti distinti; altri algoritmi (p.e.graph cuts) non offrono lo stesso risultato.

    Rumore sperimentale: lalgoritmo restituisce una segmentazioneaffidabile anche in presenza di rumore sperimentale.

    Regioni ambigue: una regione non etichettata e localmente costanteche deve essere assegnata a regioni con etichette diverse vieneattribuita.

    1 Alla regione con cui condivide la maggiore superficie.2 In caso di pareggio al punto 1) alla regione con intensita` piu` simile

    alla propria.3 Divisa in due sotto-regioni in caso di pareggio ai punti precedenti.

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Esempi di applicazione

    Una prima applicazione dellalgoritmo di segmentazione ad unimmaginein scala di grigio:

    Immagine originale con in evidenza i quattro pixel pre-etichettati (asinistra) e probabilita` che una camminata aleatoria che parta da ognipixel non marcato raggiunga per primo il pixel etichettato in rosso (adestra). Bianco= probabilita` massima, nero= probabilita` minima.

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Esempi di applicazione

    Attribuzione ad ogni pixel non marcato delletichetta che massimizza laprobabilita` (a sinistra) e segmentazione finale dellimmagine (a destra).

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Esempi di applicazione

    Applicazione dellalgoritmo ad unimmagine neutra con 100 puntipre-etichettati generati in modo random: la segmentazione prodotta e`equivalente ad una tassellatura di Voronoi del piano.

    Attribuzione ad ogni pixel non marcato delletichetta che massimizza laprobabilita` (a sinistra) e segmentazione finale dellimmagine (a destra).

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

  • Grafi Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

    Conclusioni

    Concludiamo riassumendo le principali caratteristiche discusse:

    Lalgoritmo presentato utilizza la camminata aleatoria definita su ungrafo per produrre la segmentazione dellimmagine.

    Grazie alle proprieta` delle funzioni armoniche ed al teorema diDirichlet il problema si riduce computazionalmente alla soluzione diun sistema di equazioni lineari.

    La segmentazione ottenuta e` stabile anche in condizioni critiche(rumore, confini deboli, regioni ambigue).

    lutilizzazione dellalgoritmo e` intuitiva e richiede un numero piccolodi input esterni (segmentazione soddisfacente anche con soli trepixel pre-etichettati).

    Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini

    GrafiCamminata aleatoria e funzioni armonicheProblema di Dirichlet e struttura dell'algoritmoEsempi