• Aucun résultat trouvé

3.3 Champs de Markov convexes

3.3.2 Algorithme de calcul de la plus grande pente locale

Nous montrons maintenant comment calculer un déplacement local qui fait décroître strictement l’énergie. L’algorithme que nous présentons retourne non seulement un dépla- cement qui fait décroître l’énergie, mais c’est aussi un déplacement qui fait décroître le "plus possible" l’énergie. Notre algorithme repose sur des coupures minimales. Récemment une approche similaire a aussi été utilisée, par Bioucas et al dans (15), pour effectuer ce calcul. Ici, nous tirons parti de la forme de l’énergie du champ de Markov (équation3.4). En effet, bien que K. Murota énonce la propriété3.6pour des fonctions plus générales que les nôtres, il ne propose pas de calcul efficace pour calculer cette descente.

Nous montrons tout d’abord que le champ de Markov, défini par l’équation (3.4), possède une propriété de représentation par graphe au sens de Kolmogorov et al.. Nous présentons ensuite un algorithme original pour calculer la descente locale de plus grande pente. Enfin nous présentons un nouvel algorithme pour minimiser E(·|v).

Représentation par graphe

Étant donnée une valeur d, la propriété suivante énonce que si chaque pixel a le choix entre se déplacer de la quantité d ou rester à sa valeur actuelle, alors nous pouvons calculer un déplacement qui conduit à un état d’énergie minimale. Nous montrons que ce calcul peut s’effectuer par coupure minimale.

Proposition 3.8 Considérons l’énergie du champ de Markov convexe définie par l’équation (3.4) : E(u|v) =X s fs(us, vs) + X t∼s gst(us− ut) .

Supposons que chaque pixel uspuisse soit garder sa valeur us, soit prendre une nouvelle valeur us+d.

Soit la famille {bs} qui indique pour chaque site si la nouvelle valeur a été prise ou non (bs = 1 si la

nouvelle est choisie au site s, et bs = 0 sinon). L’énergie suivante, qui définit un champ de Markov

binaire, est représentable par graphe au sens de Kolmogorov et al.. E({bs}|v) = X s fs(us+bsd, vs) + X t∼s gst(us− ut+bsd − btd) . (3.22)

Preuve : L’équation (3.22) définit un modèle d’Ising ferromanétique. Cette propriété est vraie si tous les termes de régularisation sont représentables par graphe au sens de Kolmogorov et al.. Nous définissons les termes énergétiques binaires suivants :

st(bs, bt) = gst(us− ut+bsd − btd) , (3.23)

où a et b sont des variables binaires. Chacun de ces termes est représentable par graphe au sens de Kolmogorov et al., i.e,

st(0, 0) + Eδst(1, 1) ≤ Eδst(1, 0) + Eδst(0, 1) .

Ceci correspond à montrer que :

2gst(us− ut) ≤ gst(us− ut− d) + gst(us− ut+d) .

Cette dernière inégalité est vraie par convexité des {gst}, et conclut la preuve.  Autrement dit, étant donné un champ de Markov convexe et un déplacement, nous pouvons calculer l’état d’énergie minimale. Nous montrons ci-dessous comment appliquer ce résultat au calcul de la descente locale de plus grande pente.

Algorithme de calcul de la plus grande pente locale

Avant de présenter notre algorithme de calcul de la plus grande pente nous présentons un lemme qui servira à le prouver. Ce lemme énonce qu’un champs de Markov convexe est une fonction sous-modulaire. Une fonction f : ZZn→ IR est dite sous-modulaire si et seulement si ∀x, y ∈ ZZn f(x) + f (y) ≥ f (x ∧ y) + f (x ∨ y) , (3.24) où (x ∧ y)s=max(xs, ys) et (x ∨ y)s=min(xs, ys).

Lemme 3.1 Un champs de Markov convexe est une fonction sous-modulaire.

Preuve : • Sous-modularité d’un champs de Markov convexe. Rappelons la définition d’un champs de Markov convexe donné par l’équation3.4:

E(u|v) =X s fs(us, vs) + X (s,t) gst(us− ut) .

Pour prouver la sous-modularité de E, il suffit de prouver la sous-modularité pour chaque terme d’attache aux données et pour chaque terme de régularisation.

• termes d’attache aux données. Immédiat.

• termes de régularisation. Considérons deux image u et ˆu. Il nous faut montrer que :

gst(us− ut) + gst( ˆus− ˆut) ≥ gst((u ∧ ˆu)s− (u ∧ ˆu)t) + gst((u ∨ ˆu)s− (u ∨ ˆu)t) (3.25)

Nous montrons que cette dernière égalité est équivalente à la convexité de gst. Nous consi-

