Traitement et analyse d'images -ANIMAG

La page est créée Loïc Nicolas
 
CONTINUER À LIRE
Traitement et analyse d'images -ANIMAG
Traitement et analyse
d'images -ANIMAG
Traitement et analyse d'images -ANIMAG
Juste au cas où ….
   Qui suis­je ? Et comment me joindre ?
Carole Frindel, CREATIS
carole.frindel@creatis.insa­lyon.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
Traitement et analyse d'images -ANIMAG
Programme du cours
   Introduction
   Qu’est­ce 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
Traitement et analyse d'images -ANIMAG
Calendrier

        Page : 4/15
Traitement et analyse d'images -ANIMAG
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
Traitement et analyse d'images -ANIMAG
https://planete.insa-lyon.fr/scolpeda/f/ects?id=22193&_lang=fr

      Page : 6/15
Traitement et analyse d'images -ANIMAG
Fiji
    Logiciel de traitement et analyse d'images, surcouche de
    ImageJ
    ImageJ : logiciel multi­plateforme 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
Traitement et analyse d'images -ANIMAG
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
    – Profitez­en pour avancer votre travail !
    – Evitez de surfez le web dans les cours et relisez votre cours avant de
      venir en TP

                    Page : 8/15
Traitement et analyse d'images -ANIMAG
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
Traitement et analyse d'images -ANIMAG
Ouvrages en Traitement d’images
   Diane Lingrand. Introduction au Traitement
    d’Images, Vuibert, Paris, 2004.
   Alain Trémeau, Christine Fernandez­Maloigne
    & Pierre Bonton. Image Numérique Couleur,
    Editions Dunod, 2004.
   Rafael C. Gonzalez & Richard E. Woords.
    Digital Image Processing, 2nd edition,
    Prentice­Hall, 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 multi­spectrales, 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 en­ligne au praticien : opérations réalisées
            sur les images en temps­ré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
          hk                                   h ideal  k 

                                  k                                      k
     Etape 1 : Calcul de l'histogramme                     hi  i∈[ 0, 255]
      Etape 2 : Normalisation de l'histogramme                        hi 
                                                            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