Vous êtes sur la page 1sur 12

Automne 2005

Qu’est-ce qu’une Image?

Mathématiques pour
l’Image
(généralement)
“Lena”
Raphaëlle Chaine • Projection 2D d’une scène 3D
– soumise à un éclairement,
Master Professionnel Image – sur la surface d’un capteur

Université Claude Bernard - Lyon I


2

Nature d’une image?


• Image numérique :
Source lumineuse
Affichage (caractéristique tableau bidimensionnel de pixels
et réglage du moniteur)
(picture elements)
Air (composition,
pollution, température) • Pixel
Valeur de l'intensité lumineuse reçue
Optique localement par unité de surface du
capteur
Caméra

Objet caractérisé par sa surface, sa


texture, sa couleur, ses propriétés Vision humaine
photométriques … 3 4

Représentation Information de chaque pixel :


Une image numérique est une représentation discrète • définie dans un espace à p dimensions
des rayonnements visibles. • quantifiée sur M valeurs.
Image : [1..L] × [1..C] Æ[0..M-1]p
Vidéo : [1..L] × [1..C] × [1..T] Æ[0..M-1]p

L lignes T images
C colonnes Binaire Niveau de gris Couleur
p=1 M=2 p=1 M=256 p=3 M=256
Chaque indice correspond à un élément de surface
élémentaire du plan de formation de l’image (pixel)
Mesure du rayonnement reçu par chaque élément de
surface élémentaire (valeur du pixel) 5 6

1
– Codage en niveau de gris :
1 pixel = 1 octet (valeur d'intensité comprise – Codage en couleur :
entre 0 : noir et 255 : blanc) 1 pixel = 3 octets (valeurs d'intensité RGB
comprises entre 0 et 255)
– Exemple: une image 512 x 512 occupe 256Ko de
mémoire – Valeurs directement accessibles avec format
ppm
– Valeurs directement accessibles avec format
P3 nbcol nbl 255
pgm
#P6 intensite en binaire
P2 nbcol nbl 255 #P3 intensite en ascii
#P5 intensite binaire 15 0 0 15 0 1 12 3 2
#P2 intensite ascii 14 0 0 15 3 1 13 3 1
etc .
0 34 45 45 56 125 124
78 7 88 87 0 0 1 2 123
etc.
7 “Lena.ppm” 8
“Lena.pgm”

– Codage en noir et blanc :


Systèmes Couleurs RVB,YUV et TSL
1 pixel = 1 bit (0 : blanc et 1 : noir) • C = couleur (r,v,b) dans le repère RVB
Y
– Valeurs directement accessibles avec format • YUV nouveau repère R
pgm Y= l’axe (1,1,1) dans le repère RVB
C = couleur (Y,U,V) dans le repère YUV C
Y = Luminance = (r+g+b)/3 = proj(C/Y)
P1 nbcol nbl UV=chrominance V B
011100001111
000000000000
111 0
etc.

• C = couleur (T,S,L) dans le repère TSL


Teinte=angle dans plan UV

“lena.pgm” 9 Saturation=distance(c,Y) 10

R Y

V B 11 U V 12

2
Sensibilité à la saturation :
Modification de la
saturation,
Teinte et luminance non
modifiées
Teinte S1=(S-100) S1=(S+100)

Saturation Luminance 13 14

Sensibilité à la teinte : Sensibilité à la luminance :


Modification de la teinte, Modification de la
Saturation et luminance luminance,
non modifiées Teinte et saturation non
modifiées

T1=(T-100)%256 T2=(T-100)%256 L1=(L-80) L2=(L+80)

15 16

Nature d’une image numérique? Les principaux modèles


• Nécessité d’un modèle : • Le modèle statistique
– pour comprendre, • Approche fréquentielle
– modifier • Approche multi résolution
– et manipuler une image avec une logique • Modèle surfacique
et une cohérence d’ensemble • Modèle ensembliste
• Plusieurs modèles, dont dépendent les
L’étude de chacun de ces modèles nécessite
grandes approches d’analyse et de
des connaissances mathématiques
traitement d’image
17 18

