Formalisation et Oprationalisation de Connaissances Graphiques pour lInteroprabilit
Formalisation et Opérationalisation de Connaissances Graphiques pour l’Interopérabilité en analyse d’image de document. 15 septembre 2004 Sébastien – DEA PTI Sébastien. PERIN - DEA PTI
Plan 1. 2. 3. 4. 5. 6. 7. 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 1
1. Introduction à l’analyse de documents graphiques • L’analyse d’images de documents graphiques • L’extraction de primitives graphiques en 3 étapes. Image 15 septembre 2004 Extraction Approximation Construction Sébastien PERIN - DEA PTI Primitives Graphiques points, lignes, arcs, courbes A C B D 2
2. Extraction de primitives graphiques (1) Étude bibliographique • Les techniques d’extraction bas niveau : Squelette Contour Suivi de trait Plages Régions Mailles Segmentation d’objet [Lam 95] [Tombre 99] [Abl, Prid 00] [Burge 98] [Chen 94] [Cao 00] [Vaxivière 95] [Su 02], [Chen 00] [Dori 99] [Song 03] • Approximation – Ligne, cercle, courbe [Rosin, West 95] • Construction d’objets 15 septembre 2004 Reconstruction de cercle Appariement de contour [Hilaire 01] [Ramel 00], [Han 94] Sébastien PERIN - DEA PTI 3
2. Extraction de primitives graphiques (2) • Comparaison d’approches [Delalandre 03] 1. Les objets manipulés proches 2. Traitements granulaires communs 3. Combinaisons: • évaluation d’approches, Analyse Comparaison Analyse • approches hybrides, Analyse / Reconnaissance • coopération d’approches Reconnaissance 1 Analyse / Reconnaissance 2 Construction hybride Analyse Reconnaissance Problématique : L’échange des connaissances graphiques permettant l’interopérabilité. 15 septembre 2004 Sébastien PERIN - DEA PTI 4
3. Formalisme et représentation des connaissances (1) • Étude bibliographique : – Les différents types de formalismes [Kayser 97] : • À base de règles [Paulson 99] (ex : Faire Action si Condition(s) ) • À base de frames [Minsky 75] (ex: ) • À base de graphes [Lacomme 03] (ex: j ac cb q j ls. pt ac j j ls. pt ) • Orientés données (listes, matrices, …) [Lucas 86] – Représentations : • Formats [Wilkinson 00] • Langages de représentation [Kayser 97] 15 septembre 2004 Sébastien PERIN - DEA PTI 5
3. Formalisme et représentation des connaissances (2) • Quelques formalismes et représentations des connaissances graphiques : Formalisme Représentation [SVG-01] Vectoriel + listes Langage balisé XML [DXF-80] Vectoriel + listes Format de données [CGM-97] Vectoriel + graphes+ symbolique Format de données [Ah Soon 01] Vectoriel + règles+ symbolique Langage [Allanic 00] Vectoriel + graphes Format de données [Hilaire 01] Vectoriel + graphes … [Pasternak 95] Vectoriel + règles + symbolique Langage [Ramel 00] Vectoriel + graphes … [Song 02] Vectoriel + graphes … • Formalisme « vectoriel et graphe » est privilégié Formalisme choisi pour l’interopérabilité est à base d’une structure de graphes 15 septembre 2004 Sébastien PERIN - DEA PTI 6
4. Le formalisme adopté (1) • L’objet graphique : – Les données : • Les attributs graphiques : – Les données : 15 septembre 2004 Sébastien PERIN - DEA PTI 7
4. 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. [Jolion 90] 15 septembre 2004 Sébastien PERIN - DEA PTI 8
4. Le formalisme adopté (3) • Standard : – Objet graphique : pte pt ptb ptc pt 2 pt 1 pt 4 pt 2 pt 3 pt 1 – Attribut graphique : 15 septembre 2004 pt 3 pt 4 ac li l l l pte d=10 =45 pt pt l lbl= « détail » ac Sébastien PERIN - DEA PTI 9
4. Le formalisme adopté (4) • Exemple : pt 1 l 2 l 3 pt 4 pt 2 l 1 l 4 pt 3 l 5 pt 5 l 6 pt 6 Image de départ l 7 l 9 pt 8 l 8 pt 7 Représentation 5 1 2 3 4 Plusieurs représentations possibles Aucune n’est privilégiée 15 septembre 2004 Sébastien PERIN - DEA PTI 10
4. 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 11
4. 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 : , Traitement ls. l Polygonalisation q ac cb ls. l Substitution des listes de points par des listes de lignes j q ls. pt j j ls. pt ac cb ls. l ls. pt ac 15 septembre 2004 ls. l j j ac Sébastien PERIN - DEA PTI j 12
4. 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 13
5. 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 14
5. Contributions (2) Polygonalisation • « La corde » [Douglas, Peucker 73]. • Entrée : liste de points et seuil • Sortie : Liste de lignes. 15 septembre 2004 Sébastien PERIN - DEA PTI 15
5. Contributions (3) Polygonalisation • Le « split & merge » [Pavlidis, Horowitz 74] , 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 16
5. Contributions (4) Appariement de contours • • L’algorithme d’appariement de contours [Han 94] 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. [Ramel 00] Contour 15 septembre 2004 Quadrilatères Sébastien PERIN - DEA PTI 17
5. Contributions (5) Construction de courbes • Interpolation par des courbes de Bézier [Zorin 02]. • Interpolation par des courbes de Bézier cubiques : P(t) = (1 -t)3. P 0+3. t. (1 -t)². P 1+3. t². (1 -t). P 2+t 3. P 3. – Intérêt technologique : courbures, portage vers SVG. 15 septembre 2004 Sébastien PERIN - DEA PTI 18
5. 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 19
6. Mise en œuvre (1) Exemple 1 • La mise en œuvre repose sur la chaîne de traitements suivante : Extraction Polygonalisation Construction de courbes • De l’image originale l’extraction donne des listes de point, des points isolés et des jonctions potentielles. 15 septembre 2004 Sébastien PERIN - DEA PTI 20
6. 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 21
6. Mise en œuvre (3) Exemple 2 • Approche contour Effet de bords Contour Construction Quadrilatères Vectorisation 15 septembre 2004 Sébastien PERIN - DEA PTI 22
7. Conclusions et Perspectives • Conclusions : – 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 23
Bibliographie (1) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. [Lam 95] L. Lam and C. Y. Suen, An Evaluation of Parallel Thinning Algorithms for Character Recognition, 1995 [Tombre 99] 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&Prid 00] S. Ablameyko and T. P. Pridmore, Machine Interpretation of Line Drawing Images, 2000 [Dori 99] D. Dori, Sparse Pixel Vectorisation : An Algorithm and its Performance Evaluation, 1999 [Song 03] J. Song and M. R. Lyu and M. Cai and S. Cai, Graphic Object Recognition from Binary Images: a Survey and an Integrated Paradigm, 2003 [Burge 98] M. Burge and W. G. Kropatsh, A Minimal Line Property Preserving Representation of Line Images, 1998 [Chen 94] Y. S. Chen, Segmentation and Association Among Lines and Junctions for a Line Image, 1994 [Cao 00] R. Cao and C. L. Tan, A Model of Stroke Extraction from Chinese Character Images, 2000 [Vaxivière 95] P. Vaxivière and K. Tombre, Subsampling : A Structural Approach to Technical Document Vectorisation, 1995 [Su 02] Y. M. Su and J. F Wang, A Learning Process to the Identification of Feature Points on Chinese Characters, 2002 [Chen 00] J. Chen and Y. Sato and S. Tamura, Orientation Space Filtering for Multiple Orientation Line Segmentation, 2000 [Rosin, West 95] P. L. Rosin and G. A. W. West, Nonparametric Segmentation of Curves Into Various Representations, 1995 [Hilaire 01] X. Hilaire, Ranvec and the Arc Segmentation Contest, 2001 [Ramel 00] J. Y. Ramel, N. Vincent, H Emptoz, A structural representation for understanding line-drawing images, 2000. [Han 94] 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
Bibliographie (2) 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. [Delalandre 03] M. Delalandre, E. Trupin, J. M. Ogier, Local Structural Analysis: a Primer, GREC 2003 [Kayser 97] D. Kayser, La Représentation des Connaissances, 1997 [Paulson 99] L. C. Paulson, Logic and Proof, 1999 [Minsky 75] Minsky, 1975 [Lacomme 03] P. Lacomme, Algorithmes de Graphes, 2003 Lucas 86] M. Lucas, Algorithmes et Représentation des Données, 1986 [Wilkinson 00] L. Wilkinson, D. J. Rope, D. B. Carr, M. A. Rubin, The Language of Graphics, 2000 [Ah. Soon 01] C. Ah-Soon, K. Tombre, Architectural Symbol Recognition Using a Network of Constraints, 2001 [Allanic 00] H. Allanic, E. Petit, M. Villalon, F. Lopes, Un Outil d'Interprétation d'Image Basé sur un Modèle Vectoriel Topologique, 2000 [Pasternak 95] B. Pasternak and B. Neumann, The Role of Taxonomy in Drawing Interpretation, 1995 [Song 02] J. Song, F. Su, C. Tai, S. Cai, An Object-Oriented Progressive-Simplification based Vectorisation System for Engineering Drawings: Model, Algorithm and Performance, 2002 [Jolion 90] J. M. Jolion, Analyse d’images : Le modèle pyramidale, Traitement du signal, vol. 7, 5 -17, 1990. [Douglas, Peucker 73] 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, Horowitz 74] T. Pavlidis, S. L. Horowitz, Segmentation of plane curve, IEEE Transactions on Computers, vol. C-23, 1974, 860 -870. [Zorin 02] D. Zorin, Bezier Curves and B-splines, Blossoming, 2002. 15 septembre 2004 Sébastien PERIN - DEA PTI Références
- Slides: 26