Débruitage par patchs
Le débruitage par morceaux (patchs) est une technique de débruitage d'image utilisant l'algorithme de réduction du bruit numérique appelé en Anglais "non-local means". Contrairement aux filtres habituels qui réalisent une moyenne des valeurs du groupe de pixels localisés autour d'un pixel cible afin de réduire le bruit, le filtre "non-local means" réalise une moyenne de la totalité des valeurs des pixels contenus dans l'image, pondérées en fonction de leur similarité avec le pixel cible. Le résultat d'un tel filtrage permet d’amoindrir la perte de détails au sein de l'image, comparé aux filtres réalisant des moyennes localement[1].
Comparé aux autres méthodes usuelles de réduction de bruit comme le filtre de Gauss ou le filtre de Wiener, le bruit généré par l'algorithme "non-local means" est plus proche du bruit blanc. L'algorithme "non-local means" a récemment été étendu à d'autres domaines d'application du traitement d'images comme le désentrelacement[2] et l'interpolation visuelle[3].
Définition
Soit l'ensemble des points d'une image. On définit et , deux points au sein de l'image. L'algorithme est alors défini ainsi[4] :
avec la valeur filtrée de l'image au point , la valeur non filtrée de l'image au point , la fonction de pondération, l'intégrale étant évaluée .
est un facteur de normalisation, défini par :
Fonctions de pondération usuelles
L'objectif des fonctions de pondération, , est de déterminer la similarité entre l'image au point et l'image au point . Il existe plusieurs fonctions de pondération.
Pondération de Gauss
La fonction gaussienne de pondération met en place une distribution normale avec une moyenne, et un écart type variable[5] :
où est le paramètre de filtrage (i.e., l'écart type) et est la valeur moyenne des points centrés autour du point
Algorithme intégral
Pour une image, , avec des points distincts (des pixels), un algorithme intégral est nécessaire.
où est donné par :
Ainsi, avec une fonction gaussienne de pondération,
où est donné par :
où et est un carré de pixels autour de et est le nombre de pixels dans la région .
Paramètres
Le réglage des paramètres d'une méthode est un processus délicat, et souvent de larges différences avec la théorie apparaissent à cette étape. Diverses techniques permettent de régler les paramètres en statistiques. La méthode la plus couramment utilisée pour calibrer ces paramètres repose sur la validation croisée (cross validation).
Le choix de la fonction de pondération doit correspondre à la définition d'une norme. En général, on utilise la pondération Gaussienne correspondant au bruit blanc.
Le choix de l'écart-type (h) : c'est sûrement le paramètre le plus délicat à fixer. Si ce choix est global, c'est-à-dire que h est le même pour tous les pixels de l'image, il est possible de fixer, à l'aide d'une heuristique, la valeur de h. En revanche un choix local demande plus d'ingéniosité. Le choix de la taille des morceaux : la taille du morceau doit évoluer avec l'intensité du bruit pour garder en robustesse et ainsi mieux distinguer les zones, sans risque de confusion. La taille du morceau est aussi un élément qui influence le temps de calcul. En effet, il ne faut pas oublier que pour chacun des pixels de l'image, tous les morceaux devront être traités.
Exemple
- Exemple d'un traitement d'une image par l'application du débruitage par morceaux. La première photo est bruitée, la seconde montre les morceaux détectés et la dernière est le résultat du débruitage.
-
Image bruitée -
Détection des patchs -
Image débruitée
Dans un premier temps, on se munit d'une image bruitée quelconque. Ensuite, on considère un pixel à débruiter, puis on détecte les morceaux similaires à la région du pixel cible au sein de l'image (sur l'exemple, les cadres verts représentent une forte similarité avec la zone du pixel à débruiter, les bleus une similarité moyenne et les rouge ne sont pas du tout similaires). Enfin, on débruite l'intégralité de l'image en répétant cette procédure pour tous les pixels de l'image.
Voir aussi
- Filtre de Gauss
- Filtre médian
- Filtre passe-haut
Notes et références
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Non-local means » (voir la liste des auteurs).
- ↑ Antoni Buades, « A non-local algorithm for image denoising », Computer Vision and Pattern Recognition, 2005, vol. 2, 20–25 june 2005, p. 60–65 (DOI 10.1109/CVPR.2005.38)
- ↑ R. Dehghannasiri et S. Shirani, « A novel de-interlacing method based on locally-adaptive Nonlocal-means »,
- ↑ R. Dehghannasiri et S. Shirani, « A view interpolation method without explicit disparity estimation »,
- ↑ Antoni Buades, « Non-Local Means Denoising », sur Image Processing On Line
- ↑ Antoni Buades, « On image denoising methods (page 10) », sur 123 Seminars Only
Liens externes
- Non-local image denoising, with code and online demonstration
Portail de l’informatique