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/15Programme 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/15Fonctionnement 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/15Fiji
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/15Attention : 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/15Attention : 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/15Ouvrages 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/15Vision 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/15Extension 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/15Mieux 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/15Exemple 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/15Vision 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/15Carole 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
4Images 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
5Trois 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). 6Image 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
8Acquisition d'une image
Monde Caméra Numériseur Image
numérique
Source : Tal Hassner. Computer Vision. Weizmann Institute of Science (Israel). 9Capteur – 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é
10Capteurs – Matrice 2D
KAF-1600 - Kodak.
11Capteur 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)
12Image 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
13Echantillonnage 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
17Repré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
18Ré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
19Ré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
25Profil d'intensité d'une image
Un profil d’intensité d’une ligne dans une image est
représenté par des signaux 1D.
26Lectures 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
2Histogramme 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). 4Contraste 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.)
5Contraste 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. 7Amé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.pdfCorrection 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 19Egalisation 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 21Egalisation de l'histogramme
L'égalisation d'histogramme peut améliorer une image là où la
correction de dynamique de l'histogramme est inefficace.
22Egalisation 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. 24Opé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. 25Opé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 30Lectures 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