ue robotique et vision analyse des images ...lagis-vi.univ-lille1.fr/~lo/ens/licence/seance-3... ·...
TRANSCRIPT
Licence 3 ESEA, Option Robotique / Vision, semaine 8 1
UE Robotique et VisionAnalyse des images – Transformations ponctuelles
Licence 3 ESEA, Option Robotique / Vision, semaine 8 2
Plan du cours
1 – Histogramme
Définition et interprétationHistogrammes normalisé et cumulé
2 – Principe des transformations d'images
Types de transformations d'imagesTransformations ponctuelles : table de correspondance (LUT)Lien avec l'histogramme
3 – Transformations ponctuelles pour l'amélioration du contraste
Transformations linéairesTransformations non linéairesÉgalisation d'histogramme
4 – Autres transformations ponctuelles
Opérations logiquesOpération algébriques
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 3
Histogramme : définition
Définition et notation
L'histogramme d'une image en niveau de gris dénombre les occurrences de chacun des niveaux.Notation : h(i) = nombre de pixels dans l'image ayant le niveau de gris i.Cas considéré : image codée sur m=8 bits 256 niveaux de gris disponibles
I 100×100
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 4
Histogramme : interprétation (1/4)
Informations issues de l'histogramme
luminance de l'image = moyenne µ des niveaux de gris.
variance σ ² ou écart-type σ = amplitude moyenne de la variation des niveaux de part et d'autre de la moyenne.
=1
N x×N y∑i=0
255
h i×i , 2=
1N x×N y
∑i=0
255
h i× i−2
0 µ=152.8 255
σ=16.5 σ
0 µ=143.7 2550 µ=76.4 255
Luminance faible Luminance élevée
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 5
Histogramme : interprétation (2/4)
Informations issues de l'histogramme (suite)
gamme dynamique de l'image : différence entre le plus haut et le plus bas niveau présents dans l’image i
max - i
min (cf. plage tonale [i
min , i
max]).
contraste de l'image : peut être estimé par l'écart-type σ . Il est d'autant plus élevé que l'histogramme est « étalé » horizontalement.
Histogramme Transformations Amélioration du contraste Opérations algébriques
Contraste faible Contraste élevé
500
0
500
0
0 imin
=3 imax
=2550 imin
=66 imax
=191 255
Licence 3 ESEA, Option Robotique / Vision, semaine 8 6
Histogramme : interprétation (3/4)
Informations issues de l'histogramme (suite)
présence de pics significatifs pour certaines plages de niveaux de gris (appelées modes), correspondant à des ensembles de pixels intéressants.
Exempled'histogramme
bimodal
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 7
Histogramme : interprétation (4/4)
Remarque importante
L'histogramme donne une information sur les occurrences (fréquences d'apparition) des niveaux de gris des pixels de l'image, mais ne donne aucune indication sur la répartition (fréquences spatiales) de ces niveaux de gris au sein de l'image.Exemple : ces 4 images ont même histogramme, lequel ?
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 8
Histogrammes normalisé et cumulé (1/2)
Histogramme normalisé
La probabilité d'apparition d'un niveau de gris i dans l'image est
La fonction correspondante hn est l'histogramme normalisé.
Histogramme cumulé
L'histogramme cumulé dénombre les occurrences cumulées de chacun des niveaux :
Il est défini de façon récursive par
La probabilité qu'un pixel ait un niveau de gris inférieur ou égal à i est
hn i=hi
N x×N y
, hn i∈[0,1]
hc i =∑k=0
i
hk , hci ∈[0, N x×N y ]
{hc0 = h0
hc i = hc i−1h i
hci
N x×N y
, avechc255
N x×N y
=1
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 9
Histogrammes normalisé et cumulé (2/2)
Exemple
Image de dégradé à 8 niveaux successifs
Image Histogramme h (échelle G) Histogramme cumulé hc
Histogramme normalisé hn (D)
I 100×100
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 10
Transformations d'images : principe et types (1/2)
Principe
Changer la valeur de chaque pixel d'une image I pour obtenir une nouvelle image I'. Cette image résultat a même taille que I, mais des propriétés plus intéressantes.
Notation
La transformation est notée t :
Types de transformations
Ponctuelles (ou pixel à pixel) : la nouvelle valeur I'(x,y) est obtenue à partir de I(x,y) seulement.Locales (ou de voisinage) : la nouvelle valeur I'(x,y) est obtenue à partir de l'ensemble des valeurs initiales I(V (x,y)) dans un voisinage autour du pixel de coordonnées (x,y).Globales : la nouvelle valeur I'(x,y) est obtenue à partir de l'ensemble des valeurs de l'image initiale I.
I N x×N yt
I ' N x×N y
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 11
Transformations d'images : principe et types (2/2)
Transformations ponctuelles
Ex. seuillage, ajustement luminosité/contraste
opérations algébriques, manip. d'histogramme
Transformations locales
Ex. filtrage
Transformations globales
Ex. transformation dans l'espace de Fourier
I x , y t
I ' x , y =t I x , y
I x , y t
I ' x , y =t I
x
y
x
y
t
t
x
y
t
I I'
Histogramme Transformations Amélioration du contraste Opérations algébriques
I x , y t
I ' x , y =t I V x , y
x
y
x
y
t
V x , y
I I'
Licence 3 ESEA, Option Robotique / Vision, semaine 8 12
Transformations ponctuelles : LUT (1/2)
Principe
Une transformation ponctuelle t change un niveau de gris i dans l'image initiale I en un niveau de gris i' pour obtenir l'image résultat I'.Elle est donc définie par une table de correspondance ou LUT (Look-Up Table) qui définit, pour chaque niveau de gris i, le nouveau niveau i'=t(i).
Représentationsde la LUT
tableauougraphe(souvent continubien que tsoit discrète)
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 13
Transformations ponctuelles : LUT (2/2)
Exemplesidentité i'=i négatif i'=255-i seuillage i '={ 0 si i127
255 si i127
Histogramme Transformations Amélioration du contraste Opérations algébriques
i i'=t(i) i i'=t(i) i i'=t(i)
0 0 0 255 0 0
1 1 1 254 ... ...
2 2 2 253 126 0
3 3 3 252 127 1
... ... ... ... ... ...
Licence 3 ESEA, Option Robotique / Vision, semaine 8 14
Transformations ponctuelles et histogramme
Lien avec l'histogramme
Une LUT définit la transformation t des niveaux de gris entre l'image initiale et l'image finale.Cette transformation change la distribution statistique des niveaux de gris,caractérisée par l'histogramme de chaque image
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 15
Transformation linéaire simple
Expansion de la dynamique
Soit [imin
, imax
] la plage
tonale de l'image initiale.Fonction de transformation
Effet : rehaussementdu contraste parexpansion de la dynamiqueRemarque : pas d'effet siimin
=0 , imax
=255
i '= 255imax−imin
(i−imin)
aveci−i min
imax−imin∈[0,1]
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 16
Autres transformations linéaires
Transformation linéaire avec saturation
Définie par 2 seuils : imin
< Smin
< Smax
< imax
Effet : rehaussement du contrastedes niveaux i tels que S
min < i < S
max
et saturation à 0 des niveaux i tels que i
min < i < S
min
à 255 des niveaux i tels que Smax
< i < imax
Transformation linéaire par morceaux
Effet : selon la pente locale (gain), expansion ou compression de la dynamique
rehaussement du contraste si gain > 1diminution du contraste si gain < 1
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 17
Quantification et transformations non-linéaires
Quantification
Transformation linéaire par morceauxutilisant des paliers.Ex. : paliers de mêmes largeurs et dehauteurs réparties uniformément.Résultat : seuls les niveaux de ces palierssont conservés dans le résultat.
Transformation non-linéaire gamma
L'intensité mesurée par une caméra est unefonction logarithmique de l'intensité réelle.L'intensité rendue par un moniteur CRT est une fonction exponentielle de l'intensité en entrée.
Correction γ de ces défauts : 1/γ < 1 éclaircit principalement les parties foncées
1/γ > 1 assombrit principalement les parties claires
caméraécran
i '=255 i255 1/
fonction de correction
écran corrigé
fonction de
rendu initiale
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 18
Égalisation d'histogramme : Principe (1/2)
Principe
On cherche à obtenir une image où les niveaux de gris sont répartis de manière la plus égalitaire possible (contraste maximal).L'histogramme de l'image résultat I' est donc plat (idéalement) :
histogramme histogramme cumulé
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 19
Égalisation d'histogramme : Principe (2/2)
Principe (suite)
On cherche une fonction de transformation t : i → i'croissante (i.e. préservant l'ordre des niveaux de gris)qui génère (autant que possible) un histogramme h'(i') « plat », c'est-à-dire une distribution uniforme des niveaux de gris
t ?
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 20
Égalisation d'histogramme : Formule
Formule d'égalisation
La transformation t : i → i' cherchée est :
Exemple simplifié avec 12 niveaux (non 256) et NxxN
y=120 pixels
i '=E ( 256N x×N y
hc(i)−1) , avec hc(i)=∑k=0i h (k )
i h(i) hc(i) i'=t(i)
0 3 3 0
1 3 6 0
2 4 10 0
3 4 14 1
4 3 17 1
5 1 18 1
6 20 38 2
7 22 60 5
8 30 90 8
9 5 95 8
10 4 99 8
11 21 120 11
i' h'(i')
0 10
1 8
2 20
3 0
4 0
5 22
6 0
7 0
8 39
9 0
10 0
11 21
paliers
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 21
Égalisation d'histogramme : Exemples (1/2)
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 22
Égalisation d'histogramme : Exemples (2/2)
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 23
Égalisation d'histogramme : Résumé
Résumé de la méthode et remarques
L'égalisation de l'histogrammeconsiste à regrouper des ensembles de niveaux de gris de valeurs voisines, pour obtenir un nouveau niveau de gris en quantité approchant N
xxN
y / 256 ;
fournit de nouveaux niveaux uniformément répartis sur [0, 255].
Remarques sur l'amélioration par égalisation d'histogramme :On obtient une image améliorée pour la visualisation (amélioration subjective).Il est impossible d'obtenir une égalisation parfaite.Peut améliorer une image quand la correction de dynamique est inefficace.
Le regroupement de niveaux initiaux (paliers de t ) implique :une perte objective d'information ;que cette transformation n'est pas réversible.
Variante : spécification d'histogrammePrincipe : déterminer la transformation permettant d'approcher un histogramme de forme prédéfinie.But : « favoriser » certaines plages d'intensité où l'on recherche des détails.
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 24
Opérations logiques et arithmétiques : introduction
Principe
Appliquer, pixel à pixel, les opérations logiques et arithmétiques classiques à deux (ou plusieurs) imagesLes images opérandes
doivent être de même taille ;peuvent être des images constantes.
Exemplesaddition, soustraction, ...ET logique, OU logique, ...
Problèmesdébordements de [0, 255]normalisation...
I 1 x , y , I 2 x , y t
I ' x , y=t I 1 x , y , I 2 x , y
x
yx
y
t
I1
I'
x
y
I2
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 25
Opérations logiques : ET/OU logiques (1/2)
Principe
Images binaires : ET/OU logique entre les pixels.
Images en niveaux de gris : ET/OU logique bit à bit entre les 8 bits codant les valeurs des pixels.
I1(x,y) I
2(x,y) ET(I
1,I
2)(x,y) OU(I
1,I
2)(x,y) XOR(I
1,I
2)(x,y)
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0
bit n° 7 6 5 4 3 2 1 0
I1(x,y) = 73 0 1 0 0 1 0 0 1
I2(x,y) = 141 1 0 0 0 1 1 0 1
ET(I1,I
2)(x,y) = 9 0 0 0 0 1 0 0 1
OU(I1,I
2)(x,y) = 205 1 1 0 0 1 1 0 1
XOR(I1,I
2)(x,y) = 196 1 1 0 0 0 1 0 0
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 26
Opérations logiques : ET/OU logiques (2/2)
Utilisations principales
Images binaires (surtout) :ET logique : intersection logique
OU logique : union logique
OU exclusif : exclusion logique
Masquage
I2 (masque)I
1
t
ET ( I1 , I
2 ) OU ( I
1 , I
2 )
I1
I2
ET ( I1 , I
2 )
OU ( I1 , I
2 )
XOR ( I1 , I
2 )
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 27
Opérations arithmétiques : Addition
Addition d'images
Principe : I'(x,y)=I1(x,y)+I
2(x,y) pour tout pixel de coordonnées (x,y)
Stratégies si dépassement de capacitéDécalage des valeurs dans [0, 127] avant addition (perte du bit de poids faible)Saturation : I'(x,y) = min ( I
1(x,y)+I
2(x,y), 255)
Pré-calcul des valeurs finales (théoriques) minimale et maximale
puis recadrage de la dynamique :
Utilisations principalesAugmentation de la luminance d'une image (par addition d'une constanteou d'une image avec elle-même)Diminution du bruit dans une série d'images
i 'min= min x, y∈ I
I 1x , y I 2 x , y et i ' max= maxx , y∈ I
I 1x , yI 2x , y
I ' x , y=255
i ' max−i 'min I 1x , y I 2x , y
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 28
Opérations arithmétiques : Soustraction
Soustraction d'images
Principe : I'(x,y)=I1(x,y) - I
2(x,y) pour tout pixel de coordonnées (x,y)
Stratégies si dépassement de capacitéSaturation : I'(x,y) = max ( I
1(x,y) - I
2(x,y), 0)
Différence absolue : I'(x,y) = | I1(x,y) - I
2(x,y) |
Utilisations principalesDiminution de la luminance d'une imageDétection de changements entre images
défauts (par comparaison avec une image de référence)
mouvements (par comparaison avec une autre image de la séquence)
source : H.-H. NagelIAKS , Karlsruhe
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 29
Opérations arithmétiques : Autres opérations (1/2)
Multiplication
Principe : I'(x,y) = I1(x,y) x I
2(x,y) ou, plus souvent, I'(x,y) = k x I(x,y)
Stratégies si dépassement de capacité : saturationUtilisations principales : amélioration du contraste et de la luminosité d'une image (changement d'échelle des niveaux de gris)
Combinaison linéaire
Principe : I'(x,y) = k x I1(x,y) + (1-k) x I
2(x,y)
Le facteur k définit la contribution relative de I1 et I
2 au résultat I'.
Utilisation principale : superposition d'images
Division
Principe : I'(x,y)=I1(x,y) / I
2(x,y) ou, plus souvent, I'(x,y)=I(x,y) / k
Problème : éviter la division par 0 ; comment normaliser ?Utilisation principale : détection des changements et de leur amplitude
Histogramme Transformations Amélioration du contraste Opérations algébriques
Licence 3 ESEA, Option Robotique / Vision, semaine 8 30
Opérations arithmétiques : Autres opérations (2/2)
Exemples
Réduction du bruitpar moyennage d'une série temporelle d'images d’objets fixes
Source : Max Mignotte (Montréal)
Superposition
I ' x , y =1n∑k =0
n
I k x , y
Ik
I' (n=2) I' (n=8)
I' (n=16) I' (n=32) I' (n=128)
I1
I2
0,5.I1
+0,5.I2
0,25.I1
+0,75.I2
Histogramme Transformations Amélioration du contraste Opérations algébriques