Sébastien PERIN – DEA PTI Formalisation et Opérationalisation de Connaissances Graphiques pour l’Interopérabilité en analyse d’image de document. Sébastien PERIN – DEA PTI
Sébastien PERIN - DEA PTI Plan Introduction à l’analyse de documents graphiques, Extraction de primitives graphiques, Formalisme et représentation des connaissances, Formalisme adopté, Contributions, Mise en œuvre, Conclusions et perspectives, 15 septembre 2004 Sébastien PERIN - DEA PTI
Introduction à l’analyse de documents graphiques L’analyse d’images de documents graphiques L’extraction de primitives graphiques en 3 étapes. Extraction Approximation Construction Image Primitives Graphiques points, lignes, arcs, courbes A B D C 15 septembre 2004 Sébastien PERIN - DEA PTI
Extraction de primitives graphiques (1) Étude bibliographique Les techniques d’extraction bas niveau : Approximation Ligne, cercle, courbe [Rosin,West95] Construction d’objets Squelette [Lam95] [Tombre99] Contour [Abl,Prid00] Suivi de trait [Dori99] [Song03] Plages [Burge98] Régions [Chen94] [Cao00] Mailles [Vaxivière95] Segmentation d’objet [Su02], [Chen00] Reconstruction de cercle [Hilaire01] Appariement de contour [Ramel00], [Han94] 15 septembre 2004 Sébastien PERIN - DEA PTI
Extraction de primitives graphiques (2) Comparaison d’approches [Delalandre03] Les objets manipulés proches Traitements granulaires communs Combinaisons: évaluation d’approches, approches hybrides, coopération d’approches Analyse Reconnaissance 1 Reconnaissance 2 Comparaison Analyse / Reconnaissance Construction hybride Analyse / Reconnaissance Analyse Problématique : L’échange des connaissances graphiques permettant l’interopérabilité. 15 septembre 2004 Sébastien PERIN - DEA PTI
Formalisme et représentation des connaissances (1) Étude bibliographique : Les différents types de formalismes [Kayser97] : À base de règles [Paulson99] (ex : Faire Action si Condition(s) ) À base de frames [Minsky75] (ex: ) À base de graphes [Lacomme03] (ex: ) Orientés données (listes, matrices, …) [Lucas86] Représentations : Formats [Wilkinson00] Langages de représentation [Kayser97] j ls.pt q ac cb 15 septembre 2004 Sébastien PERIN - DEA PTI
Formalisme et représentation des connaissances (2) Quelques formalismes et représentations des connaissances graphiques : Formalisme « vectoriel et graphe » est privilégié Formalisme Représentation [SVG-01] Vectoriel + listes Langage balisé XML [DXF-80] Format de données [CGM-97] Vectoriel + graphes+ symbolique [Ah Soon01] Vectoriel + règles+ symbolique Langage [Allanic00] Vectoriel + graphes [Hilaire01] … [Pasternak95] Vectoriel + règles + symbolique [Ramel00] [Song02] Formalisme choisi pour l’interopérabilité est à base d’une structure de graphes 15 septembre 2004 Sébastien PERIN - DEA PTI
Le formalisme adopté (1) L’objet graphique : Les données : Les attributs graphiques : 15 septembre 2004 Sébastien PERIN - DEA PTI
Le formalisme adopté (2) L’objet graphique : Primitives, listes, et graphes Les listes : Les graphes : Formalisation des connaissances graphiques par des graphes relationnels attribués pyramidaux. [Jolion90] 15 septembre 2004 Sébastien PERIN - DEA PTI
Le formalisme adopté (3) Standard : Objet graphique : Attribut graphique : ptb pte pte ptb ptc pt pt1 pt2 pt3 pt4 pt1 pt2 pt3 pt4 li ac l lbl=« détail » l =45 pt d=10 15 septembre 2004 Sébastien PERIN - DEA PTI
Le formalisme adopté (4) Exemple : pt1 pt4 pt2 pt3 pt5 pt6 pt7 pt8 l1 l2 l3 l4 l5 l6 l7 l8 l9 Image de départ Représentation 3 Représentation 4 Représentation 5 Représentation 2 Représentation 1 Plusieurs représentations possibles Aucune n’est privilégiée 15 septembre 2004 Sébastien PERIN - DEA PTI
Le formalisme adopté (5) Mécanisme d’externalisation des connaissances : Lecture/Écriture Exemple avec un point : <OPoint x= "10" y= "10" /> Exemple d’une ligne : <OLine length="14.1421" direction="0.785398"> <OPoint x="10" y="10" /> <OPoint x="20" y="20" /> </OLine> 15 septembre 2004 Sébastien PERIN - DEA PTI
Le formalisme adopté (6) Mécanisme de requêtes élémentaire de type procédural, par le contenu et/ou par la structure appliqué aux graphes et/ou listes. Contenu : tests des types d’objet Structure : nombre d’objet, bouclage, etc. Exemple : , ls.l Substitution des listes de points par des listes de lignes Traitement Polygonalisation j ls.l q ac cb j ls.pt q ac cb ls.pt 15 septembre 2004 Sébastien PERIN - DEA PTI
Le formalisme adopté (7) Le formalisme est codé en C++, basé sur la STL et la GTL, et s’appuie sur le polymorphisme, l’idiome de constructeur virtuel, chargement dynamique d’objet, 21 classes pour les objets et attributs graphiques, 7 classes pour les traitements, 56 fichiers 130 Ko de code. 15 septembre 2004 Sébastien PERIN - DEA PTI
Sébastien PERIN - DEA PTI Contributions (1) Introduction : La librairie de modélisation l’échange de connaissances graphiques Développement plate forme de traitement basé sur la librairie modélisation : l’extraction de primitives graphiques la combinaison des différentes méthodes Présentation des traitement de la plate forme : Polygonalisation Appariement de contours Construction de courbes 15 septembre 2004 Sébastien PERIN - DEA PTI
Contributions (2) Polygonalisation « La corde » [Douglas,Peucker73]. Entrée : liste de points et seuil Sortie : Liste de lignes. 15 septembre 2004 Sébastien PERIN - DEA PTI
Contributions (3) Polygonalisation Le « split & merge » [Pavlidis, Horowitz74] , ou division-fusion. Entrée : liste de points et seuil Sortie : Liste de lignes. Élimination des parasites 15 septembre 2004 Sébastien PERIN - DEA PTI
Contributions (4) Appariement de contours L’algorithme d’appariement de contours [Han94] se décompose en 5 étapes : Test d’appariement (critères : vecteurs non-connectés, de sens opposés, superposition de leurs projections axiales) Calcul de ces 3 critères logiques Filtrage des « appariements éloignés » Tri logique des propositions d’appariement Appariement Construction de quadrilatères.[Ramel00] Contour Quadrilatères 15 septembre 2004 Sébastien PERIN - DEA PTI
Contributions (5) Construction de courbes Interpolation par des courbes de Bézier [Zorin02]. Interpolation par des courbes de Bézier cubiques : P(t) = (1-t)3.P0+3.t.(1-t)².P1+3.t².(1-t).P2+t3.P3. Intérêt technologique : courbures, portage vers SVG. 15 septembre 2004 Sébastien PERIN - DEA PTI
Sébastien PERIN - DEA PTI Contributions (6) Le système repose sur une plate forme de traitement s’appuyant sur la modélisation En langage C++ 39 fichiers 45 Ko de code 15 septembre 2004 Sébastien PERIN - DEA PTI
Mise en œuvre (1) Exemple 1 La mise en œuvre repose sur la chaîne de traitements suivante : De l’image originale l’extraction donne des listes de point, des points isolés et des jonctions potentielles. Construction de courbes Extraction Polygonalisation 15 septembre 2004 Sébastien PERIN - DEA PTI
Mise en œuvre (2) Exemple 1 Listes de points La polygonalisation remplace par des listes de lignes Les listes de lignes sont remplacées par des listes de courbe 15 septembre 2004 Sébastien PERIN - DEA PTI
Mise en œuvre (3) Exemple 2 Approche contour Effet de bords Contour Construction Quadrilatères Vectorisation 15 septembre 2004 Sébastien PERIN - DEA PTI
Conclusions et Perspectives L’objectif est atteint : les connaissances graphiques peuvent circuler entre traitements l’interopérabilité Les traitements possibles sont : La corde Le Split & Merge Appariement de contour Interpolation par courbe de Bézier Perspectives : Formaliser l’approche à base de requêtes (langage de requête par la structure « XPath, RDF-QL ») Développer la plate forme de traitements Pour : Permettre des scénarios pour la combinaison des traitements pour l’extraction de primitives graphiques 15 septembre 2004 Sébastien PERIN - DEA PTI
Sébastien PERIN - DEA PTI Bibliographie (1) [Lam95] L. Lam and C.Y. Suen, An Evaluation of Parallel Thinning Algorithms for Character Recognition, 1995 [Tombre99] K. Tombre and C. Ah-Soon and P. Dosch and G. Masini and S.Tabbone, Stable and Robust Vectorization : How to Make the Right Choices, 1999 [Abl&Prid00] S. Ablameyko and T.P. Pridmore, Machine Interpretation of Line Drawing Images, 2000 [Dori99] D. Dori, Sparse Pixel Vectorisation : An Algorithm and its Performance Evaluation, 1999 [Song03] J. Song and M.R. Lyu and M. Cai and and S. Cai, Graphic Object Recognition from Binary Images: a Survey and an Integrated Paradigm, 2003 [Burge98] M. Burge and W.G. Kropatsh, A Minimal Line Property Preserving Representation of Line Images, 1998 [Chen94] Y.S. Chen, Segmentation and Association Among Lines and Junctions for a Line Image, 1994 [Cao00] R. Cao and C.L. Tan, A Model of Stroke Extraction from Chinese Character Images, 2000 [Vaxivière95] P. Vaxivière and K. Tombre, Subsampling : A Structural Approach to Technical Document Vectorisation, 1995 [Su02] Y.M. Su and J.F Wang, A Learning Process to the Identification of Feature Points on Chinese Characters, 2002 [Chen00] J. Chen and Y. Sato and S. Tamura, Orientation Space Filtering for Multiple Orientation Line Segmentation, 2000 [Rosin,West95] P.L. Rosin and G.A.W. West, Nonparametric Segmentation of Curves Into Various Representations, 1995 [Hilaire01] X. Hilaire, Ranvec and the Arc Segmentation Contest, 2001 [Ramel00] J.Y. Ramel, N. Vincent, H Emptoz, A structural representation for understanding line-drawing images, 2000. [Han94] C.C. Han, K.C. Fahn, Skeleton generation of engineering drawings via contour matching, 1994. 15 septembre 2004 Sébastien PERIN - DEA PTI Références
Sébastien PERIN - DEA PTI Bibliographie (2) [Delalandre03] M. Delalandre, E. Trupin, J.M. Ogier, Local Structural Analysis: a Primer, GREC 2003 [Kayser97] D. Kayser, La Représentation des Connaissances, 1997 [Paulson99] L.C. Paulson, Logic and Proof, 1999 [Minsky75] Minsky, 1975 [Lacomme03] P. Lacomme, Algorithmes de Graphes, 2003 Lucas86] M. Lucas, Algorithmes et Représentation des Données, 1986 [Wilkinson00] L. Wilkinson, D.J. Rope, D.B. Carr, M.A. Rubin, The Language of Graphics, 2000 [AhSoon01] C. Ah-Soon, K. Tombre, Architectural Symbol Recognition Using a Network of Constraints, 2001 [Allanic00] H. Allanic, E. Petit, M. Villalon, F. Lopes, Un Outil d'Interprétation d'Image Basé sur un Modèle Vectoriel Topologique, 2000 [Pasternak95] B. Pasternak and B. Neumann, The Role of Taxonomy in Drawing Interpretation, 1995 [Song02] J. Song, F. Su, C. Tai, S. Cai, An Object-Oriented Progressive-Simplification based Vectorisation System for Engineering Drawings: Model, Algorithm and Performance, 2002 [Jolion90] J.M. Jolion, Analyse d’images : Le modèle pyramidale, Traitement du signal, vol. 7, 5-17, 1990. [Douglas,Peucker73] D. H. Douglas, T. K. Peucker, Algorithm for the reduction of the number of points required to represent a digitized line or its caricature. Can. Cartographer 10(2), 112-122, 1973. [Pavlidis,Horowitz74] T. Pavlidis, S. L. Horowitz, Segmentation of plane curve, IEEE Transactions on Computers, vol. C-23, 1974, 860-870. [Zorin02] D. Zorin, Bezier Curves and B-splines, Blossoming, 2002. 15 septembre 2004 Sébastien PERIN - DEA PTI Références