3
Le modèle statistique Histogramme
• Image = réalisation d’un processus Distribution des valeurs des pixels,
d’échantillonnage de l’espace extérieur indépendamment de leur position
H(i) = card {P ∈ I : I(P)=i}
• Plusieurs hypothèses possibles
– Indépendance des valeurs des L × C
échantillons qui sont autant de réalisations
d’UNE même variable aléatoire (organisation
spatiale de l’image non exploitée)
– Réalisation d’un champ aléatoire (ensemble Image multi canaux 1 histogramme par canal
de variables aléatoires pouvant être
Fournit une estimation de la densité de probabilité de
dépendantes les unes des autres)
la variable aléatoire X (X : niveau de gris, de rouge,
19 de vert ou de bleu d’un pixel de l’image) 20

Histogramme d’une image constituée de • Etant donné un histogramme, comment


quantités parfaitement homogènes en déterminer son approximation par une
niveaux de gris : Présence de pics mixture de Gaussiennes?
– Minimisation d’erreur de recouvrement
Histogramme d’une image « réelle » : (nécessite de connaître le nombre de
dispersion autour de valeurs moyennes Gaussiennes)
– Estimation progressive des paramètres
Modèle classique : des Gaussiennes (en nombre inconnu)
Histogramme = mélange de Gaussiennes

21 22

• Approche ponctuelle :
Utilisation d’histogrammes pour
– Seule l’information portée par le pixel est
l’amélioration d’image utilisée pour le modifier :
Pixels de même niveau de gris nO dans image
• Objectif : obtenir une image de
d’origine = Pixels de même niveau de gris
meilleure qualité visuelle n1dans image améliorée
(subjectif) – f : fonction de correspondance entre les
• Exemple : amélioration du contraste niveaux de gris nO de l’image de départ et les
d’une image niveaux de gris n1 de l’image améliorée
• A ne pas confondre avec la restauration
d’image (suppression des dégradations) F(nO)= n1

23 24

4
• Chaque méthode d’amélioration est Modifications d’histogramme
caractérisée par une modification de (règle indépendante de l’image à améliorer)
l’histogramme de l’image
• Tout est dans le choix de la fonction f Translation d’histogramme
– Modification d’histogramme Pour faire varier la luminosité
Choix de f indépendant de l’image de l’image sans en modifier
Fonction de correspondance définie a priori le contraste
– Spécification d’histogramme
f déterminée en fonction de l’image de départ
Préconisé sur les images à
pour pouvoir aboutir à un histogramme
spécifique faible dynamique de niveau
de gris
25 26

Recadrage d’histogramme
Pour améliorer la dynamique des images de
niveau de gris.
Préconisé sur les images dont
l’histogramme d’origine est nul en dehors
de l’intervalle [min,max]

Original Translation +60 Translation +120


27 28

Inversion d’histogramme
Pour obtenir un négatif de l’image
d’origine

Certains détails en blanc sur fond noir


peuvent être mieux perçus en noir sur
fond blanc …

Original Recadrage 29 30

5
Modification de dynamique
Pour faire varier les contrastes de façons
différentes suivant certains intervalles
de niveau de gris
Exemple : Dilater la dynamique des zones
claires et réduire celle des zones
sombres

Original Négatif 31 32

Seuillage (binarisation)
Pour obtenir une image binaire à partir
d’une image en niveaux de gris

Préconisé pour les images à histogramme


bimodal pour lesquelles il est facile
d’établir la valeur du seuil s Original

On peut aussi utiliser plusieurs seuils ! 33


Seuil =100 Seuil =140 Seuil =18034

• Extraction d’intervalle
• Pour mettre en évidence un Spécification d’histogramme
ou plusieurs intervalles de
niveaux de gris.
Cette fois c’est l’histogramme de
• Ex : Détacher les objets de l’image après amélioration qui est
niveau de gris caractéristique
défini a priori
La fonction f de correspondance
• Possibilité de garder l’image
d’origine comme fond de ces dépend donc de l’image et est
« objets » construite a posteriori

35 36

6
Description probabiliste des
histogrammes Soit Z la variable aléatoire construite à partir
Niveaux de gris d’une image :
de la variable aléatoire X :
Réalisation d’une variable aléatoire X Z=FX(X)
Histogramme H(x) d’une image :
Estimation de la densité de probabilité de la variable Résultat (théorie des probabilités)
aléatoire X (après normalisation : /nb_pixels) La variable Z possède une densité de
probabilité uniforme
Histogramme cumulé C :
C(x) nombre de pixels P ayant une valeur
inférieure ou égale à x Résultat fondamental!
Permet de spécifier n’importe quel
Estimation de la fonction de répartition FX de X
définie par FX(x)=proba(X<x) histogramme en sortie
37 38

