Filtre de courbure moyenne
(Mean Curvature Motion)
Jean-François Aujol et Laurent Garcin
Mars 2000. Projet du cours de MBAI à
l'ENST.
Sommaire
De l'équation de la chaleur au filtre de courbure
moyenne
Un des buts principaux en traitement d'images est l'élimination
du bruit et la détection des contours afin de pouvoir effectuer
une interprétation de l'image sur une version simplifiée
de l'image originale. De nombreuses méthodes ont été
proposées visant à éliminer le bruit tout en gardant
une certaine précision sur les contours. Koenderink et Witkin ont
introduit une analyse dite "scale space" reliée à l'équation
de la chaleur.
du/dt = d2u/dx2
+
d2u/dy2
Comme la solution de cette équation est une gaussienne, on retrouve
l'approche classique par convolution en lissage d'images. En effet, la
résolution de l'équation ci-dessus revient à convoler
u avec une gaussienne à différentes échelles. On sait
bien que cette méthode permet de lisser l'image initiale, mais malheureusement
on perd de la précision sur les contours.
Lions, Morel et Alvarez ont alors proposé une modification non-linéaire
de l'équation précédente :
du/dt = | Du | curv(u) où curv(u)=div(Du/|Du|)
L'équation obtenue est dite équation de mouvement selon
la courbure moyenne. Concrètement, cela équivaut à
une diffusion dégénérée dans la direction orthogonale
au gradient de u et non pas dans la direction du gradient. C'est pourquoi
une telle diffusion permet de garder la localisation exacte et la précision
des contours tout en lissant le reste de l'image.
Principe du filtre de courbure moyenne
Soit u(x,y) la fonction représentant notre image. Le filtre de courbure
moyenne déforme les lignes de niveau de u selon leur courbure. On
comprend donc que ce filtre permet de lisser des images bruitées
car le bruit correspond à une forte courbure locale.
Mouvement initial
|
Forme finale (ligne foncée)
|
Remarque:
Le filtre de courbure moyenne se généralise aux dimensions
supérieures à 2 (de tels filtres sont utilisés pour
les images 3D).
Applications du filtre de courbure moyenne
Le mouvement selon la Courbure Moyenne intervient plus ou moins directement
dans de nombreux domaines:
-
Croissance de cristaux.
-
Bulles de savon.
-
Propagation de front de flamme.
-
Recherche de surface minimale.
-
Génération de maillages pour certaines méthodes numériques.
La formulation par courbes de niveau
On étudie l'évolution d'une hypersurface S de Rn
(n=2,3).
On la considère comme la ligne de niveau d'une fonction u(.,t):

C'est l'approche par Level-Set d'Osher et Sethian.
Si on suppose que l'ensemble des lignes de niveau de u(.,t) évolue
selon la courbure moyenne,
(i.e.) dM/dt = k N où
k et N son respectivement la courbure et la normale au point de
la ligne de niveau considéré
alors u(.,t) est solution du problème:

