2 AnalyseImage
2 AnalyseImage
Analyse d’image
1
Introduction
Une image = plusieurs domaines
de représentation
– Dans le domaine spatial : matrice
− Exemple
– Matrice des niveaux de gris
– Dans le domaine fréquentiel :
Une nouvelle matrice
− Issue d’une transformation
− Exemples :
– Amélioration d'images : 162 162 162 161 162 … 169 171 170 155 128
modification du contraste, 162 … … 128
…
…
…
54 … … 90
46 … … 96
43 … … 98
44 … … 108
DAR © A Belaïd
2
Méthodes d’analyse
Analyse d'images dans le domaine spatial
– Méthodes statistiques du premier ordre
− L'histogramme
− Les indices statistiques de tendance centrale
− Les indices statistiques de dispersion
– Méthodes statistiques du second ordre
− La matrice de co-occurrence
Analyse d'images dans le domaine fréquentiel
– Transformée en cosinus discrète
– Transformée en ondelettes discrète
DAR © A Belaïd
3
Analyse d'images dans
le domaine spatial
DAR © A Belaïd
4
L'histogramme
Définition
– Fréquences d'apparition des niveaux de gris dans l'image
– L'histogramme est également appelé spectre de l'image
– InterfaceMatlab1/CalcHistogramme
DAR © A Belaïd
5
Modification de l'histogramme = filtrage spectral
– Appliquer une fonction de filtrage sur chaque pixel de l'image pour
modifier son histogramme
– Exemple : Assombrissement de l'image : l’histogramme a été décalé à
gauche
6
Application : Modification de l'histogramme
Méthodes de filtrage spectral
classiques :
– Négation :
− inversion du spectre
– Assombrissement :
− tassement du spectre
vers la gauche
– Éclaircissement :
− tassement du spectre
vers la droite
– Diminution du contraste :
− tassement du spectre
vers le centre
– Augmentation du contraste :
− tassement du spectre
vers les bords
Autre exemple
8
ImageProcessing
Utiliser cette interface pour modifier la brilliance, le
contraste et modifier l’image
DAR © A Belaïd
9
Les indices statistiques de tendance centrale
M N
I x, y
1
m1
M N x 1 y 1
− Une image claire possède une moyenne plus élevée qu'une image foncée
58.89 225.74
10
Les indices statistiques de tendance
centrale
– La médiane est la valeur qui divise exactement en deux la
distribution des pixels de l'image
~ M N ~ M N
I 2 I 2 1
si M N est pair
median 2
~ M N
I 1 si M N est impair
2
3 5 5
I
1 3 2
6 5 1
5 3 6
~
I 1 1 2 3 3 3 5 5 5 5 6 6
Les indices statistiques de tendance
centrale
médiane =193
Les indices statistiques de tendance
centrale
– Le mode est la valeur des pixels de l'image dont la
fréquence est la plus élevée = maximum local
où HI est l'histogramme de
l'image
Exemple :
3 5 5
I
1 3 2
6 5 1
5 3 6
13
Les indices statistiques de dispersion
Donnent des informations sur la dispersion et la variabilité des valeurs des
niveaux de gris de l'image
– La variance
− caractérise les variations des niveaux de gris (luminosité) par rapport à la
valeur moyenne des niveaux de gris de l'image
− on utilise plus souvent l'écart type σ, plus aisé à manipuler
Original Variance
Les indices statistiques de dispersion
m1 m1 m1
2 30.03
m1 m1 m1
2 71.70
Les indices statistiques de dispersion
– Le moment centré d’ordre 3 mesure la déviation de la distribution des niveaux de gris par
rapport à une distribution symétrique
M N
I x, y m
1
m3
3
M N
1
x 1 y 1
m1 m1
m1 m1 m1 m1
m3 0.2474 m3 1.1531
Les indices statistiques de dispersion
– Le moment centré d’ordre 4 caractérise la forme du sommet de
l'histogramme
M N
I x, y m
1
m4
4
M N
1
x 1 y 1
m4 2.3106 m4 0.0916
m1 m1
m1 m1 m1 m1
Application : analyse de document
DAR © A Belaïd
19
Méthodes statistiques du second
ordre
Les méthodes statistiques du premier ordre permettent
– Une analyse basée sur la description de l'histogramme
pas d'information sur la localisation du pixel
Pour une analyse plus précise méthodes d'ordre
supérieur
– Ordre des méthodes donné par le nombre de pixels mis en
jeu dans le calcul des paramètres
– Une méthode principale :
− Étude de la matrice de co-occurrence
DAR © A Belaïd
20
La matrice de co-occurrence
Permet de
– déterminer la fréquence d'apparition d'un "motif" formé par 2 pixels
2 paramètres :
– d : la distance entre les 2 pixels
– : l'angle de la droite reliant ces 2 pixels par rapport à l'horizontale
Valeurs généralement utilisées :
– d=1
– =0°, =45°, =90°, =135°
La matrice est de taille Ng x Ng
– où Ng est le nombre de niveaux de gris de l'image
On la note (d, )
DAR © A Belaïd
21
La matrice de co-occurrence
On commence par calculer la matrice de co-occurrence
dans une direction donnée :
Exemple :
0° 1 2 3 4 5 6
1 0 0 1 0 0 0
3 5 5
– pour =0° et d=1 1 3 2
2 0 0 0 0 0 0
I=
6 5 1
F1,0 3 0 1 0 0 1 1
4 0 0 0 0 0 0
5 3 6
5 1 0 1 0 1 0
6 0 0 0 0 1 0
1 0 0 0 0 1 0 1 0 0 0 0 0 2 1 0 0 1 0 0 0
2 0 0 0 0 0 0 2 1 0 0 0 0 0 2 0 0 0 0 1 0
4 0 0 0 0 0 0 4 0 0 0 0 0 0 4 0 0 0 0 0 0
5 0 1 0 0 0 1 5 0 1 2 0 0 0 5 1 0 1 0 1 0
6 0 0 1 0 0 0 6 0 0 0 0 1 0 6 0 0 0 0 0 0
DAR © A Belaïd
22
La matrice de co-occurrence
On construit alors la matrice de co-occurrence symétrique (direction
opposée) :
– (1,180°)= t(1,0°)
– (1,225°)= t(1,45°)
– (1,270°)= t(1,90°)
– (1,315°)= t(1,135°)
On construit enfin la matrice de co-occurrence (pour =0°, =45°, =90°,
=135°) :
1[
S0 1 1,0 1, 180°]
2
S 45 (1) [ 1,45 1,225]
1
2
DAR © A Belaïd
23
La matrice de co-occurrence
Finalement on normalise les coefficients de la matrice de manière à ce que la
somme des coefficients de la matrice vaille 1 :
0° 1 2 3 4 5 6
1 0 0 1/16 0 1/16 0
2 0 0 1/16 0 0 0
S0 1 3
4
1/16
0
1/16
0
0
0
0
0
1/8
0
1/16
6 0 0 1/16 0 1/16 0
rapport_benhamadi.pdf
25
Analyse d'images dans le domaine
fréquentiel
DAR © A Belaïd
26
La DCT: Discrete Cosinus
Transform
Définition
– Très utilisée en traitement du signal et de l’image pour la
compression
– Possède en effet une excellente propriété de « regroupement »
de l'énergie : l'information est essentiellement portée par les
coefficients basses fréquences
– Les coefficients hautes fréquences synonymes de changements
brusques, sont écartés
– Utilisée pour la compression dans JPEG
A.
Belaï
DAR © A Belaïd
27 d
La norme JPEG
Principe de l'algorithme JPEG
A.
Belaï
DAR © A Belaïd
28 d
La DCT
Principe
– S'applique sur des voisinages distincts 8x8 de l’image
− Produit des matrices de coefficients de mêmes tailles 8x8
– Pour chaque voisinage :
− Opère un changement de repère :
– Fait passer l'info du domaine spatial au domaine fréquentiel
– S'arrange pour placer les HF (coefficients) en bas à droite du
carré et les BF (coefficients) en haut à gauche du carré
A.
Belaï
DAR © A Belaïd
29 d
La norme JPEG
Voisinage
8x8
Image
originale
Coefficients
Les basses fréquences sont en haut : elles sont représentées par les plus
grosses valeurs qui traduisent une plus grande quantité d’information, alors que
les hautes fréquences présentent les valeurs les plus faibles traduisant le bruit
DAR © A Belaïd
30
La norme JPEG
Exemple : On voit la haute énergie ici
DAR © A Belaïd
31
La norme JPEG
Exemple : comment on l’a obtenue ?
1) On décompose l’image en des voisinages de 88
DAR © A Belaïd
32
La norme JPEG
2) On applique la DCT sur chaque voisinage
3) On met dans l’image C00, les C00 de chaque voisinage, dans l’image C01,
les C01 de chaque voisinage…
Cette image est obtenue à partir de tous les points haut-gauche de tous les voisinages
(=points rouges)
Voisinages
8x8 de
l’image traités
par la DCT
DAR © A Belaïd
33
La norme JPEG
Principe de la DCT
– Idée 1 de la compression (et origine de la perte)
− Se débarrasser des HF assimilables à du bruit
– Idée 2 de la compression (et origine de la perte)
− Remplacer les fréquences par des valeurs approximatives : en
les divisant (en compression) ou en les multipliant (en
décompression) par des pas de quantification
− Les pas de quantification seront donnés dans une matrice 8x8
– Les pas seront petits pour les grands coefficients et grands pour
les petits
– Cela permettra d'éliminer de manière drastique les HF et
d'atténuer légèrement les BF
A.
Belaï
DAR © A Belaïd
34 d
La norme JPEG
Obtention de la matrice des coefficients
– Les coefficients correspondent aux coefficients du polynôme
d'approximations successives du signal par une fonction de base
(ici cosinus)
– L'idée :
− En compression
– Arriver à décrire (représenter) le signal par une suite de valeurs
approchant sa forme. Simplifier ces valeurs pour réaliser
effectivement la compression
− En décompression
– Utiliser ces valeurs en sens inverse pour retrouver une valeur
approchée du signal d'origine
A.
Belaï
DAR © A Belaïd
35 d
La norme JPEG
Algorithme d'obtention des coefficients
– Démarrer en (0,0) en plaçant la valeur moyenne du signal total
(meilleur représentant du signal au début)
– Ensuite, on ajoute ou retranche des valeurs à cette valeur moyenne
qui affinent la représentation de la courbe
− C'est comme si on ajoute ou on retranche des fonctions
Cosinus de périodes de plus en plus courtes
– Ces valeurs sont placées sur les diagonales négatives du carré
– Au fur et à mesure qu'on s'approche du signal, elles deviennent de
plus en plus petites
A.
Belaï
DAR © A Belaïd
36 d
La norme JPEG
Exemple de fonction
= Valeur de la composante rouge de la ligne d'une image (fig. 4)
– Fonction de base utilisée pour l'approximation : Cos (fig. 1) : f. sinusoïdale
– A chaque fois, on ajoute ou on retranche une fonction d'une période plus
courte : Cos (nx) pour arriver à approcher le signal
1 2 3 4
DAR © A Belaïd
37
La norme JPEG
– La valeur moyenne du signal à approcher est égale 0, car c'est un
signal carré (autant en haut qu'en bas)
– Les coefficients sont : 0, 1, -1/3, 1/5, …, -1/19, +1/21 :
− C'est comme si on avait : 0 cos(0X) + 1 cos(x) –1/3 cos(3x)…
– On voit que les coefficients décroissent
− Il faut choisir le nombre suffisant en fonction de la qualité
désirée
– La ligne (car on a transformé juste une ligne) de coefficients
obtenue est :
DAR © A Belaïd
38
La norme JPEG
Synthèse d’un signal avec des cosinus
0.5
f1 ( t )
f2 ( t )
0
f3 ( t )
f6 ( t )
0.5
1.5 1.5
4 3 2 1 0 1 2 3 4
4 t 4
DAR © A Belaïd
39
La norme JPEG
Exemple :
– Pour mieux comprendre ce principe, prenons comme exemple la matrice
suivante représentant la composante rouge d'une image codée en 16
millions de couleurs (soit 256 nuances de rouge)
Image originale
DAR © A Belaïd
40
La norme JPEG
Première étape : centrage
– Soustraire 128 (pour centrer sur 0) à chaque valeur puis appliquer la DCT.
Nous obtenons le résultat suivant :
DAR © A Belaïd
41
La norme JPEG
Deuxième étape : coefficients de quantification
– On remplace chaque valeur par le quotient de la division euclidienne de
cette valeur par le pas de quantification. Ainsi, si l'on choisit un pas de
quantification de 4, on remplacera les valeurs 0, 1, 2 et 3 par 0 ; les valeurs
4, 5, 6 et 7 par 1 et ainsi de suite…
DAR © A Belaïd
42
La norme JPEG
Deuxième étape : quantification
– Divisons maintenant les valeurs de la matrice de données par notre matrice
de quantification. Le résultat est le suivant :
DAR © A Belaïd
43
La norme JPEG
Dernière étape :
quantification
– La dernière étape consiste à
compresser (sans perte) la matrice
obtenue. La norme JPEG traite les 0,
en raison de leur nombre important,
d'une manière particulière. On va
d'abord balayer la matrice de la façon
suivante pour obtenir les suites de 0 les
plus importantes possibles
– On utilise ensuite une méthode de
compression statistique tel que celle de
Huffman
DAR © A Belaïd
44
La norme JPEG
La décompression
A.
Belaï
DAR © A Belaïd
45 d
La norme JPEG
La décompression
– Après décodage statistique, nous retrouvons notre matrice
compressée
A.
Belaï
DAR © A Belaïd
46 d
La norme JPEG
La décompression
– Il faut maintenant déquantifier en multipliant chaque valeur
par son coefficient de quantification. Nous obtenons ceci :
A.
Belaï
DAR © A Belaïd
47 d
La norme JPEG
La décompression
– Appliquons ensuite la DCT inverse, enfin ajoutons 128 à
chaque valeur. Voici la matrice décompressée :
Image décompressée
A.
Remarque : les valeurs négatives seront remplacées par des 0 et les valeurs supérieures à 255 par 255.
Belaï
DAR © A Belaïd
48 d
La norme JPEG
Résultat
– Voyons maintenant,
l'évolution du taux de
compression et de la taille
de l'image (taille du fichier
en octet) compressée en
fonction de la qualité (plus
le chiffre est petit plus la
qualité est bonne)
– Le premier nombre est le
nombre de bits de l'image
compressée,
– le second est le taux de
compression obtenu
– et le dernier indique la
qualité choisie
DAR © A Belaïd
49
La norme JPEG
Résultat
– On peut remarquer que
la qualité se dégrade
rapidement (courbe
rouge qui monte très
vite) alors que
l'augmentation du gain
en place est de moins en
moins importante
(courbe verte qui baisse
doucement)
– i.e. à partir d'un certain
gain, il faut tellement
diminuer la taille que ce
n'est plus intéressant de
le faire
DAR © A Belaïd
50
Algorithme JPEG
Exemple de compression JPEG
DAR © A Belaïd
51
Algorithme JPEG
Exemple
1 correspond à
un facteur de
qualité donnant
le moins de
perte (full
quality), et 99 à
la moins bonne
qualité
A.
Belaï
DAR © A Belaïd
52 d
Transformée en ondelettes discrète
En pratique :
– Application de 2 filtres :
− 1 filtre passe-haut (noté H)
− 1 filtre passe-bas (noté L)
– Application des ces filtres de 4 manières différentes :
53
Transformée en ondelettes
discrète
A partir d'une image
– 4 images de taille 4 fois plus petite
– Cela correspond à 1 niveau de décomposition
DAR © A Belaïd
Transformée en ondelettes
discrète
On peut renouveler
l'opération sur
l'approximation à chaque
niveau de décomposition
Application de la transformée
en ondelettes discrète :
– Compression (JPEG 2000)
– Analyse de texture
DAR © A Belaïd
55
Toolbox : toolbox_wavelets
Commande :
– Taper wavemenu,
directement dans
Matlab
Rapport :
– ondelettes_matlab.pdf
DAR © A Belaïd
56
Toolbox : toolbox_wavelets
Commande :
– Cliquer sur Wavelet-2D
– File : Example Analysis >>
Truecolor Images >> Wood
sculpture
– Cliquer sur un carré puis sur
Visualize
– Cliquer sur statistics : toutes
les statistiques sur l’image
sont affichées
DAR © A Belaïd
57