Master IMA - UMPC Paris 6 RDMM - Année 2009-2010 Fiche de TP



Documents pareils
Traitement bas-niveau

Géométrie discrète Chapitre V

Chapitre VI. Connexions et fonctions numériques

Les algorithmes de base du graphisme

Cours Fonctions de deux variables

Utilisation du logiciel ImageJ gratuit

Projet de Traitement du Signal Segmentation d images SAR

TP : Gestion d une image au format PGM

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Cours d Analyse. Fonctions de plusieurs variables

Projet Matlab/Octave : segmentation d'un ballon de couleur dans une image couleur et insertion d'un logo

3 Approximation de solutions d équations

M2R IMA UE CONF Présentation

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

Fonctions de plusieurs variables

Fête de la science Initiation au traitement des images

Optimisation, traitement d image et éclipse de Soleil

Fonctions de plusieurs variables

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

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

Notes du cours MTH1101N Calcul I Partie II: fonctions de plusieurs variables

Fonctions de deux variables. Mai 2011

Algorithmique et Programmation Fonctionnelle

Opérations de base sur ImageJ

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

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Analyse Sémantique de Nuages de Points 3D et d Images dans les Milieux Urbains

Texte Agrégation limitée par diffusion interne

Comment sélectionner des sommets, des arêtes et des faces avec Blender?

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Résolution d équations non linéaires

GUIDE D UTILISATION. Gestion de compte. à destination des intermédiaires

Chapitre 2 Le problème de l unicité des solutions

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Représentation d un entier en base b

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE

L apprentissage automatique

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

Modes Opératoires WinTrans Mai 13 ~ 1 ~

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

TD : Codage des images

GUIDE D UTILISATION. Gestion de compte. à destination des entreprises (Employeurs et Organismes de Formation)

Axe " Génie des Procédés", centre SPIN, Ecole des Mines de Saint-Etienne ECOLE DES MINES SAINT-ETIENNE ANALYSE D IMAGE

Continuité et dérivabilité d une fonction

PROBABILITÉS CONDITIONNELLES

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

La classification automatique de données quantitatives

Image d un intervalle par une fonction continue

Exercices sur les interfaces

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

1 Recherche en table par balayage

Introduction au Data-Mining

Optimisation des fonctions de plusieurs variables

DOCM Solutions officielles = n 2 10.

Projet MDMA - Rapport L2

Correction du Baccalauréat S Amérique du Nord mai 2007

Cours d initiation à la programmation en C++ Johann Cuenin

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Alice Sécurité Enfants (version )

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

Fonction inverse Fonctions homographiques

Développements limités. Notion de développement limité

Initiation à LabView : Les exemples d applications :

Conversion d un entier. Méthode par soustraction

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

EXCEL TUTORIEL 2012/2013

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

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

Représentation des Nombres

Raisonnement par récurrence Suites numériques

Examen d informatique première session 2004

Manuel d installation Lecteur XM3

TP SIN Traitement d image

Introduction à l informatique en BCPST

Coup de Projecteur sur les Réseaux de Neurones

Analyse d images. Edmond.Boyer@imag.fr. Edmond Boyer UFRIMA 1

TD de supervision. J.P. Chemla. Polytech Tours Département productique 2ème année

GUIDE Excel (version débutante) Version 2013

Université Paris-Dauphine DUMI2E 1ère année, Applications

Cours3. Applications continues et homéomorphismes. 1 Rappel sur les images réciproques

NOEUD HERRINGBONE-PINEAPPLE STANDARD TYPE and PASS

Nombre dérivé et tangente

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

TP Bases de données réparties

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

Table des matières A. Introduction... 4 B. Principes généraux... 5 C. Exemple de formule (à réaliser) :... 7 D. Exercice pour réaliser une facture

Service des ressources informatiques - Conseil Scolaire de District Catholique Centre-Sud Page 1

F210. Automate de vision hautes fonctionnalités. Caractèristiques. Algorithmes vectoriels

Valeur cible et solveur. Les calculs effectués habituellement avec Excel utilisent des valeurs numériques qui constituent les données d'un problème.

Recherche dans un tableau

Équations non linéaires

TD 9 Problème à deux corps

Chap17 - CORRECTİON DES EXERCİCES

Manuel d Utilisation Nouvelle Plateforme CYBERLIBRIS : ScholarVox Management

Transcription:

Master IMA - UMPC Paris 6 RDMM - Année 2009-200 Fiche de TP Préliminaires. Récupérez l archive du logiciel de TP à partir du lien suivant : http://www.ensta.fr/~manzaner/cours/ima/tp2009.tar 2. Développez l archive : >tar xvf tp2009.tar 3. Compilez le logiciel : >cd TPMorpho/ >make 4. Récupérez quelques images aux formats gif ou pgm, à partir du lien suivant : http://www.ensta.fr/~manzaner/images. Lancez le logiciel (l argument donné ici n est qu un exemple) : >./Morpho.tcl -i../images/clock.gif -nb 6 & 2 Opérateurs de base et composés expérimentez : A partir des opérations disponibles sur l interface Inti, calculez les opérations morphologiques suivantes : Erosion Dilatation Gradient interne Gradient externe Gradient morphologique (symétrisé) Laplacien morphologique Ouverture Fermeture Top-hat Top-hat conjugué Quel est l effet du changement de la condition de bord dans l interface sur les opérations morphologiques? Comment vérifier expérimentalement la relation de dualité des opérateurs (e.g. Erosion/Dilatation, Ouverture/Fermeture)?

