TP2 : Filtrage non linéaire

Documents pareils
Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

Traitement bas-niveau

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Projet de Traitement du Signal Segmentation d images SAR

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

Quantification Scalaire et Prédictive

Optimisation, traitement d image et éclipse de Soleil

Cours d Analyse. Fonctions de plusieurs variables

Intérêt du découpage en sous-bandes pour l analyse spectrale

Object Removal by Exemplar-Based Inpainting

Traitement d un AVI avec Iris

Les algorithmes de base du graphisme

Fonctions de plusieurs variables

Chapitre 7. Statistique des échantillons gaussiens. 7.1 Projection de vecteurs gaussiens

Résolution d équations non linéaires

3 Approximation de solutions d équations

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS

Création de maquette web

TP : Gestion d une image au format PGM

Créer un sondage sous Magento

Algorithme des fourmis appliqué à la détection et au suivi de contours dans une image

12 Tableaux croisés dynamiques

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

données en connaissance et en actions?

La classification automatique de données quantitatives

STRICTEMENT CONFIDENTIEL

Dan Istrate. Directeur de thèse : Eric Castelli Co-Directeur : Laurent Besacier

Les travaux doivent être remis sous forme papier.

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Mesure agnostique de la qualité des images.

Optimisation de la compression fractale D images basée sur les réseaux de neurones

= constante et cette constante est a.

Relation entre deux variables : estimation de la corrélation linéaire

Sécurité et Firewall

Introduction à l approche bootstrap

Utilisation du logiciel ImageJ gratuit

Recherche d'images par le contenu Application au monitoring Télévisuel à l'institut national de l'audiovisuel

Formation tableur niveau 1 (Excel 2013)

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Géométrie discrète Chapitre V

Cours d algorithmique pour la classe de 2nde

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Calc 2 Avancé. OpenOffice.org. Guide de formation avec exercices et cas pratiques. Philippe Moreau

Optimisation des fonctions de plusieurs variables

Texte Agrégation limitée par diffusion interne

Détection des points d intérêt et Segmentation des images RGB-D. Présentée par : Bilal Tawbe. Semaine de la recherche de l UQO

Projet audio. Analyse des Signaux ELE2700

La valeur présente (ou actuelle) d une annuité, si elle est constante, est donc aussi calculable par cette fonction : VA = A [(1-1/(1+k) T )/k]

Guide utilisateur i-milo >> Décisionnel

Chapitre 2 : Systèmes radio mobiles et concepts cellulaires

Université de Picardie - Jules Verne UFR d'economie et de Gestion

L évaluation de la rentabilité d un investissement

Codage vidéo par block matching adaptatif

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,


Windows Internet Name Service (WINS)

Calcul des indicateurs de sonie : revue des algorithmes et implémentation

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

Introduction au Data-Mining

Unity Real Time 2.0 Service Pack 2 update

Fonctions de deux variables. Mai 2011

Raisonnement probabiliste

Annexe commune aux séries ES, L et S : boîtes et quantiles

Guide utilisateur i-milo >> Décisionnel

Calcul différentiel sur R n Première partie

Modes Opératoires WinTrans Mai 13 ~ 1 ~

Algorithmes récursifs

NOTICE TELESERVICES : Demander un état hypothécaire

Technique de compression des images médicales 4D

2010 Minitab, Inc. Tous droits réservés. Version Minitab, le logo Minitab, Quality Companion by Minitab et Quality Trainer by Minitab sont des

LES DECIMALES DE π BERNARD EGGER

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

TP SIN Traitement d image

Druais Cédric École Polytechnique de Montréal. Résumé

Cours d Acoustique. Niveaux Sonores Puissance, Pression, Intensité

Traitement des données avec Microsoft EXCEL 2010

INFORMATIQUE : LOGICIELS TABLEUR ET GESTIONNAIRE DE BASES DE DONNEES

Fête de la science Initiation au traitement des images

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Introduction à MATLAB R

Apprentissage non paramétrique en régression

Analyse des bruits de clavier d ordinateur

LEÇON N 7 : Schéma de Bernoulli et loi binomiale. Exemples.

Théorème du point fixe - Théorème de l inversion locale

Le traitement du 5ème concours A.I.P. pour l objet SH2-155 de Franck JOBARD