Réciproquement, si u(.,t) est solution de l'équation
précédente, les courbes de niveau de u(.,t) évoluent
selon le flot à courbure moyenne, à condition que u(.,t)
soit régulière et que le gradient de u ne s'annule jamais.
Exemple:
L'image ci-dessous a été quantifiée sur cinq niveaux
de gris de manière à simplifier la carte des courbes de niveau.
Les images suivantes montrent l'évolution des lignes de niveau au
cours de la diffusion par courbure moyenne.
On constate que les lignes de niveau non significatives disparaissent
et que les lignes de niveau restantes se rapprochent de lignes droites,
ce qui correspond bien à l'idée intuitive d'une déformation
proportionnelle à la courbure.
Filtre de courbure moyenne et morphologie mathématique
En traitement d'image, les opérateurs morphologiques sont des opérateurs
non linéaires. Ils permettent de filtrer itérativement des
images. Ils prossèdent une propriété qui les rend
fort pratiques: ils commutent avec les changements de contraste des images,
ce qu'on vérifie expérimentalement (voir images ci-dessous).
Image initiale
|
Image après changement de contraste
|
Image filtrée puis contrastée
|
Image contrastée puis filtrée
|
On peut de plus montrer que tous les opérateurs morphologiques
(ie monotone, invariant par contraste) sont asymptotiquement équivalents
à un mouvement de l'image selon sa courbure.
En particulier, le filtre de courbure moyenne peut etre obtenu comme
limite d'un filtre médian itéré.
Débruitage d'images en utilisant le filtre de courbure
moyenne
Image initiale
|
Image avec un bruit gaussien de variance 20
-
SNR = 8.43984
-
PSNR = 20.8807
-
MSE = 398.765
-
MRD = 37.2549
-
entropie = 7.7172
|
Image restaurée avec le filtre de courbure moyenne
-
Pas de temps = 0.1
-
Intervalle de temps = [0.0;4.0]
-
SNR = 19.8258
-
PSNR = 32.2666
-
MSE = 28.9816
-
MRD = 53.6036
-
entropie = 7.27529
|
Image restaurée avec le filtre médian
-
Fenêtre de rayon 3
-
2 itérations
-
SNR = 20.0451
-
PSNR = 32.486
-
MSE = 27.5543
-
MRD = 38.7387
-
entropie = 7.29013
|
Image restaurée avec le filtre de courbure moyenne
-
Pas de temps = 0.1
-
Intervalle de temps = [0.0;3.2]
-
SNR = 19.9923
-
PSNR = 32.4331
-
MSE = 27.8915
-
MRD = 44.1964
-
entropie = 7.29827
|
Image restaurée avec le filtre de courbure moyenne
-
Pas de temps = 0.1
-
Intervalle de temps = [0.0;2.0]
-
SNR = 18.6906
-
PSNR = 31.1315
-
MSE = 37.639
-
MRD = 29.0043SNR = 13.5788
-
entropie = 7.36105
|
-
Cas d'un bruit impulsionnel:
Image initiale
|
Image bruitée avec un bruit impulsionnel à 10%
-
SNR = 6.01762
-
PSNR = 18.4585
-
MSE = 696.528
-
MRD = 98.19
-
entropie = 7.34938
|
Image restaurée avec le filtre de courbure moyenne
-
Pas de temps = 0.1
-
Intervalle de temps = [0.0;4.0]
-
SNR = 21.4155
-
PSNR = 33.8564
-
MSE = 20.0978
-
MRD = 52.0362
-
entropie = 7.22499
|
Image restaurée avec le filtre médian
-
Fenêtre de rayon 3
-
2 itérations
-
SNR = 23.7604
-
PSNR = 36.2012
-
MSE = 11.7129
-
MRD = 47.0588
-
entropie = 7.16098
|
Image restaurée avec le filtre de courbure moyenne
-
Pas de temps = 0.1
-
Intervalle de temps = [0.0;2.5]
-
SNR = 23.1165
-
PSNR = 35.5574
-
MSE = 13.5846
-
MRD = 42.5339
-
entropie = 7.24221
|
Image restaurée avec le filtre de courbure moyenne
-
Pas de temps = 0.1
-
Intervalle de temps = [0.0;2.0]
-
SNR = 22.3289
-
PSNR = 34.7698
-
MSE = 16.2858
-
MRD = 42.0814
-
entropie = 7.2574
|
-
Commentaires sur les résultats:
Le filtre de courbure moyenne se révèle très efficace
dans le cas d'un bruit impulsionnel. On peut en effet montrer qu'il se
comporte dans un premier temps comme un écréteur d'extréma
locaux. Les résultats se révèlent moins bons pour
un bruit gaussien, mais restent tout a fait corrects.
On peut noter l'importance du choix du temps d'arrêt pour la
diffusion selon la courbure moyenne. Trop petit, il reste du bruit dans
l'image, et trop grand, l'image devient floue.
Conclusion
Le filtre de courbure moyenne, de par ses excellentes propriétés
théoriques, est un outil très utilisé en morphologie
mathématique. Il présente cependant des difficultés
pratiques lorsque l'on veut l'implémenter. Il faut notamment faire
très attention lors de la discrétisation du gradient, car
sinon (et nos premières tentatives nous l'ont confirmé) on
obtient des résultats aberrants. Un schéma numérique
efficace a été proposé par F. Catte, F. Dibos, G.Koepfler.
Néanmoins, dans une première approche, il est peut-être
préférable de se contenter d'itérer le filtre médian,
beaucoup plus simple à programmer, et qui donne des résultats
tout à fait comparables.
Pour préserver la netteté des contours, K. Mikula a suggéré
de modifier légèrement l'équation de diffusion :
où g(s) tend vers 0 quand s tend vers l'infini, de manière
à empêcher les déformations sur les contours caractéristiques.
Bibliographie
-
"Image iterative smoothing and P.D.E's", de F Guichard et J-M Morel
-
"A morphological scheme for mean curvature motion and applications to anisotropic
diffusion and motion of level sets", de F Catte, F Dibos et G Koepfler
D'une manière générale, on peut trouver de
nombreux articles traitant du filtre de courbure moyenne sur internet.
Nous avons réalisé nos exemples avec le logiciel MegaWave2,
developpé par Jacques Froment, Frederic Guichard, et Lionel Moisan.
On peut trouver toutes les imformations relatives a ce logiciel sur le
serveur du CEREMADE.
Nous avons également fait des essais en Matlab.
retour au sommaire