Soit H^(y) Egalisation d’histogramme


l’histogramme souhaité en sortie, • Méthode de spécification d’histogramme la plus
estimation de la densité de probabilité recherchée
d’une variable aléatoire Y • Objectif :
Fonction de répartition FY estimée par obtenir une densité de probabilité uniforme
l’histogramme cumulé C^(y) après amélioration,
transformer l’histogramme de départ en un
histogramme plat!
Z=FX(X)=FY(Y) est la variable aléatoire de
densité uniforme • Idée : Obtenir une réalisation de Z=FX(X)
Fonction de
donc Y=FY-1(FX(X)) correspondance f f déduite de l’histogramme cumulé de l’image
cherchée 39 de départ 40

• Redistribue les valeurs entre [0..255]


• Une dynamique plus grande est réservée • Attention: On n’obtient rarement la
aux niveaux les plus fréquents densité de probabilité théorique
• f(k)=255*(C(k)/nb_pixels) souhaitée
• Pourquoi?
La variable aléatoire de départ est
discrète et non continue.
Correspondance de niveaux de gris
par blocs

41 42

7
• Ne pas confondre égalisation et recadrage
d’histogramme :
Histogrammes linéaires
Les niveaux de gris de l’intervalle [min,max] sont
redistribués uniformément sur toute la dynamique [0,255]
• Objectif :
• f(k)=255*(k-min)/(max-min)
obtenir une densité de probabilité
linéaire après amélioration
(très peu de niveaux de gris sombres,
beaucoup de niveaux de gris clairs)
H^(y)=cste1*y
Recadrage

Correspond à un histogramme cumulé


C^(y)=cste2*y2 donnant une estimation de FY
Seulement 83 niveaux Donc f=cste3*sqrt(C(k)/nb_pixels)
43 44
de gris utilisés

• Autres spécifications d’histogrammes :


Amincissement itératif
– Histogrammes « racine » :
H^(y)=cste1*sqrt(y) d’histogramme
Par rapport à un histogramme linéaire :
• Accroître les différences entre pics de
plus de niveaux de gris sombres,
moins de niveaux de gris clairs l’histogramme par des transferts de
– Histogrammes « puissance » :
niveaux de gris
H^(y)=cste1*sqr(y) • Les pics sont accrus d’un pourcentage
Par rapport à un histogramme linéaire : de leur voisins
moins de niveaux de gris sombres,
• Amélioration du contraste entre objet et
plus de niveaux de gris clairs
fond uniforme
– etc.
45 46

• Inconvénients de ces méthodes • Possibilité d’utiliser un histogramme


d’amélioration par spécification restreint au voisinage spatial d’un pixel
d’histogramme : pour modifier la valeur de ce pixel
– Non prise en compte de la répartition spatiale – Adaptabilité de la fonction de
des niveaux de gris dans l’image correspondance au contexte spatial
– Un seul histogramme global – Meilleur contraste qu’avec un histogramme
– Une même correspondance d’histogramme global
pour tous les pixels de l’image – Plus coûteux
– Exemple de recadrage adaptatif utilisant
des voisinages 32*32

47 48

8
Filtre médian
• Corrige le niveau de gris d’un pixel si celui-ci est très
différent des niveaux voisins

12 25 32
18 4 48
25 36 57

• Classe les valeurs des pixels d’un voisin dans l’ordre


croissant puis choisit la valeur centrale (médiane)
4 12 18 25 25 32 36 48 57

• 4 remplacé par 25 Image bruitée Image débruitée par


• Efficace contre le bruit ponctuel (ex : bruit type « poivre un filtre médian
et sel ») sans introduire un effet flou
49 50

Comparaison d’images ou de
Modèles statistiques du bruit textures sur la base d’histogrammes
Peuvent être ajoutés à une image pour simuler un
Il est préférable d’égaliser chacun des 2
bruit additif
histogrammes avant de procéder à leur
Bruit à distribution uniforme : comparaison (mesure de la similarité entre les 2
Les niveaux de gris de l’intervalle [bmin,bmax] sont distributions)
équiprobables Distance de vecteurs
Distance de Minkowski
Bruit à distribution gaussienne (loi normale)

Trop sensible :
Bruit à distribution de Rayleigh • aux décalages entre histogrammes (on ne compare que
les indices se correspondant exactement)
51
• aux variations fortes mais localisées 52

