Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Bases du traitement des images I Opérations de base et améliorations J
Séverine Dubuisson
6 octobre 2010
Bases du traitement des images 1 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Plan du cours
1
Types d’opérations sur une image
2
Transformations géométriques
3
Opérations entre images
4
Améliorations
Bases du traitement des images 2 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Opérations sur une image
Comment transformer une image ? I
Chaque pixel de l’image est défini par sa position (i, j) et son amplitude (intensité) k dans l’image
I
Il existe deux types de transformations sur les pixels de l’image : • les transformations géométriques qui modifient les positions des pixels, et • les transformations qui modifient les intensités des pixels.
I
Possibilité d’effectuer des opérations entre images, qui induisent ces deux types de transformation
Bases du traitement des images 3 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Transformations géométriques d’image Qu’est-ce qu’une transformation géométrique ? I
Transformation directe sur les coordonnées spatiales d’un pixel exprimée de manière générale par : 0 i i =T +V j0 j où T est une matrice de transformation, et V un vecteur
I
Transformation inverse sur les coordonnées spatiales d’un pixel exprimée de manière générale par : 0 i i −1 =T j0 j où T est une matrice de transformation inversible Bases du traitement des images 4 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Transformations géométriques d’image Translation I
La translation d’un pixel (i, j) de vecteur (ti , tj )t s’exprime : 0 1 0 i ti i = + j0 0 1 j tj
Bases du traitement des images 5 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Transformations géométriques d’image Changement d’échelle I
Le changement d’échelle d’un pixel (i, j) de coefficients αi et αj s’exprime : 0 αi 0 i i = j0 0 αj j
Bases du traitement des images 6 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Transformations géométriques d’image Rotation I
La rotation d’un pixel (i, j) d’angle θ s’exprime : 0 i cos θ sin θ i = j0 − sin θ cos θ j
Bases du traitement des images 7 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Transformations géométriques d’image Déformation linéaire I
La déformation linéaire d’un pixel (i, j) de coefficients βi1 , βi2 , βj1 et βj2 s’exprime : 0 i βi1 βi2 i = j0 βj1 βj2 j
Bases du traitement des images 8 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Transformations géométriques d’image
Les coordonnées homogènes I
Système de coordonnées défini dans les "espaces projectifs" • espaces euclidiens ⊂ espaces affines ⊂ espaces projectifs
I
Avec les mains : une coordonnée supplémentaire (x, y ) affine → (x, y , 1) ∼ (x · w , y · w , w ) projectif
I
Formalisation plus complexe, mais calculs facilités : • Transformations projectives linéaires en coordonnées homogènes • Permet d’inclure les translations dans la matrice de transformation
Bases du traitement des images 9 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Transformations géométriques d’image Les coordonnées homogènes I
Ex : déformation linéaire en coordonnées homogènes : 0 βi1 βi2 0 i i j 0 = βj1 βj2 0 j 1 0 0 1 1
I
Déformation affine (linéaire + translation) : 0 i βi1 βi2 Tx i j 0 = βj1 βj2 Ty j 1 0 0 1 1
Bases du traitement des images 10 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Transformations géométriques d’image Problème I
Une transformation directe n’implique pas que tous les pixels de l’images destination auront une couleur ,→ phénomènes de “trous” dans les images
I
Deux solutions : • Appliquer une transformation inverse (mais la matrice doit être inversible !) • “Boucher” les trous
I
Dans les deux cas, il faut interpoler
Bases du traitement des images 11 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Transformations directe et inverse I
Transformation directe : on part des pixels de l’image initiale et on calcule leur transformé : génération de “trous” ou de superpositions
I
Transformation inverse : on part des pixels de l’image résultat et on détermine à quel pixel ils correspondent dans l’image initiale par transformation inverse.
Bases du traitement des images 12 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Interpolations I
Deux modes d’interpolation principaux : • Plus proche voisin : le pixel est de la même couleur que celle de son plus proche voisin • Interpolation bilinéaire : prise en compte des 4 voisins du pixel pour faire une combinaison bilinéaire des intensités
I
Il en existe beaucoup d’autres ! Bases du traitement des images 13 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Interpolation bilinéaire
P = (1 − v )A + vB Q = (1 − v )D + vC R = (1 − u)P + uQ = (1 − v )(1 − u)A + (1 − u)vB + uvC + u(1 − v )Q
Bases du traitement des images 14 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Opérations entre images
I
Les images sont des matrices, on peut donc effectuer les opérations usuelles sur des matrices
I
Bien faire la différence entre une opération matricielle et une opération pixel par pixel
I
En image, on fait en général des opérations pixel par pixel : addition, soustraction, multiplication, division, combinaison linéaire, ...
Bases du traitement des images 15 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Quelques exemples d’opérations entre images
Bases du traitement des images 16 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Quelques applications d’opérations entre images
Soustraction et réduction de bruit I
On a 2 images identiques (au bruit près) et recalées
I
L’image différence des deux images permet de détecter le bruit
I
Pixel noir : aucune différence
I
Pixel non noir : différence dont l’amplitude est celle du bruit Attention : à des temps différents, l’image de différence donne les mouvements entre images
Bases du traitement des images 17 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Quelques applications d’opérations entre images Image de différence pour la détection de mouvement
Bases du traitement des images 18 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Quelques applications d’opérations entre images Suivi multi-camera I
Pouvoir suivre un/des objets des selon différentes vues d’une même scène
Bases du traitement des images 19 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Quelques applications d’opérations entre images
Suivi multi-camera I
Une solution : transformation homographique
Bases du traitement des images 20 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Quelques applications d’opérations entre images Recalage d’images pour la cartographie I
Données : une carte et une image satellite (IKONOS)
Bases du traitement des images 21 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Quelques applications d’opérations entre images Recalage d’images pour la cartographie I
Une solution : détecter des points d’intérêt et les faire correspondre avec ceux de la carte
Bases du traitement des images 22 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Quelques applications d’opérations entre images Recalage d’images pour la surveillance des crûes
Bases du traitement des images 23 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Quelques applications d’opérations entre images Recalage d’images médicales multimodales pour la fusion I
Données : différentes modalités (CT, ultra-son, IRM)
I
But : les recaler pour pouvoir les fusionner ensuite et disposer d’une information plus complète
Bases du traitement des images 24 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Quelques applications d’opérations entre images Recalage d’images médicales multimodales pour la fusion
Bases du traitement des images 25 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Quelques applications d’opérations entre images Prédiction par compensation de mouvement pour la compression vidéo I
Données : deux images d’une séquence
I
But : prédire d’une image vers l’autre la position de blocs, et ne transmettre que des vecteurs mouvement pour ces blocs
Bases du traitement des images 26 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Quelques applications d’opérations entre images Prédiction par compensation de mouvement pour la compression vidéo I
Partitionnement de l’image 1 en blocs
Bases du traitement des images 27 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Quelques applications d’opérations entre images Prédiction par compensation de mouvement pour la compression vidéo I
Chercher la position de chaque bloc de l’image 1 dans l’image 2
Bases du traitement des images 28 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Quelques applications d’opérations entre images Prédiction par compensation de mouvement pour la compression vidéo I
Transférer le contenu du bloc de l’image 1 dans sa cible dans l’image 2
Bases du traitement des images 29 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Améliorations d’images
But de l’amélioration I
Rendre les images plus aptes à l’interprétation humaine ou à celle de la machine
I
Aucune théorie générale
I
Manipulation dans le domaine spatial : accès direct aux valeurs de pixels
I
Manipulation dans le domaine fréquentiel : modification de la transformée de Fourier
Bases du traitement des images 30 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Améliorations d’images Types d’amélioration I
Amélioration ponctuelle : f 0 (i, j) = T (f (i, j)) ,→ Modification de la brillance ou du contraste d’une image. ,→ L’arrangement spatial (position) des pixels n’intervient pas : aucune relation de voisinage étudiée. ,→ Travail sur les histogrammes, les valeurs de pixels, ... ,→ Sujet de ce chapitre.
I
Amélioration locale : f 0 (i, j) = T (f (V )), où V est un voisinage du pixels (i, j) ,→ Utilisation de filtres (chapitre sur le filtrage).
I
Amélioration globale : f 0 = T (f ) ,→ Utilisation de la transformée de Fourier (chapitre sur la TFD).
Bases du traitement des images 31 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Améliorations d’images
Bases du traitement des images 32 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Améliorations d’images Pourquoi améliorer une image ? I
Régions à faire apparaître
I
Image trop claire ou trop foncée
I
Nécessité de modifier ses niveaux de gris afin de rendre visibles certains détails
Bases du traitement des images 33 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Améliorations d’images Pourquoi améliorer une image ? I
Modifier la brillance.
I
Augmenter le contraste.
Bases du traitement des images 34 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Améliorations d’images
Rappels - définitions I
Opérations d’améliorations d’images modifient l’histogramme
I
Qu’est-ce qu’un histogramme ? Un histogramme cumulé
I
A quoi correspond le contraste d’une image ?
Bases du traitement des images 35 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Histogramme Définition I
Fonction décrivant la répartition des niveaux de gris de l’image
I
Fournit des informations propres à l’image, telles que : • La distribution statistique des niveaux de gris • Les bornes de répartition des niveaux de gris
I
Mais aucune information spatiale !
I
À chaque image f de taille N × M , on peut associer une distribution H des valeurs contenues dans cette image par : H(k) = Card{0 ≤ i ≤ N − 1, 0 ≤ j ≤ M − 1 : f (i, j) = k} = nk
Bases du traitement des images 36 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Remarque sur l’histogramme Il ne code pas d’information spatiale
I
Deux images différentes (en termes de contenu sémantique) peuvent aussi avoir le même histogramme Bases du traitement des images 37 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Histogramme normalisé Définition I
Fonction Hn donnant la probabilité (en termes de fréquence d’occurrence) qu’un pixel ait pour niveau de gris k Hn (k)
=
H(k) N ×M
où N et M sont respectivement le nombre de colonnes et de lignes de l’image I
Les valeurs de H sont normalisées
I
Approximation de la fonction de densité d’une variable aléatoire (pixel)
Bases du traitement des images 38 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Histogramme cumulé Définition I
L’histogramme cumulé est donné par : X Hc (k) = H(i) i≤k
où H(.) est l’histogramme I
L’histogramme cumulé normalisé est donné par : X Hc (k) = Hn (i) i≤k
où Hn (.) est l’histogramme normalisé I
Hc (k) représente la probabilité d’avoir un niveau de gris inférieur ou égal à k (fonction croissante qui tend vers 1), ou fonction de répartition Bases du traitement des images 39 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Propriétés de l’image Contraste I
Définition 1 : variation maximale entre valeurs de niveaux de gris min et max dans l’image : C=
I
maxi,j [f (i, j)] − mini,j [f (i, j)] maxi,j [f (i, j)] + mini,j [f (i, j)]
Définition 2 : écart-type des variations de niveaux de gris dans l’image : v u X M−1 X u 1 N−1 C =t (f (i, j) − B)2 NM i=0 j=0
I
Deux images totalement différentes peuvent avoir le même contraste Bases du traitement des images 40 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Améliorations d’images
Modifications d’histogrammes I
On va modifier la luminance k f : k → k 0 = f (k).
I
Diffèrentes fonctions f vont avoir des impacts diffèrents sur l’image
Bases du traitement des images 41 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Inversion d’image Définition I
Inversion de l’intervalle des niveaux de gris de f par la formule : k0
= |(L − 1) − k|
où L est la dynamique de l’image f
I
Ne change pas la dynamique Bases du traitement des images 42 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Seuillage Définitions et principe I
Seuillage (tresholding) : traitement ramenant l’image à deux ou quelques niveaux d’intensité
I
Binarisation (binarization) : traitement ramenant l’image à deux niveaux ⇒ seuillage binaire
I
Le seuillage binaire est défini par : k1 k0 = k2
si k ≤ S si k > S
où k1 , k2 et S (seuil) sont des niveaux de gris I
Met en avant des régions mais n’améliore pas l’image
Bases du traitement des images 43 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Exemples de seuillages (k1 = 0 et k2 = 255)
Bases du traitement des images 44 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Améliorations d’images Revenons à notre problème I
Des images trop claires ou trop foncées
I
D’une manière générale : l’histogramme est trop concentré
I
Méthodes ponctuelles travaillant sur les niveaux de gris ou sur les histogrammes mais, en général, ne modifiant pas l’information contenue dans les images Bases du traitement des images 45 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Rehaussement logarithmique de contraste Définition I
Formule : k 0 = log(k)
I
L’intervalle des intensités sombres est augmenté (éclaircissement global de l’image) : utilisé pour traiter des images trop sombres
I
Remettre l’intervalle de variation des k 0 entre 0 et (L − 1)
Bases du traitement des images 46 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Rehaussement logarithmique de contraste
Bases du traitement des images 47 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Rehaussement exponentiel de contraste Définition I
Formule : k 0 = e k
I
L’intervalle des intensités claires est augmenté (assombrissement global de l’image) : utilisé pour traiter des images trop claires
I
Remettre l’intervalle de variation des k 0 entre 0 et (L − 1)
Bases du traitement des images 48 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Rehaussement exponentiel de contraste
Bases du traitement des images 49 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Translation d’histogramme
Définition I
Permet de faire varier la luminosité de l’image sans en changer le contraste
I
On obtient une image plus claire ou plus sombre
I
S’applique sur des images à faible dynamique
I
On a donc : k 0 = k + t, où t ∈ R
Bases du traitement des images 50 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Translation d’histogramme
Bases du traitement des images 51 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Changement de contraste
Définition I
On effectue une transformation affine sur les niveaux de gris
I
La transformation s’exprime : k 0 = ak + b, où a, b ∈ R
I
Diminution de contraste a < 1 et b > 0
I
Augmentation de contraste a > 1 et b < 0
I
Un exemple : l’étirement d’histogramme
Bases du traitement des images 52 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Étirement d’histogramme
Définition I
Cas où l’intervalle de variation des niveaux de gris est réduit : on le remet entre 0 et (L − 1)
I
Si les niveaux de gris de I appartiennent à [kmin , kmax ], et qu’on l’étire à l’intervale [0, L − 1], alors on a : k0
=
L−1 (k − kmin ) kmax − kmin
Bases du traitement des images 53 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Étirement d’histogramme
Bases du traitement des images 54 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Étirement d’histogramme Un cas particulier : la transformation linéaire avec saturation I
On choisit deux seuils Smin et Smax tels que kmin ≤ Smin < Smax ≤ kmax
I
On a : k 0 =
I
On peut obtenir des valeurs pour k 0 en dehors de l’intervalle de variation maximale des niveaux de gris.
I
Exemple : image codée sur 8 bits (valeurs entre 0 et 255) :
L−1 Smax −Smin (k
− Smin )
k0 < 0 → k0 = 0 k 0 > 255 → k 0 = 255
Bases du traitement des images 55 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Étirement d’histogramme
Et dans le cas général ? I
La dynamique de l’image n’est pas forcément maximale
I
On peut choisir un intervalle cible [fmin , fmax ] quelconque
I
C’est une simple changement d’intervalle, de [kmin , kmax ] vers [fmin , fmax ]
I
On a donc : k0
= fmin +
fmax − fmin (k − kmin ) kmax − kmin
Bases du traitement des images 56 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Égalisation d’histogramme Définition I
Homogénéisation de la répartition des intensités des pixels
I
Amplification des fluctuations dans les zones où elles sont faibles
I
étalement des détails concentrés dans un petit intervalle de niveaux de gris
Bases du traitement des images 57 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Égalisation d’histogramme
Définition I
Formule : k 0 = Int
L−1 Hc (k) N ×M
où L est la dynamique de l’image, N et M respectivement le nombre de lignes et de colonnes de l’image et Hc (k) l’histogramme cumulé du niveau de gris k. Int est la fonction qui arrondit à l’entier le plus proche.
Bases du traitement des images 58 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Égalisation d’histogramme : exemple 1
Bases du traitement des images 59 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Égalisation d’histogramme : exemple 2
Bases du traitement des images 60 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Étirement et égalisation : le même combat ? Deux effets différents I
L’étirement va changer la répartition spatiale des btons (bins) de l’histogramme, mais pas leur taille
I
L’égalisation va changer la répartition spatiale des btons (bins) de l’histogramme, et leur taille
Bases du traitement des images 61 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Quelques applications de modification d’histogrammes La mosaque d’images I
Donnée : une image cible et une base d’imagettes
Bases du traitement des images 62 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Quelques applications de modification d’histogrammes L’apprentissage sur une base d’images I
Donnée : une base de visages
Bases du traitement des images 63 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Quelques applications de modification d’histogrammes L’apprentissage sur une base d’images I
Un problème : des variations d’illumination au sein de la base ,→ normaliser l’ensemble des histogrammes pour que les images aient la même dynamique
Bases du traitement des images 64 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Quelques applications de modification d’histogrammes
L’image inpainting
Bases du traitement des images 65 / 66
Plan
Types d’opération
Transformation géométriques
Opérations entre images
Amélioration
Quelques applications de modification d’histogrammes
Segmentation
Bases du traitement des images 66 / 66