Traitement et analyse d'images -ANIMAG
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
Juste au cas où …. Qui suisje ? Et comment me joindre ? Carole Frindel, CREATIS carole.frindel@creatis.insalyon.fr Si vous avez des difficultés : – Références à des ouvrages tout au long du cours – Internet est vaste : soyez autonomes. Si ça ne répond pas à vos questions : – Envoyez un mail à votre enseignant Page : 2/15
Programme du cours Introduction Qu’estce qu’une image ? Traitements de base d’une image Convolution Numérique Traitements fréquentiels Détection des contours Segmentation Opérations sur les images binaires Reconnaissance des formes Page : 3/15
Fonctionnement du cours Séance de 2 ou 4h (exceptionnellement). Alternance entre séance de cours et de TP Travaux pratiques – Utilisation de Fiji sous Linux – Programmation de macros sous Fiji Evaluation du cours – Travaux pratiques (50%) + projet (50%) Page : 5/15
Fiji Logiciel de traitement et analyse d'images, surcouche de ImageJ ImageJ : logiciel multiplateforme et open source de traitement et d'analyse d'images développé par les National Institutes of Health Il est écrit en Java et permet l'ajout de nouvelles fonctionnalités via des plugins et macros Téléchargeable sur http://fiji.sc/Fiji Utilisé pour les travaux pratiques Page : 7/15
Attention : accent mis sur les TP Ne surtout pas commencer à la dernière minute – Travaillez en plusieurs fois – Se laisser du temps pour réfléchir aux problèmes Du temps est donné en classe pour les TP – Profitezen pour avancer votre travail ! – Evitez de surfez le web dans les cours et relisez votre cours avant de venir en TP Page : 8/15
Attention : accent mis sur les TP C’est un cours de traitement d’images ! – Découvrez le logiciel Fiji et ses fonctionnalités – Ecrivez votre rapport en français – Mais expliquez et démontrez le traitement d’images ! Montrez des résultats sur les images – Choisissez les images et expliquez vos résultats – Faites le lien avec ce qui est vu en cours Page : 9/15
Ouvrages en Traitement d’images Diane Lingrand. Introduction au Traitement d’Images, Vuibert, Paris, 2004. Alain Trémeau, Christine FernandezMaloigne & Pierre Bonton. Image Numérique Couleur, Editions Dunod, 2004. Rafael C. Gonzalez & Richard E. Woords. Digital Image Processing, 2nd edition, PrenticeHall, 2002. Wilhelm Burger & Mark J. Burge. Digital Image Processing: An Algorithmic Introduction using Java, Springer, 2007. Page : 10/15
Vision artificielle (Computer Vision) Qu'est ce que c'est ? – connaissances et technologies qui permettent de concevoir des machines qui peuvent « voir » Premier niveau : vision – acquiert une image grâce à une chaîne intégrant des éléments optiques et un capteur Deuxième niveau : traitement de l'image – modifie le contenu de l'image afin de mettre en évidence des éléments d'intérêt (objets, contours) Troisième niveau : reconnaissance – utilise des techniques d'intelligence artificielle pour identifier des formes connues dans l'image Page : 11/15
Extension de la perception humaine ? Oui Capteurs meilleurs que l'oeil humain – voient ce que nous ne voyons pas directement, du fait de la limitation de notre système visuel Autres propriétés optiques – problème d'échelle, de résolution, de point de vue (ex : images satellitaires) Autres gammes de longueurs d'onde – caméras multispectrales, infrarouge proche, thermiques (infrarouge lointain) Autres cadences – caméras à haute cadence, plusieurs milliers d'images par seconde. Page : 12/15
Mieux que la perception humaine ? Non Moins « intelligent » que l'humain – même si les images initiales sont parfois très riches, le résultat de leur traitement par un système de VA reste souvent basique Puissance de calcul – les systèmes de VA ont une capacité de calcul infiniment plus limitée que celle du cerveau humain, ou de celui des animaux évolués Connaissance et reconnaissance – nous exploitons nos connaissances pour interpréter le contenu de l'image : on reconnaît parfois des objets alors qu'ils ne sont pas visibles Page : 13/15
Exemple d'application de la VA : imagerie médicale Objectifs – aider le médecin lors du diagnostic, le chirurgien lors de la réalisation d'un geste opératoire Amélioration des images – rehaussement du contraste, élimination du bruit, mise en évidence des détails Détection et localisation – positionnement des organes, détection des tumeurs, mesure de dimensions et de volumes Imagerie interventionnelle – assistance enligne au praticien : opérations réalisées sur les images en tempsréel Page : 14/15
Vision industrielle : contrôle de la qualité, de l'aspect, ... Objectifs – éviter le contrôle visuel par un opérateur (tâche répétitive peu valorisante) Contrôle dimensionnel – le système de vision détermine la dimension, la forme, la position de l'objet qu'il observe Contrôle d'aspect – le système détermine la couleur, la texture des objets observés Contrôle de la qualité – à partir des données précédentes, le système détermine la qualité d'un produit Page : 15/15
Carole Frindel, CREATIS
Qu'est-ce qu'une image ? Niveaux de gris - 8 bits: 0 - noir 255 - blanc 64 60 69 100 149 151 176 182 179 65 62 68 97 145 148 175 183 181 65 66 70 95 142 146 176 185 184 66 66 68 90 135 140 172 184 184 66 64 64 84 129 134 168 181 182 59 63 62 88 130 128 166 185 180 60 62 60 85 127 125 163 183 178 62 62 58 81 122 120 160 181 176 63 64 58 78 118 117 159 180 176 2 Source : Tal Hassner. Computer Vision. Weizmann Institute of Science (Israel).
Qu'est-ce qu'une image ? Une image est avant tout un signal 2D (x,y) Souvent, cette image représente une réalité 3D (x,y,z) D'un point de vue mathématique : Une image est un matrice de nombres représentant un signal Plusieurs outils permettent de manipuler ce signal D'un point de vue humain : Une image contient plusieurs informations sémantiques Il faut interpréter le contenu au-delà de la valeur des nombres 4
Images naturelles et artificielles Image naturelle – Plusieurs moyens d'acquisition caméra, microscope, tomographie, infra-rouge, satellite, … Image artificielle – Plusieurs outils de représentation synthèse d'images, réalité virtuelle, visualisation scientifique, … Image naturelle Image artificielle Image artificielle 5
Trois principaux types d'images Images en niveaux de gris Images binaires Images couleurs I(x,y) ∈ [0..255] I(x,y) ∈ {0 , 1} IR(x,y) IG(x,y) IB(x,y) … et plus encore (image 3D, image réelle, …) Source : Tal Hassner. Computer Vision. Weizmann Institute of Science (Israel). 6
Image couleur dans l'espace RVB Mais il existe aussi d’autres codages de la couleur que RVB… CVIPTools : File>View Band>{Red,Green,Blue} / Utilities>Convert>Color to Gray 7 Source : Tal Hassner. Computer Vision. Weizmann Institute of Science (Israel).
Acquisition des images 8
Acquisition d'une image Monde Caméra Numériseur Image numérique Source : Tal Hassner. Computer Vision. Weizmann Institute of Science (Israel). 9
Capteur – Principe général Principe général (ex: photodiode) L'énergie incidente est convertie en signal électrique Sortie est proportionnelle à la lumière Filtre pour augmenter la sélectivité 10
Capteurs – Matrice 2D KAF-1600 - Kodak. 11
Capteur CCD Caméras numériques CCD Matrice CCD (Charged Coupled Devices) Système d'acquisition numérique 2D le plus utilisé La réponse est proportionnelle à l'intégrale de l'énergie lumineuse qui atteint chaque élément Pour la couleur, on utilise trois capteurs par pixel réagissant à des longueurs d'ondes différentes (rouge, vert et bleu) 12
Image numérique Les valeurs de f (x,y) sont la réponse du capteur au phénomène observé Les valeurs de f (x,y) sont des valeurs de « voltage » continu Les valeurs de f (x,y) doivent être converties vers le domaine numérique Conversion Analogique/Numérique (A/N) Deux procédés sont impliqués pour numériser une image : Numérisation = Échantillonnage + Quantification 13
Echantillonnage et quantification 14 Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002.
Echantillonnage et quantification L’échantillonnage est limité par la capacité du capteur, donc le nombre de pixels disponible (ou autre limite imposée) La quantification est limitée par la quantité de tons (de gris) définie dans l’intervalle 15 Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002.
Echantillonnage et quantification Avec un capteur à matrice : 16 Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002.
Echantillonnage et quantification CVIPTools : Utilities>Size>Spatial Quant / Utilities>Convert >Gray Level Quantization 17
Représentation des images Matrice de dimension M X N Chaque élément à une valeur entière dans l'intervalle [Lmin , Lmax] Le nombre de « bits » requis pour représenter les niveaux de gris dans l’intervalle « L » est « K » La relation entre « K » et « L » est : L=2K Le nombre de bits pour entreposer un image est donc : b=MXNXK 18
Résolutions des images Résolution spatiale Le plus petit détail discernable Résolution tonale (de tons de gris) Le plus petit changement discernable Une image a donc une résolution spatiale de M X N pixel et une résolution de tons de gris de K bits ou de L niveaux ou tons 19
Résolutions spatiale et tonale Résolution spatiale : échantillonage Résolution tonale : quantification 20 Source : Antoine Mazanera. Introduction et filtrage. ENSTA (France).
Profils d’intensité dans une image 25
Profil d'intensité d'une image Un profil d’intensité d’une ligne dans une image est représenté par des signaux 1D. 26
Lectures suggérées ●Introduction au Traitement d’Images (Lingrand) : chapitre 1 ●Digital Image Processing: An Algorithmic Introduction using Java (Burger & Burge) : chapitre 2 ●Wikipédia : Traitement d'images, Image numérique, Image matricielle, Image resolution, Niveaux de gris, Quantification
Histogramme d'une image Nombre de pixels Niveau de gris L'histogramme représente la distribution des niveaux de gris (ou de couleurs) dans une image H(k) = nombre de pixels de l'image ayant la valeur k. CVIPTools : File>Show Histogram 2
Histogramme d'une image PI(k) 1 k PI(k) 1 0.5 k PI(k) 0.1 k Dynamique d'une image = [valeur_min,valeur_max] 3 Source : Tal Hassner. Computer Vision. Weizmann Institute of Science (Israel).
Luminance ou brillance d'une image La luminance (ou brillance) est définie comme la moyenne de tous les pixels de l'image. Dans les deux images suivantes, seule la luminance est différente : CVIPTools : Utilities>Stats>Image Statistics (Mean) Source : Eric Favier. L'analyse et le traitement des images. ENISE (France). 4
Contraste d'une image Le contraste peut être défini de plusieurs façons : Ecart-type des variations des niveaux de gris Variation entre niveaux de gris min et max CVIPTools : Utilities>Stats>Image Statistics (S.D.) 5
Contraste d'une image Les deux images suivantes possèdent un contraste différent : Source : Eric Favier. L'analyse et le traitement des images. ENISE (France). 6
Exemples de contrastes d’une image Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002. 7
Amélioration du contraste Plusieurs méthodes possibles : Transformation linéaire Transformation linéaire avec saturation Transformation linéaire par morceau Transformation non-linéaire Égalisation de l’histogramme CVIPTools : Enhancement>Histograms 8 Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal.
Transformation linéaire I’ 255 max− min 255− 0 = I i , j − min I ' i , j − 0 I’(i,j) Alors : 255 I ' i , j = I i , j − min 0 max− min min I(i,j) max I 255 ( I (i , j ) −min) I ' (i, i) = ( I (i, j ) − min) avec ∈[0,1] max − min max − min CVIPTools : Enhancement>Histograms>Linear Modification 9 Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal.
Transformation linéaire % 255 255 0 255 min max 255 255 min max 0 255 10 Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal.
Implémentation… Utilisation d’une LUT Pour i=1 à nblig Pour j=1 à nbcol (Look Up Table) I’(i,j) = 255*(I(i,j)-minI) /(maxI-minI); /* Initialisation de la LUT */ Pour i=0 à 255 LUT[i]=255*(i-minI)/(maxI-minI); /* Initialisation de la LUT */ Pour i=1 à nblig Pas optimal Pour j=1 à nbcol I’(i,j) =LUT[I(i,j)]; 11 Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal.
Transformation linéaire avec saturation % 255 255 0 255 Smin Smax 255 255 min max Smin Smax 0 255 12 Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal.
Transformation linéaire avec saturation 255 I ' (i, j ) = ( I (i, j ) − Smin ) Smax − Smin I ' (i, j ) ≤ 0 ⇒ I ' (i, j ) = 0 I ' (i, j ) ≥ 255 ⇒ I ' (i, j ) = 255 min(I (i, j )) ≤ Smin < Smax ≤ max(I (i, j )) 13 Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal.
Transformation linéaire par morceaux % 255 255 0 255 Smin Smax 255 255 min max Smin Smax 0 255 S 14 Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal.
Transformation linéaire par morceaux Exemple d’une fonction ad-hoc de modification du contraste de l’image. 15 Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002.
Correction de la dynamique de l'image Image originale Image restaurée CVIPTools : Utilities>Stats>Image Data Range + Enhancement>Histograms>Histogram Stretch 18 Source : www.crans.ens-cachan.fr/~genest/histogramme.pdf
Correction de la dynamique de l'image Dans le cas où l'histogramme initial occupe toute la plage de dynamique, aucun changement n'est visible. Source : www.crans.ens-cachan.fr/~genest/histogramme.pdf 19
Egalisation de l'histogramme 3500 3500 3000 3000 2500 2500 2000 2000 1500 1500 1000 1000 500 500 0 0 0 50 100 150 200 250 0 50 100 150 200 250 Image originale Image plus contrastée CVIPTools : Enhancement>Histograms>Histogram Equalization 20 Source : Tal Hassner. Computer Vision. Weizmann Institute of Science (Israel).
Egalisation de l'histogramme Pour améliorer le contraste, on cherche à aplanir l’histogramme hk h ideal k k k Etape 1 : Calcul de l'histogramme hi i∈[ 0, 255] Etape 2 : Normalisation de l'histogramme hi h n i = i∈[ 0, 255] (Nbp : nombre de pixels de l‘image) Nbp i Etape 3 : Densité de probabilité normalisé C i = ∑ h n j i∈[ 0, 255] j= 0 Etape 4 : Transformation des niveaux de gris de l'image f ' x , y=C f x , y× 255 Note : voir ImAnalyse pour des exemples d'histogrammes cumulés 21
Egalisation de l'histogramme L'égalisation d'histogramme peut améliorer une image là où la correction de dynamique de l'histogramme est inefficace. 22
Egalisation de l'histogramme Si on prend la même image avec des contrastes différents, l’égalisation d’histogramme donne le même résultat pour toutes les images. Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002. 23
Egalisation (locale) de l'histogramme Image originale Egalisation Egalisation locale globale L’égalisation locale de l’histogramme est faite en prenant une fenêtre de 7x7 autour de chaque pixel. CVIPTools : Enhancement>Histograms>Local Equalization Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002. 24
Opérations sur les images (ET,OU) Les opérations logiques fonctionnent aussi sur les images. ET = OU = CVIPTools : Utilities>Arith/Logic>{AND,OR} Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002. 25
Opérations sur les images (ET,OU) Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002. 26
Addition d’images Si f et g sont deux images, on peut définir l’addition R pixel à pixel de ces deux images par : R(x,y) = Min( f(x,y)+g(x,y) ; 255 ) L’addition d’images peut permettre De diminuer le bruit d’une vue dans une série d’images D’augmenter la luminance en additionnant une image avec elle-même CVIPTools : Utilities>Arith/Logic>Add 27 Source : Eric Favier. L'analyse et le traitement des images. ENISE.
Soustraction d’images On peut définir la soustraction S pixel à pixel de deux images f et g par : S(x,y) = Max( f(x,y)-g(x,y) ; 0 ) La soustraction d’images peut permettre Détection de défauts Détection de mouvements CVIPTools : Utilities>Arith/Logic>Substract 28 Source : Eric Favier. L'analyse et le traitement des images. ENISE.
Multiplication d’images La multiplication S d’une image f par un ratio (facteur) peut se définir par : S(x,y) = Max( f(x,y)*ratio ; 255) La multiplication d’images peut permettre d’améliorer le contraste ou la luminosité x1,5 = x1,2 = CVIPTools : Utilities>Arith/Logic>Multiply 29 Source : Eric Favier. L'analyse et le traitement des images. ENISE.
Opérations sur les images (+,-) 0.5*F(x,y) + 0.5*G(x,y) F(x,y) G(x,y) G(x,y) - F(x,y) - F(x,y) G(x,y) Source : www.nte.montaigne.u-bordeaux.fr/SuppCours/5314/Dai/TraitImage01-02.ppt 30
Lectures suggérées ●Introduction au Traitement d’Images (Lingrand), chapitre 4 ●Digital Image Processing: An Algorithmic Introduction using Java (Burger & Burge) : chapitres 4 et 5 ●Wikipédia : Histogramme, Brightness (luminance), Contrast, Lookup table, Color balance (amélioration du contraste), Egalisation d'histogramme
Vous pouvez aussi lire