Filtre de Wiener pour la réduction du bruit d'image (débruitage d'image)

16

J'essaie de comprendre le fonctionnement du filtre Wiener dans le but de réduire le bruit de l'image. Dans mon cas, j'aurai d'abord utilisé un autre filtre de réduction de bruit et j'utiliserai ensuite le résultat de celui-ci comme une approximation des caractéristiques de bruit pour le filtre de Wiener.

En ce qui concerne les informations sur le filtre Wiener, j'ai trouvé le code Matlab et la description suivants utiles:

http://www.mathworks.co.uk/help/toolbox/images/f11-12251.html#f11-14272

et quelques autres bons liens tels que

http://blogs.mathworks.com/steve/2007/11/02/image-deblurring-wiener-filter/

Du point de vue de Matlab, je peux voir comment utiliser la fonction Matlab intégrée, mais j'aimerais acquérir une compréhension plus fondamentale plutôt que de simplement utiliser l'appel de fonction, mais en même temps, je préférerais trouver quelque chose de plus digeste que l'entrée Wikipedia sur le filtrage de Wiener .

Quelqu'un souhaite-t-il offrir une brève explication sur le filtrage de Wiener?

trican
la source
2
avant qu'une réponse ne soit donnée ... vous devez indiquer quel est votre parcours. connaissez-vous la théorie des processus aléatoires? Sans connaître les processus aléatoires, la théorie donnant une explication concrète est presque impossible.
Trevor Boyd Smith,
Sauf si vous êtes d'accord avec une explication plus agitant la main.
Trevor Boyd Smith,
Merci pour la réponse. Oui, je suis assez à l'aise avec la théorie des processus aléatoires et mon expérience est dans le traitement d'images
Trican
3
eh bien ... si vous avez des antécédents de processus aléatoires, il devrait être possible de donner une bonne explication. (maintenant je dois trouver le temps d'écrire une bonne explication.)
Trevor Boyd Smith
Merci Trevor! très apprécié - même quelques bons pointeurs pour me donner un coup de pied dans la bonne direction seraient très appréciés.
trican

Réponses:

11

Il existe une autre entrée Wikipedia sur le filtrage de Wiener plus applicable au traitement d'image.

Pour résumer (et convertir en 2D), étant donné un système:

y(n,m)=h(n,m)x(n,m)+v(n,m)
  • désigne la convolution,
  • est l'image vraie (inconnue),x
  • est la réponse impulsionnelle d'un filtre linéaire, invariant dans le temps,h
  • est un bruit inconnu additif indépendant de x , etvx
  • est l'image observée.y

Nous voulons trouver un filtre de déconvolution afin que nous puissions estimer x comme suit: x ( n , m ) = g ( n , m ) * y ( n , m )x est une estimation de x qui minimise la moyenne erreur carrée.gx

x^(n,m)=g(n,m)y(n,m)
x^x

Dans le domaine fréquentiel, la fonction de transfert de , G est: G ( ω 1 , ω 2 ) = H ( ω 1 , ω 2 ) S ( ω 1 , ω 2 )gG

G(ω1,ω2)=H(ω1,ω2)S(ω1,ω2)|H(ω1,ω2)|2S(ω1,ω2)+N(ω1,ω2)
  • est la transformée de Fourier de g , Gg
  • est la transformée de Fourier de h , Hh
  • est la densité spectrale de puissance moyenne de l'entrée x , et Sx
  • est la densité spectrale de puissance moyenne du bruit v .Nv

L'équation pour peut être réécrite comme: G ( ω 1 , ω 2 ) = 1G

G(ω1,ω2)=1H(ω1,ω2)[|H(ω1,ω2)|2H(ω1,ω2)|2+N(ω1,ω2)S(ω1,ω2)]
H
Peter K.
la source
Merci beaucoup pour votre réponse approfondie. Je ne sais pas comment utiliser l'étape précédente de débruitage dans l'explication ci-dessus? Dans l'ensemble, je devrai m'asseoir et comprendre comment prendre l'explication ci-dessus et la mettre en œuvre.
trican
gyy
Désolé si je n'ai pas été clair, ce que je voulais dire, c'est que pour les algorithmes de réduction du bruit d'image de premier plan tels que SADCT ou BM3D ( cs.tut.fi/~foi/GCF-BM3D ). Une première étape de réduction du bruit est effectuée (via SADCT ou filtrage 3D par correspondance de blocs pour ces deux algorithmes mentionnés) et le résultat est utilisé comme approximation pour l'étage secondaire qui utilise un filtrage wiener. J'essaie de comprendre la phase de filtrage des saucisses secondaires, d'où ma question initiale.
trican