You are on page 1of 46

Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi

Camminata aleatoria per la segmentazione di


immagini
Relazione di statistica e probabilit`a
Sebastiano Roncoroni
Universit`a degli Studi dellInsubria
9 dicembre 2013
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Introduzione
Il problema della segmentazione consiste nel localizzare le aree di
unimmagine che sono legate tra loro per anit`a di contenuto (ad
esempio, intensit`a o colore).
Immagine originale (a sinistra) e immagine segmentata (a destra). La
segmentazione `e utilizzata in diagnostica medica per isolare ed
evidenziare parti di unimmagine.
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Introduzione
Presentiamo un algoritmo (procedimento che risolve un problema in
un numero nito di passaggi) per la segmentazione utilizzando come
oggetto matematico di riferimento la camminata aleatoria denita su
un grafo. Il grafo `e indotto dallimmagine facendo corrispondere ad
ogni pixel un vertice ed associando agli archi un valore numerico
legato al gradiente della caratteristica considerata (p.e. intensit`a).
immagine grafo
vertici
archi
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra 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 vertici
pre-etichettati. Due vertici pre-etichettati possono avere la stessa
etichetta.
2
Sia K il numero totale di etichette distinte utilizzate. Sia s lindice
che contraddistingue letichetta assegnata ad un vertice, quindi s
assume valori s = 1, ..., K.
3
Lalgoritmo calcola la probabilit`a che una camminata aleatoria che
parta da ogni vertice non pre-etichettato (e che muove lungo gli
archi) raggiunga per primo, tra tutti i vertici pre-etichettati, un
vertice 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 probabilit`a calcolata `e massima.
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra 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 probabilit`a che
una camminata aleatoria che parta da ogni pixel non etichettato
raggiunga per primo il pixel etichettato in blu (a destra).
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra 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
Probabilit`a che una camminata aleatoria che parta da ogni pixel non
etichettato raggiunga per primo il pixel etichettato in verde (a sinistra) e
quello etichettato in rosso (a destra).
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Esempio
La segmentazione nale si ottiene assegnando ad ogni pixel letichetta
per la quale la probabilit`a calcolata `e massima.
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Schema della presentazione
Lo schema della presentazione `e il seguente:
introduzione ai gra
camminata aleatoria e funzioni armoniche
problema di Dirichlet e struttura dellalgoritmo
propriet`a dellalgoritmo
esempi di applicazione
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Denizione di grafo
Denizione
Un grafo G `e un insieme nito e non vuoto V assieme ad una relazione
simmetrica e irriessiva R. V `e linsieme dei vertici ed ogni elemento di V
viene detto un vertice. Chiamiamo E linsieme delle coppie simmetriche
in R; E `e linsieme degli archi ed ogni elemento in E `e un arco.
Notiamo che linsieme degli archi E determina completamente la
relazione R, usualmente quindi un grafo G `e denito in termini degli
insiemi V ed E. La cardinalit`a |V| dellinsieme dei vertici si dice ordine del
grafo mentre |E| `e la taglia del grafo.
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Esempio
V = {v
1
, v
2
, v
3
, v
4
}
E = {v
1
v
2
, v
1
v
3
, v
2
v
3
, v
3
v
4
}
|V| = n = 4
|E| = m = 4
G :
v
1
v
2
v
3
v
4
Sia v un vertice di G: il numero di archi di G incidenti su v `e chiamato il
grado di v e si indica d(v). Per esempio, per il grafo riportato in gura si
ha d(v
3
) = 3. In un grafo pesato ad ogni arco e
ij
corrisponde un valore
numerico w(e
ij
) detto peso dellarco. In questo caso il grado di un vertice
si denisce secondo la formula:
d(v
i
) =

e
ij
w(e
ij
)
dove la somma `e estesa a tutti gli archi e
ij
incidenti sul vertice v
i
. .
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Gra connessi
Un cammino v
1
v
2
in un grafo G `e una sequenza alternata di vertici ed
archi che comincia in v
1
e termina in v
2
, in modo che ogni arco
congiunga i due vertici immediatamente precedenti e successivi. La
sequenza `e dunque determinata univocamente elencando i soli vertici. Un
sentiero in G `e un cammino in G che non ripete alcun vertice.
{v
1
, v
3
, v
4
, v
3
, v
2
} `e un cammino in G
{v
1
, v
3
, v
2
} `e un sentiero in G
G :
v
1
v
2
v
3
v
4
Denizione
Due vertici v
1
e v
2
in un grafo G si dicono connessi se esiste un sentiero
v
1
v
2
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
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Camminata aleatoria
Denizione
Una camminata aleatoria in Z
d
`e una sequenza di variabili aleatorie S
n
che comincia con probabilit`a 1 da S
0
= x Z
d
e in cui n N S
n
`e
denita:
S
n
= x + X
1
+ ... + X
n
dove le X
j
sono variabili aleatorie indipendenti e identicamente distribuite
t.c. per ogni indice di tempo j e per ogni indice di dimensionalit`a k:
P{X
j
= e
k
} = P{X
j
= e
k
} =
1
2d
con e
k
il k-esimo vettore della base canonica di Z
d
.
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra 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 quindi
denita in Z
2
x
y
Si ha per le variabili aleatorie X
j
:
P{X
j
= (1, 0)} = P{X
j
= (1, 0)} =
1
4
P{X
j
= (0, 1)} = P{X
j
= (0, 1)} =
1
4
Ad ogni step quindi la camminata procede con uguale probabilit`a su, gi` u,
a destra o a sinistra. La camminata aleatoria dellesempio `e denita dalla
somma:
S
22
= (1, 2) + (0, 1) + (1, 0) + (0, 1) + ...
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Propriet`a
Enunciamo di seguito senza dimostrazione alcune propriet`a delle
camminate aleatorie in Z
d
:
Propriet`a
Omegeneit`a temporale: sia S
n
una camminata aleatoria in Z
d
:
n, m, k N
P{S
n+k
= y|S
n
= x} = P{S
m+k
= y|S
m
= x}
Propriet`a
Simmetria: sia S
n
una camminata aleatoria in Z
d
: n, k N
P{S
n+k
= y|S
n
= x} = P{S
n+k
= x|S
m
= y}
Una classe speciale di funzioni che andiamo di seguito a introdurre sono
le funzioni armoniche. Le propriet`a sopra riportate permettono di
utilizzare una camminata aleatoria in Z
d
per costruire funzioni armoniche.
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Propriet`a
S
n+k
= y
S
n
= x
S
m+k
= y
S
m
= x
Propriet`a di omogeneit`a temporale: la probabilit`a di trovarsi nella
posizione y dopo n + k passi data la posizione x dopo n passi `e
indipendente da n, cio`e `e indipendente da tutto il percorso precedente.
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Propriet`a
y
x
Propriet`a di simmetria: la probabilit`a di trovarsi nella posizione y dopo
n + k passi data la posizione x dopo n passi `e uguale alla probabilit`a di
trovarsi nella posizione x dopo n + k passi data la posizione y dopo n
passi. La camminata aleatoria muove con uguale probabilit`a avanti e
indietro.
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
denizione di bordo in Z
d
Denizione
Sia A un sottoinsieme limitato di Z
d
. Il bordo di A `e linsieme:
A = {z Z
d
: z / A, x A : |z x| = 1}
La chiusura di A `e linsieme:
A = A A
Esempio di bordo di un insieme in Z
2
:
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Propriet`a del valor medio
La denizione seguente `e utile per introdurre il Laplaciano in uno spazio
discreto:
Denizione
Sia A un sottoinsieme di Z
d
. Una funzione F : A R ha la propriet`a del
valor medio se x A:
F(x) =

y
1
2d
F(y)
dove le somme sono estese a tutti i punti y Z
d
: |x y| = 1.
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Propriet`a del valor medio
Questo signica che il valore che la funzione assume in un punto del suo
dominio `e uguale alla media dei valori che assume nei punti
immediatamente circostanti. Per esempio per una funzione F denita in
Z
2
:
x
y
1 2 3
0
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
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Funzioni di pi` u variabili
Il concetto di derivata (ordinaria) per una funzione di una variabile f (x) `e
generalizzato dalle derivate parziali per una funzione di pi` u variabili
f (x
1
, x
2
, ..., x
n
). Ad esempio sia f (x) = x
2
una funzione di una variabile:
df
dx
= 2x
Sia invece g(x, y) = x
2
+ y
2
+ xy una funzione di due variabili. La
derivata parziale rispetto a x si calcola considerando y come una
costante e derivando nel modo ordinario rispetto a x:
g
x
= 2x + y
Analogamente la derivata parziale rispetto a y si calcola considerando x
come una costante e derivando nel modo ordinario rispetto a y:
g
y
= 2y + x
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra 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 di
pi` u 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 estende
immediatamente alle derivate parziali: il Laplaciano di una funzione `e un
operatore che associa ad una funzione di pi` u variabili uno scalare dato
dalla somma delle derivate parziali seconde. Il Laplaciano si indica con il
simbolo . Ad esempio:
f (x, y) =

2
f
x
2
+

2
f
y
2
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra 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:
d

k=1

2
f
x
2
k
= f = 0
Con loperatore Laplaciano. Lanalogo in Z si ottiene tramite le
approssimazioni:
F
x
(c) F(c + 1) F(c)

2
F
x
2
(c) F(c + 1) 2F(c) + F(c 1)
Deniamo quindi il Laplaciano discreto in Z
d
:
LF(x) =

y
1
2d
[F(y) F(x)]
dove le somme sono estese a tutti i punti y Z
d
: |x y| = 1.
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Laplaciano in uno spazio discreto
Nel caso d = 1 le denizioni di Laplaciano discreto e derivata seconda
discreta, a meno del termine costante
1
2d
=
1
2
, coincidono:

2
F
x
2
(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 + 1 c 1
x
Ricordiamo la condizione che una funzione deve soddisfare per possedere
la propriet`a del valor medio:
F(x) =

y
1
2d
F(y)
La somiglianza formale con il Laplaciano discreto `e alla base dello stretto
legame tra funzioni armoniche e funzioni con la propriet`a del valor medio.
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Denizione di funzione armonica in Z
d
Denizione
Sia A un sottoinseme limitato di Z
d
. Una funzione F : A R si dice
armonica se x A vale
LF(x) = 0
Le funzioni armoniche cos` denite godono di numerose propriet`a: in
primo luogo si pu`o mostrare che una funzione `e armonica se e solo se
possiede la propriet`a del valor medio. Unaltra propriet`a importante che
costituisce il punto di partenza per formulare il problema di Dirichlet `e
che i valori che una funzione armonica F assume nellinterno del suo
dominio (cio`e in A) sono univocamente determinati dai valori che assume
sul bordo A, nel senso che se esiste una seconda funzione armonica G
con lo stesso dominio di F t.c. F = G su A allora vale F = G sullintero
dominio A.
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Problema di Dirichlet
In base alle precedenti aermazioni `e dunque ben posto il seguente
problema di Dirichlet:
Denizione
Dato A Z
d
e data F : A R, il problema di Dirichlet consiste nel
trovare unestensione F di F in A t.c. F sia armonica sullintero dominio.
data F denita sul bordo A
trovo F armonica denita sullintero dominio A
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Uscita dal dominio
Come anticipato, la camminata aleatoria permette di costruire una
soluzione al problema di Dirichlet: in particolare il problema di Dirichlet `e
analogo al problema di uscita dal dominio di una camminata aleatoria:
Denizione
Sia S
n
una camminata aleatoria in A Z
d
. Il tempo di uscita T `e
denito:
T = min {k N : S
k
A}
Se A `e un sottoinsieme limitato di Z
d
allora il tempo di uscita T `e nito
con probabilit`a 1.
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Uscita dal dominio
Esempio di uscita dal dominio per una camminata aleatoria denita in
Z
2
: i cerchi in nero sono i punti di A, i cerchi in bianco al loro interno i
punti di A.
x
y
T = 12
T = 2
Il tempo di uscita T rappresenta il numero minimo di passi necessari
perch`e la camminata aleatoria si trovi su un punto del bordo A.
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Il teorema seguente riassume la connessione esistente tra camminata
aleatoria e problema di Dirichlet:
Teorema
Sia A un sottoinsieme limitato di Z
d
. Data F : A R, ! F : A R
armonica, e tale funzione `e data da:
F(x) = E(F(S
T
x
A
)) =

