Traitement d'images Hugues BENOIT-CATTIN
I. Introduction
HBC Traitement d'images Traitement d'images Ce n'est pas ce qui nous intéresse ! Traitement d'images Traitement d'images HBC
Domaines d'application Vision industrielle Imagerie médicale Imagerie satellite Microscopie Télécommunications Animations, Images de synthèse ....
Plan I. Introduction II. Représentations & Acquisition III. Pré-traitement & Amélioration IV. Compression V. Segmentation VI. Introduction à l'indexation VII. Introduction au tatouage VIII. Conclusion Remerciements à A. Baskurt, C. Odet pour les parties II, III, V
Eclairage Formation de l’image Numérisation Corrections Scène, objets 2D 3D... Formation de l’image Image 2D,3D,... Numérisation Image numérique Corrections - radiométriques - géométriques Restauration Reconstruction Image numérique
BDO Tatouage Indexation Compression Segmentation Transmission Image numérique Indexation Compression Segmentation Transmission Reconnaissance de formes Décision
II. Représentation & Acquisition 1. Représentation continue 2. Représentation échantillonnée 3. Voisinage, connexité, distance 4. Acquisition : échantillonnage, quantification, bruit 5. Représentations fréquentielles 6. Représentations pyramidales 7. Représentation de la couleur
II.1 Représentation continue Image = fonction d’au moins deux variables réelles Image : f(x,y) image 2D Volume : f(x,y,z) «image» 3D Séquence d’image : f(x,y,t) Séquence de volumes : f(x,y,z,t) «image» 4D Les valeurs prises par f(.) peuvent être Scalaires (intensité lumineuse) Vectorielles (couleur (RVB, ..), imagerie multispectrale, image de paramètres...) Réelles ou complexes
Si f(.) représente une intensité lumineuse Une image 2D f(x,y) scalaire réelle peut être vue comme une surface en 3D : Interprétation altimétrique des images, bassin versant, détection de ligne de crêtes, dénivellation ... Si f(.) représente une intensité lumineuse Cette représentation est utilisée quel que soit le paramètre représenté par f(.) ( Température, pression,....) Correspondance entre niveau de gris et grandeur physique.
Opérations sur les images continues : Toutes opérations réalisables «sur le papier» sur les fonctions continues à variables réelles Transformée de Fourier bidimensionnelle (2D) Filtrage, convolution, corrélation, intégration, dérivation, traitements non linéaire... On utilisera souvent la notation «continue» pour représenter et manipuler des images numériques (discrètes, échantillonnées, quantifiées) Le traitement numérique de l’image sera parfois une «discrétisation» d’une opération en continu
II.2 Représentation échantillonnée Echantillonnage d’une fonction f(x,y) fe(x,y) = f(x,y).Si Sj d( x - i Dx , y - j Dy ) Dx pas d’échantillonnage dans la direction x Dy pas d’échantillonnage dans la direction y x Dx Dy Si Sj d( x - i Dx , y - j Dy ) Peigne de Dirac 2D
Le poids de chaque Dirac est : Soit la valeur de f(x,y) en x = i Dx et y = j Dy Soit la valeur «moyenne» de f(x,y) dans une région entourant (i Dx , j Dy) (f(x,y) est pondérée et intégrée dans la région R) Caméra CCD Caméra à tube
Dans le cas général on aura (cas variant) : Si h(.,.) est identique en tout point (x,y), on aura (cas invariant) : h représentera la réponse impulsionnelle du système de prise de vue. C’est une opération de convolution, donc de filtrage. L’image échantillonnée est donc : Dans un ordinateur, l’image (numérique) sera représentée par une matrice (tableau 2D) :
f [i,j] est appelé «valeur du PIXEL (i,j) » (Pixel: PICture ELement) Pour visualiser une image, on remplit une région rectangulaire (Pixel) avec un niveau de gris (ou de couleur) correspondant à la valeur du pixel. En général les niveaux de gris (ou de couleur) utilisé pour la visualisation sont compris entre 0 et 255 (code de longueur fixe sur 8 bits). f [i,j] Niveau de gris Affichage 0.1 0.23 0.15 0.50 50 115 75 250
La maille (répartition des pixels) est le plus souvent carrée (Dx=Dy) ou rectangulaire On utilise parfois une maille hexagonale qui possède des propriétés intéressantes pour les notions de voisinage et de distance.
II.3 Voisinage, connexité, distance Beaucoup de traitements font intervenir la notion de voisinage Un pixel possède plusieurs voisins (4 ou 8) On parlera de connexité 4 ou 8 La région grise forme : UN seul objet en connexité 8 DEUX objets en connexité 4
Distance entre deux pixels f [i,j] et f ’[k,l] Distance Euclidienne Distance City-Block longueur du chemin en connexité 4 Distance de l’échiquier
II.4 Acquisition : échantillonnage / quantification Effets de l'échantillonnage : pixelisation 256 x 256 pixels 64 x 64 pixels 16 x 16 pixels Contours en marche d’escalier Perte de netteté Détails moins visibles/ moins précis Perte de résolution
Effets de la quantification à l'acquisition CAN sur les systèmes d’acquisition d’images Codage de la valeur de chaque pixel sur N bits (En général 8 bits) 8 bits (256 niv.) 4 bits (16 niv.) 2 bits (4 niv.) Apparition de faux contours Bruit de quantification Effet visible à l’œil en dessous de 6/7 bits Quantification sur 8 bits pour l’affichage
Bruits liés à l'acquisition Les images sont souvent entachées de bruit, parfois non visible à l’œil, et qui perturberont les traitements Diaphragme F/4 F/8 F/16 Optimiser les conditions d’éclairage Attention à l’éclairage ambiant Mais... diaphragme ouvert = faible profondeur de champ Mais... éclairage important = dégagement de chaleur
Eclairage non uniforme ! Correction de l'éclairage
Flou de bougé/filé dû à un temps de pose/intégration trop long Cet effet est limité par l’usage d’obturateur rapide et/ou d’éclairage flash Effet de lignage dû au balayage entrelacé des caméras vidéo Cet effet disparaît avec les caméras à balayage progressif non entrelacé Une bonne acquisition Des traitements facilités
II.5 Représentations fréquentielles Notion de fréquence spatiale Transformée de Fourier Transformée Cosinus
Notion de fréquence spatiale
x y Variation sinusoïdale rapide (fréquence) des niveaux de gris dans une direction donnée
Transformée de Fourier 2D Image = S images sinusoïdales (A,f,j) F = image complexe (module & phase) x y fx fy (Module de F(fx , fy)
Images sinusoïdales Impulsions de Dirac fx fy Haute fréquence fx fy Basse fréquence
Transformée de Fourier Discrète 2D (DFT) Image échantillonnée (M x N) pixels, la DFT est donnée par : u v
Propriétés de la DFT 2D Identiques au 1D Périodique en u,v (période M,N) F(0,0) = composante continue = moyenne des NG Conservation de l ’énergie SS |f(m,n)|² = SS |F(u,v)|² f réelle F symétrique conjuguée (mod. pair, arg. impair) Séparable Algorithme rapide (FFT) : N².log2 (N) Convolution circulaire = DFT
Importance de la phase DFT - DFT-1 Module Phase Module
Echantillonnage & Aliasing Si le théorème de Shannon n’est pas respecté lors de l’échantillonnage d’une image continue, il y a repliement de spectre Ceci se traduit dans les images par des figures de Moiré, c’est à dire des formes fausses qui n’existaient pas dans l’image d’origine Les caméras matricielles types CCD induisent systématiquement du repliement de spectre. L’image d’entrée ne devra donc pas contenir trop de hautes fréquences ( Ne passez pas à la télé avec un costume rayé ! )
Continue ! Echantillonnée Sans repliement Remarque DFT périodique
Continue ! Echantillonnée Avec repliement
Transformée Cosinus Discrète
Propriétés de la DCT 2D Linéaire, séparable Coefficients réels C(0,0) = composante continue = moyenne des NG Concentration d ’énergie en basse-fréquence Algorithme rapide (via la FFT) : N².log2 (N) compression d ’images
II.6 Représentations pyramidales Pyramides Gaussiennes & Laplaciennes Sous-Bandes / Transformée en ondelettes Traitement multirésolution : Coarse To Fine
Pyramides Gaussiennes & Laplaciennes
Burt & Adelsson (1983) Filtrage passe-bas 2D de type gaussien Compression d ’images Analyse et segmentation d ’images
Décomposition en sous-bandes / ondelettes Esteban/Galland 1977 - Woods/O ’Neil 1986 - … - Mallat (1989) Filtres FIR 1D, 2D Filtres IIR 1D, 2D Une Décomposition
Une reconstruction Décomposition / Reconstruction sans pertes cascades
Pyramidale (itérée en octave) Adaptative
Réversible Concentration d ’énergie Spatio - fréquentiel Analyse & Compression
II.7 Représentation de la couleur RGB CMY YUV / YIQ HSL Palettes
Rouge Vert Bleu (RGB) Synthèse additive de la couleur (perception d ’une source) Œil, Moniteur, Carte graphique … Images 24 bits (3*8 bits) 16 M de couleurs >> 350 000 NG : R=G=B
Cyan Magenta Jaune (CMY) Synthèse soustractive de la couleur Objet éclairé absorbant un certain nombre de fréquences Extension CMYK pour l ’impression en quadrichromie
YUV (PAL) / YIQ (NTSC) Y = intensité lumineuse = TV N&B UV / IQ = information chrominance YUV >> RGB pour la décorrélation de l ’information Compression d ’images couleur DVB YUV 4:2:0
Hue Saturation Lightness (HSL) Le cerveau réagit à : la longueur d ’onde dominante (teinte) la contribution à la luminosité de l ’ensemble (saturation) l ’intensité par unité de surface = luminance Y = L UV coordonnées polaire HS
Palettes de couleur 16 Millions de couleurs 256 couleurs = palettes (GIF, BMP) Image indexée = Palette (couleur sur 24 bits) + matrice d ’index visualisation en fausses couleurs
Plan I. Introduction II. Représentations & Acquisition III. Pré-traitement & Amélioration IV. Compression V. Segmentation VI. Introduction à l'indexation VII. Introduction au tatouage VIII. Conclusion