Mini projet d'Analyse numérique : Minimisation de fonctions non-linéaires
en traitement du signal et de l'image
1 Introduction
Il est demandé de répondre le mieux possible aux questions (certaines ne nécessitent pas de calculs mais plutôt de l'intuition), et de fournir des programmes si possible sans bugs, et d'utilisation évidente, c'est-à-dire qu'on doit pouvoir les exécuter directement avec scilab ou FreeFem++. L'évaluation reposera en grande partie sur les résultats numériques, on conseille aux étudiants de ne pas commencer à programmer trop tard.
2 Segmentation et régularisation de signaux
On s'intéresse à des problèmes de régularisation de signaux ou d'images. L'idée est qu'on dispose d'un signalg(x)qui est l'observation d'un signal (ou des niveaux de gris d'une image)u(x), plus un bruitn(x)qui est supposé être un signal très oscillant.
On suppose que n(x)est un bruit stationnaire de moyenne nulle, dont on connaît la varianceσ2. En première approximation, on peut supposer que sur notre domaine Ω, on aR
Ωn(x)2dx=|Ω|σ2, par conséquent la fonction uinconnue doit vérier Z
Ω
(u(x)−g(x))2dx = σ2|Ω|. (1) Evidemment cette information est largement insusante pour retrouver u parmi l'innité de fonctions qui vérient (1). On doit donc faire des hypothèses supplémen- taires sur u (dites hypothèses a priori, c'est-à-dire, dépendant du type de signal observé et non de l'observation donnéeg).
3 En dimension 1
1. Commençons par étudier le problème de régularisation d'un signal 1D. On suppose que la classe de signauxuqui nous intéresse est régulière mais que des discontinuités sont possibles (cette hypothèse est surtout pertinente pour les images 2D, pourquoi) ? On suppose que notre signal est un vecteur(ui)Ni=1deN échantillons aux pointsi, i= 1, . . . , N, et on introduit une variable ctive vi+1
2 ∈ {0,1},i= 1, . . . , N−1, qui indique si oui (vi+1
2 = 0) ou non (vi+1
2 = 1), le signal est discontinu entre i eti+ 1. Lorsque le signal est continu on suppose que la diérence|ui+1−ui|2doit être petite.
Et on introduit aussi une pénalitéψ(v)(ψ(1) = 0, ψ(0) = 1) pour les discontinuités.
Au nal,(u, v)doit minimiser
E(u, v) =
N−1
X
i=1
αvi+1
2|ui+1−ui|2+βψ(vi+1 2),
1
oùα, β >0sont des paramètres donnés. Et comme rien n'est tout blanc ou tout noir, et que surtout il n'est pas évident de dénir proprement sur un signal discret ce qu'est une discontinuité, on va admettre que la variablevi+1
2 puisse prendre des valeurs dans tout l'intervalle[0,1], voireR+, et admettre desψun peu plus générales (mais toujours décroissantes, positives).
1.a On va considérer les cas suivant
ψ(v) = 1−v (v∈[0,1]) (2)
ψ(v) = v−1−lnv (v∈[0,1]) (3)
ψ(v) = 1
v (v >0) (4)
Dans chaque cas, calculerF(u) := minvE(u, v). Cette fonction est-elle convexe ? 1.b Dans le dernier cas (4), ceminest en réalité uninf(pourquoi ?) Comme dans la méthode numérique on aura besoin d'avoir un vrai minimum, on introduit un petit paramètre ε > 0 et on remplace v > 0 par la contrainte v ≥ ε. Que devient alors l'énergieF(u) = minv≥εE(u, v)?
2. Pour simplier, au lieu de la contrainte (1), on va chercher un minimiseur de l'énergie globale
G(u, v) = E(u, v) + λ
N
X
i=1
|ui−gi|2 (5) oùλ >0 est un multiplicateur de Lagrange pour la contrainte (dont on admet l'exis- tence, et qu'on choisira arbitrairement...)
Quelles sont les dérivées deGpar rapport aux variablesui?vi+1
2? Quelle équation doit vérier un minimiseur ?
Dans le cas (4) avec la contrainte v ≥ ε, peut-on montrer qu'une solution de l'équation est nécessairement un minimiseur ?
3. Ecrire un programme pour calculer un minimiseur de (5), par des minimisations alternées par rapport à u et v, en scilab. ATTENTION ! on cherchera l'équation vériée par le minimiseur (uà v xé, puisv à uxé) et on résoudra celle-ci : il n'est pas question d'implémenter de méthode de minimisation type descente de gradient.
On comparera le cas (4) et un des deux cas (2) ou (3), pour des g réguliers et discontinus. On pourra appliquer un bruit Gaussien plus ou moins important (fonction rand(.,'normal')).
4. Cas continu : on suppose maintenant queu∈H1(I)oùI est un intervalle, et on se place dans le cas (4), avec la contrainteε≤v≤1/ε (doncv∈L∞(I)). Quel serait l'équivalent continu de l'énergie
H: u 7→ min
v G(u, v) ?
2
Cette énergie est-elle convexe ? Admet-elle un minimum ? Réciproquement, montrer que l'énergie
Z
I
log(1 +u0(x)2)dx+ Z
I
(u(x)−g(x))2dx
n'admet un minimiseur que sig=constante.
4 Le cas bidimensionnel
Dans le cas bidimensionnel, on ne va s'intéresser qu'au cas (4). On se donne un domaineΩ, une triangulation et on suppose queuest une discrétisation d'une fonction dans un espace de type P1, etvdans un espace de type P0. On regarde donc le problème
minu,v
Z
Ω
αv|∇u|2+β
v dx +λ Z
Ω
|u−g|2dx (6)
avec à nouveau une contrainte0< ε≤v≤1/ε.
1. Quel est le problème continu équivalent ? (C'est-à-dire, le problème (6) avec u∈H1(Ω) etv ∈L∞(Ω), et non pas pris dans des espaces d'éléments nis.) Montrer qu'àv xé, le problème de minimisation enuest bien posé, et de même àuxé, pour le problème env.
2. Implémenter ce problème avec FreeFem++, par minimisations alternées (comme précédemment, on cherchera le problème variationnel vérié par u à v xé, et on le résoudra, pour v à u xé c'est encore plus simple). Essayer diérents g, dont des g discontinus : qu'observe-t-on ?
3. On aimerait traiter le cas ε = 0. Dans ce cas, si on minimise par rapport à la variablev, le problème (6) devient
minu µ Z
Ω
|∇u|dx + λ Z
Ω
|u−g|2dx (7)
pour une constante µ que l'on déterminera, et le min est pris sur les fonctions u dans l'espace d'éléments nis P1. Pour minimiser ce problème une méthode assez ecace, dérivée de l'algorithme d'Uzawa, est la méthode de directions alternées avec multiplicateur (ADMM = alternating direction method of multiplier) qui est une méthode dite de Lagrangien augmenté : on écrit le problème
minu,p sup
q
µ Z
Ω
|p|dx + Z
Ω
q·(∇u−p)dx + α
2|∇u−p|2dx + λ Z
Ω
|u−g|2dx (8) où p, q sont des variables auxilaires dans l'espace d'éléments nis P0. Montrer (en calculant explicitement le sup surq) que ce problème est bien équivalent à (7).
3
4. La minimisation de (8) par rapport à la variable p est explicite, à condition de savoir résoudre des problèmes de la forme
min
y∈Rd
τ|y| + |x−y|2
2 (9)
où x ∈ Rd, d ≥ 1 (en pratique on aura d = 2). Montrer que la solution de (9) est donnée par :
y = x − 1
max{|x|/τ,1}x . (10)
5. La méthode consiste alors à alterner les trois étapes suivante :
minimisation par rapport àu(que l'on écrira sous forme de problème variationnel en FreeFem++),
minimisation par rapport àp(qui est donnée par la formule explicite (10) qu'on implémentera également),
mise à jour du multiplicateur :q←q+α(∇u−p).
(Eckstein, Bertsekas 1992). Comparer les résulats avec la méthode précédente. On pourra raner le maillage avec adaptmesh le long des discontinuités (quand observe- t-on des discontinuités ?)
5. Que pensez-vous de l'intérêt de cette méthode en restauration d'images ?
4