Limitations of the Playstation 3 for High Performance Cluster Computing

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

FORMULAIRE DE STATISTIQUES

Guide d installation en 10 étapes...

Continuité et dérivabilité d une fonction

Comparaison de Relevés 3D issus de plusieurs Systèmes de Numérisation

Hiver 2013 IMN 259. Introduction à l analyse d images. Par Pierre-Marc Jodoin

Logiciel XLSTAT version rue Damrémont PARIS

Comment optimiser dans ImageReady?

Créer un tableau avec LibreOffice / Calc

Analyses psychoacoustiques dans ArtemiS SUITE

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Transcription:

Filières MMIS A : TP de traitement d images 05-06 TP : Filtrage non linéaire Pour palier le problème soulevé par les filtres linéaires (filtrage identique sur le bruit et sur les contours), on utilise des filtres non linéaires, destinés à supprimer le bruit sans détériorer les contours. L objectif du tp est de tester et comparer différentes méthodes de lissages non linéaires. Filtre médian Il consiste à remplacer le pixel central par la valeur médiane du voisinage (taille impaire) dans lequel il se trouve. Ce filtre ne tient pas compte de la hauteur du bruit, au contraire des filtres linéaires, puisqu il opère un classement relatif. 40 50 60 Par exemple, dans l image suivante 50 8 75, le pixel central de valeur 8 est remplacé par la 80 90 95 valeur 75 par un filtrage médian de taille 3 3. Tout point hors de la norme est donc rejeté, quelque soit sa valeur. Il n introduit donc pas de nouvelles valeurs d intensité et réduit la variance des intensités. Il permet d éliminer les valeurs incorrectes isolées. Il permet d éliminer les oscillations d intensité de période inférieure à la taille de la fenêtre ainsi que les bruits impulsionnel. La fenêtre utilisée pour le filtrage peut être une fenêtre carrée n n, une croix n n, une ligne ou une colonne. Les effets de ce filtre varient significativement en fonction de cette fenêtre. Pour des grandes tailles, le filtre utilisant une fenêtre carrée a tance à éliminer (en les arrondissant) les angles et les coins des contours, car toute impulsion inférieure à la taille du filtre est éliminée, quelque soit sa direction (un angle est une impulsion dans une direction donnée). Figure signaux filtrés par la médiane : en haut, le bruit impulsionel est supprimé ; En bas, le contour est conservé

. Implémentation Le temps d exécution de ce filtre peut etre long car il impose un tri sur (n + ).(n + ) valeurs, et augmente rapidement avec la taille du voisinage. Une manière élégante de réduire les temps d exécution d un médian de grande taille consiste à utiliser l histogramme cumulé qui s obtient facilement entre positions voisines de la fenêtre de traitement. L algorithme est alors le suivant : Algorithme : Median par histogramme input : im :image, N : taille de l image, n :demi taille du filtre output : ims :image débruitée for chaque ligne i de l image (à partir de la ligne n) do Calculer l histogramme h(k) d une fenêtre (.n + ).(.n + ) autour du point d indice i, n; k ims(i, j) = k tel que h(l) n + n = (.n+) ; l=0 for tous les points d indice i, j de la ligne i do Supprimer de l histogramme h les valeurs des points de la colonne j n ; Ajouter à l histogramme h les valeurs des points de la colonne j + n; ims(i, j) = k tel que k l=0 h(l) n + n = (.n+) ; Cet algorithme présente un temps d exécution linéaire en fonction de la taille du filtre. Il a la particularité de n effectuer aucun tri. Filtres adaptatifs Ces filtres sont des opérateurs de lissage qui modifient leur comportement ou leurs coefficients en fonction du contexte local. Ils comportent généralement des seuils qui leur permettent de s adapter aux valeurs de bruits à éliminer. Leur inconvénient est la connaissance requise à priori du type de bruit et des valeurs du bruit.. Filtre adaptatif récursif L idée suivie par ces auteurs est la suivante : le filtrage consiste d une part à réduire la variance du bruit dans les zones homogènes, d autre part à conserver les fronts correspondant à bords des objets. Il s agit donc de filtrer uniquement les zones homogènes pour éviter l adoucissement des contours. Malheureusement, l emplacement de ces contours est inconnu, auquel cas notre problème serait résolu. Ils proposent donc de filtrer une image par une fonction dépant du gradient de l image, de telle sorte que le lissage soit fort pour les gradients faibles (zones relativement homogènes) et faible pour les gradients forts (présence probable de contours). Le filtrage gaussien peut de plus être approximé par une succession de filtres moyenneurs de taille,

