12.07.2015 Views

Traitement d'images

Traitement d'images

Traitement d'images

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Traitement</strong> <strong>d'images</strong>Dr. KAMEL BELLOULATA


I. IntroductionObjectifCompréhension des techniques de traitement <strong>d'images</strong> mise enoeuvre dans le domaine des télécommunications


• Domaines d'applicationVision industrielleImagerie médicaleImagerie satelliteMicroscopieTélécommunicationsAnimations, 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


EclairageScène, objets 2D 3D...Formation de l’imageImage 2D,3D,...NumérisationRestaurationReconstructionImage numériqueImage numériqueCorrections- radiométriques- géométriques


TatouageBDOImage numériqueIndexationCompressionSegmentationTransmissionReconnaissancede formesDé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) Volume : f(x,y,z) Séquence d’image : f(x,y,t) Séquence de volumes : f(x,y,z,t)image 2D«image» 3D«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


• Une image 2D f(x,y) scalaire réelle peut être vue commeune 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é lumineuseCette représentation est utiliséequel que soit le paramètre représenté par f(.)( Température, pression,....)Correspondance entre niveau de gris etgrandeur physique.


• Opérations sur les images continues :Toutes opérations réalisables «sur le papier» sur lesfonctions continues à variables réellesTransformée de Fourier bidimensionnelle (2D)Filtrage, convolution, corrélation, intégration,dérivation, traitements non linéaire...• On utilisera souvent la notation «continue» pourrepré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)f e (x,y) = f(x,y). i j ( x - i x , y - j y )x pas d’échantillonnage dans la direction xy pas d’échantillonnage dans la direction yxyx i j x - i x , y - j y ) Peigne de Dirac 2D


~• Le poids f ( ix,jy)de chaque Dirac est :– Soit la valeur de f(x,y) en x = i x et y = j y– Soit la valeur «moyenne» de f(x,y) dans une régionentourant (i x , j y) (f(x,y) est pondérée et intégrée dansla région R)Caméra CCDCaméra à tube


• Dans le cas général on aura (cas variant) :~ f ( i x, j y) f ( x, y) h( x, y, i x, j y)dxdyR• Si h(.,.) est identique en tout point (x,y), on aura (cas invariant) :~ f ( i x, i y) f ( x, y) h( i x x, j y y)dxdyRh représentera la réponse impulsionnelle du système de prise de vue. C’est uneopération de convolution, donc de filtrage.• L’image échantillonnée est donc :~fe( x , y ) f ( i x , j y ) ( x i x , y jy )ij• Dans un ordinateur, l’image (numérique) sera représentée par~une matrice (tableau 2D) : f [ i, j] f ( i x , j y )


• f [i,j] est appelé «valeur du PIXEL (i,j) »(Pixel: PICture ELement)• Pour visualiser une image, on remplit une régionrectangulaire (Pixel) avec un niveau de gris (ou de couleur)correspondant à la valeur du pixel. En général les niveauxde gris (ou de couleur) utilisé pour la visualisation sontcompris entre 0 et 255 (code de longueur fixe sur 8 bits).f [i,j]0.1 0.230.15 0.50Niveau de gris50 11575 250Affichage


• La maille (répartition des pixels) est le plussouvent carrée (Dx=Dy) ou rectangulaire• On utilise parfois une maille hexagonalequi possède des propriétés intéressantespour les notions de voisinage et dedistance.


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 8La région grise forme :UN seul objet en connexité 8DEUX objets en connexité 4


