Filtrage Traitement d’images. Introduction : L’image possède une redondance spatiale dans sa nature ; c’est-à- dire; les pixels voisins (en 4-voisin ou.

Slides:



Advertisements
Présentations similaires
2. Echantillonnage et interpolation des signaux vidéo
Advertisements

Chapitre 6 : Restauration d’images
Le filtrage d’images.
Chapitre 2 : Filtrage Professeur. Mohammed Talibi Alaoui
TRAITEMENT D’IMAGE SIF-1033.
TRAITEMENT D’IMAGE SIF-1033.
Le filtrage d’images.
TNS et Analyse Spectrale
MAP-6014 Concepts avancés en mathématiques et informatique appliquées
INF-1019 Programmation en temps réel
INF-1019 Programmation en temps réel
Filtrage des images.
Formation des enseignants Formation MATLAB. Formation des enseignants MATLAB® (pour MATrix LABoratory) est un logiciel scientifique de calcul numérique.
Couche limite atmosphérique
Cours #6 Filtrage n Découverte Plan du cours n 2- Pré-traitement des images u 2.1 Amélioration du contraste u 2.2 Filtrage :  Filtre gaussien  Filtres.
Utilisation du logiciel chemsketch 1. Présentation générale Le logiciel chemsketch est un logiciel de chimie libre de droits (téléchargeable légalement.
Courbes d'Interpolation Interpolation de Lagrange, et Interpolation B-spline.
Développement de la technique d'holographie acoustique de champ proche temps réel pour l'analyse de sources de bruit fluctuantes Doctorant : Directeurs.
Thème 6.  Introduction – processus électrochimiques et transfert de matière  Diffusion en électrolytes, cinétique de diffusion  Diffusion et convection,
Comparing color edge detection and segmentation methods Projet TIM.
Traitement d’images 420-D78-SW A16 Semaine 02 Plan de leçon  Images : définition  Mat : définition  Filtres de lissage  Les fonctions et méthodes.
Université Hassan 1er Faculté des sciences et techniques MST Génie biomedical instrumentation et maintenance.
Transformation de Laplace - Mr.Retima Abderaouf - Mr.Ghandjoui abderahmane Université 20 aout 1955 Skikda.
Système d’aide à la décision Business Intelligence
Traitement d’images 420-D78-SW A17 Semaine 02.
Module de gestion des tournées de livraison
Statistiques descriptives univariées
Pierre Joli Cours de Mathématique Pierre Joli
Meilleure localisation pour une décharge
Optique ondulatoire : interférences et diffraction
1- Introduction :   En télécommunication , le signal transportant une information doit passer par un moyen de transmission entre un émetteur et un récepteur.
Loi Normale (Laplace-Gauss)
Préparer par : Intissare et kaoutare
7.1 Transformation linéaire
Résistance des Matériaux
Rappels sur la transformée de Fourier
Fonctions affines.
Détection de coutours - Exemples élémentaires -
Plans d’experiences : plans de melanges
Introduction aux Statistiques Variables aléatoires
C1 – Interpolation et approximation
Les tableaux.
4.2 Estimation d’une moyenne
La méthode du simplexe. 1) Algorithme du simplexe  Cet algorithme permet de déterminer la solution optimale, si elle existe, d’un problème de programmation.
TRAITEMENT D’IMAGE SIF-1033.
Concepts avancés en mathématiques et informatique appliquées
LE FILTRAGE ANALOGIQUE. Définition : La fonction filtrage sert à assurer la suppression des signaux de fréquence non désirée. Il existe deux types de.
Applications du filtrage
ACP Analyse en Composantes Principales
Système de coordonnées
DESSIN DE DEFINITION RAPPEL DES NOTIONS DE BASE.  Dessin technique Consiste à apporter des informations techniques (dimensions, matière…) par une représentation.
Royaume de Maroc Université Hassan Premier Settat Faculté des Sciences et Techniques de Settat LA CLASSIFICATION K-MEANS SOUS R /MATLAB Master :Automatique.
DÉTECTION DE DÉFAUTS DANS DES HOLOGRAMMES DE PHASE
Composition et mélange
Les méthodes non paramétriques
Transformation linéaires
AIAC GEET-12 Année : Régulation Industrielle: Programme M.BAHATTI.
La puissance du transfert d’énergie électrique entre un générateur et un circuit constitué de conducteurs ohmiques dépend-elle de ces conducteurs ohmiques.
SIF1033 TRAITEMENT D’IMAGE
Position, dispersion, forme
Reconnaissance de formes: lettres/chiffres
Wilber. Définition: GIMP , pour GNU Image Manipulation Program, littéralement « programme GNU de manipulation d'images », est un logiciel libre et gratuit.
INTELLIGENCE ARTIFICIELLE
Amélioration de la visibilité
Tableau de bord d’un système de recommandation
Encadrée par: - Mr. Abdallah ALAOUI AMINI Réalisée par : -ERAOUI Oumaima -DEKKAR Amal - ES-SAHLY Samira -Houari Mohammed PROGRAMMATION MULTIOBJECTIFS.
INTELLIGENCE ARTIFICIELLE
Exploiter la fonction fft(.) de Scilab
Valeur Efficace d'une tension périodique
Couche limite atmosphérique
Transcription de la présentation:

Filtrage Traitement d’images

Introduction : L’image possède une redondance spatiale dans sa nature ; c’est-à- dire; les pixels voisins (en 4-voisin ou en 8-voisin) ont les mêmes caractéristiques du point de vue niveau de gris. La présence de bruit dans l’image provoque une variation brutale de niveau de gris d’un pixel par rapport aux autres voisins. Sur un profil d’une image cette variation apparaît de la façon suivante : Niveau de gris X Bruit

Il y a deux façons principales d’approcher les techniques de filtrage ; 1.la première est de s’attacher aux agrégats de pixels qui composent l’image. On considère d’abord leurs attributs et parmi ceux-ci l’intensité lumineuse au point où ils se trouvent ; les techniques qui traitent les niveaux de gris seront donc des procédés du domaine spatial, c’est-à-dire du plan de l’image (x, y). 2.La deuxième façon de filtrer l’image est d’opérer dans le domaine des fréquences ; le moyen d’accès est la transformée de Fourier qui fait passer des variables du plan réel aux variables dites de fréquence du domaine complexe de l’image.

Filtrage spatial Filtrage spectral Image Image filtrée Image rehaussée FT (image) FFT FFT -1 Dans ce cours on s’intéresse seulement au filtrage spatial.

Convolution (Rappel) Si f(x,y) est l’image à traiter, et g(x,y) est le filtre spatial (PSF, masque, noyau, …) Mathématiquement :

Filtrage Spatial : On trois type de filtrage : 1.Filtre passe-bas : diminue les bruits mais atténue les détails dans l’image (flou). 2.Filtre passe haut : accentue les contours et les détails dans l’image mais amplifie les bruits. 3.Filtre passe-bande :élimine certaines fréquences indésirables présentes dans l’image. spectral spatial observation : PSF : Point Spread Function ( Fonction d’Etalement Spectrale) MTF: Modulation Transfer Function ( Fonction de Transfert)

Voisinage (Rappel) 4-voisins 8-voisins

Convolution discrète 2D -Rappel- : C’est une transformation basée sur le voisinage d’un point Problème : Effet de Bords Solution : 1.Extérieurs =0 2.On ne filtre pas les bords 3.Miroir.

Convolution discrète (suite) Remarque : Généralement le masque est de dimension (DF) impair et symétrique. Dans ce cas :

rst uvw xyz Origine x y Image f (x, y) Filtre Voisinage 3*3 e Filtre 3*3 abc def ghi Pixels de l’image origine * L’opération est répétée pour chaque pixel dans l’image originale pour produire l’image filtrée

e traité = v *e + z *a + y*b + x*c + w *d + u *e + t *f + s *g + r *h rst uvw xyz Filtre abc dee fgh Pixels de l’image d’origine * Remarquez

afin de conserver la moyenne de l’image la somme des éléments du filtre est normalisée à 1, c’est-à-dire Exemple (suite)

Filtre moyenneur (passe-bas) : Cette technique est la plus directe pour adoucir une image trop heurtée dans ces contours par manque de dégradés ou abîmés par un bruit à haute fréquence ; le niveau de gris de chaque pixel est remplacé par une moyenne des valeurs des 4- voisins ou 8-voisins. L’image adoucie est obtenue en utilisant la relation suivante : Soit on prend un filtre 3*3 ou bien 5*5 1/25* 1/9* /10*

Défauts du filtre moyenneur : Certaines fréquences sont détruites Images dégradée Contours altérés Remarque: La taille du masque est un paramètre variable. Plus le masque sera de grande dimension, plus l’effet du filtrage sera fort. De manière générale, on essayera de réaliser un filtrage isotrope (même effet dans toutes les directions). Pour cela, le voisinage considéré devra avoir une forme circulaire

Filtre Gaussien (Passe-bas) Le filtre de gauss est un filtre linéaire, il donne des résultats très intéressants. Il remplace la valeur du pixel par une moyenne pondérée; Les pixels près du centre ont des poids forts; Les pixels près des bords ont des poids faibles. avec  est la variance. Idéalement on devrait prévoir un filtre (ou masque) de taille (5  )* (5  ) la figure suivante représente une gaussienne. La fenêtre de Gauss est générée par la fonction suivante (où  est en pixels)

function m = igauss(w, sigma) ww = 2*w + 1; [x,y] = meshgrid(-w:w, -w:w) m = 1/(2*pi*sigma^2) * exp( -(x.^2 + y.^2)/2/sigma^2); m = m / sum(sum(m)); Une gaussienne pour sigma=3; sur un voisinage de taille 41*41

Sigma=0.25 Sigma=0. 5

Sigma=1 Sigma=2

Sigma=4 Sigma=8

Les coefficients de ce filtre sont obtenu par le binôme de Newton, un filtre 1D binomial du quatrième ordre est donné par (1/16)( ). Le filtre 2D est : Filtre Binomial : Filtre pyramidal : Filtre conique :

Remarque : Tous les filtres cités précédemment ont le même défaut : 1.Ils dégradent le contour 2.Ils introduisent le flou dans l’image. Solution : Utiliser des filtres non linéaires

Filtrage Non Linéaire (Filtre médian) Ce filtre étant non linéaire, il ne peut pas être réalisé avec une convolution 2D de l’image. Considérons un voisinage rectangulaire autour du pixel d’intérêt. Le filtre médian consiste à prendre la valeur de niveaux de gris séparant la population en deux effectifs égaux. Le filtre médian remplace l’intensité de chaque pixel par les intensités de voisin choisi à l’avance Exemple: Médiane Bruit Le choix de l’algorithme de tri est libre Ce filtre est très efficace contre le bruit de type Poivre et Sel ‘’Salt and Pepper’’

Algorithme :

Étude comparative : On voit sur cet exemple l’effet de la moyenne : des niveaux de gris intermédiaires apparaissent au moment de la transition. Ce n’est pas le cas pour le signal filtré grâce à la médiane. Ce filtre donne de très bons résultats de part son principe sur le bruit impulsionnel (type poivre et sel). Il a par contre l’inconvénient de supprimer les détails fins.

Filtre Médian/Convolution convolution 3x3 Médian 3x3

convolution 5x5 Médian 5x5 Filtre Médian/Convolution

 La moyenne crée le flou dans l’image, enlève les petits bruits, aucun détail n’est préservé;  Le filtre Gaussien, crée le flou, les résultats sont similaires au filtre moyenneur, il préserve les détails pour les petits sigma  Le filtre médian, préserve quelques détails, très bon pour les forts bruits

de conserver les détails fins de réduire les coûts en temps de calcul imposés par la médiane (tri) de conserver une bonne qualité au niveau des transitions Nous avons besoin d'un filtre qui lisse seulement les régions mais ne lisse pas les contours. But : Remarque

Filtre de Nagao: Ce filtre est également appelé filtre à sélection de voisinage. Chaque fenêtre, 5x5, est divisée en 9 domaines : D2, D4, D6 sont déduits de D0 par rotations de 90 degrés. D3, D5, D7 sont déduits de D1 de la même façon.

Filtre Nagao (Suite) Pour chaque domaine Di, on calcule la moyenne et la variance : moy(i) et var(i). On va ensuite rechercher le domaine où la variance est la plus faible on affecte la moyenne des niveaux de gris de ce domaine au pixel central : k / Var(k) = Min Var(i)  G = Moy(k) Algorithme Ce filtre permet de limiter les pixels hors norme (bruit impulsionnel). D’autre part, il préserve et même améliore le contraste. Les zones avant et après la transition sont plus homogènes.

Filtre de Nagao (suite) Une première amélioration de ce filtre consiste à régulariser la forme géométrique des domaines :

Filtre Bilatéral Filtrage par convolution ; Il adoucit l’image et préserve les contours ; Il opère dans les deux domaines de l’image spatial et intensité. Quelques propriétés C’est un filtre non linéaire qui se base sur des gaussiennes spatiale et intensité. Il permet de faire un lissage et d'éliminer des détails inutiles, avec l’avantage de préserver les contours entre les régions de l’image: quand on fait le lissage on ne se déplace que dans les zones semblables.

43 Proximité en Intensité Proximité Spatiale N est une valeur fixe pour définir le voisinage du filtre spatial K constante de normalisation

Idée de l’algorithme:  Filtrer comme d’habitude dans le domaine des intensités (ex. Gauss)  Ne pas filtrer quand les pixels ne sont pas similaires (contour). Fonction de similarité  Détermine la quantité de lissage Pixels similaires : Lissage fort Autrement (contours) : Aucun lissage  Similitude basée sur la perception humaine  L'exemple le plus simple : basé sur des valeurs d'intensité de pixels, deux pixels sont considérés similaires s'ils ont la même valeur.

Formule  s coord. du pixel central, p coord. du pixel courant, Ω ensemble des coordonnées de tous les pixels dans le voisinage local (délimité par le noyau);  Js le résultat de l’intensité du pixel. Is, Ip les intensités de p et s  f(p - s) mesure la distance géométrique entre p and s  g(Ip-Is) mesure la similarité photométrique entre Is et Ip.

Habituellement un filtre gaussien est donné par : d(p -s) la distance Euclidienne entre p et s. Pondération spatiale : La fonction d’éloignement spatiale, permet de lisser les faibles discontinuités, c'est-à-dire si les pixels sont proches en intensité on peut les moyenner.

Pour chaque pixel on prend ses pixels voisins, et on fait un moyennage pour lisser une partie de l’image. Le paramètre sigma détermine la taille de la surface à moyenner, si on prend un sigma plus grand on prendra plus de pixels voisins, ce qui a une influence sur le temps de calcul. On prendra une faible valeur de sigma pour réduire le temps d’exécution.

Pondération sur les intensités Habituellement la gaussienne de différence des intensités est donnée : Avec : mesure appropriée de la différence entre deux valeurs des pixels. L'approche la plus simple : Différence en valeurs d'intensité Pour lisser l’image en gardant les fortes discontinuités grâce au sigma intensité :

sigma = [3 0.1]

sigma = [12 3]

sigma = [15 8]

[Ben Weiss, Siggraph 2006]

61 Proximité en Intensité Proximité Spatiale N est une valeur fixe pour définir le voisinage du filtre spatial K constante de normalisation

Implantation Matlab n=1:1:500; % Generate a vector from 1 to 500; the increment is 1. I0=zeros(size(n)); % Generate a vector of zeros; the size of the vector is equal to the size of n. I0(1:250)=15; I0(251:end)=10; % Set the first 250 values to 15, and the rest to 10. I = I *randn(size(I0)); % 0.5 is the standard deviation of the noise figure; subplot(2,1,1); plot(n,I0); axis ([ ]); title('Original signal'); subplot(2,1,2); plot(n,I); axis ([ ]); title('Noisy signal'); 62

sigma_d=10; N=round(4*sigma_d); % N determines the spatial neighborhood sigma_r=1.3; d = -N:1:N; weights_d = exp(-d.*d/(2*sigma_d*sigma_d)); 63 les poids dépendent de la distance spatiale (au pixel central x) seulement; ils sont calculés une fois et sauvgardés.

sigma_d=10; N=round(4*sigma_d); % N determines the spatial neighborhood sigma_r=1.3; d = -N:1:N; weights_d = exp(-d.*d/(2*sigma_d*sigma_d)); x=260; % An example pixels = I(x-N:x+N); % Put the pixels within the neighborhood of the center pixel into a vector. weights = weights_d.* exp(-(pixels-I(x)).*(pixels-I(x))/(2*sigma_r*sigma_r)) ; weights = weights./sum(weights); 64

Bilateral Filter – Matlab implementation sigma_d=10; N=round(4*sigma_d); % N determines the spatial neighborhood sigma_r=1.3; d = -N:1:N; weights_d = exp(-d.*d/(2*sigma_d*sigma_d)); x=260; pixels = I(x-N:x+N); % Put the pixels within the neighborhood of the center pixel into a vector. weights = weights_d.* exp(-(pixels-I(x)).*(pixels-I(x))/(2*sigma_r*sigma_r)) ; weights = weights./sum(weights); % Normalize the weights so that its sum is equal to 1. I_output(x) = sum(weights.*pixels); 65

66 figure; plot([x-N:x+N],weights)

d = -N:1:N; weights_d = exp(-d.*d/(2*sigma_d*sigma_d)); % Repeat for all pixels I_output = I; for i=1+N:length(I)-N, % Be careful with the borders; do not exceed the dimensions. pixels = I(i-N:i+N); weights = weights_d.* exp(-(pixels-I(i)).*(pixels-I(i))/(2*sigma_r*sigma_r)) ; weights = weights./sum(weights); I_output(i) = sum(weights.*pixels); end figure; plot(n,I_output); 67

% lire une image % ajouter du bruit w = 2; % la taille de la fenêtre sigma = [3 0.1]; % la variance du filtre [X,Y] = meshgrid(-w:w,-w:w); G = exp(-(X.^2+Y.^2)/(2*pi*sigma(1)^2)); A=img1; dim = size(A); B = zeros(dim); for i = 1:dim(1) for j = 1:dim(2) % Extraire une région locale iMin = max(i-w,1); iMax = min(i+w,dim(1)); jMin = max(j-w,1); jMax = min(j+w,dim(2)); I = A(iMin:iMax,jMin:jMax); % calcul la gaussienne des poids des intensités H = exp(-(I-A(i,j)).^2/(2*sigma(2)^2)); % calcul de la réponse du filtre bilateral. F = H.*G((iMin:iMax)-i+w+1,(jMin:jMax)-j+w+1); B(i,j) = sum(F(:).*I(:))/sum(F(:)); end