TAImages
TAImages
TAImages
Modèles/Information
2D/3D Analyse Traitement
• Extraction de formes • Lissage
• Reconstruction 3D .. • Restauration ..
Modeleur
Historique
Analyse
Théorie du numérique Statistique
signal
Informatique Traitement
Théorie de
d’images l’information
Electronique Neurophysiologie
Théorie des psychophysique
Optique systèmes
Position du traitement d’images
Traitement
numérique des signaux
Traitement
d’images
Analyse
Acquisition
n
Applicatio
e
scèn
VISIONIQUE
Constitution d’un système de vision : Matériel
Processeur
Caméra Hôte
Interface Mémoire Processeur
E/S Images d’images
Moniteur
Constitution d’un système de vision : Matériel
• Interface E/S
– Numérisation des images
– Visualisation N/B, gris et Couleurs
• Mémoire Image
– Mémoire images source
– Mémoire images traitées
– différents formats : 256x256 ; 512x512 ; 1024 x
1024 ...
Constitution d’un système de vision : Matériel
• Processeur d’images
– Convolueur ; Morphologie mathématique;
Histogramme …
• Processeur hôte
– 3 rôles :
• commande le processeur d’images
• archivage des images
• traitements complémentaires de ceux du processeur
d’images
Les étapes du traitement numérique d’une
image
• 3 étapes fondamentales :
– Acquisition : scène physique représentation
numérique.
– Traitement : Extraction de l’information pertinente
par segmentation description structurelle de
l’image.
– Interprétation : description structurelle
description sémantique.
Formation des images
• Le capteur est un semi conducteur qui convertit la
lumière en tension électrique en fonction du degré
de luminosité
• Le capteur constitué de matrice de cellules
sensibles appelées photodiodes qui effectuent cette
transformation tension-luminosité.
• Pour acquérir des images en couleurs, les
photodiodes sont associées à des filtres rouges,
verts et bleus (RVB), chacune de ces couleurs
étant échantillonnées sur 256 niveaux de
luminosité (2563)
Formation des images : les capteurs
• On distingue :
– les capteurs chimiques : systèmes biologique (œil)
– les films photographiques
– les capteurs photoélectriques (photo-diodes, CCD :
Charged Coupled Device ou Dispositif à Transfert de
Charge)
– les appareils numériques
• D'autres capteurs :
– en imagerie médicale : IRM, tomographie, …
– imagerie sismique
Formation des images : les capteurs
• Le signal obtenu est caractérisé par sa dimension
et sa nature :
– 1D : image linéique (oscilloscope, barrette CCD, …),
une seule ligne
– 2D : est une image, souvent plane, de nature :
• analogique : continue
• numérique : discrète
f(x,y) =intensité
lumineuse
x
Numérisation (discrétisation) de l'image (1)
• La représentation informatique d'une image est
nécessairement discrète
• Le signal 2D analogique est numérisé par :
– une discrétisation de l'espace : échantillonnage
– une discrétisation de la couleur : quantification
• Une image numérique est un ensemble de pixels
• Pixel : picture element
• Le pixel correspond à l'unité indivisible
permettant de stocker l'information relative à une
luminosité en une certaine position
Numérisation (discrétisation) de l'image (2)
4-voisins 8-voisins
– pavage hexagonal :
6-voisins
Numérisation (discrétisation) de l'image (4)
• La distance entre pixels :
– distance Euclidienne : ( P ( i , j ), P ( k , j )) ( i k ) 2 ( j l )2
– distance de Manhattan : ( P ( i , j ), P ( k , j )) i k j l
j l
Tour d'échiquier
i
Euclidienne
Manhattan
k
Numérisation (discrétisation) de l'image (5)
• La valeur d'un pixel représente la luminosité et
elle peut être :
– un scalaire : représentant un niveau de gris (du noir au
blanc)
– un vecteur : représentant une couleur composée dans le
système colorimétrique (RVB, HSL, Lab, XYZ, etc.)
• Une image est :
– dite en niveaux de gris : la valeur entière du pixel est
quantifié entre le noir (0) et le blanc (255)
– dite noir et blanc : la valeur est 0 (noir) 1 (blanc)
– dite couleur : les valeurs entières du pixel sont
quantifiées entre 0 et 255
Numérisation (discrétisation) de l'image (6)
• L'image est représentée comme un tableau de pixels dont
la taille est synonyme de précision ou résolution :
j m-1
1
00
1
f :IJ Rk
(i , j ) f (i , j )
i
f(i,j) où I={0, 1, …, n-1}
et J={0, 1, …, m-1}
n-1
Numérisation (discrétisation) de l'image (7)
64 x 64 32 x 32 16 x 16
Le codage binaire d'une image
• Pour une image en niveaux de gris, si l'on code les
niveaux sur 8 bits, on pourra décrire 28=256
valeurs entières
0 1 n-1 (n-1)(m-1)
• Opérations :
– fichier mémoire : lecture
– mémoire fichier : écriture
• Informations nécessaires : nblignes, nbcolonnes,
format des pixels, compression éventuelle
Les formats images (2)
• Plusieurs formats de fichiers :
– formats simples : image est stockée dans un fichier texte
comportant un entête qui contient la dimension de l'image et le
format des pixels : PNM (portable anymap), PBM (portable
bitmap), PGM (portable grayscale map), PPM (portable pixmap)
• les fichiers correspondants sont constitués des éléments suivants :
1 un "nombre magique" pour identifier le type de fichiers : P1 ou P4 pour
PBM, P2 ou P5 pour PGM, P3 ou P6 pour PPM
2 la largeur de l'image en décimale codée en ASCII suivie d'un espace et
suivie de la longueur
3 uniquement pour PGM et PPM : l'intensité maximum présente dans
l'image
4 les valeurs décimales codées en ASCII dans le cas de P1, P2, P3; soit
directement en binaire sur 1 ou 2 octets dans le cas de P4, P5 et P6.
– formats compressés : l'information des compressée de manière à
réduire la taille des fichiers images :
Les formats images (3)
• Plusieurs formats de fichiers :
– formats compressés : l'information des compressée de
manière à réduire la taille des fichiers images :
• GIF (Graphics Interchange Format, Compuserve) :
compression LZW (un standard)
• JPEG (Joint Photographic Experts Group) : compression de la
lumière et de la teinte par DCT (Discrete Cosine Transform)
– d'autres formats : BMP, TIFF, …
• BMP image bitmap, représentée sous forme d'une matrice de
bits, à chaque pixel de l'image correspond un groupe de bits. Il
supporte un code de couleurs jusqu'à 24bits.
Les formats images (4)
P3
# CREATOR: XV Version 3.10a Rev: 12/29/94 (PNG patch 1.2)
512 512
255
162 162 162 162 162 162 162 162 162 161 161 161 162 162 162
156 156 156 163 163 163 160 160 160 165 165 165 162 162 162
161 161 161 159 159 159 155 155 155 162 162 162 159 159 159
154 154 154 157 157 157 156 156 156 161 161 161 161 161 161
153 153 153 156 156 156 154 154 154 157 157 157 153 153 153
157 157 157 154 154 154 152 152 152 156 156 156 154 154 154
154 154 154 156 156 156 153 153 153 157 157 157 154 154 154
159 159 159 158 158 158 166 166 166 159 159 159 166 166 166
166 166 166 165 165 165 166 166 166 171 171 171 170 170 170
175 175 175 173 173 173 170 170 170 172 172 172 172 172 172
167 167 167 174 174 174 168 168 168 166 166 166 161 161 161
160 160 160 147 147 147 148 148 148 153 153 153 139 139 139
130 130 130 119 119 119 117 117 117 106 106 106 97 97 97
97 97 97 94 94 94 92 92 92 87 87 87 97 97 97
Notions de quantification et d'échantillonnage (1)
Niveaux de reconstruction ri
r3
Si d i x d i 1
alors xq ri
r2
r1
Signal échantillonné
d1 d2 d3 d4
Notions de quantification et d'échantillonnage (2)
• Quantification :
– le principe : codage des valeurs réelles en valeurs
entières de manière optimale i.e. remplacer toute
valeur située entre 2 niveaux de décision
consécutifs di et di+1 par un niveau de
reconstruction ri avec [m,M] la gamme dynamique
du signal à quantifier
d0 d1 di di+1 dn
min(f)=m max(f)=M
r0 r1 ri rn-1
– contrainte : nouvelle image ressemblante le plus
possible à l'image initiale
Notions de quantification et d'échantillonnage (3)
• Quantification :
– on mesure l'erreur entre ces 2 images :
• soit f l'intensité de l'image initiale
• soit g l'intensité de l'image quantifiée : x d i , d i 1 g ( x ) ri
• Quantification :
– en résumé : ces résultats montrent que les
niveaux de transitions rk optimaux sont au
milieu entre les deux niveaux de reconstruction
optimaux dk et dk-1
Notions de quantification et d'échantillonnage (7)
• Quantification :
8bits
Une quantification trop
faible peut causer des
problèmes de faux
contours
4bits 3bits
1bit
Notions de quantification et d'échantillonnage (8)
• Échantillonnage :
– Étape nécessaire quand le signal sous-jacent est
analogique
– Dans le cas 1-D l’échantillonnage est bien expliqué, bien
connu, bien compris et bien utilisé.
– La généralisation aveugle de 1-D à 2-D est dangereuse!
• Souvent, les hypothèses sous-jacentes du cas 1-D sont oubliées
• La nature des signaux 2-D est presque toujours différente de celle
des signaux 1-D.
• Les contraintes des applications et des réalisations sont
différentes.
Notions de quantification et d'échantillonnage (9)
• Échantillonnage :
– Dans le cas 1-D on utilise le théorème bien connu
de l’échantillonnage : Un signal analogique peut
être entièrement reconstruit à partir de ses
échantillons s’il est échantillonné au moins au
double de sa fréquence maximum.
– La fréquence maximum doit être connue (peut
être mesurée avec des analyseurs de spectre)
– Le signal doit être stationnaire (transformée de
Fourier)
Notions de quantification et d'échantillonnage (10)
• Échantillonnage :
– Admettons que toutes les hypothèses soient
satisfaites : signaux stationnaires avec fréquences
maximum connues, nécessité de reconstituer le
signal analogique proche de l’échantillonnage
idéale
– Soit xa(u,v) un signal analogique 2-D. Sa
transformée de Fourier Xa (f,g) est définie par :
X a ( f , g ) xa ( u, v )e 2 i( fu gv )dudv
Notions de quantification et d'échantillonnage (11)
• Échantillonnage :
– L ’échantillonnage M-D de xa(u,v) est réalisé en prélevant des
échantillons espacés périodiquement. Le signal échantillonné est
donné par:
x ( ku, lv ) x( k , l ) xa ( u, v ) u kv
v l u
– Pour reconstituer xa(u,v) à partir de ses échantillons, les périodes
d’échantillonnages et doivent satisfaire
u vcertaines conditions.
– Un signal analogique 2-D xa(u,v) limité en bande à F et G peut
être reconstitué de ses échantillons, ssi et
1
u
1 . La version échantillonnée xe(u,v) d signal 2’un
F
v
2G x
analogique a(u,v) peut être vue comme le produit de xa(u,v) et
des impulsions delta 2D périodique e(u,v)
avec
xe ( u, v ) xa ( u, v ).e( u, v ) e ( u, v ) (u ku, v lv )
k l
Notions de quantification et d'échantillonnage (12)
• Échantillonnage :
– Au produit direct dans le domaine du signal ,
correspond le produit de convolution:
X e ( f , g ) X a ( f , g ) * E ( f , g ) X a ( f ' , g' ) E ( f f ' , g g' )df ' dg'
• Échantillonnage (résolution):
domaine spatial f ( x, y ) g ( x, y ) f ( x, y ) * h ( x, y )
F -1
F F
domaine fréquentiel F ( x, y ) G ( x, y ) H ( x, y ) F ( x, y )
N-1
T(r)=N-r
s
0 r N-1
Traitement & Prétraitement
• Enhancement par traitement point :
– Quelques simples transformations :
• Contraste stretching :
N-1 (r2,s2)
T(r)
s
(r1,s1)
0 r N-1
Traitement & Prétraitement
• Enhancement par traitement point :
– Quelques simples transformations :
• Contraste stretching :
N-1 N-1
T(r) T(r)
s s
0 r N-1 0 r N-1
Dilatation des zones claires Dilatation des zones sombres
Traitement & Prétraitement
• Enhancement par traitement point :
– Quelques simples transformations :
• Compression de l’étendue de la dynamique :
N-1
s T (r ) c * log(1 r )
T(r)
c 255 / log(1 R )
0 r
R
Traitement & Prétraitement
• Enhancement par traitement point :
– Quelques simples transformations :
• Extraction d’une fenêtre d’intensité (slicing intensité) :
N-1 N-1
s s
0 a b N-1 0 a b N-1
r r
Traitement & Prétraitement
• Enhancement par traitement point :
– Modification de l’histogramme :
• L’histogramme est une fonction hist(i) permettant de
donner la fréquence d’apparition des différents
niveaux de gris i qui composent l’image.
• En abscisse on représente les niveaux de gris et en
ordonnée leurs fréquences d’apparition.
• L’histogramme des niveaux de gris nous informe sur
la concentration de l’image.
• Pour une image couleur, il y a un histogramme par
composante
Traitement & Prétraitement
• Enhancement par traitement point :
– Modification de l’histogramme :
• L'histogramme peut être normalisé pour donner une
estimation de la densité de probabilité des pixels :
hist (i )
p (i ) p(i) 1
hist ( j ) i
j
• La fonction de répartition H est l’histogramme cumulé
donnant la probabilité d’obtenir un niveau de gris
inférieur ou égal à la taille de l’image.
• Un histogramme peut avoir un pic (unimodale), deux
pics (bimodale) ou plusieurs pics (multimodale).
• L’histogramme des niveaux de gris nous informe sur
la concentration de l’image
Traitement & Prétraitement
• Enhancement par traitement point :
– Modification de l’histogramme :
• Recadrage de l’histogramme
– Quand les valeurs de l’histogramme varient dans l’intervalle
[a,b], toutes les couleurs ne sont pas représentées, la
transformation T qui permet d’étaler les valeurs dans
l’intervalle [0,N-1] s’appelle recadrage.
N-1
T : [ a , b] [0, N 1]
s i i ' T (i ) ( N 1)
na
ba
0 a b N-1
r
Traitement & Prétraitement
• Enhancement par traitement point :
– Modification de l’histogramme :
• Égalisation de l’histogramme
– Dans une image, il peut y avoir une majorité de pixels ayant
une valeur inférieure (ou supérieure) à la luminance
moyenne.
– Une modification d'histogramme très répandue pour
augmenter le contraste de manière automatique est la
linéarisation d'histogramme. Le principe est de transformer
l'image de manière à obtenir un histogramme plat, soit une
distribution uniforme des intensités. Cela revient à maximiser
l'entropie de l'image et donc à obtenir théoriquement une
image présentant une information maximale.
Traitement & Prétraitement
• Enhancement par traitement point :
– Modification de l’histogramme :
• Égalisation de l’histogramme
12 13 14 15 18 19 21 27 29
Valeurs triées dans un tableau Valeur médiane
15 18 14 15 18 14
29 27 13 29 18 13
12 19 21 12 19 21
Zone de l’image Zone de l’image
avant filtrage après filtrage
Traitement & Prétraitement
N-1
si f (i , j ) k f (i , j ) 0
s si f (i , j ) k f (i , j ) N 1
0 k N-1
r
Segmentation
• Le seuillage automatique ou dynamique :
– Le seuillage dynamique consiste à déterminer
automatiquement le seuil i qui sépare le fond de
la forme.
– On réalise l’histogramme de l’image à étudié qui
représente deux pics. Le but est de chercher la
valeur du seuil i correspondante à la vallée entre
les 2 pics :
zone d’étude
2
1
Les 2 pics sont
Assimilés à 2
gaussiennes
0 1 2
Segmentation
• Le seuillage automatique ou dynamique :
– Détection de vallées :
• Cette technique est la plus intuitive. On suppose que
chaque classe correspond à une gamme distincte de
niveaux de gris. L'histogramme est alors multi-modal.
La position des minima de l'histogramme h permet de
fixer les (m-1) seuils nécessaires pour séparer les m
classes.
• En termes mathématiques, les seuils si sont obtenus
par: h(si) = Min [ h(k) ] pour k dans ]mi,mi+1[, où mi
et mi+1 sont les valeurs moyennes (ou les modes) de
l'intensité lumineuse dans les classes Ci et Ci+1.
Segmentation
• Le seuillage automatique ou dynamique :
– Détection de vallées :
• Malgré le développement de techniques robustes
visant à faciliter la détection des vallées, cette
méthode, bien que simple, est très peu appliquée car
les histogrammes traités sont le plus souvent bruités et
unimodaux.
Segmentation
• Le seuillage automatique ou dynamique :
– Minimisation de la variance :
• La répartition des pixels en N classes est un problème
classique de classification. Le choix des seuils s i permet de
détecter m classes auxquels on peut associer taille (t i),
moyenne (mi) et variance Vi par :
ti h ( j )
Di
1
mi
ti Di
j.h( j )
1
Vi ( j mi ) 2 .h( j )
ti Di
où h est l'histogramme normalisé; Di = [si-1,si[ est la gamme de
niveaux de gris correspondant à la classe C i (par hypothèse, s0
= 0) .
Segmentation
• Le seuillage automatique ou dynamique :
– Minimisation de la variance :
• A partir de ces indicateurs statistiques, on peut construire la
variance intraclasse totale W par : W ti .Vi
i
Profile de l’image
Dérivée première
Dérivée seconde
Segmentation
• Détection de frontières :
– Définition d’un contour :
f Lieu d’une forte transition
A B
A B profil
• Approche gradient :
t
f f
f (i, j ) (i, j ), (i, j )
x y
• Approche laplacien :
2 f 2
f
x 2 (i, j ) y 2 (i, j )
Segmentation
• Détection de frontières :
– Mise en oeuvre de filtres dérivés
m n
f d ( x, y ) f ( x i, y j ).hd (i, j )
i m j n
– sa direction :
fy
arctan( )
fx
Segmentation
• Détection de frontières :
– Calcul d'un gradient :
• Filtres passe-haut : (dérivation par différences finies)
– Filtres séparables : H H x .H y
– Exemple : f
f ( x h, y ) f ( x, y ) h ( x, y ) h. ( x, y )
x
f
f ( x h, y ) f ( x, y ) h ( x, y ) h. ( x, y )
x
on fait la différence et en déduit une estimation de fx
f
f ( x h, y ) f ( x h, y ) 2.h. ( x, y )
x
1 1 1 1 1 1
1
h0 5 1 2 1 1
h45 5 1 2 1
1 1 1 1
1 1
1 1 1 1 1 1
1
h90 5 1 2 1 h135 1
5 1 2 1
1 1 1 1 1 1
Segmentation
• Détection de frontières :
– Calcul d'un gradient :
• Quelques opérateurs connus Rosenfled:
– La texture est caractérisée par des fortes transitions mais peu
intéressante en termes de contours d'objets. Le plus souvent,
on ramène les calculs de variations entre valeurs de pixels à
des calculs entre valeurs moyennes sur des fenêtres centrées
sur ces pixels :
f x ( x, y ) f * ( x r , y ) f * ( x r 1, y )
f y ( x, y ) f * ( x, y r ) f * ( x, y r 1)
où
f * ( x, y ) (2.r 1) 2 f ( x i, y j )
i j r
0 1 0 1 1 1
1 4 1 1 8 1
0 1 0 1 1 1
Segmentation
• Détection de frontières :
– Calcul du laplacien :
• Avantages
– proche du mécanisme de la vision humaine
– Un seul paramètre
– Pas de seuil de significativité de l'amplitude
– Contours fermés
• Inconvénients
– Plus grande sensibilité au bruit
– Pas d'information sur l'orientation du contour
Segmentation
• Détection de frontières :
– Les approches optimales :
• Critères de Canny
• Filtre de Shen-Castan
• Filtre de Deriche
• Filtre gaussien
Segmentation
• Détection de frontières :
– Les approches optimales :
• Critères de Canny (Critères de performance) :
– Détection : l’opérateur doit donner une réponse au voisinage
d’un contour,
– Localisation : le contour doit être localisé avec précision,
– Réponse unique : un contour doit provoquer une seule
réponse de l’opérateur.
Segmentation
• Détection de frontières :
– Les approches optimales :
• Filtre de Shen-Castan :
x
h( x) ce
1 e
c
1 e
Coefficient de normalisation
Segmentation
• Détection de frontières :
– Les approches optimales :
• Filtre de Deriche : h( x) k ( x 1)e
x
(1 e ) 2
k
1 2e e 2