Méthodes d`optimisation par coupe minimale UE GREC (M2 IMA

Commentaires

Transcription

Méthodes d`optimisation par coupe minimale UE GREC (M2 IMA
Méthodes d’optimisation par coupe minimale
UE GREC (M2 IMA, UPMC)
Sylvain LOBRY
30 mars 2014
Table des matières
1 Introduction
1.1 Notations et définitions . . . . . . . . . . . . . . . . . . . . . .
1.2 Rappels sur les champs de Markov . . . . . . . . . . . . . . .
1.3 Intérêt des méthodes par coupe minimale . . . . . . . . . . . .
1
2
3
5
2 Cas binaire
2.1 Modèle d’Ising . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Généralisation . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
6
8
3 Cas
3.1
3.2
3.3
multi-étiquettes
12
Alpha-Beta swap . . . . . . . . . . . . . . . . . . . . . . . . . 12
Alpha expansion . . . . . . . . . . . . . . . . . . . . . . . . . 15
Algorithme exact . . . . . . . . . . . . . . . . . . . . . . . . . 18
4 Conclusion
1
21
Introduction
Dans ce dossier, nous allons présenter des méthodes d’optimisation de modèles markovien dans le cadre de problèmes de traitement d’image à l’aide
de coupe minimale. Les champs de Markov représentent une façon de modéliser des problèmes en intégrant de l’information spatiale contenue dans un
voisinage et sont présentés par [4]. Aujourd’hui, les champs de Markov sont
utilisés pour des tâches telles que la restauration d’images, l’inpainting ou la
segmentation ([8]).
Dans cette introduction, nous allons commencer par préciser les notations
qui seront utilisées dans la suite de ce document avant de rappeler rapidement
les bases des champs de Markov. Ensuite, nous présenterons les motivations
qui conduisent à utiliser des méthodes par coupe minimale afin d’optimiser
des champs de Markov.
1.1
Notations et définitions
Dans ce document, nous allons considérer que l’image est formée d’un
ensemble de sites fini S = {s}. S est donc un sous-ensemble de Zd , où est d
est la dimension de l’image (classiquement, on prendra d = 2 ou 3).
À chaque site s, on associe un descripteur xs prenant ses valeurs dans E
et représentant la valeur du site. E peut-être, par exemple, un ensemble d’étiquettes (e.g. E = {1, q}), l’ensemble des niveaux de gris (e.g. E = {0, 255}).
La formalisation par champs de Markov ayant pour principal intérêt
d’ajouter des informations spatiales, il nous faut maintenant définir ces relations entre les sites. On ajoute donc à notre modélisation de l’image un
système de voisinage :
Définition 1 (Voisinage)
Vs = {t} avec =
s 6∈ Vs
t ∈ Vs =⇒ s ∈ Vt
À partir de ce système de voisinage, on déduit un système de clique :
Définition 2 (Clique)
Une clique est soit :
– Un singleton de S.
– Un ensemble de sites tous voisins les uns des autres.
On remarque donc que le système de clique est entièrement dépendant de V.
On note C l’ensemble des cliques, et Ck l’ensemble des cliques de cardinal k.
2
On définit les interactions locales entre différents descripteurs de sites
constituant une clique c comme un potentiel de clique noté Uc . On peut alors
définir les énergies globales et locales du système :
Définition 3 (Énergie)
Énergie globale : U =
P
Uc
c∈C
Énergie locale d’un site s : Us =
P
Uc
c∈C,s∈c
Nous allons maintenant définir des notations probabilistes pour l’image.
À chaque site s, on associe une variable aléatoire Xs . Le descripteur xs définit
auparavant est donc une réalisation de Xs .
On définit le champ aléatoire X = {Xs }. x = {xs } est donc une configuration de l’image. On en déduit l’espace des configuration possibles Ω = E |S| .
1.2
Rappels sur les champs de Markov
On définit un champ de Markov de la manière suivante :
Définition 4 (Champ de Markov)
X est un champ de Markov si et seulement si :
– ∀x ∈ Ω, P (X = x) > 0
– ∀s ∈ S, ∀x ∈ Ω,
P (Xs = xs |Xt = xt , s 6= t) = P (Xs = xs |Xt = xt , t ∈ Vs )
En d’autres termes, X est un champ de Markov si et seulement si la probabilité conditionnelle locale en un site ne dépend que de la configuration des
sites appartenant à son voisinage.
Afin de pouvoir calculer les probabilités conditionnelles locales, nous devons définir le champs de Gibbs de potentiel associé à V.
3
Définition 5 (Champ de Gibbs)
Le champ de Gibbs de associé à V est le champ aléatoire X dont la
probabilité est une mesure de Gibbs associé à V :
P
Uc (x))
P (X = x) = Z1 exp(−U (x)) = Z1 exp(−
c∈C
On peut donc dans un champ de Gibbs décomposer la probabilité d’une
configuration en une somme de potentiels de cliques locaux. Pour pouvoir lier
ce résultat aux champs de Markov, nous utilisons le théorème de HammersleyClifford ([1]) :
Théorème 1 (Hammersley-Clifford)
Si les hypothèses suivantes sont réunies :
– S est fini ou dénombrable
– V est borné
– E est discret
Alors, X est un champ de Markov relativement à V et P (X = x) > 0
si et seulement si X est un champs de Gibbs de potentiel associé à
V.
On peut déduire des résultats précédents que dans le cas d’un champ
Markovien :
exp(−Us (xs |Vs ))
P (Xs = xs |Xt = xt , s 6= t) = P
exp(−Us (xs |Vs ))
(1)
xs ∈E
On remarque que maximiser P (X) revient donc à minimiser U .
Applications dans un cadre bayesien Afin de pouvoir appliquer les résultats précédents à des problèmes classiques du traitement d’image, nous
devons nous placer dans un cadre bayesien.
On part d’une image y qui est une réalisation d’un champ aléatoire Y .
On cherche une réalisation x d’un champ de Markov X correspondant à une
4
solution de la problématique. Dans ce cas là, X est un champ de Markov
« caché », car l’observation que nous avons n’est pas issue de X mais de Y .
On utilise le critère du maximum à posteriori afin de trouver la configuration x optimale conditionnellement à notre donnée y. D’après le théorème
de Bayes :
P (X = x|Y = y) =
P (Y = y|X = x)P (X = x)
P (Y = y)
Dans les 3 termes, P (Y = y) est une constante indépendante de x. On fait
(x))
l’hypothèse que X est un champ de Markov, donc P (X = x) = exp(−U
,
Z
où Z est une constante de normalisation. Enfin, P (Y = y|X = x) décrit
le processus d’acquisition des donnés, et on fait souvent l’hypothèse (forte !)
que les probabilités conditionnelles des sites sont indépendantes, ce qui nous
permet d’écrire :
Y
P (Ys = ys |Xs = xs )
P (Y = y|X = x) =
s
Ainsi, on peut réécrire notre expression du maximum à posteriori comme :
exp(ln(P (Y = y|X = x)) − U (x)
exp(−U(x|y))
=
K
K
P
P
Avec K une constante de normalisation et U(x|y) =
Uc (ys |xs ) +
Uc .
P (X = x|Y = y) =
s∈S
c∈C
On appellera souvent Uc (ys |xs ) le terme d’attache aux données (car il impose
le fait que xs soit proche de ys ) et Uc le terme de régularisation.
1.3
Intérêt des méthodes par coupe minimale
Dans les problèmes exprimés sous forme de champs de Markov, la fonction
à optimiser est non-convexe, avec un espace d’état bien trop grand pour être
exploré entièrement. En effet, celui-ci est Ω de cardinal |E||s| . Sur une image
binaire de 10 par 10, cela représente donc environ 1030 possibilités, rendant
une exploration complète de l’espace des solutions inenvisageable pour des
raisons de complexité.
Plusieurs techniques ont alors été proposée afin de trouver des solutions
proches de l’optimum global de manière efficace. [4] propose de s’inspirer de
la physique avec le recuit simulé. Cette méthode converge vers le minimum
5
global de la fonction à la condition que la température baisse suffisamment
lentement. Cette dernière nécessité fait que les calculs peuvent être lourds,
sans avoir la garantie que le schéma de décroissance de la température soit
assez lent pour trouver le minimum global.
D’autres solutions existent, comme par exemple l’ICM (iterated conditional modes) qui est très rapide, mais converge vers un minimum local dépendant de l’initialisation. On peut alors relancer l’algorithme plusieurs fois
afin de prendre le meilleur minimum local. En pratique, il y a bien trop de
minimum locaux dans l’espace des solutions pour espérer converger vers le
minimum global.
C’est pour répondre à ce problème d’optimisation que des solutions par
coupes minimales ont été proposé. Nous allons voir que ces algorithmes nous
permettent de converger vers un minimum éventuellement global très rapidement, mais seulement pour certaines formes d’énergies. Le principe général
de ces techniques est de construire un graphe tel que la coupe minimale soit
en correspondance directe avec une configuration de l’image. Ainsi, les méthodes que nous allons décrire dans la suite de ce document ont pour but de
proposer des constructions de ce type.
2
2.1
Cas binaire
Modèle d’Ising
Principe
Il existe plusieurs algorithmes permettant d’optimiser un champ de Markov lorsque l’espace des états possible à pour cardinal 2. Le premier d’entre
eux proposé par [5] permet de trouver l’optimum global avec comme condition que la régularisation soit définie selon un modèle d’Ising. Dans ce cas,
le champ de Markov, si on se limite aux cliques d’ordre 2, est défini par :
U(x|y) =
X
Uc (ys |xs ) + β
s
X
δ(xs , xt )
(2)
(s,t)
Avec
δ(x, y) =
6
1 x 6= y
0 x=y
(3)
Figure 1 – Construction du graphe selon [5]
Le terme de régularisation (δ(xs , xt )) cherche à favoriser les solutions homogènes. La pondération imposée par β indique à quel point on cherche une
solution régulière. Une valeur de β élevée donnera des solutions très homogènes, mais respectant moins bien l’observation y. Au contraire, un β faible
conduira à des solutions proche de y mais peu régularisées.
Afin d’optimiser ce type de champs de Markov avec des coupe minimale
dans un graphe, il faut définir la construction de ce dernier.
On ajoute un noeud par site présent dans notre image. En plus de cela, on
ajoute les deux noeuds terminaux nommé s et t. On a donc |S|+2 noeuds. On
ajoute ensuite les arcs en respectant pour tous les noeuds is correspondant à
un site s de l’image :
– Entre la source et is : On ajoute un arc de poids w(is , s) = Uc (ys |0).
– Entre le puits et is : On ajoute un arc de poids w(is , t) = Uc (ys |1).
– Entre is et jt /t ∈ Vs : On ajoute un arc de poids w(is , jt ) = β.
Le graphe correspondant pour une image 1D munie du voisinage naturel
(Vi = {i − 1, i + 1}) est présenté dans la Figure 1.
On note S l’ensemble des noeuds dans la partition de la source, et T ceux
7
dans celle du puits. On peut calculer le coût de la coupe :
X
X
X
C(S, T ) =
Uc (ys |0) +
Uc (ys |1) +
s/is ∈S
s/is ∈T
β
s,t/t∈Vs ,is ∈S,it ∈T
On remarque que C(S, T ) est exactement égal à U(x|y) si on prend pour
chaque site s :
– xs = 1 si is ∈ T
– xs = 0 si is ∈ S
Étant donné que la coupe est minimale, et que toutes les configurations
x ∈ Ω peuvent être décrites via une coupe de ce graphe, on a la garantie
d’avoir trouvé le U(x|y) de valeur minimale. Avec cette correspondance entre
la coupe minimale du graphe et le champ de Markov, on réussit donc à trouver
le minimum global de notre fonction d’énergie.
Critique
Cet article a réussi à relancer l’intérêt pour les champs de Markov, en
présentant une manière efficace de trouver le minimum global de la fonction d’énergie. En effet, comme nous l’avons vu dans la sous-section 1.3, il
n’existait pas de moyen efficace de trouver le minimum global d’un champ
de Markov avant cet article.
Lorsque le champ de Markov est défini dans le cadre imposé par l’article,
il n’y a pas de raisons d’utiliser d’autres moyens d’optimisation : celui-ci est
rapide, et peu coûteux en mémoire. En revanche, la modélisation demandée pour cette méthode est très restrictive : il faut que |E| = 2 et que la
régularisation soit faite par un modèle d’Ising.
Cet article a ouvert la voie à des méthodes d’optimisation par coupe de
graphe plus évoluées, à commencer par une généralisation à d’autres termes
de régularisation pour le cas binaire que nous allons voir maintenant.
2.2
Généralisation
Dans [7], l’auteur cherche à caractériser les énergies pouvant être optimiser à l’aide de coupes minimales dans un graphe. Celui-ci choisit de se placer
dans un cas binaire, tout en précisant que ce cas peut se généraliser à l’aide
de [2] que nous présenteront dans la sous-section 3.1 et la sous-section 3.2.
L’auteur s’intéresse principalement aux énergies définies à l’aide de cliques
d’ordre 2 (classe notée F 2 ) et à celle définies à l’aide de cliques d’ordre 3
8
(classe notée F 3 ). De plus, il propose une condition nécessaire sur une fonction quelconque binaire afin de pouvoir minimiser celle-ci à l’aide de coupe
minimales. On remarque que F 2 est un sous-ensemble de F 3 et donc qu’il est
suffisant d’étudier le cas F 3 . Néanmoins, les preuves sont ici constructives
(nécessaire afin de pouvoir définir le graphe), et la construction de F 2 est
plus simple. Les deux résultats sont donc montrés de manière séparée. Les
théorèmes présentés dans la suite de cette partie ne sont pas tous démontrés.
Le lecteur est invité à se référer aux annexes de [7] pour les démonstrations.
Énergies de F 2
On commence par définir la sous-modularité :
Définition 6 (Sous-modularité)
Une fonction binaire Uc est dite sous-modulaire si et seulement si :
Uc (0, 0) + Uc (1, 1) ≤ Uc (0, 1) + Uc (1, 0)
Avec cette définition, [7] propose le théorème suivant :
Théorème 2 (Théorème de F 2 )
Une énergie de la forme
U(x|y) =
X
Uc (ys |xs ) +
s
X
Uc (xs , xt )
(s,t)
est optimisable par coupe minimale dans un graphe si et seulement
si Uc (., .) est sous-modulaire.
De plus, [7] montre que l’optimisation de toute autre forme d’énergie est
NP-difficile. Nous allons maintenant prouver le théorème de F 2 en exhibant
la construction d’un graphe représentant l’énergie dans le cas où celle-ci est
sous-modulaire.
On s’intéresse d’abord à la construction permettant la représentation du
terme d’attache aux données (Uc (ys |xs )). On construit le graphe en ajoutant
9
(a) Cas Uc (0|xs ) − Uc (1|xs ) < 0
(b) Cas Uc (0|xs ) − Uc (1|xs ) ≥ 0
Figure 2 – Construction du graphe représentant le terme d’attache aux
données selon [7].
un noeud par site de l’image, plus deux noeuds terminaux, s et t. Le graphe
contient donc |S| + 2 noeuds. Chacun des noeuds is représentants un site va
être relié à l’un des deux terminaux selon la valeur de Uc (0|xs ) − Uc (1|xs ) :
– Si Uc (0|xs ) − Uc (1|xs ) < 0 : On relie is à s avec le poids Uc (1|xs ) −
Uc (0|xs ).
– Sinon : On relie is à t avec le poids Uc (0|xs ) − Uc (1|xs ).
Cette construction est schématisée dans la Figure 2. Une fois le graphe représentant ce terme d’attache aux données construit, nous en définissons un
autre pour les cliques d’ordre 2.
On note A = Uc (0, 0), B = Uc (0, 1), C = Uc (1, 0) et D = Uc (1, 1). Ces
termes peuvent être décomposés selon le tableau présenté dans la Figure 3.
L’idée de [7] est de construire un graphe pour représenter chacun des 4
termes de la décomposition présentée dans la Figure 3. Le premier terme
étant constant, il n’intervient pas dans la représentation. Le second dépend
seulement de xs , et le troisième de xt . Ainsi, on peut reprendre la construction
de l’attache aux données (qui ne dépend également que d’une variable) pour
ces deux termes.
Enfin, pour représenter le dernier terme, on ajoute un arc entre is et it
ayant pour poids B +C −A−D. Ce poids est bien positif grâce à la contrainte
10
Figure 3 – Décomposition (tirée de [7]).
de sous-modularité :
Uc (0, 0) + Uc (1, 1) ≤ Uc (0, 1) + Uc (1, 0)
⇐⇒ A + D ≤ B + C
⇐⇒ B + C − A − D ≥ 0
Une fois ces graphes définis pour chacun des sites et des deux termes de
l’énergie, il suffit de les fusionner à l’aide du théorème d’additivité :
Théorème 3 (Théorème d’additivité)
La somme de deux fonctions représentables par graphe est représentable par graphe.
La démonstration de ce théorème est donnée dans [7].
Énergies de F 3 L’auteur propose de généraliser la notion de sous-modularité
aux fonctions de plus de 2 variables. On appelle donc une fonction de n variables (n > 2) sous-modulaire si toutes les projections obtenues en fixant
n − 2 variables sont sous-modulaires.
Cette généralisation de la sous-modularité fournie donc une condition
nécessaire et suffisante afin de pouvoir représenter une fonction de la classe
F 3 sous forme de graphe : il faut qu’elle soit sous-modulaire. Encore une
fois la preuve est constructive. Les constructions pour les cliques d’ordre 1
et d’ordre 2 sont effectuées de la même manière que pour la classe F 2 . Pour
les cliques d’ordre 3, la construction est effectuée d’une manière similaire
à celle des cliques d’ordre 2, en passant par une décomposition en termes
représentables par graphe.
11
Critique
Cet article généralise fortement le précédent en caractérisant toutes les
fonctions optimisable par coupe minimale de graphe et en donnant leur
construction. Il ne s’étend néanmoins sur des cas multi-étiquettes que de
manière approximée (voir sous-section 3.1 et sous-section 3.2).
3
Cas multi-étiquettes
Après avoir montré comment optimiser une fonction binaire à l’aide de
coupe minimale, nous allons étendre ce résultat à des fonction prenant leur
valeur dans E avec |E| > 2 et |E| fini. Deux approches sont ici possibles :
on peut se ramener à un cas binaire afin d’utiliser les constructions définies
dans la section 2 ou bien utiliser une nouvelle construction de graphe.
La première approche est présentée dans la sous-section 3.1 et la soussection 3.2, tandis que la seconde est présentée dans la sous-section 3.3.
3.1
Alpha-Beta swap
Principe et algorithme Dans son article, [2] s’intéresse aux fonctions de
la forme :
X
X
Uc (ys |xs ) +
Uc (xs , xt )
U(x|y) =
s
(s,t)
C’est à dire aux fonctions définies sur des cliques d’ordre 2. Il propose deux
résultats, conditionnés par la forme de Uc (., .). Pour le résultat que nous
allons étudier dans cette partie il est nécessaire que la fonction Uc soit une
semi-métrique.
Définition 7 (Semi-métrique)
Une fonction Uc (., .) est une semi-métrique si :
– Uc (a, b) = Uc (b, a) ≥ 0
– Uc (a, b) = 0 ⇐⇒ a = b
On part d’une solution initiale P. On parle d’un mouvement α-β swap
donnant une solution P’ si après celui-ci, P=P’ pour tous les pixels dont le
12
label était différent de α et de β. À partir de ce mouvement simple dont l’optimisation par coupe de graphe va être présentée, [2] propose un algorithme
permettant de converger vers un minimum local exposé dans l’algorithme 1
(on notera x0 les solutions accessibles en un α-β swap de x).
Algorithm 1 α-β swap
1:
2:
3:
4:
5:
procedure α-β swap(x)
. x une solution éventuellement aléatoire
repeat
MadeProgress ← false
for all (α, β) ∈ E 2 do
x̂ ← arg min
U(x0 |y)
0
x
6:
7:
8:
9:
10:
11:
12:
13:
if U(x̂|y) < U(x|y) then
x ← x̂
MadeProgress ← true
end if
end for
until !MadeProgress
return x
end procedure
L’idée est donc que temps qu’on arrive à optimiser l’énergie en réalisant
des α-β swap, on le fait. En effet, avec cette solution, on peut aisément voir
qu’on va converger vers un minimum local. On note tout de même la complexité de la boucle « for » qui va tourner sur |E|2 . Il reste désormais à définir
comment arriver à trouver efficacement le minimum x̂ des solutions x0 éloignée d’un α-β swap de x. Pour cela, il est proposé de construire un graphe
représentant ce problème.
Construction du graphe pour le α-β swap optimal La construction
de ce graphe est fortement inspirée de celle proposée par [5]. Le but est donc
de construire un graphe permettant à des sites s dont la valeur est xs = α
de prendre la valeur β et inversement. On prend donc un graphe avec deux
noeuds terminaux S et T . Cette fois-ci, ils ne représentent plus les valeurs 0
et 1 mais α et β.
Ainsi, pour chaque site s dont la valeur dans x est xs = α ou xs = β, on
ajoute un noeud is . Ce noeud est relié aux noeuds S et T selon :
13
Figure 4 – Construction du graphe pour l’α-β swap dans le cas où s ∈ Vt
et u 6∈ Vt .
– w(is , S) = Uc (α) +
P
Uc (α, xt )
t∈Vs
xt 6=α,xt 6=β
– w(is , T ) = Uc (β) +
P
Uc (β, xt )
t∈Vs
xt 6=α,xt 6=β
De plus, si 2 sites s et t présents dans le graphe sont voisins selon V, on
ajoute l’arc :
– w(is , it ) = Uc (α, β).
La présentation de cette construction est illustrée dans le cas 1D dans la
Figure 4.
À partir de la méthode proposée par [5], on peut aisément associer une
solution x0 à une coupe minimale dans le graphe présenté dans la Figure 4
et donc trouver le x̂ donnant l’énergie minimale parmis tous les mouvements
éloignés d’un α-β swap de x.
Critique Cette méthode permet une première généralisation au cas multiétiquettes des méthodes vues pour le cas binaire. Néanmoins, elle a deux
défauts importants :
14
– La solution trouvée n’est qu’un minimum local, et aucune garantie que
ce minimum local soit proche du global.
– L’algorithme permettant d’arriver à cette solution a une complexité
forte, dûe à la double boucle sur les valeurs de E.
En revanche, cette solution permet d’utiliser indirectement les travaux de [5]
et est adaptable à de nombreuses fonctions d’énergies avec seulement une
contrainte de semi-métrique. De plus, même si la complexité est importante,
en pratique la méthode finit plus vite qu’un recuit simulé.
En rajoutant une contrainte sur la forme du terme de régularisation, on
peut obtenir une méthode plus rapide avec des garanties théoriques sur l’éloignement du minimum local obtenu au minimum global. C’est cette méthode
que nous allons désormais présenter.
3.2
Alpha expansion
Principe et algorithme Dans cette seconde méthode, [2] s’intéresse aux
fonctions de la forme :
X
X
Uc (ys |xs ) +
Uc (xs , xt )
U(x|y) =
s
(s,t)
où la fonction Uc (., .) est une métrique (une semi-métrique vérifiant en plus
l’inégalitée triangulaire).
Définition 8 (Métrique)
Une fonction Uc (., .) est une métrique si :
– Uc (a, b) = Uc (b, a) ≥ 0
– Uc (a, b) = 0 ⇐⇒ a = b
– Uc (a, b) ≤ Uc (a, c) + Uc (c, b)
Pour les fonctions dont le terme de régularisation est une métrique, on peut
utiliser l’algorithme de l’α-expansion ayant deux avantages par rapport au
α-β swap. Le premier est, nous allons le voir, le gain en complexité de chaque
cycle de l’algorithme. Le second est qu’on est capable de majorer le minimum
c (a,b))
local obtenu par un facteur 2k du minimum global avec k = max(U
.
min(Uc (a,b))
15
Afin de réaliser cette méthode, on part d’une solution initiale P. On
parle d’un mouvement α-expansion donnant une solution P’ si après celuici, P=P’ pour tous les pixels dont le label est différent de α dans P’. En
d’autre termes, un mouvement α-expansion permet seulement aux sites de
l’image n’ayant pas pour valeur α de prendre la valeur α, et uniquement
celle-ci. À partir de ce mouvement, [2] propose un algorithme permettant de
converger vers un minimum local exposé dans l’algorithme 2 (on notera x0
les solutions accessibles en un α-expansion de x).
Algorithm 2 α-expansion
1:
2:
3:
4:
5:
procedure α-expansion(x) . x une solution éventuellement aléatoire
repeat
MadeProgress ← false
for all α ∈ E do
x̂ ← arg min
U(x0 |y)
0
x
6:
7:
8:
9:
10:
11:
12:
13:
if U(x̂|y) < U(x|y) then
x ← x̂
MadeProgress ← true
end if
end for
until !MadeProgress
return x
end procedure
On note que cet algorithme est très similaire à l’algorithme 1, à la différence prêt que la boucle for ne tourne plus que sur les valeurs de E, présentant
un gain important en complexité. La difficulté est encore une fois de trouvé
le x̂ minimisant la fonction d’énergie. Pour cela, [2] propose une construction de graphe dont la coupe minimale donne une solution dont l’énergie est
minimale. Cette construction fait l’objet du prochain paragraphe.
Construction du graphe pour le α-expansion optimal Ici aussi, la
construction du graphe est inspirée de celle de [5], quoique différente de celle
présentée dans la sous-section 3.1.
On commence par fixer un α. On ajoute deux noeuds terminaux : le
premier représente la valeur α et sera noté comme tel, et le second représente
toutes les valeurs sauf α et sera noté α. On rajoute un noeud is pour chaque
16
Figure 5 – Construction du graphe pour l’α-expansion dans le cas où xs =
α, xt 6= α, xu = α et xv = α.
site s de l’image. Enfin on ajoute un noeud auxiliaire pour chaque paire de
site (s, t) tel que t ∈ Vs et que xs 6= xt dans la solution X. On note ce noeud
a(s,t) . Les arcs sont définis de la manière suivante :
1. w(α, is ) = Uc (ys |α).
2. w(α, is ) = ∞ si xs = α.
3. w(α, is ) = Uc (ys |xs ) si xs 6= α.
4. w(is , a(s,t) ) = Uc (xs , α) si xs 6= xt .
5. w(a(s,t) , it ) = Uc (xt , α) si xs 6= xt .
6. w(a(s,t) , α) = Uc (xs , xt ) si xs 6= xt .
7. w(is , it ) = Uc (xs , α) si xs = xt .
On illustre cette construction dans le cas 1D dans la Figure 5 (où (i) est
une arrête construite selon la ieme règle). On prouve qu’une coupe minimale
dans ce graphe nous donne bien la solution optimale dans les parties utilisants
17
les règles 4, 5 et 6 en utilisant la contrainte de sous-modularité :
Uc (α, α) + Uc (α(s), α(t)) ≤ Uc (α, α(s)) + Uc (α(t), α)
⇐⇒ 0 + Uc (xs , xt ) ≤ Uc (α, xs ) + Uc (xt , α)
Pour les autres parties, le lecteur peut s’en convaincre en enlevant les noeuds
auxiliaires et les noeuds qui leur sont rattachés.
Critique Cette méthode permet de calculer rapidement un minimum local
majoré par un multiple du minimum global lorsque le terme de régularisation
de l’énergie est une métrique. Ce résultat est fort, et en fait une technique
toujours utilisée aujourd’hui.
On retiendra néanmoins que le graphe à optimiser contient un nombre
relativement important de noeuds (O(2|S|)). De plus, il n’y a pas de garanties
théoriques sur la rapidité de la convergence vers le minimum local, même si les
résultats expérimentaux présentés dans [2] convergent bien plus rapidement
que le recuit simulé. Enfin, la condition sur le terme de régularisation fait que
cette construction n’est pas utilisable pour toutes les énergies minimisables
par coupe minimale dans un graphe.
3.3
Algorithme exact
Nous venons de voir deux méthodes permettant de trouver un minimum
local dans le cas où |E| > 2. Nous allons désormais étudier celle proposée
par [6] traitant le même problème mais proposant une solution donnant le
minimum global de la fonction d’énergie.
Pour cette partie, on reformule le terme de régularisation de notre fonction
d’énergie :
X
X
U(x|y) =
Uc (ys |xs ) +
Uc
s∈S
=
X
c∈C
Uc (ys |xs ) +
s∈S
X
g(xs − xt )
(s,t)∈C
Nous allons séparer cette méthode en deux parties ; le cas où le terme de
régularisation est de type Total Variations (TV, c’est à dire que g(x) = |x|),
et le cas plus général où la fonction de régualrisation est convexe (g(αx +
(1 − α)y) ≤ αg(x) + (1 − α)g(y), ∀α ∈ [0, 1]).
18
Cas TV On commence par prendre un graphe avec deux noeuds terminaux,
S et T . On ajoute un noeud is,v pour chaque valeur possible v que peut
prendre chaque site s. Autrement dit, chaque site s nécessite la construction
de |E| noeuds. On a donc un graphe avec |E| × |S| noeuds.
Il reste maintenant à ajouter les arcs définis de la manière suivante (pour
une attache aux données normalisée) :
– w(S, is,1 ) = ∞
– w(is,j , is,j+1 ) = Uc (ys |j).
– w(is,j , T ) = Uc (ys |j)
– w(is,j+1 , is,j ) = ∞
– w(is,j , it,j ) = 1
La construction réalisée en suivant ses règles est présentée dans la Figure 6.
On peut calculer le coût de cette coupe :
C(S, T ) = w(i1,1 , i1,2 ) + w(i1,2 , i2,2 ) + w(i2,2 , i2,3 ) + w(i3,2 , i3,3 ) + w(i3,3 , i4,3 ) + w(i4,3 , T )
= Uc (y1 |1) + 1 + Uc (y2 |2) + Uc (y3 |2) + 1 + Uc (y4 |3)
On voit facilement que ce coût est exactement notre fonction d’énergie pour
la solution x = {1, 2, 2, 3}. Même si la régularisation TV est souvent utilisée, il est utile d’être capable de définir des graphes pour d’autres fonctions
d’énergie. C’est l’objet du prochain paragraphe.
Cas général Pour généraliser la construction précédente, on autorise chaque
paire de noeuds is,j , it,l à avoir un arc les reliant.
Supposons que xs = j et que xt = k. D’après les règles définies ci-dessus,
les arcs (is,j , is,j+1 ) et (it,k , it,k+1 ) sont dans la coupe. De plus, comme chaque
paire de noeuds peut avoir un arc, on a tous les arcs is,a , it,b pour a ≤ s, b > t
et it,b , is,a pour a > s et b ≤ t dans la coupe. Ainsi, pour ces arcs, la somme
des poids est (en notant l la valeur maximale de E) :
f (s, t) =
s
l
X
X
w(is,a , it,b ) +
a=1 b=t+1
j
l
X
X
w(it,b , is,a )
a=i+1 b=1
Si on suppose que f (s, t) ne dépend que de s − t, alors on peut définir une
fonction g̃(s − t) = f (s, t). L’auteur montre que cette fonction g̃ est convexe.
Cette démonstration se fait en montrant que la dérivée seconde de g̃ est
positive (ce qui caractérise une fonction convexe).
19
Figure 6 – Construction du graphe pour une image 1D avec |S| = 4 et
|E| = 3. Les flèches noires représentent les règles 1, 2 et 3, les flèches en
pointillés la règle 4 et les flèches grises la règle 5 (figure tirée de [6]).
20
En prenant le problème de manière opposé, c’est-à-dire en partant de la
fonction g (connue) et en cherchant à définir les poids, on obtient le résultat
suivant :
w(is,j , it,k ) =
g(j − k + 1) − 2g(j − k) + g(j − k − 1)
2
qui nous permet donc de définir les poids des arcs ajoutés.
Critique Cette méthode a le double avantage d’être capable de donner le
minimum global au problème posé et de le faire en une seule coupe minimale
dans un graphe.
En revanche, on remarque que le graphe ainsi construit est imposant. Il
faut |E| × |S| noeuds. Pour une image à niveaux de gris de 100 × 100, cela
fait 2560000 noeuds ! La construction du graphe et la recherche de la coupe
de coût minimale peut donc être relativement longue à cause de la taille importante du graphe construit.
On ajoutera qu’avec une hypothèse de convexité sur le terme d’attache
aux données, il est possible d’utiliser une approche par dichotomie pour ramener le problème à une construction de graphes binaires (voir [3]).
4
Conclusion
Nous avons donc présenté dans ce document quelques manières de réaliser
une optimisation d’énergie à l’aide de coupe minimale dans un graphe. Après
avoir proposé un cadre markovien dans lequel définir et appliquer ces fonctions d’énergies, nous avons présenté deux méthodes permettant d’optimiser
des énergies dont l’attache aux données est faite selon un modèle d’Ising
(sous-section 2.1), ou bien sous-modulaire (sous-section 2.2).
Ensuite, nous avons regardé comment étendre ce type de constructions
aux niveaux de gris, d’abord de manière approchée avec sous-section 3.1 et
sous-section 3.2, puis de manière exacte mais avec une grande taille mémoire
requise avec sous-section 3.3.
Le Tableau 1 résume les principales caractéristiques des méthodes étudiées
dans ce document.
21
Méthode
Ising
Généralisation
α-β swap
α-expansion
Exact
|E|
2
2
>2
>2
>2
Modèle
Uc (., .)
Ising
Sous-modulaire
Semi-métrique
Métrique
Convexe
Solution
Exacte
Exacte
Approchée
Approchée
Exacte
Complexité
Spatiale
Temporelle
θ(|S|)
GC
θ(|S|)
GC
O(|S|)
o(|E|2 × GC)
θ(|S|)
o(|E| × GC)
θ(|S| × |E|)
GC
Table 1 – Caractéristiques des méthodes étudiées dans ce document (où GC
est la complexité d’une coupe).
Références
[1] Julian Besag. Spatial interaction and the statistical analysis of lattice systems. Journal of the Royal Statistical Society. Series B (Methodological),
pages 192–236, 1974.
[2] Yuri Boykov, Olga Veksler, and Ramin Zabih. Fast approximate energy
minimization via graph cuts. Pattern Analysis and Machine Intelligence,
IEEE Transactions on, 23(11) :1222–1239, 2001.
[3] Jérôme Darbon and Marc Sigelle. Image restoration with discrete
constrained total variation part i : Fast and exact optimization. Journal
of Mathematical Imaging and Vision, 26(3) :261–276, 2006.
[4] Stuart Geman and Donald Geman. Stochastic relaxation, gibbs distributions, and the bayesian restoration of images. Pattern Analysis and
Machine Intelligence, IEEE Transactions on, (6) :721–741, 1984.
[5] DM Greig, BT Porteous, and Allan H Seheult. Exact maximum a posteriori estimation for binary images. Journal of the Royal Statistical Society.
Series B (Methodological), pages 271–279, 1989.
[6] H. Ishikawa. Exact optimization for markov random fields with convex
priors. Pattern Analysis and Machine Intelligence, IEEE Transactions
on, 25(10) :1333–1336, Oct 2003.
[7] Vladimir Kolmogorov and Ramin Zabin. What energy functions can be
minimized via graph cuts ? Pattern Analysis and Machine Intelligence,
IEEE Transactions on, 26(2) :147–159, 2004.
[8] Stan Z Li and S Singh. Markov random field modeling in image analysis,
volume 3. Springer, 2009.
22

Documents pareils