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