Hypergraph Lossless Compression, Quadtrees et notion de complexité sur les images G graphes et sécurité Sujet de stage de Master en cours: Sujet de thèse envisagé: Encadrant: Alain Bretto Yohann PITREY HELPIQUET Master Recherche LID Image Université de Caen – Laboratoire GREYC Mercredi 21 juin 2006
Plan de la présentation ● Présentation du sujet de thèse: G Graphes et sécurité ● Présentation du sujet de stage ● L'algorithme Hypergraph Lossless Compression (HLC) ● Ce que l'on souhaite améliorer ● Les Quadtrees ● Une idée de solution ● Notion de complexité sur les images ● Etat d'avancement du stage et perspectives pour la suite
Amélioration de l'algorithme Hypergraph Lossless Compression en utilisant les Quadtrees Notion de complexité sur les images Présentation du sujet de stage
Hypergraph Lossless Image Compression (HLC) Alain BRETTO, Luc GILLIBERT International Conference on Information Technology (ITCC 2005), Las Vegas, April 4-6. IEEE Computer Society 2005, Volume 1, pages ● Principe de fonctionnement ● Quelques résultats ● Ce que l'on souhaite améliorer Compression sans perte d'images à base d'hypergraphes
HLC: Principe de fonctionnement Qu'est-ce qu'un hypergraphe? Domaines d'application: ● Traitement d'images (segmentation, débruitage, compression) ● Data Mining (thèse de Céline Hébert) ● Sécurité ● etc.
HLC: Principe de fonctionnement Hypergraphe de rectangles associé à une image: => Recouvrement partiel de l'image par des rectangles maximaux V = ensemble des pixels de l'image E = ensemble de rectangles maximaux de valeurs uniformes ● Possibilité de chevauchement des rectangles (mais inclusion interdite) ● Un rectangle doit recouvrir au moins k pixels n'appartenant pas à un autre rectangle
HLC: Principe de fonctionnement Hypergraphe de rectangles associé à une image: Codage en mémoire: ● la liste des rectangles ● la liste des valeurs des pixels situés hors des rectangles Exemple: (0,0,2,8,1), (4,0,4,4,0), (6,0,2,7,0) (2,2,6,2,0), (4,0,5,4,1), (5,0,6,3,1) 1,1,1,0,0,1,1
HLC: Principe de fonctionnement Hypergraphe de rectangles associé à une image: Codage en mémoire: ● la liste des rectangles ● la liste des valeurs des pixels situés hors des rectangles Exemple: (0,0,2,8,1), (4,0,4,4,0), (6,0,2,7,0) (2,2,6,2,0), (4,0,5,4,1), (5,0,6,3,1) 1,1,1,0,0,1,1 PPM
HLC: Quelques résultats Images issues de la base de données de l'University of South California, Signal and Image Processing Institute (USC-SIPI) Résultats obtenus sur des images naturelles et synthétiques Résultats obtenus sur des images synthétiques
HLC: Ce que l'on souhaite améliorer ● Complexité en temps en O(n²), où n est le nombre de pixels de l'image ● Algorithme lent pour traiter les grandes zones uniformes
HLC: Ce que l'on souhaite améliorer Idée de solution: utiliser les Quadtrees... ● Complexité en temps en O(n²), où n est le nombre de pixels de l'image ● Algorithme lent pour traiter les grandes zones uniformes
Les Quadtrees: principe de construction Qu'est-ce qu'un Quadtree? Divisions récursives de l'image en quatre quadrants de même taille
Les Quadtrees: codage en mémoire Comment coder un Quadtree? ● Par une liste de feuilles ou: ● Par un parcours de ses noeuds Exemples de codages compacts: Leaf Code : DF-Expression : ((1( ((101101(0011 Qu'est-ce qu'un Quadtree? Divisions récursives de l'image en quatre quadrants de même taille
Idée d'amélioration de l'algorithme HLC Avantages des Quadtrees: ● Temps de construction en O(n), où n est le nombre de pixels dans l'image, ● Traitement des grandes zones uniformes plus efficace que HLC. Idée d'amélioration de l'algorithme HLC: ● Traiter les zones uniformes à l'aide des Quadtrees, ● Traiter les zones de détails à l'aide de HLC. Quadtre e HL C
Idée d'amélioration de l'algorithme HLC Avantages des Quadtrees: ● Temps de construction en O(n), où n est le nombre de pixels dans l'image, ● Traitement des grandes zones uniformes plus efficace que HLC. Idée d'amélioration de l'algorithme HLC: ● Traiter les zones uniformes à l'aide des Quadtrees, ● Traiter les zones de détails à l'aide de HLC. Quadtre e HL C Problème: Comment savoir quand passer d'une méthode à l'autre?
Notion de complexité sur les images ● Une image est-elle plus complexe qu'une autre? ● Où sont situées les zones complexes dans une image? Intérêt pour notre problème: ● Zones simples de l'image traitées avec les Quadtrees ● Zones complexes traitées avec l'algorithme HLC
Récapitulation des objectifs du stage Objectif principal: Diminuer la complexité en temps de l'algorithme HLC Solution proposée: Combiner HLC et les Quadtrees: Traiter les grandes zones uniformes à l'aide des Quadtrees Traiter les zones de détails à l'aide de HLC. Problème intermédiaire: Définir une notion de complexité sur les images: Quand utiliser les Quadtrees? Quand utiliser HLC?
Etat d'avancement du stage ● Etude de l'algorithme HLC ● Synthèse de la littérature traitant des Quadtrees en traitement d'images ● Définition d'une notion de complexité sur les images ● Etude expérimentale ● Perspectives pour la suite du stage
Etude expérimentale Deux parties : ● Trouver la représentation de Quadtrees la plus efficace en termes de: ● taux de compression ● rapidité d'exécution ● Définir une notion de complexité sur les images et la tester expérimentalement.
Etude expérimentale, 1ère partie But: Trouver la meilleure représentation d'une image à base de Quadtrees en termes de: ● taux de compression ● rapidité d'exécution Démarche: (matériel expérimental) ● Deux jeux d'images binaires (synthétiques et naturelles) ● Plusieurs techniques de représentation compacte des Quadtrees ● Comparaison des taux de compression obtenus:
Résultats expérimentaux Représentation la plus efficace : PPM + Colour Map
Résultats expérimentaux Représentation la plus efficace : PPM + Colour Map Exemple: 2;0;1;2 soit 27*2 + 9*0 + 3*1 + 1*2 = 59 ● feuille noire => 0 ● feuille blanche=> 1 ● noeud interne=> 2
Résultats expérimentaux Représentation la plus efficace : PPM + Prediction by Partial Matching D. Shkarin. PPM: one step to practicality Data Compression Conference, Colour Map Exemple: 2;0;1;2 soit 27*2 + 9*0 + 3*1 + 1*2 = 59 ● feuille noire => 0 ● feuille blanche=> 1 ● noeud interne=> 2
Résultats expérimentaux Représentation la plus efficace : PPM + Prediction by Partial Matching D. Shkarin. PPM: one step to practicality Data Compression Conference, Temps d'exécution moyen pour une image A4: 0.07 sec. Taux de compression moyens: ● 11.47(images synthétiques) ● 2.95(images naturelles) Colour Map Exemple: 2;0;1;2 soit 27*2 + 9*0 + 3*1 + 1*2 = 59 ● feuille noire => 0 ● feuille blanche=> 1 ● noeud interne=> 2
Etude expérimentale, 2ème partie But: Définir une notion de complexité sur les images et la tester expérimentalement Etude préliminaire: Constat: « Une image complexe se compresse mal par une représentation à base de Quadtrees » Question: « Quel lien existe-t-il entre la représentation à base de Quadtrees d'une image et le taux de compression obtenu ? » Taux de compression:
Résultats expérimentaux Très forte corrélation entre le nombre de feuilles d'un Quadtree et le taux de compression engendré: nombre de feuilles élevé taux de compression faible
Résultats expérimentaux Très forte corrélation entre le nombre de feuilles d'un Quadtree et le taux de compression engendré: La complexité d'une image est liée au nombre de feuilles de sa représentation sous forme de Quadtree. Conclusion: nombre de feuilles élevé taux de compression faible
Résultats expérimentaux Très forte corrélation entre le nombre de feuilles d'un Quadtree et le taux de compression engendré: La complexité d'une image est liée au nombre de feuilles de sa représentation sous forme de Quadtree. Conclusion: feuilles2068 feuilles nombre de feuilles élevé taux de compression faible
Idée de l'algorithme HLC modifié
Calcul du nombre de feuilles de chaque sous arbre
Idée de l'algorithme HLC modifié Quadtree HLC Calcul du nombre de feuilles de chaque sous arbre
Idée de l'algorithme HLC modifié Quadtree HLC 59;48;39 (4,5,2,3,1) (6,4,2,3,0) 1,0,1,1 Calcul du nombre de feuilles de chaque sous arbre
Perspectives pour la suite du stage ● Finaliser l'implémentation de l'algorithme HLC combiné avec les Quadtrees ● Etude des résultats obtenus sur différents types d'images ● Traiter les images en niveaux de gris et couleurs ● Passer en compression irréversible ● Généraliser l'algorithme à la 3D (puis nD), ouverture sur le multimédia : Hypergraphs for Near-Lossless Volumetric Compression Luc Gillibert – Alain Bretto Data Compression Conference 2006.
Présentation du sujet de thèse G graphes et sécurité Encadrant: Alain Bretto
Présentation du sujet de thèse ● Exploiter le potentiel des hypergraphes de rectangles – Amélioration de la compression par hypergraphes de rectangles – Définition d'une notion d'entropie sur les hypergraphes de rectangles – Application des hypergraphes de rectangles au tatouage d'images ● Application des G graphes à la sécurité – Continuité de la thèse de Luc Gillibert – Lien entre G graphes et Images – Application à la sécurité
Application des G graphes à la sécurité D'après la théorie des groupes: « A toute image on peut associer un groupe » par le biais de sa TFD (Transformée de Fourier Discrète) D'après la théorie des graphes: « A tout groupe on peut associer un graphe » => définition d'un G graphe, cf. travaux de Luc Gillibert Donc: « A toute image il est possible d'associer un G graphe » à démontrer...
Application des G graphes à la sécurité Lien avec les hypergraphes: ● Démarche analogue pour associer un hypergraphe à une image et un G graphe à une image ● Application des hypergraphes à la sécurité => Application des G graphes à la sécurité
Hypergraph Lossless Compression, Quadtrees et notion de complexité sur les images G graphes et sécurité Sujet de stage de Master en cours: Sujet de thèse envisagé: Encadrant: Alain Bretto Yohann PITREY HELPIQUET Master Recherche LID Image Université de Caen – Laboratoire GREYC Mercredi 21 juin 2006