Traitement d'images 4TC - Option « Télécoms » Hugues BENOIT-CATTIN
Plan I. Compression II. Segmentation III. Indexation IV. Tatouage Remerciements à A. Baskurt, C. Odet pour la partie II
I. Compression 1. Introduction 2. Approches directes (Vectorielle, Quadtree, Fractale) 3. Approches par transformation (SPIHT, JPEG2000) 4. Compression de séquences d'images (MPEG4)
1 Introduction Objectifs Historique Réduction du volume occupé par les images numériques pour faciliter leur transfert et/ou leur stockage Historique 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 : JPEG2000
Classification des méthodes de compression image Quantification Codage Transformation bits 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 Dépend de l'application Taux de compression (Tc) Ex : image (512x512x8bpp) avec Tc=10 512x512x8/10=26215 bits 0.8 bpp Qualité Critère mathématique (RSB) Avec Critères subjectifs - Courbes ROC (médecine) - Notations subjectives (TV)
Vitesse d'exécution : codeur /décodeur Complexité 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
Codage par longueur de plage Codage type dictionnaire 2 Approches directes Codage Huffman Codage arithmétique Codage par longueur de plage Codage type dictionnaire Quantification scalaire Quantification vectorielle Méthodes prédictives Approche quadtree Codage fractale Codeurs de source (Th. Information)
Quantification scalaire Traitement pixel à pixel Diminuer le nombre de niveaux de gris utilisés : Nnq < Nnp Problèmes - Comment choisir les seuils de quantification (si) ? - Comment choisir les niveaux de quantification (qi) ?
Quantification scalaire uniforme linéaire Seuils répartis de façon uniforme Niveaux = milieux des seuils C'est un quantificateur linéaire avec
Quantification scalaire uniforme optimale Seuils répartis de façon uniforme Niveaux = Barycentre (histogramme) Quantification optimale (Loyd-Max : 1960) Minimise l'erreur de quantification Algorithme itératif très long pour des distributions inconnues Tables pour des dist. gaussiennes, laplaciennes, ... Fait le travail du codeur !
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
Approche Treillis : Fisher, Conway, Sloane (1986) Extension de la quantification linéaire uniforme Treillis = vecteurs régulièrement répartis dans Rn Dictionnaire pré-défini Pas d'apprentissage Algorithme de quantification rapide Algorithme de quantification vectorielle sur treillis - Choix de la norme : L1 Laplacien Pyramide L2 Gaussien Sphère - Choix de la taille des vecteurs - Choix du treillis : Zn, An, Dn (4), En(8), n(16) Taux (B) K rayon du dictionnaire contenant 2nB vecteurs Procédure de dénombrement
Bornage des vecteurs par le facteur d'échelle A = Es/K Ramène les vecteurs à l'intérieur du dictionnaire - Traitement spécial pour les vecteurs d'énergie > Es Quantification - Vecteur vecteur du dictionnaire le plus proche Codage des vecteurs : code produit - Rayon : code Huffman - Index : code de longueur fixe
Illustration de la quantification vectorielle sur treillis Vecteurs 2x1
Structure de fichier codé
Approche Quadtree Découpage récursif en carrés homogènes Critère de split : variance, ...
Codage de l'arbre : règle de parcours (Peano) Codage des régions homogènes : moyenne, interpolation ...
Compression par fractale Les Fractales (B. Mandelbrott) - Observations naturelles : nuages, plantes ... - Auto-similarité à toutes les échelles redondance dans l'image Les 'Iterated Functions Systems' (IFS) - Wi : Transformation affine contractante rotations, réflexions position déplacement scaling variance niveau de gris offset moyenne
Recherche d'un IFS pour générer une image très fort taux de compression mais image spéciale Approche directe Transformation de l'image = morceau de l'image image # w1(image) w2 (image) ... wn (image) Fougère : 4 transformations = 192 bits 512² : Tc = 1365 Utilisation de bibliothèque d'IFS image segmentée en un ensemble d'IFS connus
Compression par IFS local (Jacquin 1990) - Approche valable sur des images quelconques Codage
Mettre les Dj à la taille de R : Sous-échantillonnage +- moyennage Définir la zone de recherche - toute l'image - limitée (ei,fi) Recherche du (WiDj) le plus proche de Ri - Mesure de distance L1, L2, L Ex : pour L2 - - ai, bi, ci, di = (0,-1,1) 4 rotations (-90, 90,180,0) 4 réflexions(_ | / \) Codage de longueur fixe ou variable code = Swi
Variantes - formes des blocs - recherche des wi - codage des wi Codage très long Décodage instantané
Point de départ It n° 1 RSB = 23,8 dB It n° 2 RSB = 27,33 dB It n° 3 RSB = 32,16 dB Tc = 10
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 JPEG Ondelettes SPIHT, JPEG2000
Compression DCT bloc : JPEG (1989)
Schéma général
Compression sous-bandes / ondelettes
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
Décomposition pyramidale en sous-bandes banc de filtres FIR 1D : bi-orthogonaux 9-7 - phase linéaire, rec. parfaite, pas orthogonaux, réguliers Concentration d'énergie dans la BB
Quantification séparée des sous-bandes (Woods 86) Sous-bande BF : histogramme - DPCM + scalaire + codeur entropique Sous-bandes HF : histogramme laplacien - QV treillis, ... Allocation des bits aux sous bandes par modèle - Min(D) avec B<Bf Optimisation - Théorie de la distorsion : bruit de quantification D=f(B) - très rapide sous-optimal (modèle réalité)
Exemples Originale Sous-bandes Tc=32
Sous-bandes Tc=32 RSB = 30.1 dB JPEG Tc=32 RSB -3%
Originale Sous-bandes Tc=60 !!
Quantification globale des sous-bandes (shapiro 93) SPIHT Algorithme très rapide, RSB élevé, 'embedded' Basé sur : - Transmission progressive par plan de bits = Q. scalaire - Exploite l'auto-similarité inter-sous-bandes : arbres de coeffs http:\\ipl.rpi.edu/research/SPIHT
SPIHT (Set Partitionning In Hierarchical Trees) Said & Pearlman 96 Décomposition en ondelettes (9-7) Partition des coeffs en arbres signifiants Transmission progressive par plan de bits +- Codeur arithmétique
Transmission progressive par plan de bits Minimiser l'erreur de quantification D
Partitionning Tree Relation de parenté inter sous-bandes
Règles de signification |ci,j| 2n Définition des ensembles
Règles de division Listes de signifiants ! SPIHT ne fait que de la gestion de liste de coordonnées et du masquage binaire
Algorithme de codage
La stratégie de parcourt est connue du décodeur les coordonnées ne sont plus codées !
Exemples JPEG Tc=32 RSB : 30.25 SPIHT Tc=32 RSB : 32.45
SPIHT , TC=30 SPIHT , TC=240 !
JPEG 2000 (96-Dec 2000 : ISO standard)
JPEG2000 : le standard 1 - « Core coding system » JPEG 2000 Codec family 2 - « Extensions » Extensions spécifiques applications 3 - « Motion-JPEG2000 » Extension pour compression video intra-frame 4 - « Conformance testing » Procédures de tests 5 - « Reference software » Exemples de softs
JPEG2000 : Marchés et applications Internet Mobile Printing / Scanning Digital photography Remote sensing Facsimile Medical Digital Libraries E-Commerce
JPEG2000 : codec overview
JPEG2000 : image originale Multi-component : up to 214 Integer pixel value : up to 38 bpp Size and sample grid / component Reference grid : 231x231 Independent image tiling
JPEG2000 : PreProcessing Component zero centering JPEG2000 : InterComponentTransform Reduce correlation between components Ex : RGB YUV JPEG2000 : IntraComponentTransform 2D Wavelet transform 1D FIR implementation Filter bank choice : 5/3 integer, 7/9 real … Decomposition choice
JPEG2000 : Quantization Integer mode (lossless) : no quantization Real mode : uniform linear scalar quantizer Quantization step Rate control1
JPEG2000 : Tier-1 coding Goal : generate a collection of independant embedded bitstream Subband block partition (2nx2m) Independant coding Bit plane coding Within a subband block, with a stripe raster Significance propagation : 8 neighbors significance Refinement pass in the current bit plane Cleanup pass to encode the remaining coeff Context arithmetic coding
JPEG2000 : Tier-1: bit plane coding 1st pass in the MSB bit plane
JPEG2000 : Tier-1 coding / Code blocks
JPEG2000 : Tier-1 coding / bit plane coding
JPEG2000 : Tier-2 coding Goal : bitstream multiplexing for inclusion in the codestream to enable rate, fidelity, resolution scalability Packetization process of the bit plane coding passes L quality layers of coding pass Code block precinct Packet = header + body header = list of coding pass body (component, resolution, layer, precinct) = coding pass data
JPEG2000 : Tier-2 coding / Layers Layer : a collection of some consecutive bit-plane coding passes trough code blocks, subbands, components
JPEG2000 : Tier-2 coding / Precincts Precinct : set of code code block within a resolution.
JPEG2000 : Tier-2 coding / Packets Packets : compressed data representing a specific tile, layer, component, resolution, precinct Packet ordering : Progression 1 : Layer - Resolution - Component - Position (precinct order) Fidelity 2 : Resolution - Layer - Component - Position Resolution 3 : Resolution - Position - Component - Layer 4 : Position - Component - Resolution - Layer 5 : Component - Position - Resolution - Layer
Medium resolution / highest SNR
Highest resolution / Target SNR quality
Highest resolution / Target visual quality
JPEG2000 : Data hierarchy and rate control Image, component, tile Resolution, subband Precinct (code blocks) Coding pass Quality layer Packet (component, resolution, layer, precinct) Scalar quantizer Rate control Rate allocation : encoder choice - None, iterative, post-compression ...
JPEG2000 : Progressive by resolution 2 bpp, Tc=4
JPEG2000 : Progressive by quality 0.0625 bpp Tc=128 0.125 bpp Tc=64 0.5 bpp Tc=16 0.25 bpp Tc=32
JPEG2000 : Region of interest management A simple good idea in the Tier-1 coding Local bit shifting of the ROI subband coeff WT
JPEG2000 : ROI 4 bits shift, 0.0625 bpp, Tc=128
JPEG2000 : ROI 5 bits shift, 0.0625 bpp, Tc=128
JPEG2000 vs JPEG 0.125 bpp, Tc=64 0.25 bpp, Tc=32
JPEG2000 vs JPEG 0.125 bpp, Tc=64 0.25 bpp, Tc=32
JPEG2000 reference JPEG site : http://www.jpeg.org Jasper software : http://www.ece.uvic.ca/~mdadams/jasper/ JJ2000 software : http://jpeg2000.epfl.ch/ Full course : http://ltswww.epfl.ch/~dsanta/teaching/ICIP2001_JPEG2K.pdf
4 Compression de séquences d'images 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
Les bases de H261 à MPEG2 3 types d'images : 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é
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
Appli. graph. interactives MPEG4 : caisse à outil multimédia ! MPEG4 = beaucoup + que de la compression TV Num Appli. graph. interactives WWW MPEG4 Eléments technologiques standardisés Auteurs - Fournisseurs de services - Utilisateurs Production - Distribution - Accès
Auteurs - Rendre faisable et flexible la production d'objets intégrant des technos TV, Web, VRML ... - Protéger leur droit Fournisseurs de service - Fournir une info transparente, auto-adaptable aux réseaux - Gestion de la Qualité de service (QoS) Utilisateurs - Bénéficier de nouveaux produits avec une forte interactivité
Les AVO de MPEG4 Données = Audio Visual Objects
Interactivité pour les utilisateurs Scène = S(AVO's) Interactivité pour les utilisateurs - Changement de point de vue - Navigation dans la scène - Interaction avec la scène - Modification de la scène
La compression d'images dans MPEG4 Boite à outils adaptée aux AVO - JPEG, MPEG2 - Ondelettes, Zerotree - Méthodes de 2ème génération
La compression par maillage actif Objectif Déformer un maillage pour l'adapter à l'image : - Noeuds sur les contours & Cellules homogènes Stratégie de déformation - Modèle mécanique avec minimisation d'énergie Stratégies de codage - Codage de la structure : position des noeuds - DPCM + Codeur entropique - Codage de la texture : intérieur des cellules - Interpolation - Wharping + méthodes par transformation
Maîtriser le temps de déformation
La compression par modèle Principe - Déformer le modèle pour le faire coller à l'image - Coder la déformation au cours du temps - Coder l'intérieur des mailles Spécifique à des modalités d'images
La compression par approche Objets Principe - Segmenter () l'image en régions homogènes : les objets - Coder la carte des objets () : 'chain coding' - Coder l'intérieur des Objets : shape DCT Chain coding
Plan I. Compression II. Segmentation III. Indexation IV. Tatouage
II. Segmentation 1 Définitions & classification 2 Approche fonctionnelle 3 Quelques méthodes de segmentation
1 Définitions & classification
Pas de norme ! Pas de méthode unique ! Pas de recette !
Approches "région" - Basées sur l'homogénéité de caractéristiques localisées spatialement calculées sur les niveaux de gris - Homogénéité : variation à l'intérieur d'une région < variation entre 2 régions - Robustes aux bruits mais mauvaise localisation spatiale
Approches "frontière" - Basées sur l'information de gradient pour localiser les frontières des régions - 2 approches : (détection et fermeture de contours) ou (contours déformables) - Sensibles aux bruits et aux contours mal définis, elles offrent une bonne localisation spatiale
Vue d'ensemble Techniques de segmentation Seuillage adaptatif Approches FRONTIERE Template Matching Approches REGION Méthodes variationnelles (contours actifs) Méthodes dérivatives Détection de contours + Fermeture des contours Méthodes Markoviennes Approches structurales Texture Analyse et classification
2 Approche fonctionnelle Critères Mesures Evolution Modification Arrêt Initialisation Image Carte des régions bloc élémentaire
Approche fonctionnelle et méthodes complexes Bloc 1 N1 Bloc k Nk Bloc 2 N2
Bloc Mesures - Réalise les mesures nécessaires pour évaluer l'homogénéité des régions - Des mesures 'images' : moyenne, variance, entropie, gradient, texture ... - spatiales - fréquentielles - Des mesures 'régions' : forme, surface, périmètre ...
Le choix des mesures : un problème compliqué Texture Seuillage Détection de contour !
? Texture = information visuelle qualitative: Grossière, fine, tachetée, marbrée, régulière, périodique... Région homogène: Assemblage plus ou moins régulier de primitives plus ou moins similaires. Texture microscopique: Aspect chaotique mais régulier, primitive de base réduite. Texture macroscopique: primitive de base évidente, assemblage régulier. ?
Approches pour l'analyse de Texture Structurelles: recherche de primitives de base bien définies et de leur organisation (règles de placement) Méthodes peu utilisées Stochastiques: primitives mal définies et organisation +/- aléatoire. Principe: évaluation d’un paramètre dans une petite région (fenêtre de taille dépendant de la texture (!) ): Analyse fréquentielle, statistiques, comptage d’événements, corrélation,.... Pas de modèle général de texture Nombreuses méthodes ad-hoc.
fondamental en segmentation Trouver les bons paramètres Le choix et le réglage des mesures est fondamental en segmentation 4x4 8x8 16x16 32x32
Bloc Critères - Fusionne les mesures en un seul critère qui sera utilisé pour évaluer le besoin de modification - Introduction d'hyper-paramètres conditionnant le résultat de la segmentation
Bloc Evolution - Estime à partir des critères le besoin d'évolution des régions - Evolution par seuillage : binaire ou progressive - Evolution par dérivée : variation du critère entre 2 itérations
Bloc Modification - Modifie la carte des régions - N constant : seuillage, contour actif, ... - N+ : split - N- : merge - Stratégies diverses ... et représentation des régions adaptée - déplacement de point - étiquetage - maillage - Considéré comme le cœur des méthodes de segmentation
Bloc Arrêt - Décide l'arrêt des itération - Par défaut, arrêt quand la carte de segmentation ne bouge plus - Autres possibilités : manuel, nombre d'itération, nombre de points modifiés ...
3 Quelques méthodes de segmentation V.3.1 Segmentation par seuillage adaptatif V.3.2 Segmentation par détection / fermeture de contours V.3.3 Segmentation par contours actifs V.3.4 Segmentation par Split / Merge V.3.5. Segmentation par Template Matching
V.3.1 Segmentation par seuillage adaptatif Détection de vallées, en prenant le minimum de l’histogramme situé entre les 2 pics Optimisation du seuil S par modélisation Gaussienne p1(x) et p2(x) et en minimisant l’expression basée sur les fonctions de répartition :
Exemple : Méthode Fisher Objectif : Trouver le seuil S qui minimise la somme des moments centrés d’ordre 2 (somme des Variances) des 2 classes h(x) : histogramme de l’image Centre de gravité G d’une classe Variance Var d’une classe
Trouver S qui minimise la somme des variances : En simplifiant les termes en carrés, cela revient à maximiser la fonctionnelle J(S) : Le problème de seuillage ou de partitionnement revient à chercher S dans {0,255} qui maximise J(S)
3.2 Segmentation par détection / fermeture de contours La détection de contour est suivie d’une localisation de contour et de la recherche d’un ensemble connexe de points Détection de contour Extraction de Fermeture de
Détection de contour Un contour caractérise la frontière d’une région Un contour est défini par une variation «rapide» de caractéristique Contour Contour ? Contour ?
Définition continue d'un contour f(x,y) r x q qg Mesure du gradient de f(x,y) dans la direction r La direction q du contour est obtenue pour :
Applications aux images numériques Pour chaque pixel (i,j), on mesure du gradient dans deux directions orthogonales : Dx Dy Calcul de l’amplitude du gradient Calcul de la direction du gradient f(i,j) Dx Dy M q Carte d’amplitude Carte de direction H1 H2
Un contour est détecté si M dépasse une certaine valeur (seuil). La carte de direction est utilisée pour «suivre» les contours. Exemples d’opérateurs H1 H2 Roberts Prewitt Sobel
Exemple de détection de contours « Roberts » Zoom (inhomogénéité du contour) Amplitude blanc=p/4 ... gris = p +p/4 128x128 Direction
H1 Amplitude Direction H2
Il existe de nombreuses méthodes de détection de contour: Dérivation au premier ordre Prewitt, Sobel, Roberts, Kirsh, Compass, dérivateurs... Dérivation au second ordre Laplacien, Marr et Hildreth,... Filtrage optimal Canny-Deriche, Shen Modélisation des contours Hueckel, Haralick Morphologie mathématique gradient morphologique, ligne de partage des eaux... Caractéristiques: Complexité, précision de localisation, sensibilité au bruit, création de faux contours
Extraction des contours Un contour = ligne de crête dans l’image de la norme du gradient (IG): des niveaux de gris toujours élevés de faibles dénivelés le long de ces lignes de forts dénivelés dans les autres directions ==> les points de contour = maxima locaux de IG Le principe est de comparer le gradient G en un point M avec les gradients G1 et G2 des deux voisins pris dans la direction du gradient si G>G1 et G>G2, alors M est un maximum local contour G G1 G2 direction de G M
Fermeture des contours Hypothèse : l’image de la norme de gradient est disponible et les extrémités des contours à fermer sont connues S0 Sf S contour de l’image A arc d’un chemin solution R Trouver le chemin du coût minimum : S qui minimise S qui minimise la distance entre S et Sf
3.3 Segmentation par contours actifs Un contour actif est une courbe fermée ou non, initialisée à proximité du contour recherché qu’on déforme par itérations successives afin de converger vers le contour réel L’évolution du contour actif est régie par une minimisation d’énergie L’évolution s’arrête par un critère d’arrêt qui correspond à une condition de stabilité La convergence traduit une adéquation entre la forme finale de la courbe C la fonction image au voisinage de la courbe
Contours actifs : définitions Le contour actif est assimilé à une courbe C : s est l‘abscisse curviligne, v(s,t) est un point courant de C, a et b sont les extrémités de C, l’évolution temporelle se fait entre 0 et T Une énergie E(C) est mesurée à chaque t durant l’évolution temporelle E(C) intégre : les caractéristiques intrinsèques de la courbe C les caractéristiques de l’image I au voisinage de C l’interaction entre I et C
Contours actifs : Energie du contour E(C) Eint : - lié à la rigidité (tension), il agit sur la longueur - lié à l'élasticité (flexion), il agit sur la courbure Eext : - introduit des contraintes opérateur (points de contrôle ...) Eimage : - introduit les caractéristiques images (gradient)
Evolution temporelle du contour actif Calculer l'énergie pour chaque point Faire la liste des points par ordre d’énergie croissante Faire évoluer le point avec l'énergie minimale Calculer l'énergie nouvelle pour ce point et organiser la liste si la distance entre deux points est trop grande, ajouter un point entre les deux
Problèmes liés aux contours actif Le contour initial ne peut pas être sélectionné automatiquement Le contour initial doit être proche du contour final Le modèle n’est pas utilisable dans le cas de la présence de texture Le modèle peut être perturbé en présence de bruit La minimisation d'énergie demande l’inversion de matrices de grande taille à chaque itération ==> calcul très long
3.4 Segmentation par Split / Merge Les méthodes structurales visent à regrouper des ensembles de points ou de régions selon des critères d’homogénéité Ces méthodes garantissent la connexité des régions Les stratégies utilisées peuvent être : ascendante : mécanisme de croissance (MERGE) de régions : du niveau élémentaire (ex : pixel) aux grandes régions descendante : mécanisme de division (SPLIT) de régions : du niveau haut (ex : image) vers la décomposition en petites régions
Méthode ascendante : Croissance de régions La croissance est conduite selon deux critères : homogénéité pour une région R formée de N pixels connexité (adjacence) du pixel à intégrer dans R Exemples de contrainte d’homogénéité : Variance Var(R) inférieure à un seuil Nombre de pixels M dont les NG se situe hors d’un intervalle [Moy(R)-EcType(R),Moy(R)+EcType(R)] inférieur à un seuil Un pixel S est intégré à R si les caractéristiques de ce point (NG, couleur, texture centrée sur ce point,..) est proche de celles de R S est connexe à R
Méthodes descendantes : division de régions Les méthodes descendantes divisent l’image ou une partie d’image en régions en utilisant des partitions élémentaires connues comme le quadtree Le maillage peut être régulier ou irrégulier de type rectangulaire, triangulaire ou polygone quelconque La division d’une région R en sous-régions se fait si R ne remplit pas la contrainte d’homogénéité fixée
3.5. Segmentation par Template Matching La méthode Template Matching est basée sur la recherche de la position spatiale d’un motif (objet) M connu dans une image I La recherche (ou le collage) se fait par le calcul de l’intercorrélation bidimensionnelle C(p,q) entre I et M : La position du motif est donnée par les maxima de la fonction d’intercorrélation CIM
Image originale Motif Image d’intercorrélation Image d’intercorrélation seuillée
Plan I. Compression II. Segmentation III. Indexation IV. Tatouage
III. 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 d'images Un défi Automatisation de l'indexation d'images par le contenu Interfaces et moteurs de recherche adaptés Rque : Analyse d'une image = quelques sec.
Retrouver des images semblables à celles que cherche l'utilisateur Problème posé Retrouver des images semblables à celles que cherche l'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
2 Indexation par mesures globales Mesures sur l'image entière et/ou des zones a priori Couleur : idée visuelle vague : "fleur rouge, ciel bleu" Couleurs majoritaires Histogramme RVB calcul de distances complexe, illumination! Niveaux de gris Paramètres de texture Utilisation de silhouettes Seuillage binaire Direction, nombre ...
3 Indexation par mesures locales Mesures sur une image segmentée Que segmenter ? objets, primitives ... Que mesurer ? des angles, des nombres, des orientations Problème reporté sur l'algorithme de segmentation A adapter aux modalités d'images
3 Indexation et compression Mesures fournies par/pendant la compression Vectoriel dictionnaire Fractale LIFS Sous-bandes répartition énergétique, direction DCT Continuité, Activité fréquentielle locale MPEG-4 multiplexage d'objets
4. Un exemple de produit : QBIC Images +- texte data base Indexation Requêtes itératives
Segmentation des images Silhouettes Semi-automatique : croissance de régions, snakes Paramètres calculés sur images & objets Couleur Barycentre RGB Histogramme 64 couleurs Texture (Y) Directions privilégiées (Gradient) Fenêtres variables (variance NG) coarsness / contrast Forme Orientation Surface, périmètre, compacité Imagette 64x64 de contour
Recherche par texte / image / objet Couleur moyenne Histogramme couleur Texture Forme / position des contours localisations d'objets Try the demo : http://wwwqbic.almaden.ibm.com
Couleur dominante + 64 coefs sous-bandes
5. MPEG-7 (98-2001) Objectif Définir un standard de description de l'information multimédia Texte, Image, graphique, 3D, audio Extraction de descripteurs (Auto/manuel) Moteurs de recherche adaptés Retour d'informations classement format condition d'accès Applications Services & Usages Média numérique personnalisé Choix d'un programme TV Commerce électronique Agents intelligents ...
Plan I. Compression II. Segmentation III. Indexation IV. Tatouage
IV. Introduction au tatouage Objectif Protéger la propriété des images numériques Watermark = signal inséré dans l'image Unique identifie l'image Multiple identifie la source 2 types visible facile à enlever, propriétaire visible invisible difficile à enlever, piéger les truands
Remarques Original + watermark # original watermark signature électronique Contraintes ! Impossible à enlever sans dégrader l'image Résiste au scaling, cropping, coding, modif histogramme Invisible mais extractible En nombre suffisants
Domaine spatial (peu résistant) 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é)
Exemple avec la DCT (M. Barni et al., LCI/DIE/ Univ. Florence)
Qu'est ce qu'un bon watermak ? Limitations Double watermark ! Questions Qu'est ce qu'un bon watermak ? Distorsion introduite ! Niveau de résistance Besoin de l'original ? Du PC au papier ! Comment gérer ses droits ? Quels Usages ? Quels services ?
V. Conclusion BDO Tatouage Indexation Compression Segmentation Image numérique Indexation Compression Segmentation Image Multimédia Des techniques complexes et prometteuses Dimension affective forte Au cœur de nouveaux services & usages Transmission Rec. formes Décision Image & Protocoles ...