Comment supprimer le bruit gaussien d'une image sans détruire les bords?

15

Quel est le meilleur filtre pour éliminer le bruit gaussien sans détruire les bords? J'utilise les images standard de Lena avec un bruit gaussien additif et je veux débruiter avant d'appliquer une diffusion anisotrope. Je ne veux pas filtrer médian car les bords deviennent flous. J'ai essayé le filtrage adaptatif mais les résultats n'étaient pas satisfaisants.

Aviral Kumar
la source
4
Montrez un peu d'effort, qu'avez-vous essayé?
0x90
1
En fait, j'ai une image lena standard corrompue par du bruit gaussien. Je souhaite supprimer le bruit avant d'appliquer une diffusion anisotrope. Je ne veux pas opter pour le filtrage médian car les bords sont flous. Donnez votre avis.
Aviral Kumar
1
Pas vraiment une réponse, mais j'ai trouvé ce lien avec une variété d'articles sur ce même sujet - en essayant de supprimer le bruit sans se débarrasser des informations de bord.
Spacey
1
Pouvez-vous publier des images et des sorties, s'il vous plaît, afin que nous comprenions mieux à quoi ressemblerait un résultat (non) satisfaisant? Pourquoi ne pas lancer une diffusion anisotrope pour débruiter l'image, par exemple?
Jonas

Réponses:

10

Vous devrez peut-être envisager des techniques plus avancées. Voici deux articles récents sur le débruitage préservant les bords:

Notre méthode est basée sur [l'analyse de régression de saut] et comprend trois étapes principales, décrites ci-dessous. Tout d'abord, les pixels de bord sont détectés dans tout l'espace de conception par un détecteur de bord. Deuxièmement, dans un voisinage d'un pixel donné, une courbe linéaire par morceaux est estimée à partir des pixels de bord détectés par un algorithme simple mais efficace, pour approximer le segment de bord sous-jacent dans ce voisinage. Enfin, les intensités d'image observées du même côté du segment de bord estimé, comme le pixel donné, sont moyennées par la procédure de lissage du noyau linéaire local (cf., [35]), pour estimer la véritable intensité de l'image au pixel donné.

( Les modèles de régression de saut incorporent des discontinuités à l'aide des fonctions de pas. L'auteur principal a un livre sur ce sujet .)

Emre
la source
2

Comme point de départ, j'utiliserais une technique de retrait non linéaire avec une sorte de transformée en ondelettes (bien qu'elles ne soient pas spécifiques aux transformées en ondelettes). Les règles de retrait sont conceptuellement simples, rapides et faciles à mettre en œuvre, tout en donnant d'excellents résultats.

Le principe est que votre signal souhaité peut être représenté dans un domaine tel que la plupart de l'énergie est concentrée dans un petit nombre de coefficients. Inversement, le bruit est toujours réparti sur tous les coefficients (ce qui est probablement le cas pour AWGN). Vous pouvez ensuite "réduire" les coefficients - en réduisant leurs valeurs selon une règle non linéaire - de telle sorte que l'impact sur le signal soit faible par rapport à l'impact sur le bruit.

Les transformées en ondelettes sont une bonne transformation à utiliser car elles sont bonnes pour compresser l'énergie en un petit nombre de coefficients. Je recommande personnellement la transformée en ondelettes complexe à double arbre (DTCWT) pour ses belles propriétés supplémentaires.

2 très bons articles sur le sujet sont ceci et cela (tous deux des mêmes auteurs). Les articles sont un vrai régal en termes de lisibilité et de clarté des explications. (il y a aussi de belles photos de Lenna débruitée :)

Il existe certainement des articles plus récents, mais ils n'apportent généralement pas beaucoup d'amélioration quantitative par rapport aux techniques très simples décrites dans ces articles.

Henry Gomersall
la source
Ces documents ne traitent pas spécifiquement de la préservation des bords; ils concernent le débruitage d'image générique.
Emre
Les ondelettes bien sont intrinsèquement bonnes pour préserver les bords. La nature des images naturelles est que la plupart des informations saillantes se trouvent dans les bords, donc discuter des bords en tant que cas spécial est plutôt superflu. Les images naturelles sont définies par les bords.
Henry Gomersall
On peut se demander si les ondelettes conventionnelles sont particulièrement efficaces pour préserver les bords. Ce problème est l'une des motivations derrière la pléthore d'extensions, y compris les crêtes, les beamlets, les curvelets et les contourlets.
Emre
En effet, les ondelettes ont leurs problèmes, c'est pourquoi j'ai suggéré d'utiliser autre chose que des ondelettes à la vanille. Bien que l'on puisse suggérer que j'ai un parti pris pour le DTCWT, ce n'est pas sans bonne raison. Ces deux papiers présentent une impressionnante conservation des bords. Tout comme cet article (voir les figures 8 et 9 - par rapport aux images bruyantes).
Henry Gomersall
1

Alors que chaque défi de traitement du signal, il n'y a pas de solution universelle, voici une idée:

  1. puisque vous essayez de conserver les bords, découvrez où ils se trouvent dans l'image. Utilisez un détecteur de bord astucieux pour trouver des bords dans votre image.
  2. Dilater / Fatten les limites des bords sortis de l'image (peut-être 2-5 pixels de large pour chaque bord) permet d'appeler cela le "masque"
  3. inverser le masque.
  4. Appliquez le masque à votre image, c'est-à-dire ne laissez passer que les éléments qui ne sont PAS des bords.
  5. appliquer la technique de démagnétisation
  6. utilisez le masque de bord d'origine pour obtenir les valeurs des pixels de l'image là où il y a des bords
  7. Remettez-les dans l'image dé-gaussée

Alternativement, vous pouvez appliquer votre technique de démagnétisation à l'image dans son ensemble, puis réintroduire les pixels non démagnétisés dans l'image.

CyberMen
la source