3 Un détecteur de contours rudimentaire Selon le modèle classique de Marr et Hildreth, les contours d une image correspondent aux lieux de passage par zéro du laplacien Λ. On calcule cet ensemble à partir des 2 ensembles suivants : Λ + = {(x, y); Λ(x, y) > 0}, et Λ = {(x, y); Λ(x, y) < 0}. Ces 2 ensembles sont évidemment disjoints, mais on peut calculer grossièrement les lieux de passages par zéro par exemple de la façon suivante : Λ 0 = δ B (Λ + ) Λ, où δ B désigne la dilatation morphologique par une boule élémentaire (i.e. définissant la topologie). Comme en général, ce détecteur fournit une réponse trop dense pour être exploitable, on le combine avec un seuillage du module du gradient G, soit : G s = {(x, y); G(x, y) s}. L ensemble des contours C est finalement défini par : C = G s Λ 0 Appliquez ce détecteur de contours directement sur l interface Inti en prenant pour Λ et pour G respectivement le laplacien et le gradient morphologiques, et en testant sur 2 ou 3 images en niveaux de gris. Quels sont les paramètres de votre détecteur? Quel est l impact de ces paramètres sur le résultat? Quels sont selon vous les limites à la pertinence et à l exploitation de ce détecteur? 4 Transformée en Tout-ou-rien. Etant donné une image binaire I Z 2, un couple (H, M) d éléments structurants H, M Z 2 tels que H M =, on appelle transformée en tout-ou-rien (TTR) de I par le couple (H, M), l image : I (H, M) = ε H (I) ε M (I c ) = (I Ȟ) (Ic ˇM). expérimentez la recherche de configurations sur images binaires par TTR sur l interface Inti (Sur le tableau de définition de l élément structurant, le bouton de gauche définit H (en blanc), le bouton de droite définit M (en noir)). Appliquez les TTR au débruitage de l image binaire texte bruit.gif, commentez les résultats. Opérateurs connexes expérimentez la reconstruction géodésique, pour une image binaire, puis pour une image en niveau de gris. Comment peut-on calculer une reconstruction sur l interface Inti sans utiliser le bouton reconstruction? Comment cet algorithme est-il programmé efficacement? appliquez la reconstruction géodésique à l image binaire particules.gif pour éliminer les particules de diamètre inférieur à 20 pixels sans modifier les autres. Quelle est l opération que vous avez utilisée? calculez l ouverture et la fermeture par reconstruction de l image tree noise.gif. Présentez et commentez les résultats. 2

expérimentez l opération d érosion ultime sur une image binaire. Quel rapport existe-il entre cette opération et la reconstruction géodésique? Appliquez l érosion ultime à la singularisation de particules dans l image binaire coffee.gif. 6 Lignes de Partage des Eaux Expérimentez l opérateur de lignes de partage des eaux (LPE - Menu niveau de gris ). Comment interpréter cet opérateur? Sur quels types d images l applique-t-on en général? Observez et interpréter le phénomène de sur-segmentation sur une image naturelle. Appliquez une fermeture par reconstruction sur l image de gradient avant la LPE. Quel est l effet de cet opérateur sur le résultat de la LPE? Appliquez un filtrage de dynamique sur l image originale avant le calcul du gradient. Appliquez le gradient, puis la LPE. Quel est l effet de l opérateur de filtrage de dynamique? Combinez enfin les 2 opérateurs avant le calcul de la LPE et interprétez le résultat. Attention : la ligne de partage des eaux est affichée en jaune sur l interface, mais sera interprétée en niveau de gris si on applique un opérateur après la LPE, ce qui n aura donc pas de sens en général. 7 Programmation : Erosion binaire de taille arbitraire 7. Première version programmez la procédure : void Erosion_version(Image<int>& p,int distance,int rayon); qui calcule l érosion d une image p codée sur des niveaux de gris allant de 0 à 2, pour un élément structurant égal à la boule discrète d distance (distance = 4 ou 8), de rayon rayon, en itérant rayon fois une érosion élémentaire par une boule élémentaire de la même distance (voir Figure ). d4 d8 Fig. Les boules élémentaires des distances d 4 et d 8. Quelle est la complexité de votre algorithme en fonction de rayon? 3