Distance de Kullback-Leibler Distance globales


Robuste aux variations fortes locales mais pas aux Sensibles à la forme plus qu’aux valeurs de l’histogramme
décalages Coefficient de corrélation

Distance dépliée
Ratio signal sur bruit • Prise en compte de la position relative des paires d’indices
Distance asymétrique comparés
• Nécessité de normaliser les histogrammes par leur surface
• Les 2 vecteurs comparés sont des listes ordonnées des
valeurs des pixels (distance L1)
• Si Hi(x)=n alors la valeur x apparaîtra n fois dans la liste Li

53 54

9
Distance du cantonnier Classification
Idée :
Valeurs de H0 = quantité de terre Principe :
Valeurs de H1 = profondeur de trous • Soit A un ensemble de m éléments décrits par d attributs
Distance EMD = Coût minimum associé au remplissage (par exemple : des points décrits par des coordonnées,
des trous avec la terre disponible des pixels décrits par une intensité)
Distance entre un tas i et un trou j • But : Classifier les éléments en familles (cluster)
Cij=Cji=|i-j|
Xij=quantité de terre transférée du tas i au trou j
Algorithme des K-moyennes :
Coût à minimiser :
• A partir d’une partition initiale, on améliore itérativement
la partition de l’espace en minimisant la variance intra-
classe et en maximisant l’écartement entre les classes
Problème du transport • Minimisation dispersion intra-classe (compacité)
Résolution en O(n2) 55 • Maximisation dispersion inter-classes (éloignement) 56

Algorithme
• Connaissance a priori du nombre k de
K-moyennes
classes
Entrée : k = nombre de classes
• Initialisation des centres des classes t = nombre max d’itérations
• Classification des éléments par rapport Début
à leur distance aux centres Choisir le centre initial des k groupes
Répéter
• Calcul des nouveaux centres
Affecter chaque élément à la classe dont il est le plus proche
• Convergence vers un optimum local Recalculer le centre de chaque groupe
Jusqu’à (stabilisation des centres) ou
(nombre d’itérations = t)
Fin
57 58

Choix des centres initiaux Exemple


• Méthode sensible à l’initialisation des
centres des groupes
• Choix possibles
6

– Valeur aléatoire 4 7 12

– Tirage avec remise parmi les valeurs existantes 2 8


11
– Tirage sans remise parmi les valeurs existantes 3 10

1 9 13
5

59 60

10
Exemple Exemple, suite
K=2
K=2

6
Centre(G1) = (6,3)
Centre(G2) = (8,2) 4 7 12 Centre (G1) = point 10 6
2 8 Centre (G2) = point 13
4 7 12
11
3 10 2 8
Nouveau Centre(G1) = (4.8, 3.7)
1 9 13 11
Nouveau Centre(G2) = (10.4, 3.6) 3 10
5
1 9 13
5

61 62

Evaluation de la qualité des


classes obtenues Exemple : Validité
• Pour trouver les meilleurs classes, il faut
– Minimiser la distance intra-classes
– Maximiser la distance inter-classes Intra = 3.66 Inter = 31.3
6
Validité = 8.55
4 7 12
N : nombre d’éléments 2 8
11
Intra = 3.75 Inter = 30.9 3 10
Validité = 8.24 1 9 13
5

• Validité d’une catégorisation:


inter
Validité =
intra
63 64

K-moyennes : bilan
Problème du choix de k
• Force des k-moyennes:
• Nombre de groupe contrôlé par – Relativement efficace :
O(tkn)
l’utilisateur n = nb d’objets,
• Possibilité utilisation validité pour k = nb de groupes k << n
t = nb d’itérations t << n
déterminer la valeur « optimale » de k
– Optimum local

Validité (k-1) < Validité (k)


Validité (k+1) < Validité (k)

65 66

11
• Faiblesse des k-means:
– Besoin de préciser k a priori
– Sensible au bruit et aux exceptions
– Sensible à l’initialisation
• lancer plusieurs exécutions avec différents états
initiaux
• retenir la meilleure configuration
– marche mal lorsque les classes se chevauchent

• Les variantes des K-Moyennes diffèrent


dans :
– La sélection des k initiaux
– Calcul de la dissimilarité
– Calculer la moyenne d’une classe

67

12

Vous aimerez peut-être aussi