• Aucun résultat trouvé

2 Minimisation avec scilab

N/A
N/A
Protected

Academic year: 2022

Partager "2 Minimisation avec scilab"

Copied!
6
0
0

Texte intégral

(1)

Analyse numérique : mini-projet

Minimisation de variation totale et calcul de surfaces minimales

1 Introduction

On se propose de comparer des techniques de minimisation de la variation totale et de calcul d'ensembles qui minimisent leur surface (comme nous ne travaillerons qu'en dimension 1 ou 2, il s'agira essentiellement de points, ou de courbes qui minimisent leur longueur).

La variation totale, d'un point de vue naïf, est la fonction J : u7→

Z

|∇u|dx

oùuest une fonction dénie sur l'ouvertΩ(en pratique : un segment ou un rectangle), et∇uson gradient.

Elle a été introduite en statistique puis en traitement d'images dans le but de régulariser des données bruitées ou dégradées, suivant le modèle simplié suivant : on cherche un signalu(x)régulier par morceaux et on observeu(x)+n(x)oùn(x)est un bruit (plus simplement, une oscillation inconnue) de moyenne nulleR

n dx= 0, et de varianceσ2= (R

n2dx)/|Ω|donnée (on suppose qu'on sait l'estimer). On espère alors retrouveruen minimisant

Z

|∇u|pdx + λ Z

|u−g|2dx (1)

où p ≥ 1 est donné, et λ est un multiplicateur de Lagrange qui doit être cherché dans le but de satisfaire la contrainteR

|u−g|2dx=R

n2dx=σ2|Ω|. [En pratique on xeraλ, pour simplier.]

L'idée est de chercher, parmi toutes les fonctionsutelles queg s'écritu+n avec R

n dx= 0etR

n2dx/|Ω|=σ2, celles qui est la plus régulière au sens ou un critère donné (iciR

|∇u|2) est minimal.

L'approche la plus simple consiste à choisirp= 2: en eet, dans ce cas, on montre facilement que le problème a une solution unique et queg7→uest un opérateur linéaire qui peut être résolu rapidement. (L'équation d'Euler s'écrit eectivement

−∆u+u=g dans Ω,∂u

∂n = 0 sur∂Ω. et correspond bien à un problème linéaire.)

