Traitement d'images Convolution spatiale Alain Boucher - IFI 2 Modification des
Traitement d'images Convolution spatiale Alain Boucher - IFI 2 Modification des valeurs d’une image Pour l’instant, nous avons vu surtout des transformations ponctuelles des pixels d’une image Lire la valeur d’un pixel → la remplacer par une autre Il existe aussi des transformations locales Lire la valeur de quelques pixels voisins → calculer une nouvelle valeur pour un pixel …et des transformations globales Lire la valeur de tous les pixels de l’image → calculer une nouvelle valeur pour un seul pixel 3 Locale: g(x0,y0)=T[f(V)] V:voisinage de (x0,y0) Globale: g(x0,y0)=T[f(x,y)] par ex: TF Ponctuelle: g(x0,y0)=T[f(x0,y0)] g f T (x0,y0) (x0,y0) Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal. Transformations des pixels 4 Convolution numérique La convolution discrète est un outil permettant l’utilisation de filtres linéaires ou de filtres de déplacements invariants L ’équation générale de la convolution, notée g(x), de la fonction d’origine f(x) avec une fonction h(x) est : f(x) est la fonction d’origine et g(x) la fonction convoluée (résultat de la convolution) Dans notre cas, une image est vue comme une fonction mathématique h(x) est appelé masque de convolution, noyau de convolution, filtre, fenêtre, kernel, … g x= f x∗hx =∑ ∀k hx−k f k 5 Exemple de convolution 2D Note : par convention pratique, la taille de l’image résultat est la même que celle de l’image d’origine Image d’origine Image convoluée (résultat) Filtre de convolution (masque) * = 6 Convolution numérique discrète En pratique, la convolution numérique d'une image se fera par une sommation de multiplications Un filtre de convolution est une matrice (image) généralement (mais pas toujours) de taille impaire et symétrique 3x3, 5x5, 7x7, … Convolution d’une image par un filtre 2D : I 'i , j=Ii , j∗filtrei , j I 'i , j=∑ u ∑ v I i−u , j−v⋅filtreu ,v 7 Convolution numérique * Image Noyau de convolution I K 8 Convolution numérique R = I*K I R K R(1,1) = I(0,0) K(0,0) + I(1,0) K(1,0) + I(2,0) K(2,0) + I(0,1) K(0,1) + I(1,1) K(1,1) + I(2,1) K(2,1) + I(0,2) K(0,2) + I(1,2) K(1,2) + I(2,2) K(2,2) 9 Convolution numérique R = I*K I R K R(2,1) = I(1,0) K(0,0) + I(2,0) K(1,0) + I(3,0) K(2,0) + I(1,1) K(0,1) + I(2,1) K(1,1) + I(3,1) K(2,1) + I(1,2) K(0,2) + I(2,2) K(1,2) + I(3,2) K(2,2) 10 Convolution numérique R = I*K I R K R(x,y) = I(x-1,y-1) K(0,0) + I(x, y-1) K(1,0) + I(x+1, y-1) K(2,0) + I(x-1,y) K(0,1) + I(x,y) K(1,1) + I(x+1,y) K(2,1) + I(x-1,y+1) K(0,2) + I(x,y+1) K(1,2) + I(x+1,y+1) K(2,2) 11 Convolution numérique R = I*K I R K R(N-2,M-2) = I(N-3,M-3) K(0,0) + I(N-2,M-3) K(0,1) + I(N-1,M-3) K(0,3) + I(N-3,M-2) K(1,0) + I(N-2,M-2) K(1,1) + I(N-1,M-2) K(1,2) + I(N-3,M-1) K(2,0) + I(N-2,M-1 )K(2,1) + I(N-1,M-1) K(2,2) 12 Convolution numérique ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Problème : Que faire avec les bords de l'image ? Mettre à zéro (0) Convolution partielle Sur une portion du noyau Miroir de l'image f(-x,y) = f(x,y) … (pas de solution miracle) 13 14 Masque de convolution Le masque de convolution représente un filtre linéaire permettant de modifier l'image On divisera le résultat de la convolution par la somme des coefficients du masque Pour éviter de modifier la luminance globale de l'image, la somme des coefficients doit être égale à 1 15 Filtres passe-haut Accentue les détails et les contours (hautes fréquences) accentuation Deux types pour le filtrage spatial Filtres passe-bas Atténue le bruit et les détails (basses fréquences) lissage CVIPTools : Utilities>Filter>Specify a filter 16 Le filtre moyenneur Le filtre moyenneur Permet de lisser l'image (smoothing) Remplace chaque pixel par la valeur moyenne de ses voisins Réduit le bruit Réduit les détails non-important Brouille ou rend floue l'image (blur edges) Filtre dont tous les coefficients sont égaux Exemple de filtres moyenneurs : 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1 1 1 1 1 1 1 1 1 ou 1/9 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3x3 5x5 CVIPTools : Utilities>Filter>Mean 17 1/9 x Plus le filtre grossit , plus le lissage devient important et plus le flou s’accentue ! flou s’accentue ! Lissage (flou apparent flou apparent) 1 1 1 1 1 1 1 1 1 3x3 5x5 7x7 15x15 Le filtre moyenneur Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal. 18 Exemples de filtres moyenneurs Original Moyenne 5x5 Moyenne 11x11 Source : monkey.geog.ucsb.edu/mh/115b/filter.pdf 19 Le filtre Gaussien Fonction gaussienne en 3D Image d'une gaussienne Le filtre gaussien donnera un meilleure lissage et une meilleure réduction du bruit que le filtre moyenne 1 98 ×[ 1 2 3 2 1 2 6 8 6 2 3 8 10 8 3 2 6 8 6 2 1 2 3 2 1] CVIPTools : Utilities>Filter>Specify a blur>Gaussian 20 Exemples de filtres gaussiens Original Gauss 5x5 Gauss 11x11 Source : monkey.geog.ucsb.edu/mh/115b/filter.pdf 21 Filtres non-linéaires (autre que convolution) 22 Filtre médian (non-linéaire) Pour nettoyer le bruit dans une image, il existe mieux que le filtre moyenneur ou le filtre gaussien Il s'agit du filtre médian C'est un filtre non-linéaire, qui ne peut pas s'implémenter comme un produit de convolution On remplace la valeur d'un pixel par la valeur médiane dans son voisinage NxN 30 10 20 10 250 20 25 10 30 médiane bruit 10, 10, 10, 20, 20, 25, 30, 30, 250 Moyenne = 45 CVIPTools : Utilities>Filter>Median 23 Exemple de filtre médian Original Moyenne 3x3 Médian 3x3 Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002. 24 Nettoyage du bruit dans une image Bruit "poivre et sel" 3 X 3 Moyenne 5 X 5 Moyenne 7 X 7 Moyenne Filtre médian CVIPTools : Utilities>Creeate>Add noise 25 Image initiale Bruit Poivre & Sel Moyenne V8 Min V8 Max V8 Médian V8 Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal. 26 Références (voir aussi la page web du cours) Caroline Rougier. Cours de Traitement d'images (IFT2730). Université de Montréal (Canada) http://www-etud.iro.umontreal.ca/~rougierc/ift2730/ Chap10 : Filtrage : lissage, réhaussement d'images, détection de contours http://www-etud.iro.umontreal.ca/~rougierc/ift2730/cours/Cours10_IFT2730_2008_2.pdf uploads/Sante/ 03-convolution.pdf
Documents similaires










-
34
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 28, 2021
- Catégorie Health / Santé
- Langue French
- Taille du fichier 0.9673MB