zA
F(z)P{S
T
x
A
= z}
dove T
x
A
denota il tempo di uscita dal dominio A di una camminata
aleatoria che comincia in x.
Quindi, il valore che la funzione F assume in un punto x A `e dato dalle
somme su tutti i punti z appartenenti al bordo A del valore che F
assume in z (infatti F `e denita solo su A) per la probabilit`a che una
camminata aleatoria che cominci da x esca dal dominio proprio dal punto
z (cio`e la probabilit`a che z sia il primo punto del bordo su cui si viene a
trovare la camminata aleatoria).
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Principio di Dirichlet
Una semplicazione ulteriore del problema `e fornita dal principio di
Dirichlet, che enunciamo per una funzione u denita in uno spazio
continuo:
Teorema
Sia u : R
n
R soluzione del problema di Dirichlet con condizioni al
bordo u(x) = g(x) su , allora u si ottiene minimizzando il seguente
integrale di Dirichlet:
D[u] =
_

|u|
2
d
dove indica loperatore gradiente.
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra 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 il
formalismo pi` u adeguato: lobiettivo nale `e quello di calcolare la
probabilit`a che una camminata aleatoria che parte da ogni pixel non
etichettato raggiunga per primo uno dei pixel pre-etichettati
dallutilizzatore.
In primo luogo, limmagine da analizzare verr`a considerata nel seguito
come un grafo connesso e pesato: il grafo `e indotto dallimmagine
facendo corrispondere ad ogni pixel un vertice e assegnando i pesi degli
archi w(e
ij
) w
ij
attraverso la formula:
w
ij
= exp ((g
i
g
j
)
2
)
dove g
i
`e lintensit`a dellimmagine al pixel i-esimo e `e un parametro
libero dellalgoritmo. Dalla formula leggiamo inoltre w
ij
= w
ji
cio`e il
grafo `e anche non-direzionato.
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Funzionamento dellalgoritmo
In virt` u del principio di Dirichlet, il nostro obiettivo `e adesso quello di
riscrivere lintegrale di Dirichlet per funzioni denite sul grafo ( in Z
2
) e
trovare la funzione x(v
i
) x
i
che ne minimizza il valore. Imponendo le
opportune condizioni al bordo, x
i
rappresenta la probabilit`a desiderata
per la camminata aleatoria che parta dalli-esimo vertice non etichettato.
Consideriamo inizialmente il caso molto semplicato di un grafo di ordine
e taglia uguali a 4:
V = {v
1
, v
2
, v
3
, v
4
}
E = {e
12
, e
13
, e
24
, e
34
}
G :
v
1
v
2
v
3
v
4
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra 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 loperatore
gradiente (mentre A
T
rappresenta loperatore divergenza):
A
e
ij
v
k
=
_

_
+1 i = k
1 j = k
0 altrimenti
A `e una matrice m n indicizzata dallarco e
ij
e dal vertice v
k
.
Denominiamo inoltre matrice costitutiva C la matrice diagonale m m i
cui elementi lungo la diagonale sono i pesi w
ij
di ogni arco.
Per il nostro esempio si ha dunque:
A =
_