mais passés successivement plusieurs fois. Si S 0 (x) est le signal à filtrer, le filtre itératif devient : S t+ (x, y) = w t (x, y) = i= j= w t (x + i, y + j).s t (x + i, y + j) w t (x + i, y + j) i= j= ( ) t (S (x+,y) S t (x,y)) +(S t (x,y+) S t (x,y )) k Ce filtrage est répété itérativement jusqu à ce que l image filtrée soit stationnaire. Il y a deux opérations distinctes réalisées par le filtrage : d une part, le rehaussement des contours qui doivent rester présents dans l image finale et d autre part le lissage des régions homogènes. Le premier effet est obtenu juste après quelques itérations tandis que le second peut être très long (00 à 00 itérations au moins). La valeur du paramètre k correspond à peu près au seuil pour lequel les contours seront conservés et accentués si leur gradient est supérieur à ce seuil k. Il est donc directement lié au niveau de bruit de l image. Remarques. on peut utiliser une version dégradée en considérant w t = w 0. Le résultat est légèrement moins bon avec cette version, mais beaucoup plus rapide.. ce filtre est très proche du filtrage par diffusion isotrope non linéaire. En D, il s écrit en S t+ (x) = c t (x + ).S t (x + ) + c t (x).s t (x) + c t (x ).S t (x ) avec c t (x + ) + c t (x) + c t (x ) = = c t (x + ).S t (x + ) + ( c t (x + ) c t (x ) ).S t (x) + c t (x ).S t (x ) D où S t+ (x) S t (x) = c t (x + ). ( S t (x + ) S t (x) ) c t (x ). ( S t (x) S t (x ) ) et S t = (c. I) qui est l équation de la chaleur Si c est une constante, la solution de cette équation est le lissage gaussien, et le temps t est lié à la largeur du lissage par σ = t. Un nombre infini d itérations conduit à une image lissée constante. Dans notre cas, c est un scalaire qui dép des caractéristiques locales de l image et le lissage converge vers une image constante par morceaux.. Filtre bilatéral Les coefficients de ce filtre dépent non seulement de la distance euclidienne au point à lisser (comme pour la gaussienne), mais aussi de la ressemblance des intensités entre le pixel central et le pixel du masque. S(x, y) = i +j σ. (I(x+i,y+j) I(x,y)) σ.i(x + i, y + j) i +j σ. (I(x+i,y+j) I(x,y)) σ De ce fait, les pixels se ressemblant provoqueront un fort lissage (ie des zones homogènes) alors que des pixels ne se ressemblant pas provoqueront de faibles lissages. L exemple figure montre l image à gauche, les coefficients du masque situé à pixels sur la droite de la frontière, et l image lissée. 3

Figure Filtre bilateral : à gauche, une image avec un contour ; Au centre, la valeur des coefficients du filtre bilatéral ; A droite, l image lissée par le filtre bilateral Remarques. Ce filtre peut etre lui aussi itéré plusieurs fois. Il t alors à donner des images constantes par morceaux.. Si la valeur de σ est liée au bruit de l image, celle de σ est comme pour la gaussienne classique liée à la taille des détails que l on souhaite préserver. 3. Dans le cas d un bruit poivre et sel, le bruit modifie beaucoup les valeurs de l image, mais de manière éparse dans l image. L influence du terme de distance entre les intensités devient alors très faible. Pour pallier ce problème, il est courant de remplacer, dans le calcul des distances entre intensités, ces intensités par une version lissée par un médian, qui est un estimateur robuste. Le filtre devient : S(x, y) = i +j σ. (Med(I(x+i,y+j)) Med(I(x,y))) σ.i(x + i, y + j) i +j σ. (Med(I(x+i,y+j)) Med(I(x,y))) σ 4. On peut aussi remplacer la fonction gaussienne par une fonction lorentzienne f(x) = une fonction de Huber πγ +( x γ/ ) ou.3 Méthodes à base de patch : moyenne non locale Le filtrage classique réalise une moyenne pondérée des pixels voisins, sous l hypothèse que la plupart d entre eux appartiennent à des zones homogènes et doivent donc etre semblables du point de vue statistique. De ce fait, le SNR est amélioré, mais les contours sont atténués. L idée du filtre Nlmeans est d utiliser la redondance présente dans la plupart des images, cette redondance n étant pas spécifiquement locale. De ce fait, il est possible de faire le lissage (moyenne pondérée) de pixels qui ne sont pas voisins. Le patch est un voisinage de petite taille autour d un pixel. La région est un voisinage de plus grande taille autour de ce pixel. Le principe de cette méthode, pour traiter un pixel, est donc de rechercher d autres pixels dans la région qui ont le même environnement ou patch. Le lissage consiste à réaliser la moyenne pondérée de ces pixels dont les patchs se ressemblent, la pondération étant proportionnelle à la dissemblance entre patchs. L algorithme s écrit : 4

