Le filtre médian relâché pour la suppression du bruit

Patrick Labatut
()

Étude d'article réalisée dans le cadre du cours :
Traitement des Images (DEA MVA 2004-2005).


Table des matières

  1. Présentation du problème
  2. Solution proposée
  3. Propriétés
    1. Propriétés statistiques
    2. Propriétés déterministes
  4. Implémentation
  5. Résultats
    1. Images synthétiques
    2. Images réelles
    3. Applications
      1. Détection de contours de Canny
      2. Détection de coins de Harris
  6. Conclusion
  7. Bibliographie
  8. Annexe

1 - Présentation du problème

La suppression du bruit est un des pré-traitements essentiels en vision par ordinateur : il s'agit d'éliminer ce qui est du aux aléas des mesures tout en essayant de ne pas altérer l'information utile contenue dans l'image. Cette opération est fondamentale pour assurer la robustesse des techniques de vision de haut niveau qui requièrent, pour la plupart, l'estimation de dérivées spatiales directement à partir des niveaux de gris des pixels de l'image.

Nous nous limiterons dans la suite de cette étude à la suppression du bruit additif (gaussien ou impulsionnel) : le bruit multiplicatif fait l'objet de méthodes spécifiques.

Les filtres linéaires (dont les plus utilisés en pratique sont le filtre moyenne et le filtre gaussien, en général sur de petites fenêtres de taille 3x3 ou 5x5) ne sont pas très bons et ne permettent d'éliminer que le bruit gaussien additif et pas le bruit impulsionnel. De plus, ils émoussent les contours et font disparaître les lignes trop fines ou les coins.

Aussi, on préfère utiliser le filtre médian qui jouit ainsi d'une bonne réputation puisqu'il arrive à combiner à la fois une suppression efficace du bruit impulsionnel et la conservation des détails suffisamment importants. Ce filtre fait partie de ce que l'on appelle la classe des filtres de rang : la sortie de ce filtre est basée sur un tri des échantillons observés au voisinage de celui dont on détermine la réponse. Les filtres de rang sont généralement robustes, car insensibles aux valeurs extrêmes en entrée et ils ont la propriété intéressante de ne pas créer de valeur qui n'existe pas en entrée.

Cependant, dans le cas de lignes fines ou de coins (particulièrement utilisés en appariement en stéréo-vision), le filtre médian est trop sévère et élimine tout ou partie de ces détails entre autres parce que l'analyse qu'il effectue ne respecte pas les relations de voisinage entre ces éléments.

Nous allons donc étudier le filtre médian relâché, qui est une légère évolution du filtre médian simple, présenté dans les articles [1] et [2] et dont le but est d'avoir une tolérance plus importante envers les détails.

2 - Solution proposée

Dans cette section, nous rappelons la définition du filtre médian et présentons le filtre médian relâché (les notations sont les mêmes que dans les articles de référence [1] et [2]) ainsi que le filtre médian pondéré centré.

On considère une suite d'échantillons (Xi)i∈Zd, et une fenêtre glissante W. Soit Wi la fenêtre centrée en un échantillon Xi et contenant 2N+1 échantillons : Wi={Xi+r,r∈W}.

Exemples :

Soit alors ([Wi]r)r∈W la suite ordonnée des échantillons de la fenêtre Wi : [Wi]1≤...≤[Wi]2≤...≤[Wi]2N+1. On pose m=N+1.

La sortie du filtre médian simple (Simple Median abrégé SM dans la suite) au point Xi est : Yi=SM(Wi)=med(Wi)=[Wi]m.

Soit maintenant l et u deux bornes (1≤l≤m≤u≤2N+1) qui définissent ainsi une sous-suite de la suite ([Wi]r)r∈W, telle que si Xi appartient à cette sous-suite alors il est n'est pas modifié par le filtre médian relâché. Ces deux paramètres autorisent un compromis entre suppression du bruit et conservation des détails.

La sortie du filtre médian relâché (Relaxed Median abrégé RM dans la suite) au point Xi est : Yi=RMl,u(Wi)=Xi si Xi∈[[Wi]l,[Wi]u] et Yi=RMl,u(Wi)=[Wi]m=SM(Wi) sinon.

On remarque que pour certaines valeurs particulières de u et l, on obtient des filtres remarquables :

Enfin, on introduit le filtre médian pondéré centré (K est un entier positif), qui est une autre variante simple du filtre médian :