dérons les différents cas possibles

– Si (u ∨ ˆu)s=uset (u ∨ ˆu)t =ut, alors (u ∧ ˆu)s= ˆuset (u ∧ ˆu)t = ˆut et l’inégalité3.25est

trivialement vérifiée.

– Le cas où (u ∨ ˆu)s= ˆuset (u ∨ ˆu)t= ˆutse traite de la même manière que le précédent.

– Supposons (u ∨ ˆu)s=uset (u ∨ ˆu)t = ˆut. Il faut donc montrer que :

gst(us− ut) + gst( ˆus− ˆut) ≥ gst( ˆus− ut) + gst(us− ˆut) .

En notant Xst=us− ut, Yst= ˆus− ˆutet δ = ˆus− usl’inégalité précédente est équivalent

à :

gst(Xst) + gst(Yst) ≥ gst(Xst+δ) + gst(Yst− δ) .

En remarquant que nous avons Xst ≥ Yst, et δ ≤ 0, nous voyons que cette dernière

inégalité correspond à la convexité de gstd’après la proposition3.1-c).

– Enfin, le cas où (u ∨ ˆu)s = ˆuset (u ∨ ˆu)t = ut se traite de la même manière que le cas

précédent.

Ceci conclut la preuve. 

Notre algorithme de calcul de la descente de plus grande pente repose sur l’application de deux coupures minimales. Nous notons 1 l’image constante qui vaut 1 pour tous les pixels. La proposition suivante présente l’algorithme de descente. Avant de donner la proposition nous définissons D+=

{0, 1}|S|et nous rappelons que D = {−1, 0, 1}|S|. Proposition 3.9 Soit u une image. L’algorithme suivant retourne δ ∈ D tel que

E(u + δ|v) = min

δ′∈DE(u + δ

) .

Algorithme :

1. Soit u−=u − 1 .

2. Calculer ˆu1tel que

ˆu1=min

δ∈D+E(u

+δ|v) .

3. Calculer ˆu tel que

ˆu = min

δ∈D+E( ˆu

1+

δ|v) . 4. Retourner ˆu − u .

Preuve : Les étapes 2 et 3 sont effectuées par coupure minimale en utilisant le résultat de la proposition3.8.

Considérons l’énergie ˜E(·|v) qui est la restriction de l’énergie E(·|v) aux images u′ telles

que ku′− uk

l’algorithme, il suffit de prouver que ˆu est un minimiseur global de ˜E(·|v). Nous notons ˜M l’ensemble des minimiseurs de ˜E(·|v). Par définition de u−, nous avons

min

˜u∈ ˜Mku −− ˜uk

∞≤ 2 .

Si ∃u′ ∈ M, |u− u|

∞ ≤ 1 alors, ce minimiseur est trouvé par l’étape 2 (car c’est une

image qui produit une plus grande pente), et ˆu est donc bien un minimiseur global de ˜E(·|v). Il nous reste à traiter le cas où ∀u′ ∈ M, ku− uk

∞ =2. D’après le lemme3.1, ˜E est une

fonction sous-modulaire, nous avons donc :

∀ u′∈ M, ˜E(u′) + ˜E( ˆu1) ≥ ˜E(u′∨ ˆu1) + ˜E(u′∧ ˆu1) . Nous avons donc :

∀ u′∈ M, ˜E( ˆu1) − ˜E(u′∧ ˆu1) ≥ ˜E(u′∨ ˆu1) − ˜E(u′) . Remarquons que nous avons k(u′∨ ˆu1)−uk

∞≤ 1, et ˜E(u′∨ ˆu1)− ˜E(u′) ≤ 0. Si ˜E(u′∨ ˆu1)− ˜E(u′) >

0, alors ˜E( ˆu1) − ˜E(u∧ ˆu1) > 0. Cette dernière inégalité contredit le fait que ˆu1soit une descente

de plus grande pente depuis u. Nous avons donc, ˜E(u′∨ ˆu1) = ˜E(u). Autrement dit (u∨ ˆu1)

est un minimiseur global. Et (u′∨ ˆu1) est bien atteignable depuis ˆu1en appliquant l’étape 2.

Donc ˆu est bien un minimiseur global. Ceci conclut la preuve.  L’algorithme ci-dessus requiert deux coupures minimales sur un champ de Markov bi- naire pour calculer une descente locale de plus grande pente pour l’énergie E(·|v). Il nous faut maintenant montrer que cette descente locale de plus grande pente se rapproche bien d’un minimiseur global.

Nous pouvons maintenant présenter notre premier algorithme de minimisation qui utilise ces derniers résultats.