_
1 1 0 0
1 0 1 0
0 1 0 1
0 0 1 1
_

_
C =
_

_
w
12
0 0 0
0 w
13
0 0
0 0 w
24
0
0 0 0 w
34
_

_
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra 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 si
ottiene dalla composizione degli operatori divergenza e gradiente, dunque:
L = A
T
A
Questa denizione tuttavia non contiene alcuna informazione circa i pesi
associati agli archi: il Laplaciano deve essere generalizzato dalloperatore
di Laplace-Beltrami:
L = A
T
CA
Quindi:
L = A
T
CA =
_

_
w
12
+ w
13
w
12
w
13
0
w
12
w
12
+ w
24
0 w
24
w
13
0 w
13
+ w
34
w
34
0 w
24
w
34
w
34
+ w
24
_

_
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra 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)
T
C(Ax) =
1
2
x
T
Lx =
1
2

e
ij
E
w
ij
(x
i
x
j
)
2
Dividiamo ora linsieme V dei vertici in due insiemi disgiunti V
M
(vertici
pre-etichettati) e V
U
(vertici non etichettati) t.c. V = V
M
V
U
.
Assumiamo senza perdita di generalit`a che in L e in x i vertici siano
ordinati in modo che i vertici etichettati vengano prima di quelli non
etichettati. Nel nostro esempio supponiamo:
V
M
= {v
1
, v
2
}
V
U
= {v
3
, v
4
}
G :
v
1
v
2
v
3
v
4
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Quindi loperatore Laplaciano diventa:
L =
_

_
w
12
+ w
13
w
12
w
13
0
w
12
w
12
+ w
24
0 w
24
w
13
0 w
13
+ w
34
w
34
0 w
24
w
34
w
34
+ w
24
_

_
E possiamo riscrivere lintegrale di Dirichlet:
D[x
U
] =
1
2
_
x
T
M
x
T
U

_
L
M
B
B
T
L
U
_ _
x
M
x
U
_
cio`e, svolgendo i conti:
D[x
U
] =
1
2
(x
T
M
L
M
x
M
+ 2x
T
U
B
T
x
M
+ x
T
U
L
U
x
U
)
L
M
B
B
T
L
U
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Ponendo la derivata di D[x
U
] rispetto a x
U
uguale a zero otteniamo un
sistema di equazioni lineari in |V
U
| incognite la cui soluzione costituisce il
minimo dellintegrale di Dirichlet:
L
U
x
U
= B
T
x
M
Cio`e, grazie al teorema di Dirichlet il problema (complicato) di calcolare
la probabilit`a che una camminata aleatoria che parta da un punto di V
U
raggiunga per primo uno dei punti di V
M
con una data etichetta si `e
ridotto alla soluzione di equazioni di primo grado!
Nel nostro esempio otteniamo un sistema di due equazioni nelle due
incognite x
3
e x
4
:
_
(w
13
+ w
34
)x
3
w
34
x
4
= w
13
x
1
w
34
x
3
+ (w
34
+ w
24
)x
4
= w
24
x
2
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra 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 Dirichlet
imporre le condizioni al bordo signica ssare i valori che la funzione
assume su A, nel nostro caso specico ci`o equivale a ssare i valori (0
oppure 1) della probabilit`a su tutti i vertici pre-etichettati.
Sia s lindice che contraddistingue una delle K etichette considerate,
s = 1, 2, ..., K.
Chiamiamo x
s
i
la probabilit`a che una camminata aleatoria che parta
dal vertice non pre-etichettato v
i
raggiunga per primo un vertice
marcato con letichetta s.
Sia Q(v
j
) la funzione denita sullinsieme V
M
il cui valore `e lindice
s associato alletichetta del vertice v
j
.
La probabilit`a cercata si ottiene imponendo le condizioni al bordo:
x
s
M
j
=
_
+1 se Q(v
j
) = s
0 se Q(v
j
) = s
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Esempio
Il teroema di Dirichlet richiede di ssare le condizioni al bordo: Nel caso
generale devo imporre i valori che F assume sui punti del bordo A. Nel
caso particolare dellalgoritmo devo specicare i valori della probabilit`a su
tutti i vertici in V
M
(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
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Segmentazione
La segmentazione nale `e ottenuta risolvendo per ognuna delle K
etichette (cio`e per ognuna delle K diverse condizioni al bordo) il sistema:
L
U
x
s
= B
T
x
s
M
ed assegnando ad ogni vertice in V
U
letichetta s t.c.:
x
s
i
= max{x
s
i
}
K
s=1
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Un esempio pi` u complicato
Alcune propriet`a dellalgoritmo non possono essere visualizzate
considerando un grafo di soli 4 vertici: un grafo realmente indotto da
unimmagine come quella utilizzata nellintroduzione di questa
presentazione conta 10
4
vertici. Consideriamo quindi il grafo seguente,
pi` u complicato:
V = {v
1
, v
2
, ..., v
6
}
E = {v
1
v
2
, v
1
v
5
, ..., v
15
v
16
}
|V| = 16
|E| = 24
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra 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, ad
esempio, `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
=
[w
12
+ w
15
w
12
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 degli
elementi di L uguali a zero: si dice che L `e una matrice sparsa. Ci`o
comporta una notevole semplicazione computazionale.
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Propriet`a qualitative dellalgoritmo
Le seguenti propriet`a sono motivate sia da argomenti teorici che da
applicazioni pratiche; viene mostrata la stabilit`a dellalgoritmo nelle
condizioni di:
Conni deboli: quando sono parte di conni pi` u marcati lalgoritmo
individua conni deboli di oggetti distinti; altri algoritmi (p.e.
graph cuts) non orono lo stesso risultato.
Rumore sperimentale: lalgoritmo restituisce una segmentazione
adabile anche in presenza di rumore sperimentale.
Regioni ambigue: una regione non etichettata e localmente costante
che deve essere assegnata a regioni con etichette diverse viene
attribuita.
1
Alla regione con cui condivide la maggiore supercie.
2
In caso di pareggio al punto 1) alla regione con intensit`a pi` u 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
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Esempi di applicazione
Una prima applicazione dellalgoritmo di segmentazione ad unimmagine
in scala di grigio:
Immagine originale con in evidenza i quattro pixel pre-etichettati (a
sinistra) e probabilit`a che una camminata aleatoria che parta da ogni
pixel non marcato raggiunga per primo il pixel etichettato in rosso (a
destra). Bianco= probabilit`a massima, nero= probabilit`a minima.
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Esempi di applicazione
Attribuzione ad ogni pixel non marcato delletichetta che massimizza la
probabilit`a (a sinistra) e segmentazione nale dellimmagine (a destra).
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra Camminata aleatoria e funzioni armoniche Problema di Dirichlet e struttura dellalgoritmo Esempi
Esempi di applicazione
Applicazione dellalgoritmo ad unimmagine neutra con 100 punti
pre-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 la
probabilit`a (a sinistra) e segmentazione nale dellimmagine (a destra).
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini
Gra 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 denita su un
grafo per produrre la segmentazione dellimmagine.
Grazie alle propriet`a delle funzioni armoniche ed al teorema di
Dirichlet il problema si riduce computazionalmente alla soluzione di
un sistema di equazioni lineari.
La segmentazione ottenuta `e stabile anche in condizioni critiche
(rumore, conni deboli, regioni ambigue).
lutilizzazione dellalgoritmo `e intuitiva e richiede un numero piccolo
di input esterni (segmentazione soddisfacente anche con soli tre
pixel pre-etichettati).
Sebastiano Roncoroni Camminata aleatoria per la segmentazione di immagini