La sortie du filtre médian pondéré centré (Center Weighted Median abrégé CWM dans la suite) au point Xi est : Yi=CWM2K+1(Wi)=med(Wi•{Xi}•...•{Xi})=SM(Wi•{Xi}•...•{Xi}) où • désigne la concaténation de listes (suites finies) et 2K concaténations sont effectuées (il y a 2K+1 exemplaires de Xi dans la liste dont on prend l'élément médian).

La duplication de l'échantillon d'entrée Xi dans la suite ordonnée dont on prend l'élément médian permet d'augmenter sa chance de sortir intact du filtre.

3 - Propriétés

Voici maintenant quelques propriétés vérifiées par le filtre médian relâché qui permettent de le comparer au filtre médian simple (les preuves des propriétés non triviales sont données dans les articles de référence [1] et [2]) :

3.1 - Propriétés statistiques

Si les entrées du filtre RMl,u (de taille 2N+1) sont des variables aléatoires indépendantes identiquement distribuées, alors la probabilité pour que la sortie du filtre median relâché soit l'échantillon central de la fenêtre est donnée par : Pr[Yi=Xi]=(u-l+1)/(2N+1).
Cette propriété permet de connaître la réponse du filtre au bruit et quelles structures dans l'image peuvent être conservées en présence de bruit : si l décroit la probabilité de sortie de l'échantillon central augmente. Enfin, deux propriétés dont on ne donne qu'un énoncé qualitatif :

RM préserve mieux les contours que SM.

RM préserve bien les lignes en présence de bruit blanc.

3.2 - Propriétés déterministes

On fait l'hypothèse suivante de symétrie sur les bornes u et l : u=2N+2-l (u et l sont symétriques par rapport à la position médiane m).

La sortie de RM est invariante par translation et homothétie de l'entrée : ∀ s,t ∈ ℜ, RM(sWi+t)=sRM(Wi)+t.

Les propriétés suivantes permettent de comprendre quelles structures sont conservées par le filtre RM. On appelle signal « racine », un signal qui n'est pas modifié par filtrage.

Un signal est racine de RMl,2N+2-l si et seulement si, pour toute position de la fenêtre glissante, il existe au moins l échantillons ayant la même valeur que l'échantillon central.

Dans le cas du filtre médian, on sait que les signaux racines sont les voisinages constants (de longueur minimale N+1) et les contours (au sens de régions monotones entre deux voisinages constants de valeurs différentes).

La longueur minimal d'un voisinage constant pour RMl,2N+2-l est l.

On remarque que lorsque l décroît, la longueur minimale des voisinages constants décroît également, et donc des détails plus fins peuvent être conservés.

Les racines de RMl,2N+2-l sont racines de RMl',2N+2-l' pour tout l≥l'. Autrement dit, en notant Rl l'ensemble des racines de RMl,2N+2-l et S l'ensemble de toux les signaux : ...⊆Rl⊆Rl-1⊆...⊆S.

4 - Implémentation

Le filtre médian relâché et le filtre médian pondéré centré ont été implémentés sous la forme de modules MegaWave2 pour permettre de manipuler aisément des images. D'autres modules auxiliaires ont aussi été écrits pour faciliter l'exploitation des images obtenues et l'interprétation des résultats.

5 - Résultats

Nous avons comparé les performances en débruitage du filtre médian simple (SM), du filtre médian relâché (RM) et du filtre médian pondéré centré (CWM) avec les paramètres suivants :

L'efficacité du filtrage est mesurée par le rapport des distances euclidiennes entre l'image bruitée filtrée et l'image originale d'une part et l'image bruitée et l'image originale d'autre part. Ce rapport est appelé moyenne normalisée de l'erreur au carré (Normalized Mean Square Error ou NMSE); il est ≥ 1 lorsque le filtrage a permis de se rapprocher de l'image originale au sens de la distance euclidienne. Ainsi si S désigne l'image originale, X l'image bruitée et Y l'image bruitée filtrée :

NMSE(S,X,Y)=Σi Σj(Yi,j-Si,j)²/ΣiΣj(Xi,j- Si,j

5.1 - Images synthétiques

Les images synthétiques utilisées sont les suivantes :

gray resolution_chart

L'exemple suivant permet de vérifier que les filtres se comportent comme prévu : ils éliminent facilement le bruit impulsif et par contre ne sont pas très efficaces contre le bruit gaussien. Visuellement les résultats des différents filtres sont comparables.

gray

image originale (512x512)

gray-ni10

image bruitée (bruit impulsionnel de densité d=10%)

gray-ni10-sm-5x5

image bruitée filtrée (SM 5x5)

gray-ni10-rm-5x5-11.13

image bruitée filtrée (RM12,14 5x5)

gray-ni10-cwm-5x5-3

image bruitée filtrée (CWM3 5x5)


gray-ng20

image bruitée (bruit gaussien de déviation standard σ=20)

gray-ng20-sm-5x5

image bruitée filtrée (SM 5x5)

gray-ng20-rm-5x5-11.13

image bruitée filtrée (RM12,14 5x5)

gray-ng20-cwm-5x5-5

image bruitée filtrée (CWM3 5x5)

Dans ce deuxième exemple, on constate la supériorité de RM avec des paramètres bien choisis pour la conservation des détails fins : le bloc 4 de droite de l'image initiale se transforme en rectangle presque uniforme lorsqu'il est filtré par SM alors qu'avec RM il est encore possible de distinger clairement 3 segments horizontaux et verticaux. Enfin, CWM est à mi-chemin entre les deux puisqu'il reste possible de distinguer 3 segments horizontaux et verticaux mais ceux-ci ont commencé à fusionner.

resolution_chart

image originale (256x256)

resolution_chart-sm-5x5

image filtrée (SM 5x5)

resolution_chart-rm-5x5-9.15

image filtrée (RM10,16 5x5)

resolution_chart-cwm-5x5-5

image filtrée (CWM5 5x5)

Nous avons regroupé ici les moyennes de la NMSE sur les deux images synthétiques, pour différents réglages des filtres. On constate bien que les filtres ont un comportement analogue : ils sont décevants face au bruit gaussien et excellents pour le bruit impulsionnel avec le classement SMRMCWM.

NMSE pour divers filtres et bruits
filtre (fenêtre) gaussien (σ) impulsionnel (d)
15 20 25 10% 20% 30%
SM 3x3 0.5425810 0.3405870 0.2437620 0.0356110 0.0278720 0.0384251
RM4,6 3x3 0.4769250 0.3170470 0.2335200 0.0335183 0.0278186 0.0391969
RM3,7 3x3 0.3773710 0.2662700 0.2122870 0.0321824 0.0416147 0.0619325
CWM3 3x3 0.3372030 0.2349680 0.1835550 0.0288263 0.0327181 0.0537714
SM 5x5 1.3305800 0.7578130 0.5006020 0.0809747 0.0439601 0.0353378
RM12,14 5x5 1.3156400 0.7523660 0.4963390 0.0797212 0.0427297 0.0348045
RM11,15 5x5 1.3035700 0.7468660 0.4959120 0.0792875 0.0411022 0.0335655
RM10,16 5x5 1.2603000 0.7243900 0.4813470 0.0769085 0.0401380 0.0330367
CWM3 5x5 1.0170100 0.5872090 0.3954290 0.0665592 0.0349049 0.0297042
CWM5 5x5 0.9098750 0.5239890 0.3538110 0.0576801 0.0303343 0.0286806

5.2 - Images Réelles

Les images réelles utilisées sont les suivantes:

baboon-gs fishing_boat house-gs lena-gs tiffany-gs

Cet exemple sur une image réelle permet de montrer les difficultés rencontrées face au réglage des paramètres . Le filtre RM conserve le mieux le motif en escalier entre la toiture de droite et la bâtisse, alors que le filtre SM le transforme en vaguelettes. Le filtre CWM parvient également à ne pas trop détériorer ces détails mais une analyse plus approfondie montre qu'il est moins bon que RM. Par contre, ces deux filtres font apparaître d'importants artefacts dans le ciel alors que le filtre effectue presque parfaitement son travail de suppression du bruit : la conservation des détails implique une perte de la qualité de la suppression du bruit.

house-gs

image originale (256x256)

house-gs-ni10

image bruitée (bruit impulsionnel de densité d=10%)

house-gs-ni10-sm-3x3

image filtrée (SM 3x3)

house-gs-ni10-rm-3x3-2.6

image bruitée filtrée (RM3,7 3x3)

house-gs-ni10-cwm-3x3-3

image bruitée filtrée (CWM3 3x3)

À nouveau, on regroupe dans un tableau les résultats de NMSE pour plusieurs paramètres des filtres : le classement établi sur les images synthétiques n'est plus vraiment respecté, on constate seulement que RM peut être rendu meilleur que SM en suppression du bruit pour un bon choix de paramètres et que CWM est assez souvent très légèrement meilleur que SM.

NMSE pour divers filtres et bruits
filtre (fenêtre) gaussien (σ) impulsionnel (d)
15 20 25 10% 20% 30%
SM 3x3 0.0924191 0.0660461 0.0537103 0.0207873 0.0133615 0.0139090
RM4,6 3x3 0.0938630 0.0685944 0.0566740 0.0192259 0.0129928 0.0147151
RM3,7 3x3 0.0990236 0.0782932 0.0682388 0.0175680 0.0163661 0.0226740
CWM3 3x3 0.0777088 0.0633544 0.0565274 0.0135314 0.0123988 0.0177747
SM 5x5 0.1259790 0.0773626 0.0546564 0.0347986 0.0184012 0.0136698
RM12,14 5x5 0.1260440 0.0774750 0.0548055 0.0344945 0.0182481 0.0135851
RM11,15 5x5 0.1262370 0.0779649 0.0553622 0.0339218 0.0178939 0.0133892
RM10,16 5x5 0.1262530 0.0787450 0.0565035 0.0330836 0.0174180 0.0131312
CWM3 5x5 0.1065120 0.0672765 0.0488298 0.0281264 0.0151737 0.0117241
CWM5 5x5 0.0938279 0.0624122 0.0474645 0.0231363 0.0130885 0.0108974

5.3 - Applications

Comme nous l'avons déjà rappelé en introduction, la suppression du bruit n'est qu'un pré-traitement avant l'utilisation de techniques de vision de haut niveau. Nous donnons ainsi deux applications : les détections de contours et de coins dans une image (très utilisées respectivement en segmentation et en stéréo-vision).

5.3.1 - Détection de contours de Canny

L'exemple suivant ne permet pas de trancher favorablement en faveur d'un des filtres : SM fait perdre certains contours fins sur le nez, entre les yeux et les narines mais les deux autres filtres rajoutent des artefacts qui entraînent la détection de petits contours qui n'existent pas.

baboon-gs

image originale (512x512)

baboon-gs-ni20

image bruitée (bruit impulsionnel de densité d=20%)

baboon-gs-c

contours de l'image originale

baboon-gs-ni20-c

contours de l'image bruitée

baboon-gs-ni20-sm-3x3-c

contours de l'image bruitée filtrée (SM 3x3)

baboon-gs-ni20-rm-3x3-2.6-c

contours de l'image bruitée filtrée (RM3,7 3x3)

baboon-gs-ni20-cwm-3x3-3-c

contours de l'image bruitée filtrée (CWM3 3x3)

5.3.2 - Détection de coins de Harris

Les coins de Harris permettent de démarrer le processus d'appariement en stéréo-vision, processus qui trouve des correspondances entre deux images. Il est très important que les coins utilisés soient de bonne qualité, pour assurer une reconstruction correcte. Ici, on remarque au niveau de la fenêtre de droite, que le filtre SM fait apparaître de nombreux faux coins, alors que le filtre RM restitue presque les coins trouvés sur l'image originale. Le filtre CWM engendre de trop nombreux coins en particulier des coins souvent très proches les uns des autres mais aussi de vrais coins, ce qui est vraiment gênant pour l'application considérée ultérieurement. Ainsi, même si des artefacts apparaissent avec RM (dus à l'obligation d'être plus tolérant au bruit pour conserver les détails fins), ils ne se révèlent pas aussi génants que ceux créés par CWM ou, dans une moindre mesure, par SM.

house-gs

image originale (256x256)

house-gs-ni10

image bruitée (bruit impulsionnel de densité d=10%)

house-gs-h

coins de l'image originale

house-gs-ni10-h

coins de l'image bruitée

house-gs-ni10-sm-3x3-h

coins de l'image bruitée filtrée (SM 3x3)

house-gs-ni10-rm-3x3-2.6-h

coins de l'image bruitée filtrée (RM3,7 3x3)

house-gs-ni10-cwm-3x3-3-h

coins de l'image bruitée filtrée (CWM3 3x3)

6 - Conclusion

Nous avons montré par l'exemple que les propriétés du filtre médian relâché avancées dans les articles de référence [1] et [2] sont effectivement vérifiées : ce filtre qui n'est en fin de compte qu'une légère modification du filtre médian simple permet de choisir un compromis entre suppression du bruit et conservation des détails.

Cependant, jouer sur les paramètres l et u de ce filtre s'avère délicat et parfois insuffisant : on retrouve alors certains des défauts du filtre médian simple. De plus, dans la plupart des cas, le filtre médian pondéré centré se montre aussi performant sinon plus.

L'apport de ce filtre est donc plus théorique que pratique, si l'on veut vraiment lutter contre les deux inconvénients du filtre médian et de ses variantes simples, on pourra s'orienter d'une part vers les filtres médians à plusieurs niveaux ([5]) qui utilisent des masques conserver des détails fins ou bien vers les nouveaux travaux de l'un des auteurs ([6]) qui combinent les filtres moyenne et médian relâché pour lutter efficacement contre le bruit blanc et conserver suffisamment de détails.

7 - Bibliographie

8 - Annexe

Code source

Le code source des filtres et scripts écrits pour cette étude d'article :

Données

Pour des raisons de place, toutes les données originales ou générées à l'aide des filtres ne sont pas incluses (images au format TIFF compressées sans perte), mais peuvent être recréées à l'aide des scripts, des filtres et de l'environnement MegaWave2.

Liens

Archive de la page web, des images et du code source :
rmedian.tar.gz
MegaWave2 :
http://www.cmla.ens-cachan.fr/Cmla/Megawave/

Valid XHTML 1.0! Valid CSS!