Algorithme : Nl-Means input : im :image, t :taille des régions, r :taille des patches ; output : ims :image débruitée for tous les pixels p de coordonnées X, Y de l image im do soit P le patch de taille (r + ).(r + ) centré sur le pixel p; soit R t (p) la région de taille (t + ).(t + ) centré sur le pixel p; for tous les pixels q R t (p) de coordonnées x, y do soit Q le patch de centre q de taille (r + ).(r + ); d (P, Q) = r r ( (im(x + i, y + j)) (im(x + i, Y + j)) ) ; i= r j= r w(p,q)=e( d (P,Q).σ ); ims(p) = w(p,q).im(q) q R t (p) q R t (p) w(p,q) ; 3 Estimation du bruit Il existe de nombreuses méthodes pour estimer le bruit. Nous utiliserons ici la methode du pourcentile, adaptée à un bruit gaussien stationnaire. Cette méthode est basée sur le calcul de la variance locale dans des blo cs de petite taille de l image. Cette variance correspond essentiellement au bruit gaussien de l image, perturbée à certaines positions par les contours ou la texture de l image. Comme les contours sont peu nombreux, l histogramme des variances locales est essentiellement un direac centré sur la variance du bruit, et n est affecté que dans sa partie la plus à droite (les plus fortes variances) par les contours. La méthode propose donc de calculer la variance à partir d un très faible pourcentile de l histogramme des variances locales. Il faut dans un premier temps supprimer les variations lentes dues au signal utile grâce à un filtre passe-haut, comme les filtres basés sur les opérateurs différentiels (gradient, laplacien) ou sur des ondelettes. L algorithme devient alors : Algorithme 3 : Estimation du bruit input : Entrées : im :image, t :taille des blocs, p :pourcentile ; output : La valeur de la variance du bruit 0 0 Filtrage passe-haut : convolution par un masque 5 ; 0 0 for tous les pixels de l image filtrée do calcul de la variance locale du bloc de taille (t + ).(t + ) centré sur le pixel; Mise à jour de l histogramme des variances locales; variancefinale :.3* variance qui atteint p% de l histogramme cumulé; La variance calculée est naturellement un peu inférieure à la variance réelle. Le facteur.3 est un facteur multiplicatif destiné à corriger cette sous estimation. Il est obtenu de manière empirique. La taille des blocs et la valeur de pourcentile dépent de la variance réelle du bruit et du filtre passe-haut utilisé. Pour des variances inférieures à 60, une taille de bloc de t = 0 et une valeur de p = 0.5 sont de bons paramètres. Au dela de 60, une taille de bloc de t = 5 et une valeur de p = 50 sont de meilleurs paramètres. Comme la variance réelle est inconnue, on peut estimer une première fois le bruit avec un jeu de 5

paramètres standard t = 0, p = 0.5, puis avec le jeu le plus approprié selon cett e première estimation. 4 Travail à réaliser L objectif est de comparer quantitativement les différents filtres en calculant le PSNR et le temps d exécution sur des images sur lesquelles un bruit connu est ajouté, et qualitativement sur des images naturelles. Programmer les différents filtres non linéaires présentés, ainsi que l estimation du bruit Proposer une estimation des paramètres des différents filtres Etablir et comparer PSNR et temps CPU de ces filtres sur les images formesyyxx.pgm et etablir un classement de performances Comparer d un point de vue qualitatif l effet de ces filtres sur les autres images 6