Title: Stage Contour Matching
1StageContour Matching
2SOMMAIRE
- Introduction
- 1. Présentation de la bibliographie
- 2. Appariement des contours opposés Vector
Matching - 3. Structuration des quadrilatères construits
- Conclusion
3Introduction
- Lappariement de contours se décompose
- en deux grandes phases
- Détection de contours et vectorisation
- Appariement de vecteurs afin de construire des
quadrilatères - Rq pas traité, seulement la bonne qualité des
quadrilatères dépend de la qualité des vecteurs
4Présentation de la bibliographie
- A structural representation for understanding
line-drawing images - by J.Y. Ramel, N. Vincent, H. Emptoz
- Partir dune liste de vecteurs, la parcourir,
et tester pour chaque vecteur sil répond aux
critères dappariement avec un autre. Si cest le
cas, on construit donc un quadrilatère, que lon
stocke alors dans une nouvelle liste.
51. Présentation de la bibliographie
- Skeleton generation of engineering drawings via
contour matching - by C.C. Han and K.C. Fan
- Ce critère dappariement se décompose en trois
étapes - Condition 1 le parallélisme
- Condition 2 la superposition des vecteurs
- Condition 3 la distance entre les deux vecteurs
61. Présentation de la bibliographie
- Feature analysis using line sweep thinning
algorithm - by F. Chang, Y.C. Lu, T. Pavlidis
- Vetcorization in graphics recognition To thin
or not to thin - by K. Tombre and S. Tabbone
- La génération des quadrilatères à plusieurs
applications différentes les relations de
voisinages entre quadrilatères, la détection de
jonction ou encore la correction, etc
72. Appariement de contours opposés Vector
Matching
- Lalgorithme dappariement de contours se
décompose en 5 étapes - . Teste dappariement 3 critères logiques
- . Calcul des critères
- . Filtrage des appariements éloignés
- . Trie logique des propositions dappariement
- . Appariement
82. Appariement de contours opposés Vector
Matching
- Trois conditions logiques
- . !isConnected les vecteurs ne doivent
pas être connectés - . isOpposite ils doivent être de sens
opposés - . overlap ils doivent se superposés,
c'est-à-dire que leurs projections sur laxe des
abscisses et des ordonnés devront correspondre à
un segment continue
92. Appariement de contours opposés Vector
Matching
- Trois critères calculés
- . gapStroke nous donne une pseudo
représentation de la distance entre deux vecteurs - Rq pas bijectif
102. Appariement de contours opposés Vector
Matching
- . matchLength détermine si les deux
vecteurs ont à peu près la même longueur - (longueur max longueur min) / longueur min
- . matchTeta détermine si les deux
vecteurs sont parallèles ou non
112. Appariement de contours opposés Vector
Matching
- Filtrage des appariements éloignés , grâce à
un seuil imposé par lutilisateur sur la valeur
du gapStroke. - Trie logique des propositions dappariement
suivant les valeurs des 3 critères calculés. - Problèmes de double matching de 2 vecteurs
identiques, positionnés à différentes places dans
la liste résultat, dus à la non bijectivité du
critère gapStroke. - Appariement liste définitive contenant des
quadrilatères
122. Appariement de contours opposés Vector
Matching
13(No Transcript)
142. Appariement de contours opposés Vector
Matching
- Exemples svg de quadrilatères
152. Appariement de contours opposés Vector
Matching
163. Structuration des quadrilatères construits
- Récupération des vecteurs non appariés
- Nous rajoutons cette étape à la phase de
Contour Matching - . Marquage des vecteurs appariés
- . Copie des vecteurs non appariés dans une
nouvelle liste - . Copie des vecteurs non appariés et des
quadrilatères dans une autre liste
173. Structuration des quadrilatères construits
183. Structuration des quadrilatères construits
- Construction dun graphe de relation.
- - A partir de la liste de quadrilatères et de
vecteurs non appariés, nous établissons les
relations entre ces objets. -
- - Création dun fichier XSLT pour la
transformation dun fichier XML en un fichier
XGMML - - Visualisation du fichier XGMML sous
lapplication ojgBE
193. Structuration des quadrilatères construits
- Construction du graphe
- - Transformation, grâce à la GOMLib, des objets
en nœuds - - Détermination des relations entre nœuds
- . 2 quadrilatères connectés (QConnected)
- . 2 vecteurs connectés (VConnected)
- . 1 point commun entre 2 quadrilatères
(Commun_Point) - . 1 quadrilatère connecté à 1 vecteur (link_QV)
- et création des arcs
- - génération dun fichier XML
203. Structuration des quadrilatères construits
- Création dun fichier XSLT
- - extraction à partir du fichier XML contenant
le graphe des données nécessaire à la génération
dun fichier XGMML - . numéro des nœuds et arcs
- . label
- . centre des noeuds
213. Structuration des quadrilatères construits
- Visualisation du fichier XGMML
- sous ojgBE (open java graph Base Editor permet
lédition de base de graphes orientée et/ou non
orientée )
223. Structuration des quadrilatères construits
- A la suite de cette construction de graphe, on
peut - commencer à parler de correction.
- Cette correction aura pour but daméliorer la
qualité des - quadrilatères, cest-à-dire de diminuer au
maximum le - nombre de vecteurs non appariés.
- Split Merge de quadrilatères
- Extrémités
- Aberrations
- Etc
233. Structuration des quadrilatères construits
- Mais il se pose alors une question, à savoir si
cette correction doit être inclus dans
lalgorithme ou si on pourrait trouver une
meilleure solution.
243. Structuration des quadrilatères construits
- On peut ainsi constater que la correction à
utiliser sur - limage traitée dépend de cette image, donc
correction - application dépendante.
- Pour le MH , sur le M , fusion de vecteur
et fusion de quadrilatère, sur le H , un split
merge. - Pour le L , une fusion de quadrilatère
- Pour la forme, détection daberrations
- ? Plutôt que dinsérer une correction dans
lalgorithme, établir un système à base de règles
pour la correction (pourrait être développé dans
un stage ?)
25Conclusion
- Différentes applications
- - détection de jonctions
- - squelettisation
- On pourra ainsi discuter des résultats
- obtenus avec une squelettisation différente,
- des jonctions obtenus avec une
- Squelettisation.