7.2 Seconde version expérimentez les transformées en distance sur une image binaire. Comment une telle transformation peut-elle être utilisée pour calculer des érosions binaires de taille arbitraire? La procédure void FctDistance(Image<int>& p,char *nom); disponible dans les sources du programme Inti, dans le fichier morfo.cc, calcule la transformée en distance nom de l image binaire p, c est-à-dire la fonction qui à chaque pixel non nul de l image binaire (pixel appartenant à l image au sens ensembliste), associe sa distance (au sens de nom) au plus proche pixel nul de l image binaire (pixel appartenant au complémentaire de l image au sens ensembliste). Cette transformée se calcule par deux balayages successifs sur l image, l un dans le sens video, l autre dans le sens video inverse, et par application des masques de calcul des différentes distances discrètes (voir Figure 2). Pour chaque parcours, à chaque pixel non nul examiné, on remplace la valeur du pixel par le minimum de la valeur de ses voisins au sens du masque de parcours, augmenté de la valeur correspondante dans le masque. Après les deux parcours, la valeur des pixels est rééchelonnée sur l intervalle [0, 2] pour des raisons de visualisation. 4 3 4 7 7 3 d4 d8 ch3 4 ch 7 Parcours video 3 7 7 4 3 4 d4 d8 ch3 4 ch 7 Parcours video inverse Fig. 2 Masques de calcul utilisés pour les transformées en distance d4 et d8, et pour les distances de chanfrein 3-4 et -7-. En fait, une procédure récursive similaire peut être utilisée pour calculer une bonne approximation de la transformée en distance euclidienne associée à une image binaire. Le principe, dû à Danielsson et Leymarie, consiste à calculer en chaque pixel le carré de la distance euclidienne exacte, en calculant récursivement pour chaque pixel (x, y) les coordonnées relatives (R x (x, y), R y (x, y)) du pixel de contour le plus proche (c est-à-dire que le pixel du contour le plus proche de (x, y) est le pixel (x + R x (x, y), y + R y (x, y))). Le carré de la transformée en distance euclidienne est alors donné par R x (x, y) 2 + R y (x, y) 2. La fonction distance au carré est calculée récursivement par sommation marginale (i.e. quand un nombre r augmente de, son carré augmente de 2r + ). L algorithme précis est le suivant : 4

Initialisation pour tout pixel (x,y) : si (x, y) X : {f(x, y) = 0; R x(x,y) = 0; R y(x,y) = 0;} si (x, y) X : {f(x, y) = ; R x(x,y) = 0; R y(x, y) = 0;} Balayage direct pour y de 0 à N lig : pour x de 0 à N col : () (a,b) = arg min (a,b) V [f(x + a, y + b) + f (a,b) (x, y)] avec f (a,b) (x,y) = 2( ar x(x + a, y + b) + br y(x + a, y + b) ) + a 2 + b 2 (2) R x(x,y) = R x(x + a, y + b) + a R y(x,y) = R y(x + a,y + b) + b (3) f(x, y) = f(x + a, y + b) + f (a,b) (x, y) Balayage rétrograde pour y de N lig à 0 : pour x de N col à 0 : () (a,b) = arg min (a,b) V +[f(x + a, y + b) + f (a,b) (x, y)] avec f (a,b) (x,y) = 2( ar x(x + a, y + b) + br y(x + a, y + b) ) + a 2 + b 2 (2) R x(x,y) = R x(x + a, y + b) + a R y(x,y) = R y(x + a,y + b) + b (3) f(x, y) = f(x + a, y + b) + f (a,b) (x, y) f(x, y) correspond au carré de la transformée en distance euclidienne. R x (x, y) et R y (x, y) correspondent respectivement aux coordonnées relatives horizontale et verticale du pixel de contour le plus proche de (x, y). V = {(, ), (0, ), (+, ), (, 0)}, et V + = {(+, 0), (, +), (0, +), (+, +)} correspondent respectivement aux voisinages causal et anticausal. La procédure void Fct_distance_euclidienne(Image<int>& p); disponible dans le fichier morfo.cc, calcule de cette façon la transformée en distance euclidienne de l image binaire p. adaptez les procédures précédentes pour programmer la procédure : void Erosion_version2(Image<int>& p,char *distance,int rayon); qui calcule l érosion d une image binaire p, pour une boule de rayon rayon de la distance distance. Quelle est la complexité de votre algorithme en fonction de rayon? 8 Programmation : Nivellement Le Nivellement peut être vu comme une généralisation de la reconstruction, utilisée dans le cas où il n y a pas de relation d ordre entre le marqueur et l image de référence. programmez en utilisant la procédure de reconstruction géodésique disponible dans le fichier morfo.cc de l interface Inti, la procédure : void Nivellement(Image<int>& p,image<int>& p_ref,int cx);

qui calcule le nivellement de l image marqueur p dans l image de référence p ref, en utilisant la connexité cx (cx = 4 ou 8). expérimentez les nivellements pour calculer les filtres alternés séquentiels par reconstruction d une image en niveaux de gris sur plusieurs niveaux. Observez l évolution de profils d (bouton de droite sur les images) pour les f.a.s et les f.a.s par reconstruction. Commentez les résultats. Les filtres alternés séquentiels peuvent être calculés à la main depuis l interface Inti, ou, mieux, en programmant votre propre procédure : void FAS(Image<int>& p,int premier,int rayon); qui calcule le filtrage alterné séquentiel de l image p par le filtre : Θ rayon = φ rayon γ rayon...φ γ (ouverture d abord) si premier = 0, et Ξ rayon = γ rayon φ rayon... γ φ (fermeture d abord) si premier =. 6