Distance entre deux pixels f [i,j] et f ’[k,l] Distance Euclidienne d ( f , 'f ) e ( i k ) x ( j l ) y2 2 2 2 Distance City-Block dc( f , f ) i k x j l ylongueur du chemin en connexité 4 Distance de l’échiquier d ( f , f ) max( bi k x , j l y )


II.4 Acquisition : échantillonnage / quantification Effets de l'échantillonnage : pixelisation256 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'acquisitionLes images sont souvent entachées de bruit, parfois non visibleà l’œil, et qui perturberont les traitementsDiaphragme F/4F/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 longCet effet est limité par l’usage d’obturateurrapide et/ou d’éclairage flash• Effet de lignage dû au balayage entrelacé des caméras vidéoCet effet disparaît avec les caméras àbalayage progressif non entrelacéUne bonne acquisitionDes 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 Basses fréquencesZones homogènes, continues Hautes fréquencesDétails, contours


xVariation sinusoïdale rapide(fréquence) des niveaux de grisdans une direction donnéeyf ( x, y) A sin( 2 f x 2 f y )x y x y


Transformée de Fourier 2D• Image = images sinusoïdales (A,f,)F(fx,fy)f(x,y)exp(2 j(fxxfyy)) dxdy• F = image complexe (module & phase)xf xyf y(Module deF(f x , f y )


Images sinusoïdalesImpulsions de Diracf xHautefréquencef yBassefréquencef xf y


Transformée de Fourier Discrète 2D (DFT)Image échantillonnée (M x N) pixels, la DFT est donnée par :M 1N 11mu nvF ( u, v) f [ m, n]exp( 2j( ))MNM Nm0n 0uv


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 |f(m,n)|² = |F(u,v)|²• f réelle F symétrique conjuguée (mod. pair, arg. impair)• Séparable• Algorithme rapide (FFT) : N².log 2 (N)• Convolution circulaire = DFT


Importance de la phaseDFT - DFT -1ModulePhaseModule


Echantillonnage & Aliasing• Si le théorème de Shannon n’est pas respecté lors del’échantillonnage d’une image continue, il y a repliementde spectre• Ceci se traduit dans les images par des figures de Moiré,c’est à dire des formes fausses qui n’existaient pas dansl’image d’origine• Les caméras matricielles types CCD induisent systématiquementdu repliement de spectre. L’image d’entrée ne devra donc pascontenir trop de hautes fréquences ( Ne passez pas à la télé avecun costume rayé ! )


Continue !EchantillonnéeSansrepliementRemarqueDFT périodique


Continue !EchantillonnéeAvecrepliement


Transformée Cosinus Discrète M21)v.(2j.cos2N1)u.(2ij).cosf (i,.M.N4.c(u).c(v)v)C(u,1N0i1M0j0pour uN1c(u)0pour uN2c(u)Avec


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².log 2 (N) compression d ’images


II.6 Représentations pyramidales Pyramides Gaussiennes & Laplaciennes Sous-Bandes / Transformée en ondelettes <strong>Traitement</strong> 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, 2DUne 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)255blueMaxwell triangleR+G+B=25516 M de couleurs >> 350 000• NG : R=G=B0blackwhite255green255red


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 quadrichromieR GB1 11 C MY C MY CMY min(C,M,Y) min(C, M,Y) min(C, M, Y) min(C, M, Y) C' M'Y' K


YUV (PAL) / YIQ (NTSC)• Y = intensité lumineuse = TV N&B• UV / IQ = information chrominanceY UV 0.299 0.1470.6150.587 0.289 0.5150.114 R 0.437 .G 0.100BY IQ0.2990.5960.2110.587 0.274 0.5220.114 R 0.322 .G0.311 B• YUV >> RGB pour la décorrélation de l ’information Compression d ’images couleur• DVB YUV 4:2:0R : 33.2 V : 36.2B : 30.6 Y : 93 U : 5.3V :1.7


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 HSHSUVUVtanU12(V /V2U)


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 couleurs110.90.90.80.80.70.70.60.60.50.50.40.40.30.30.20.20.10.100


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


III. Pré-traitements & Amélioration• 1. Opérations pixel à pixel• 2. Opérations sur un voisinage : filtrage• 3. Transformations géométriques


• Pourquoi pré-traiter une image ? Pour corriger les effets de la chaîne d ’acquisition• Correction radiométriques et/ou géométriques• Réduire le bruit : Restauration, Déconvolution Améliorer la visualisation Améliorer les traitements ultérieurs (segmentation,compression …)


III.1 Opérations pixel à pixel Modification d'un pixel indépendamment de ses voisinsHistogramme des niveaux de gris• Comptage des pixels ayant un niveau de gris (NG) donné• Histogramme densité de probabilité des niveaux de grisNiveau de gris


Modification d ’histogramme Transformation des niveaux de gris : f• v=f(u)avec u niv. gris de départ, v niv.gris d'arrivée• f peut prendre une forme quelconquev255v2550u00 2550255u


• Recadrage linéaire des niveaux de gris v255v=f(u)0 255u


• Seuillage binaire• Négatif


• Egalisation d'histogramme


• Autres transformations– Non-linéaire, Logarithme, Extraction de plans binaires,– Ecrêtage, Compression-dilatation de dynamique,– Spécification d’histogramme,– Codage en couleur, Pseudo-couleur, .... Segmentation basée sur les niveaux de gris (multi-seuillage)


III.2 Opérations sur un voisinage : filtrage Modification d'un pixel en fonction des ses voisins Filtrage linéaire• Domaine spatial : filtres FIR 2D (masque), filtres IIR• Domaine fréquentiel dans le plan de FourierImage f(x,y)Filtreh(x,y)Image filtréeg(x,y)g(x,y) = h(x,y)*f(x,y) (convolution bidimensionnelle)G(u,v) = H(u,v) . F(u,v)Filtrage non-linéaire dans le domaine spatial


Filtrage spatial FIR 2D : masque de convolution• Convolution par une réponse impulsionnelle finie appeléeMasque de Convolutiong( i, j) h( k, l) f ( i k, j l)( k , l)Wf est l’image de départh est le masque de convolutionW défini un voisinage• Un pixel f(i,j) est remplacé par une somme pondérée de luimêmeet des pixels de son voisinage


• Exemple : Filtre moyenneur 1h( k, l) ( 2 M 1)( 2N 1)si M k M et N l N 0 sinonW: voisinage 2x2 k=0,1 l=0,1 0 1/4 1/4h(k,l) = 1 /4 pout tout (k,l)0 1 2 21 1 2 11 2 0 03/4 6/4 7/4 x5/4 5/4 3/4 xx x x x1l0 11/41/4k( En ne conservantque la valeur entière )0 1 1 x1 1 0 xx x x x


Moyenneur2x2(zoom)


• Remarques• Utilisation de voisinages très divers :Rectangulaires 2x2, 3x3, 4x4, 5x5, 7x7, 1x2, 2x1, 1x3, 3x1...En croix, «Circulaires»...• Valeurs des coefficients:Constants(Moyenneur), Gaussiens…• Effets de filtrage passe-bas : image plus «flou»:, contours moinsprécis mais réduction du bruit haute fréquence• Le principe du masque de convolution sera utilisé pour d’autrestraitements (Détection de contours)• L’utilisation d’un voisinage entourant un pixel est un principetrès général en traitement de l’image


• Exemple : réduction du bruitFiltre moyenneur 3x3 (k=-1,0,1 l=-1,0,1),Valeur constante h(k,l)=1/9


• Exemple : réhaussement de contours0 -1 0-1 5 -10 -1 0= Image d’origine + Laplacien0 -1 0-1 4 -10 -1 0


Filtres FIR 2D et plan de Fourierg(x,y) = h(x,y)*f(x,y) G(u,v) = H(u,v) . F(u,v)• Filtrage : N².(L-1) + N² vs. N².Log 2 N + N²• Synthèse de filtres• 1D 2D• Echantillonnage en fréquence• Fenêtre


• Filtre MoyenneurMasque 3x3vTFD 2Duh(k,l)H(u,v)C’est un filtre passe-bas, peu sélectif, anisotrope


• Filtre Gaussien2 21 x yh( x, y) 2exp( 2)2 2- Filtre IIR version tronquée à K et échantillonnée masque FIRTFD 2Dh(k,l)H(u,v)- C’est un filtre passe-bas isotrope peu sélectif.- H(u,v) est aussi une gaussienne


• Fenêtrage fréquentielDFTFiltrageDFT -1


• Illustrations


Filtrage non linéaire 2D : filtre Médian• Remplacer le pixel central par la valeur médiane du voisinage1 3 2 43 1 4 22 3 2 11 2 3 31 1 2 2 2 3 3 3 4. . . .. 2 . .. . . .. . . .


• Avantage par rapport au filtrage linéaire les bords sont conservésFiltre linéairede largeur 3Filtre médianvoisinage 3


Principe du filtrage IIR 2D• Notion de causalité 2DPixels du passéExemple: balayage colonne puis lignePixels du futurPixel du présent• Filtrage récursif g( i, j) h( 0, 0) f ( i, j) h( k , l) g( i k , j l)• Remarques( k , l)W• Le choix du balayage est arbitraire• Le pixel présent ne dépend que des pixels du passé• Voisinage = pixels du passé entourant le pixel présent


III.3 Transformations géométriques• Objectif Corriger les déformations dues au système de prise de vuef(x,y) = f’(x’,y’) avec x’=h 1 (x,y) et y’=h 2 (x,y)• Exemple : transformation affine (translation, rotation)x' y'acbxdyefRemarque : les paramètres a,b,c,d peuvent ne pas être les mêmes pour toutesles régions d’une image


• Problèmex,y,sont des valeurs discrètes (image échantillonnée) x=kx , y=lyet x’=h 1 (kx , ly) et y’=h 2 (kx , ly) ne seront pasnécessairement des multiples entiers de x et ylk k+1xnm m+1xyP 1P 2yl+1n+1P 4P 3


Solution: Interpolationf’(Q)=f’(mx,ny) = G[f(P 1 ),f(P 2 ),f(P 3 ),f(P 4 )]avec f(P 1 )=f (kx, ly)f(P 2 )=f ((k+1)x,ly)f(P 3 )=f ((k+1)x,(l+1)y)nf(P 4 )=f (kx, (l+1)y)mP 1P 2Qd 4PP 34• Plus proche voisin: f(Q)=f(P k ) , k : d k =min{d 1 ,d 2 ,d 3 ,d 4 }• Interpolation linéaire4 f ( Pk) / dkk 1f ( Q)41/d k 1• Interpolation bilinéaire, fonctions spline, Moindre ², ....k


yy’x’= x+0.5 yy’= y128x128x x’• Warping Placage de texture animation ...


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


IV. Compression• 1. Introduction• 2. Approches directes• 3. Approches par transformation• 4. Compression de séquences <strong>d'images</strong>


IV.1 IntroductionObjectifsRéduction du volume occupé par les images numériquespour faciliter leur transfert et/ou leur stockageHistorique•1952 : Codeur entropique (Huffman)•1978 : DCT (Pratt)•1980 : Vectoriel (Linde-Buzo-Gray)•1986 : Sous-bandes (Woods)•1986 : Vectoriel sur treillis (Fisher)•1989 : JPEG•1989 : MPEG-2•1989 : Ondelettes (Mallat, Daubechies)•1990 : Fractales (Jacquin)•1996 : SPIHT•1996 : MPEG-4•1997 : MPEG-7•1998 : JPEG 2000


Applications• Imagerie médicale Télémédecine• Imagerie spatiale• Imagerie sous-marine• Archivage divers (Musée, BNF, Empreintes ...)• Vidéo conférence / visiophone (64 kb/s)• Télésurveillance• Video On Demand• Télévision numérique (150 Mb/s)...


Classification des méthodes de compressionimage Transformation Quantification Codagebits Sans pertes / avec pertes contrôlées Sans pertes (Huffman, Quadtree)• image originale = image comprimée TC limité (#3) Avec pertes contrôlées• On perd l'information qui se voit peu TC augmente• Recherche d'un compromis Tc / Qualité Directe / Transformation Directe Quantification & codage des pixels de l'image Transformation Quantification & codage des coeff. transformés


Evaluation d'une méthode compression• Taux de compression (Tc) Dépend de l'applicationTcVolume image originaleVolume du fichier compriméEx : image (512x512x8bpp) avec Tc=10 512x512x8/10=26215 bits 0.8 bpp• Qualité• Critère mathématique (RSB)• Critères subjectifs- Courbes ROC (médecine)- Notations subjectives (TV)RSBAvecdB 10log10EQM ( X , Xˆ) b2 1EQM ( X , Xˆ)X XˆN 1M 1iji0 j0M.N2ij2


• Autres critères• Vitesse d'exécution : codeur /décodeur• Complexité- Additions / multiplications- Soft / Hard• Résistance au bruit de transmission• Intégration de post-traitements- Prise en compte du récepteur (homme / machine)• Coût financier• Scalability


IV.2 Approches directes Codage Huffman Codage arithmétique Codage par longueur de plage Codage type dictionnaire Quantification scalaireCodeurs de source(Th. Information) Quantification vectorielle Méthodes prédictives Approche quadtree Codage fractale


Codage Huffman (1952)- Algorithme de génération d'un codage optimal symbole parsymbole.- Code à longueur variable codes longs pour probas faibles• Algorithme Extraction des probabilités Création de l'arbre Création de la table d'Huffman Codage On transmet la table + les codes en binaire Lecture de la table d'Huffman Création de l'arbre de décodage Lecture séquentielle et décodage


Rq : code d'échappement= Huffman + fixe


Codage Arithmétique (1976) Huffman Arithmétique 1 symbole = 1 mot-code 1 flot de symboles = nbre en virgule flottante JBIG Codage des Fax type IV Codeurm=0 ; M=1 ;Tant que !(fin de fichier){i = symbole suivant;soit [a i ; b i ] associé à i ;s = M-m ;M = m + s.b i ;m = m + s.a i ;}Renvoyer m, le compacté du fichier DecodeurN = nombre codé ;Faire{trouver i / N [a i ; b i [ ;sortir i ;s = b i - a i ;N = (N - a i ) / s ;}Tant qu'il reste un symbole à lire


• Exemples i p i [a i ; b i [ Huff i 0.1 [0.0 ; 0.1[ 111A 0.1 [0.1 ; 0.2[ 110E 0.1 [0.2 ; 0.3[ 101I 0.1 [0.3 ; 0.4[ 100B 0.1 [0.4; 0.5[ 0111G 0.1 [0.5 ; 0.6[ 0110L 0.2 [0.6 ; 0.8[ 00S 0.1 [0.8; 0.9[ 0100T 0.1 [0.9 ; 1.0[ 01010.43722077 = ?10111010 10100100 11011001 0101111000 00011101 10110010 11010100


Arithmétique Huffman + de calculProba très élévée 1 bitPeu de symboles ()Run LengthCodeurs statistiques- Dépendants de la qualité de la statistique- Statistique connue par le décodeur


Codage par longueur de plage (Run length coding) Coder le nombre de symboles identiques000001111100000000000000000 5w5b17w000000000001111100000000000 11w5b11wA B C C C C C C A B C A B C A B !6C A B C A B C• CCITT, Fax groupe III Huffman sur les plages de 0 précédant les 1• JPEG Huffman sur les plages de 0 précédant les coeff. DCT


Codage de type dictionnaire (1977) Coder une extension de la source de longueur variable1977 : LZ (Lempel & Ziv) 1984 : LZW (Welch) Dictionnaire de symboles incrémenté dynamiquement apprentissage Fichier codé = suite des adresses des mots du dico! Gérer l'incrément des bits d'adressePKZIP, ARJ LZW + Huffman


Codeur LZWID = {C i ,W i } , P=Tant que (symboles à coder)C = symbole suivantSi PC IDP = PCSinonsortir W PPC IDP=CFin siFin tant quesortir W PABBABABAC.... Décodeur LZWID = {C i ,W i }cW = 1 er code ; sortir s(cW)Tant que (codes à lire)pW = cWcW = code suivantSi (s(cW) ID)sortir s(cW)P = s(pW)C = 1 er symbole de s(cW)PC IDSinonP = s(pW)C = 1 er symbole de s(pW)sortir s(PC)PC IDFin siFin tant que


Quantification scalaire• <strong>Traitement</strong> pixel à pixel Diminuer le nombre de niveaux de gris utilisés : Nnq < Nnp• Problèmes- Comment choisir les seuils de quantification (s i ) ?- Comment choisir les niveaux de quantification (q i ) ?


Quantification scalaire uniforme linéaire• Seuils répartis de façon uniformePQsi 1simaxminNnq• Niveaux = milieux des seuilsqisi s21 i• C'est un quantificateur linéaire avecrA.p q BpˆABA B Nnq 1maxminNnq 1 minmaxmin


Quantification scalaire uniforme optimale• Seuils répartis de façon uniforme PQ• Niveaux = Barycentre (histogramme)si 1simaxminNnq Quantification optimale (Loyd-Max : 1960)• Minimise l'erreur de quantification 2Min(p pˆ) ij • Algorithme itératif très long pour des distributions inconnues• Tables pour des dist. gaussiennes, laplaciennes, ...• Fait le travail du codeur !


Exemple de comparaison (peppers : 512x512x8bpp)Uni Uni o. Maxq1 32 38 30S1 63 63 52q2 95 86 75S2 127 127 121q3 159 167 157S3 191 191 180q4 223 209 205RemarqueEfficacité variable du codeur entropique !


Image originaleQ. uni. lin. : RSB 22,5 dBQ. uni. opt. : RSB 23,8 dBQ. Max : RSB 24,2 dB


Quantification vectorielle• Extension de la quantification scalaire Pixel Vecteur = bloc de pixels contigus• Vecteur de taille et forme variable Approche optimale : Linde Buzo Gray (1980)• Phase d'apprentissage : dictionnaire de vecteurs• Vecteur = représentant d'une région de Voronoï de taille variable• Dictionnaire connu du codeur /décodeur Phase d'apprentissage délicate Temps de recherche dans le dictionnaire Approche treillis


Méthodes prédictives (1974) Exploitent la corrélation entre pixel voisinModulation par Impulsions Codées Différentielles (MICD)DPCM– Propagation des erreurs– Prédicteurs non optimaux Adaptation aux statistiques localesPrédicteurd' ordre1:1xˆ 0,5Prédicteur d'ordre 3: 0,750,75xˆ


IV.3 Approches par transformation


Représentation différente de l'image Décorrélation Gain en performances Temps de calcul supplémentaire• Une Transformation Réversible (sans perte) Orthogonale (énergie conservée) Rapide DCT JPEGOndelettes SPIHT, JPEG2000


Compression DCT bloc : JPEG (1989)• DCT bloc 8x8 homogénéité locale de l'image l'erreur de quantification est localisée au bloc


• Schéma général


• Matrice de normalisation allocation des bits aux coeffs avant quantification par arrondi991031001129895927210112012110387786449921131048164553524771031096856372218628087512922171456695740241613145560582619141212615140241610111699999999999999999999999999999999999999999999999999999999999999999999999999996647999999999956262499999999662621189999999947241817Matrice chrominanceMatrice luminance


• Lecture zig-zag prise en compte de la répartition spatiale de l'énergie pourfaire apparaître de longues plages de coeffs nuls• Codage du coeff DC DPCM d'ordre 1 + Huffman


• Codage des coeffs AC Codage hybride : runlength + ... + Huffman- Huffman = Code (plage de 0 + catégorie)162 codes : 10 cat x16 lp +2 (EOB+16)Cat.Intervalle des coefficients AC1 -1 _ 1,2 -3, .. ,-2 _ 2, .. ,33 -7, .. ,-4 _ 4, .. ,74 -15, .. ,-8 _ 8, .. ,155 -31, .. ,-16 _ 16, .. ,316 -63, .. ,-32 _ 32, .. ,637 -127, .. ,-64 _ 64, .. ,1278 -255, .. ,-128 _ 128, .. ,2559 -511, .. ,-256 _ 256, .. ,51110 -1023, .. ,-512 _ 512, .. ,1023


AC | huffman | signe | k-1 bits |• Exemple0 -2 -1 0 2 -1 0 46 111001 0 0 / 00 0 / 11011 0 / 1010• Extrait de la tabled'Huffman des ACPlage de Zéros Catégorie Code0 1 000 2 010 3 1000 4 1011. . .1 1 11001 2 1110011 3 11110011 4 111110110. . .2 1 110112 2 11111000. . .3 1 111010. . .16 11111010EOB 1010


• Remarques JPEG = méthode générale à adapter ... Très performant à taux faibles (#10) Effets de blocs à taux élevésTc = 10 / RSB = 30.1 dBTc = 20 / RSB = 28.7 dB


IV.4 Compression de séquences <strong>d'images</strong> Supprimer la redondance spatiale ou intra-image approches 2D Supprimer la redondance temporelle ou inter-image utiliser le déjà vu et le mouvement


Les normes MPEG H261 (1988)La base de la compression de séquences <strong>d'images</strong>- Block matching- DCT bloc + Run length + DPCM MPEG 1 (1988-92)Vidéo + Audio / 1.5 Mbs CDI MPEG 2 (1990-94)4-30 Mbs TV numérique (Digital Video Broadcasting) MPEG 4 (1996-99)L'approche multimédia interactif MPEG 7 (1997-01) Indexation & recherche d'information


Les bases de H261 à MPEG23 types <strong>d'images</strong> : 3 codages


• Images I (intra)- Codées JPEG'- Point d'accès séquence (0.5s)- Tc faible• Images P (Prédites)- Prédites à partir de I ou P- Codage DPCM des vecteurs mvt- Codage JPEG* de l'erreur de prédiction- Tc élevé- Propagation de l'erreur• Images B (Bidirectionnelles)- Interpolées à partir des I P- Tc le plus élevé


• 2 paramètres de réglage- N : distance inter-I (#12)- M : distance inter-P (#3)GOP


Estimation du mouvement par block matching- Blocs 16x16- Compromis simplicité / efficacité- Rapide : algorithme logarithmique


Le codage des images P1- Calcul des V j entreI ( n)et Iˆ(n 1)2- Synthèse de I p (n) :V ( n) Iˆ(n 1) Ip( n)3- Calcul de l'erreur : E(n) = I p (n) - I(n)4- Codage JPEG* de E(n)4 bis - Mémorisation de I ˆ(n )5- Codage DPCM des V j


Codeur MPEG2


Décodeur MPEG2


Codage et TVnum• Numérisation brute : 200 Mb/s• DVB # DVD = MPEG2 MP@ML- 720 x 480/576 (30/25 Hz) avec IPB- 4 Mb/s (PAL/SECAM) à 9 Mb/s (studio)- Tc de 40 à 18


V. Introduction à la segmentation La segmentation est un traitement bas-niveau qui consiste à créerune partition de l'image I en sous-ensembles R i appelés régionstelles que :Iii,jRi; iiRi0jRiRj0 Une région est un ensemble de pixels connexes ayant despropriétés communes qui les différencient des pixels des régionsvoisines.


Pas de norme ! Pas de méthode unique ! Pas de recette ! Le choix d'une technique est lié : A la nature de l'image (éclairage, contours, texture ...) Aux opérations en aval de la segmentation- Compression- RF, interprétation- Mesure Aux primitives à extraire (droites, régions, textures,...) Aux contraintes d'exploitation (tps réel, mémoire ...)


VI. Introduction à l ’indexation Texte écrit recherche d'info. sur le contenu (symbolique du mot) Images Contenu d'une image texte ! Indexation manuelle dans des bases de données Augmentation exponentielle du nombre <strong>d'images</strong>Un défi Automatisation de l'indexation <strong>d'images</strong> par le contenu Interfaces et moteurs de recherche adaptésRque : Analyse d'une image = quelques sec.


Problème posé Retrouver des images semblables à celles que cherchel'utilisateur• Que cherche l'utilisateur ? exemples, mots clés• Quelles mesures considérer sur les images ?• Quelles fonctions de ressemblance ? Contraintes de robustesse• rotation• échelle• éclairage


VII. Introduction au tatouageObjectifProtéger la propriété des images numériques Watermark = signal inséré dans l'image• Unique identifie l'image• Multiple identifie la source2 types• visible facile à enlever, propriétaire visible• invisible difficile à enlever, piéger les truands


Remarques• Original + watermark # original• watermark signature électroniqueContraintes !• Impossible à enlever sans dégrader l'image• Résiste au scaling, cropping, coding, modif histogramme• Invisible mais extractible• En nombre suffisants


Quelles approches• Domaine spatial (peu résistant)– flip des bits de poids faible de quelques pixels– Modifications d'amplitude (YUV)• Domaine fréquentiel– Modifications de coefs TFD / TCD / Sous-bandes Compromis entre (invisibilité / indélébilité)


VIII. ConclusionTatouageBDOImage numériqueIndexation• Image Multimédia• Des techniques complexeset prometteuses• Dimension affective forte• Au cœur de nouveauxservices & usagesCompressionTransmissionSegmentationRec. formesDécision

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!