4. Probl´ematique & Solution
Des quantit´es ´enormes d’images m´edicales sont
produites chaque jour par diverses applications
L’analyse et l’interpr´etation manuelle
est une tˆache fastidieuse
La segmentation automatique des images
m´edicales est une tˆache cruciale
3
6. Quelle est la segmentation ?
La segmentation d’image est:
le processus de partitionner l’image en r´egions significatives et plus faciles
`a analyser.
4
7. Les m´ethodes de segmentation
• Les m´ethodes de segmentation bas´ees sur le seuillage
• Les m´ethodes de segmentations bas´ees sur les contours
• Les m´ethodes de segmentation bas´ees sur les r´egions
• Les m´ethodes de segmentation bas´ees sur la classification
• HMRF - champs al´eatoires de Markov cach´es
• K-means
• etc
5
8. L’objectif de notre travail
Fournir une m´ethode de segmentation
• Automatique
• Rapide (temps de segmentation)
• Tr`es efficace en terme de qualit´e
6
10. Pourquoi les champs al´eatoires de Markov cach´es?
• Fournissent une mani`ere ´el´egante de mod´eliser le probl`eme de
segmentation
• Fournissent un algorithme robuste au bruit
• Fournissent une haute qualit´e de la segmentation
7
11. Champs al´eatoires de Markov cach´es - 1/2
L’image `a segmenter y = {ys}s∈S en
K classes est une r´ealisation de Y
• Y = {Ys}s∈S est une famille de
variables al´eatoires
• ys ∈ [0 . . . 255]
L’image segment´ee en K classes
x = {xs}s∈S est une r´ealisation de X
• X = {Xs}s∈S est une famille de
variables al´eatoires
• xs ∈ {1, . . . , K}
Un exemple de segmentation en
K = 4 classes
x∗
= argx∈Ω max {P[X = x | Y = y]}
8
12. Champs al´eatoires de Markov cach´es - 2/2
Ce mod`ele ´el´egant conduit `a la minimisation d’une fonction ´energ´etique
donn´ee dans la formule suivante
Ψ(x, y) = s∈S ln(σxs
) +
(ys −µxs )2
2σ2
xs
+ β
T c2={s,t} (1 − 2δ(xs, xt))
• Ce probl`eme est NP-Complet
• Par cons´equent, des techniques d’optimisation sont utilis´ees
9
14. Notre contribution
a. On a commenc´e par l’am´elioration de la qualit´e ICM avec K-means
b. L’am´elioration du temps par l’utilisation de MPI pour distribuer le
calcul sur un cluster de PC
c. On a propos´e une nouvelle mod´elisation qui nous a permis
d’impl´ementer
• HMRF-PSO
• HMRF-Nelder-Mead
• HMRF-Torczon
• HMRF-BFGS
• HMRF-CG
10
15. HMRF-ICM (Iterated Conditional Modes) - 1/3 - Algorithme
R´ep´eter
a. Initialisation
• L’it´eration n = 0
• On choisit de mani`ere al´eatoire la configuration initiale x(0)
b. G´en´erer al´eatoirement une perturbation x(n+1)
`a partir de x(n)
c. Calculer = Ψ(x(n+1)
, y) − Ψ(x(n)
, y)
• Si < 0, on accepte la perturbation x(n+1)
• Si non ( ≥ 0), x(n+1)
= x(n)
d. Incr´ementer n
Jusqu’`a l’obtention d’un crit`ere d’arrˆet
11
16. HMRF-ICM (Iterated Conditional Modes) - 2/3 - R´esultats
Nous avons remarqu´e que:
• ICM d´epend tr`es ´etroitement de l’initialisation
• Le temps de convergence est tr´es important
• D´epend de la taille de l’image (nombre de pixels)
• D´epend du nombre de classes (K)
Pour rem´edier `a ces probl`emes nous avons utilis´e:
• Le r´esultat de K-means comme configuration initiale
• Le cluster de PCs (avec l’utilisation de MPI)
12
17. HMRF-ICM (Iterated Conditional Modes) - 3/3 - R´esultats
• On a eu une am´elioration dans le temps et la qualit´e de
segmentation
• Le temps et la qualit´e de segmentation restent un d´efi
• La complexit´e de la solution
Pour cela nous avons pens´e `a une nouvelle mod´elisation du probl`eme
de segmentation
13
18. Nouvelle mod´elisation du probl`eme - 1/3
x∗
= arg
x∈Ω
min {Ψ(x, y)}
Ψ(x, y) =
s∈S
ln(σxs
) +
(ys − µxs
)2
2σ2
xs
+
β
T
c2={s,t}
(1 − 2δ(xs, xt))
L’id´ee principale est de trouver la bonne moyenne (ou centre) de chaque
classe au lieu de trouver la bonne classe de chaque pixel
µ∗
= arg
µ∈[0...255]K
min {Ψ(µ)}
Ψ(µ) =
K
j=1 s∈Sj
[ln(σj ) +
(ys − µj )2
2σ2
j
] +
β
T
c2={s,t}
(1 − 2δ(xs, xt))
14
19. Nouvelle mod´elisation du probl`eme - 2/3
Dans le premier cas
• Si on a une image `a segmenter en 04 classes de taille
1000 × 1000 = 106
pixels
• On doit trouver une bonne configuration parmi (106
)4
= 1024
cas
Avec la nouvelle mod´elisation on aura besoin de trouver juste les 04
bons centres
15
20. Nouvelle mod´elisation du probl`eme - 3/3
Pour appliquer des techniques d’optimisation, nous red´efinissons la
fonction Ψ(µ) pour µ ∈ RK
au lieu µ ∈ [0 . . . 255]K
.
Forme 1
Ψ1
(µ) =
Ψ(µ) Si µ ∈ [0 . . . 255]K
+∞ Si non
Ψ1
traite tous les points ext´erieurs
[0 . . . 255]K
de la mˆeme mani`ere
Forme 2
Ψ2
(µ) =
K
j=1 F(µj ) o`u µj ∈ R
F(µj ) =
f (0) − uj ∗ 103
Si µj < 0
f (µj ) Si µj ∈ [0 . . . 255]
f (255) + (uj − 255) ∗ 103
Si µj > 255
f (µj ) =
s∈Sj
[ln(σj ) +
(ys −µj )2
2σ2
j
] + β
T
c2={s,t}
(1 − 2δ(xs, xt))
`A travers les tests Ψ2
(µ) est mieux que Ψ1
(µ)
16
21. HMRF-PSO (Particle Swarm Optimization) - 1/3 - Algorithme
Soit EP un essaim de e particules,
EP = (P1, . . . , Pi , . . . , Pe)
R´ep´eter `a l’instant t,
a. Chaque Pi a une position µi,t
= (µi,t
1 , . . . , µi,t
j , . . . , µi,t
K )
b. Chaque Pi ´evalue sa position par Ψ(µi,t
)
c. Chaque Pi calcule mi,t+1
(pbest)
mi,t+1
=
mi,t
si Ψ(µi,t+1
) ≥ Ψ(mi,t
)
µi,t+1
si Ψ(µi,t+1
) < Ψ(mi,t
)
d. On calcule Mt
(gbest)
Mt
= arg min Ψ(µ1,t
), . . . , Ψ(µi,t
), . . . , Ψ(µe,t
) 17
22. HMRF-PSO (Particle Swarm Optimization) - 2/3 - Algorithme
e. Chaque particule i calcule sa prochaine v´elocit´e
vi,t+1
= (vi,t+1
1 , . . . , vi,t+1
j , . . . , vi,t+1
K )
vi,t+1
j = w × vi,t
j + c1 × r1,t
j × (mi,t
j − µi,t
j ) + c2 × r2,t
j × (Mt
j − mi,t
j )
f. Chaque particule i calcule sa pochaine position µi,t+1
= µi,t
+ vi,t+1
Jusqu’`a ce que les crit`eres de convergence soient atteints
La solution est la meilleure position Mt
visit´ee par toutes les particules
18
23. HMRF-PSO (Particle Swarm Optimization) - 3/3 - R´esultats
Avantages
• Algorithme de recherche globale tr`es efficace
• L’impl´ementation est simple
• L’algorithme a donn´e de tr`es bons r´esultats sur differentes
images (NDT, BrainWeb et d’autres images m´edicales)
• Robuste au nombre de classes K
• Facile `a parall´eliser
Inconv´enients
Il y a beaucoup de param`etres c1, c2, w, vmax , e
Comment choisir les param`etres?
19
24. HMRF-Nelder-Mead - 1/8 - Algorithme
a. Propos´e par John Nelder et Roger Mead (1965)
b. Pour minimiser Ψ(µ) de K inconnues, il faut K + 1 sommets ∈ RK
forme simplexe non d´eg´en´er´e (c’est-`a-dire non plat)
c. Bas´e sur la comparaison des valeurs de Ψ(µ) `a K + 1 sommets
d. `A chaque it´eration, un nouveau sommet est g´en´er´e par rapport au
centre de gravit´e de K meilleurs sommets par les op´erations:
• R´eflexion
• Expansion
• Contraction
e. Le sommet dont la fonction est la moins bonne est remplac´e par un
nouveau sommet dont la valeur est meilleure, sinon le simplexe est
r´eduit
20
25. HMRF-Nelder-Mead - 2/8 - Algorithme
1- Calcul du centre de gravit´e
a. Calculer Ψi = Ψ(Vi )
b. Determiner les indices h, s, l:
• Ψh = max
i
(Ψi )
• Ψs = max
i=h
(Ψi )
• Ψl = min
i
(Ψi )
c. Calculer ¯V = 1
K
i=h
Vi
Exemple dans R2
Centre de gravit´e
21
26. HMRF-Nelder-Mead - 3/8 - Algorithme
2- R´eflexion
a. Calculer Vr le sommet de r´eflexion
Vr = 2 ¯V − Vh
b. ´Evaluer Ψr = Ψ(Vr )
c. Si Ψl ≤ Ψr < Ψs
• Replacer Vh par Vr
• Terminer l’it´eration
Exemple dans R2
R´eflexion
22
27. HMRF-Nelder-Mead - 4/8 - Algorithme
3- Expansion
a. Si Ψr < Ψl
• Calculer Ve le sommet d’expansion
Ve = 3 ¯V − 2Vh
• ´Evaluer Ψe = Ψ(Ve)
• Si Ψe < Ψr
• Replacer Vh par Ve
• Terminer l’it´eration
• Si non (si Ψe ≥ Ψr )
• Replacer Vh par Vr
• Terminer l’it´eration
Exemple dans R2
Expansion
23
28. HMRF-Nelder-Mead - 5/8 - Algorithme
4- Contraction
a. Si Ψr ≥ Ψs et Si Ψr < Ψh
• Calculer une contraction
ext´erieure Vc
Vc = 3
2
¯V − 1
2 Vh
• ´Evaluer Ψc = Ψ(Vc )
• Si Ψc < Ψr
• Replacer Vh par Vc
• Terminer l’it´eration
• Si non (Si Ψc ≥ Ψr )
• Aller `a l’´etape 5 (r´etr´ecir)
Exemple dans R2
Contraction ext´erieure
24
29. HMRF-Nelder-Mead - 6/8 - Algorithme
4- Contraction
a. Si Ψh ≤ Ψr
• Calculer Vc une contraction
int´erieure
Vc = 1
2 (Vh + ¯V )
• ´Evaluer Ψc = Ψ(Vc )
• Si Ψc < Ψh
• Replacer Vh par Vc
• Terminer l’it´eration
• Si non ( Si Ψc ≥ Ψh )
• Aller `a l’´etape 5 (r´etr´ecir)
Exemple dans R2
Contraction int´erieure
25
30. HMRF-Nelder-Mead - 7/8 - Algorithme
5- R´etr´ecir
Remplacer tous les sommets
Vi = 1
2 (Vi + Vl )
La m´ethode s’arrˆete quand un minimum
local est trouv´e; d’o`u la n´ecessit´e d’essayer
plusieurs simplexes initiaux.
Exemple dans R2
R´etr´ecir
26
31. HMRF-Nelder-Mead - 8/8 - R´esultats
Nous avons conduit des tests pour l’obtention d’un simplexe non
d´eg´en´er´e qui donne de bons r´esultats
Avantages
• Rapidit´e de segmentation
• Efficacit´e de traitement
• Simplicit´e de l’impl´ementation
Inconv´enients
• Le r´esultat d´epend fortement du choix du
simplexe qui n’est pas trivial
• Le simplexe peut d´eg´en´erer g´eom´etriquement
27
32. HMRF-Torczon - 1/6 - Algorithme
a. Torczon est une am´elioration de Nelder-Mead
b. Les diff´erences sont:
• Tous les sommets sont concern´es par les op´erations:
• R´eflexion
• Expansion
• Contraction
• Tous les simplexes obtenus par la m´ethode de Torczon sont
homoth´etiques au simplexe de d´epart
• Aucune d´eg´en´erescence ne peut se produire
28
33. HMRF-Torczon - 2/6 - Algorithme
1- ´Evaluation
a. Calculer Ψi = Ψ(Vi )
b. Determiner l’indice l Ψl = min
i
(Ψi )
29
34. HMRF-Torczon - 3/6 - Algorithme
2- R´eflexion
a. Calculer les sommets de r´eflexion
V r
i = 2Vl − Vi
b. ´Evaluer Ψr
i = Ψ(V r
i )
c. Si min
i
{Ψr
i } < Ψl Aller `a l’´etape 3
d. Si non, Aller `a l’´etape 4
Exemple dans R2
R´eflexion
30
35. HMRF-Torczon - 4/6 - Algorithme
3- Expansion
a. Calculer les sommets d’expansion
V e
i = 3Vl − 2Vi
b. ´Evaluer Ψe
i = Ψ(V e
i )
c. Si min
i
{Ψe
i } < min
i
{Ψr
i }
• Remplacer Vi par V e
i
d. Si non
• Remplacer Vi par V r
i
e. Terminer l’it´eration
Exemple dans R2
Expansion
31
36. HMRF-Torczon - 5/6 - Algorithme
4- Contraction
a. Calculer les sommets de contraction
V c
i = 1
2 (Vi + Vl )
b. Remplacer Vi par V c
i
Exemple dans R2
Contraction
32
37. HMRF-Torczon - 6/6 - R´esultats
Torczon a donn´e de meilleurs r´esultats que Nelder-Mead (Temps
et qualit´e)
Comment choisir le simplexe initial?
33
38. HMRF-BFGS - 1/3 - Algorithme
a. BFGS est bas´e sur la descente de gradient pour atteindre le
minimum local
b. L’id´ee principale:
• Nous partons du point initial µ0
• ´A l’it´eration k + 1, on calcule le point (solution) µk+1
µk+1
= µk
+ αk
dk
• αk
est le pas `a l’it´eration k
• dk
est la direction de recherche `a l’it´eration k
34
39. HMRF-BFGS - 2/3 - Algorithme
R´esum´e
a. Initialisation:
• k = 0, H−1
0 = I, α0
= 1
• Choisir µ0
proche de la solution
b. ´A l’it´eration k:
• Calculer une approximation de Hk et H−1
k
• Calculer dk
direction de recherche
dk
= −H−1
k Ψ (µk
)
• Calcuer le pas αk
qui minimise ϕk (α)
ϕk (α) = Ψ(µk
+ αdk
)
• Calculer µk+1
µk+1
= µk
+ αk
dk
c. k = k + 1
d. Le crit`ere d’arrˆet: Si Ψ (µk
) <10−3
alors ˆµ = µk
35
40. HMRF-BFGS - 3/3 - R´esultats
a. BFGS `a besoin au moins de la premi`ere d´eriv´ee
Ψ (µ)) = (∆1, . . . , ∆i , . . . , ∆K ).
b. Dans notre cas, la premi`ere d´eriv´ee n’est pas ´evidente
c. Nous avons utilis´e la forme centrique pour calculer une
approximation de la premi`ere d´eriv´ee
∆i =
Ψ(µ1, . . . , µj + ε, . . . , µK ) − Ψ(µ1, . . . , µj − ε, . . . , µK )
2ε
d. Grˆace aux tests effectu´es, ε = 0.01 est s´electionn´e comme la
meilleure valeur
Comment choisir le point initial?
36
41. HMRF-CG - 1/10 - Algorithme
R´esum´e
a. Soit µ0
le point initial
d0
= −Ψ (µ0
) la premi`ere direction de recherche
b. Calculer le pas αk
qui minimise ϕk (α). On le trouve en s’assurant
que le gradient est orthogonal `a la direction de recherche dk
ϕk (α) = Ψ(µk
+ αdk
)
c. ´A l’it´eration k + 1, on calcule µk+1
µk+1
= µk
+ αk
dk
d. Calculer le r´esiduel rk+1
= −Ψ (µk+1
)
e. Calculer dk
direction de recherche dk+1
dk+1
= rk+1
+ βk+1
dk
37
42. HMRF-CG - 2/10 - Algorithme
Dans la m´ethode du gradient conjugu´e, il existe de nombreuses variantes
pour calculer βk+1
, par exemple:
• The Fletcher-Reeves
βk+1
=
rk+1 T
rk+1
(rk )
T
rk
• The Polak-Ribi`ere
βk+1
= max
rk+1 T
rk+1
− rk
(rk )
T
rk
, 0
38
43. HMRF-BFGS - 3/3 - R´esultats
a. CG comme BFGS `a besoin au moins de la premi`ere d´eriv´ee
Ψ (µ)) = (∆1, . . . , ∆i , . . . , ∆K ).
b. Dans notre cas, la premi`ere d´eriv´ee n’est pas ´evidente
c. Nous avons utilis´e la forme centrique pour calculer une
approximation de la premi`ere d´eriv´ee
∆i =
Ψ(µ1, . . . , µj + ε, . . . , µK ) − Ψ(µ1, . . . , µj − ε, . . . , µK )
2ε
d. Grˆace aux tests effectu´es, ε = 0.01 est s´electionn´e comme la
meilleure valeur
Comment choisir le point initial?
39
44. HMRF-CG - 4/10 - R´esultats
DC - Dice Coefficient
DC =
2|A ∩ B|
|A ∪ B|
a. DC ´egale 1 Dans le meilleur des cas
(segmentation parfaite)
b. DC ´egale 0 Au pire des cas
(chaque pixel est mal class´e) Coefficient de Dice
40
45. HMRF-CG - 5/10 - R´esultats
IBSR
Internet Brain Segmentation Repository
(IBSR) fournit une segmentation
manuelle guid´ee par les experts
BrainWeb
Les images sont simul´ees
On peut sp´ecifier:
- noise
- modality
- slice thickness
- intensity non-uniformity
41
52. Conclusion
• HMRF-ICM (Pixels)
• Nouvelle mod´elisation du probl`eme de segmentation
• HMRF-PSO (Param`etres)
• HMRF-Nelder-Mead, HMRF-Torczon (Simplexe initial)
• HMRF-BFGS, HMRF-CG (Point initial)
• NDT, BrainWeb, IBSR et d’autre images m´edicales sans
v´erit´e terrain
47
53. Perspective
• L’opinion des sp´ecialistes (les praticiens) doit ˆetre prise en
compte dans l’´evaluation
• Le choix des param`etres, du simplexe et du point initial reste
un d´efi
• L’exp´erimentation des approches du deep learning
48