Traitement d'images 4TC - Option « Télécoms » Hugues BENOIT-CATTIN.

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

Chaîne de Synthèse Réel Modélisation Rendu Image Fichier Scène
FORMATION DE FAISCEAU.
Chap. 4 Recherche en Table
Traitement d’images : concepts fondamentaux
Distance inter-locuteur
BioIMAGe Partenaires : TIMC-IMAG, Unité INSERM 438, RMN Bioclinique, Laboratoire de Biologie des Populations d'Altitude Thématiques BioInformatique Modélisation.
_________________________________________________________________________________________________________________________________________________________________________.
Classification des signaux exemples de signaux réels
Analyse temps-fréquence
Regroupement (clustering)
SÉCURISATION DE DOCUMENTS ÉLECTRONIQUES PAR TATOUAGE
RECONNAISSANCE DE FORMES
Reconnaissance de la parole
1. Les caractéristiques de dispersion. 11. Utilité.
Codage par transformées(1)
6. Quantification des signaux visuels. Codage prédictif (MICD)
4. Descripteurs du contenu
H.264/MPEG4 AVC H.263/MPEG4 V1. H.264/MPEG4 AVC Principes clés : Codage intra-image et inter-image par des blocs de taille variable et par combinaison.
Architecture de réseaux

Séries de Fourier Tout signal périodique (T) de puissance finie peut être décomposé en une somme de sinus et de cosinus. An=0 1(4/) 1+ 3 (4/3)
Dpt. Télécommunications, Services & Usages Théorie de l information H. Benoit-Cattin Introduction 2. Sources discrètes & Entropie 3. Canaux discrets.

Dpt. Télécommunications, Services & Usages Théorie de l information H. Benoit-Cattin Introduction 2. Vue densemble 3. Sources discrètes & Entropie.

Génération interactive dimages projectives : Application à la Radiothérapie Pierre BLUNIER Du 01/12/2002 au 28/03/2003 Centre Léon Bérard.
Traitement d'images Hugues BENOIT-CATTIN.

A Pyramid Approach to Subpixel Registration Based on Intensity
Traitement d'images Hugues BENOIT-CATTIN.
Xialong Dai, Siamak Khorram
La diapo suivante pour faire des algorithmes (colorier les ampoules …à varier pour éviter le « copiage ») et dénombrer (Entoure dans la bande numérique.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Analyse de la variance à un facteur
Identification des personnes par l’iris
Etienne Bertaud du Chazaud
Monique THONNAT et Nathanaël ROTA Projet ORION
Application des algorithmes génétiques
Classification Multi Source En Intégrant La Texture
Applications du perceptron multicouche
Construction de modèles visuels
Traitements à base d’histogrammes Cours 6
Un principe de compression d’image
Interprétation de séquences dimages pour des applications MédiaSpace Alberto AVANZI François BREMOND Monique THONNAT Projet ORION INRIA de Sophia Antipolis.
Synthèse Applications des réseaux de neurones en reconnaissance de formes et en vision par ordinateur.
Courbes de Bézier.
I. Définitions & classification II. Approche fonctionnelle
Pr. M. Talibi Alaoui Département Mathématique et Informatique
3ème partie: les filtres
LES REHAUSSEMENTS D'IMAGES
Cours #9 Segmentation Découverte 4- Segmentation Introduction

Thierry Molinier > David Fofi >
Filtrage de Kalman et aperçu probabiliste
ASI 3 Méthodes numériques pour l’ingénieur
Elaboré par M. NUTH Sothan 1. 2 Soit x, y et z des coordonnées cartésiennes à 3 dimension. G un ensemble de points dans le plan (u, v). Déf. : On appelle.
Institut de Recherche en Communications et Cybernétique de Nantes 1 Implémentation en précision finie modélisation et recherche de réalisations optimales.
Projet Télédétection Vidéo Surveillance Deovan Thipphavanh – Mokrani Abdeslam – Naoui Saïd Master 2 Pro SIS / 2006.
Deux sujets traités La segmentation d’images
Caractérisation texturale des surfaces boisées dans une image Ikonos de la région de Montréal Pierre Bugnet Langis.
Monitoring Détection de séquences vidéo en temps réel dans une grande base de données Julien Law-to 23/07/2004.
Partie II: Temps et évolution Energie et mouvements des particules
Etude et test des algorithmes d'estimation de mouvement en MPEG
Extraction de segments pour la reconnaissance de symboles : Une approche robuste par Transformée de Hough Présenté par : Simon BERNARD Encadré par : Jean-Marc.
Sabrina Tollari, Hervé Glotin, Jacques Le Maitre
Partie II : Segmentation
PIF-6003 Sujets spéciaux en informatique I
SSII, séance n°13, bilan du cours 15 décembre 2015 Dernière séance 2015 Résumé des chapitres et notions abordées en 2015.
VI. Introduction à l ’indexation
Transcription de la présentation:

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