Cependant, si g et ureprésentent le niveau de gris (ou de couleur, ou d'intensité lumineuse) d'un pixel dans une image, cette méthode soure d'un énorme défaut : l'image reconstruiteuest oue. La raison est très simple : sip= 2,u∈H1(Ω). Or en dimension 1, par exemple, on sait que siu∈H1(a, b)uest 1/2-Hölderienne et donc continue. En dimension 2, on montre de même queune peut être discontinue à travers une ligne. Mais dans une image, le bord d'un objet est justement représenté par une discontinuité à travers une ligne : sans quoi l'objet paraît ou.

(2)

Pour toute autre valeur de p > 1, on peut montrer que (1) a une solution dans W1,p(Ω)et à nouveau on montre que cette solution (en 1D) est continue (et oue en dimension supérieure).

Pour cette raison, des chercheurs ont proposé à la n des années 80 de considérer le cas p = 1. Dans ce cas le problème est non-linéaire, plus compliqué à résoudre numériquement (c'est l'objet de cet exercice), et les plus matheux soulèveront une objection : sip= 1, n'a-t-on pas à nouveauu∈W1,1(Ω), et n'avons-nous pas apris de même que les fonctions de cet espaces étaient continues en dimension 1 (et de même ne peuvent être discontinues à travers une ligne en dimension 2, etc) ? Les solutions ne devraient-elles donc pas être tout aussi oues ?

Si, mais en réalité, le problème est un peu plus compliqué, au sens où pour p= 1, la minimisation (1) n'a en général pas de solution, ou plus précisément pas de solution dansW1,1: par exemple, supposonsΩ = (−1,1)etg(x) =a×(signe dex), aveca >0. Il est alors raisonnable de chercher une solutionucroissante et impaire, commeg (ça se démontre).

Si uest croissante et impaire, alorsJ(u) =R1

−1|u0(x)|dx=R1

−1u0(x)dx=u(1)− u(−1) = 2u(1). On minimise donc, parmi toutes les fonctions croissantes et impaires,

2u(1) + λ Z 1

−1

|u(x)−asgnx|2dx = 2u(1) + 2λ Z 1

0

|u(x)−a|2dx

Il est facile de voir qu'une fois que le problème est ainsi réécrit, la meilleure solution est donnée paru=bsgnxpour une constantebavec0≤b≤a. (En eet,uétant croissante est toujours≤u(1),b=u(1)doit être plus petite queasinon la fonctionmin(u, b)est meilleure, mais siu(x)< bpour unx∈]0,1[, alors on peut faire descendre l'énergie en augmentant légèrementuau voisinage dex.

Question 1 Calculerb. Que se passe-t-il siλest trop petit ?

Mais voilà, cette fonctionuest discontinue (siλest assez grand), et siu(1)a bien un sens, que veut-dire

J(u) = Z 1

−1

|u0(x)|dx ? (un'est certainement pas dansW1,1(−1,1).)

La réponse est que le minimum de (1) n'est pas atteint dans W1,1 mais dans un espace plus gros (appelé l'espace des fonctions à variation bornée), qui contient des fonctions discontinues (comme notre solutionu), et en dimension 2 des fonctions discontinues à travers une ligne. Cet ensemble est donc approprié pour représenter des images nettes.

Il se trouve que si on essaie d'approcher (par exemple par une suiteunminimisante) la solution de (1) par des fonctions deW1,1, la limite de ces fonctions sera toujours notreu, discontinue.

En pratique, on va toujours discrétiser le problème. On peut donc mettre à la poubelle toutes ces subtilités et considérer, en dimension 1, un problème de la forme :

min

(ui)N−1i=0

X

i>1

|ui−ui−1| + λ

N−1

X

i=0

(ui−gi)2 (2)

(3)

qui a toujours une solution (mais on verra que cette solution a bien l'aspect d'une fonction discontinue sigest une marche comme dans l'exemple précédent).

Question 2 Pourquoi a-t-on toujours une solution à (2) ?

2 Minimisation avec scilab

La diculté pour résoudre (2) est que le problème a une dérivée singulière. Les méthodes classiques (gradient, Newton) marchent mal.

Une approche possible est de remarquer que

|w| = inf

v>0v|w|

2

2

+ 1 2v et de remplacer le problème par

inf

(ui)N−1i=0 ,(vi)N−1i=1 N−1

X

i=1

vi|ui−ui−1| 2

2

+ 1 2vi

N−1

X

i=0

(ui−gi)2 (3) Une façon de résoudre ce problème consiste à minimiser alternativement la fonction par rapport à(ui)et par rapport à(vi)(attention, il faudrait démontrer que ça marche, ce qui n'est pas toujours le cas).

Question 3 Ecrire l'équation vériée par le vecteur (ui). Ecrire l'équation vériée par le vecteur(vi): que se passe-t-il lorsqueui+1=ui?

En pratique, pour éviter quevi prenne la valeur+∞(et pour que l'inf dans (3) devienne un min) on minimise sur vi ∈ [0,1/] pour une valeur > 0 xée au préalable. Siw=ui−ui−1, on remplace donc|w|dans l'énergie par

φ(w) = min

v∈[0,1/]v|w|

2

2

+ 1 2v

Question 4 Calculerφ. Que se passe-t-il quand→0? Résoudre le problème avec scilab (par minimisations alternées enuetv), pour diérentes valeurs de. Discuter.

Remarque : on prendra pourg : une marche (une fonction discontinue avec deux valeurs), une sinusoide, une marche à laquelle un bruit a été ajouté.

3 Dimension 2

En dimension 2, la même méthode est utilisée pour débruiter des images. Nous allons tester une autre application. On considère une goutte d'eau posée sur une sur- face rugueuse, hydrophobe. La goutte d'eau est représentée par un ensemble E, la surface par le bord supérieur d'un ensembleS, on aE∩S =∅. L'énergie du système (après renormalisation), est une énergie de surface portée par le bord deE (tension supercielle). Elle est donnée par

surface de(∂E\S) + σ×surface de(∂E∩∂S)

(4)

oùσ≤1 est un coecient de mouillage deS (qui ne dépend que du matériau). Si σ <1, on voit que le système préfère (i.e., abaisse son énergie) que la goutte soit collée àS (car la surface libre, non collée àS, a une énergie supérieure).

On va s'intéresser à un système bidimensionnel (qu'on résoudra avec freefem++).

Dans un rectangleR= (0,1)×(0, H), on va dénirS={(x, y) : y < h(x)} oùhest une fonction (continue, ou s.c.i.) etH > sup[0,1]h. On appelleΓ = (0,1)× {H}le bord supérieur du rectangle et on va supposer que la goutte E contient toujours Γ (plus précisément, on peut voirE⊂Rcomme une fraction du bord inférieur de la goutte, qui contientΓ, et on va chercher à calculer la forme de son contact avec la surface∂A).

On poseΩ =R\S.

On va chercher à minimiser (numériquement)

surface de(∂E∩Ω) + σ×surface de(∂E∩∂S) (4) parmi tous lesE⊂ΩavecE ⊃Γ.

Question 5 SiS est plat (h=constante), quelle va être la solution siσ <1. Y a-t-il unicité siσ= 1?

L'idée est que sihest assez chahutée,E a intérêt à toucherS (on supposeσ <1), puisque la longueur de son bord coûte alors moins cher, mais pas forcément à aller remplir les creux de∂S (car alors il faut payer toute la longueur du bord de∂S, qui même multipliée parσ <1 peut être plus longue qu'un segment sautant au dessus du creux, voir gure).

On peut montrer que la solution de (4) peut être calculée en cherchant u qui minimise

min

u=1surΓ

Z

|∇u|+σ Z

∂S

|u|. (5)

Sur{0} ×(h(0), H)et {1} ×(h(1), H), on pourra mettre des conditions de Neumann, périodiques (avec h(1) =h(0) dans ce cas), ou encore de Dirichlet (u = χE0 où E0

est un ensemble donné sur le bord, avec bien sûrχE0 = 1 eny=H pour respecter la contrainteu= 1surΓ).

4 Calcul avec FreeFem++

Pour calculer (5) on va utiliser FreeFem++.

On doit d'abord dénir un maillage du domaineΩ, de pas approximatif de discré- tisationη >0. Il faut utiliser correctement la commande border pour dénir le bord inférieur du domaine comme le graphe de la fonctionh. Attention de mettre assez de points sur ce bord (on pourra éventuellement dénir un premier maillage et utiliser adaptmesh pour le régulariser un peu).

Ensuite, on introduit l'espace Vη d'éléments nis P1 sur ce maillage. Le but est alors de résoudre

min

u∈Vη

Z

|∇u| + σ Z

∂S

|u|

avec la contrainteu= 1surΓ. Comme le problème est non linéaire (avec encore des valeurs absolues), on utilise le truc introduit en dimension 1 : on va introduire >0,

(5)

htb

∂S

∂E

E

(6)

v: Ω→[0,1/], w:∂S→[0,1/] et remplacer le problème par

u,v,wmin Z

v|∇u|

2

2

+ 1 2v + σ

Z

∂S

wu 2

2

+ 1 2w sous contrainteu= 1surΓ,v, w≤1/.

Question n°6 Dans quel espace est-il le plus approprié de choisir v? (Quel type d'élément nis ?) Ecrire un programme qui résout ce problème et essayer diérents prolsh.

Références

Documents relatifs

C'est pourquoi nous nous proposons d'étudier maintenant un procédé approchant (P) en une seule étape : il s'agit d'une approximation directe du problème (P) utilisant simultanément

Dans ce papier, nous nous intéressons aux problèmes d’ordonnancement sur des machines parallèles en présence d’un effet de détérioration et de maintenances de durée variable,

Dans ce chapitre on a présenté l’application de deux méthodes d’optimisation : mono-objective, dans laquelle nous avons utilisé la méthode de Taguchi pour optimiser le

Plan de l’exposé Programmation SDP Optimisation sans contraintes Optimisation avec contraintes Et après?. Minimisation polynomiale à

Dans ce travail, nous proposons des algorithmes rapides pour r´esoudre ces probl`emes, par minimisation de la va- riation totale sous contraintes.. Les algorithmes propos´es

Cet article donne un aperçu de la problématique de la protection de la vie privée dans les systèmes d’informations médicales et propose un système de chiffrement compatible avec

Une nouvelle classe d’algorithme du premier ordre particuli` erement efficace est apparue r´ ecemment.. Comparer sa vitesse de convergence avec les autres m´ ethodes ´ etudi´ es dans

Elles sont emballées comme indiqué ci-dessous à l’aide d’une bande de plastique.. Les proportions ne sont pas