• Aucun résultat trouvé

Chapitre 2 : Extraction de primitives

3 Extraction de primitives graphiques par approche structurelle

3.2 Méthodes basées sur la squelettisation

Il s'agit d'obtenir le squelette, c'est-à-dire les axes médians d'une forme par amincissements successifs des traits ou par transformée de distances (voir introduction à la squelettisation de [24]). L'objectif est également d'obtenir les axes médians de la forme par des techniques de suivi de traits, ou de détection de jonction. Cette dernière ne permet pas en elle-même d’obtenir des primitives significatives d’un symbole. Donc comme pour la détection de contours, il est nécessaire de compléter le processus par une seconde étape d’extraction ; il s’agit très souvent de construire un graphe de squelette [138].

Les méthodes à base de squelettisation permettent une bonne approximation des axes médians des figures (il s’agit en quelques sorte de déterminer l’approximation vectorielle de la forme). Elles sont de plus invariantes au changement d’orientation. Cependant, un des principaux inconvénients de ces méthodes est le problème de barbules (voire figures 2.2 et 2.3) et des distorsions de jonctions, qui rend le processus d’extraction de primitives plus complexe, car il est alors nécessaire, pour obtenir un squelette cohérent et pertinent, d’effectuer un certain nombre de traitements supplémentaires. Elles sont de plus peu adaptées à l’analyse de formes pleines et sensibles au bruit.

Figure 2-2 : Squelettisation par amincissements successifs

Figure 2-3 : Squelettisation par transformée de distances

34 3.3 Méthodes basées sur les parcours de forme

Ces méthodes permettent d’extraire les axes médians des composantes d’une image. Il s’agit en fait de parcourir les "traits" de la forme pour en détecter et/ou en dessiner la structure (voir [42, 194, 166]). On distingue pour ce type de méthodes deux étapes qui sont le suivi de traits et la détection de jonctions. Elles sont complémentaires l’une de l’autre et sont généralement lancées conjointement. La seconde est par ailleurs très souvent un critère d’arrêt pour la première. Une supervision de ces traitements permet alors d’organiser la détection de chaque trait de la forme et d’en établir les relations pour en construire le graphe de structure.

Le suivi de traits est réalisé en trois étapes :

 la localisation d’un trait,

 la recherche d’un point d’entrée dans la forme (dans le trait),

 le suivi du trait par pas successifs jusqu’à détection d’une extrémité ou d’une jonction.

Figure 2-4 : Suivi de traits surfacique utilisant le plus grand cercle inscrit (figure extraite de [202]) Ces méthodes exploitent des primitives à base de vecteurs qui sont des primitives de haut niveau et sémantiquement fortes. Elles permettent une bonne détection des jonctions.

Cependant, il est évident qu’elles impliquent que la forme ne soit pas pleine, et qu’elles sont basées sur une recherche a priori des lignes. De plus, bien qu’elles soient globalement peu sensibles aux bruits, certaines images trop fortement bruitées peuvent gêner la détection de jonctions en introduisant de fausses surépaisseurs de traits.

35

3.4 Méthodes basées sur la décomposition en plages

Le principe est de décomposer une forme en trois catégories de bandes verticales (ou horizontales) : plage "extrémité", plage "ligne" ou plage "jonction" afin de construire un graphe représentant l'organisation de ces plages au sein de la forme.

En fait, il s’agit pour ces méthodes de décomposer la forme en plages (ou bandes) de pixels verticales et/ou horizontales. Chaque ligne (ou colonne) de l’image est parcourue afin de détecter des séquences maximales de pixels "forme". Le but est alors pour chaque détection de plage d’étudier leurs relations d’adjacence et de les identifier ensuite en tant que plage "extrémité", plage "ligne" ou plage "jonction" (voir [42,194]). Dans [27], on trouve un formalisme de ce type de méthodes et les définitions de ces notions. A partir de cette décomposition en plages, de leurs relations d’adjacence et de leur classification, il est possible de construire différents types de graphes. Dans [27], l’auteur présente trois types décrits par la figure 2.5. Dans le LAG (Line Adjacency Graph) chaque nœud représente une plage et chaque arc représente les relations d’adjacence. Dans le VSG (Vertical Simple Graph) les nœuds sont uniquement les plages extrémités et jonctions, et les arcs représentent les plages lignes. Dans le MRG (Mixed Run Graph), un ensemble de règles est mis en œuvre pour fusionner des plages verticales et horizontales et fournir ainsi un autre graphe dont les nœuds sont également les jonctions et les extrémités.

A partir de ce dernier type de graphes, il est possible d’extraire les contours [55] et les squelettes des composantes connexes [103,202].

Figure 2-5 : Graphes de plages (figure extraite de [27]).

Cette catégorie de méthodes permet une bonne détection des jonctions et des lignes.

Elle fournit de plus une bonne représentation des formes y compris des formes pleines, et permet l’extraction d’une représentation topologiquement riche. Ces méthodes sont cependant

36

sensibles aux changements d’orientation mais surtout aux détériorations qui parsèment les formes de pixels de fond.

3.5 Méthodes basées sur la segmentation en régions

Il s'agit d'identifier et d'étiqueter chaque pixel d'une forme comme appartenant à une région "extrémité", "ligne" ou "jonction" (calcul de "distances d'orientation" dans toutes les directions pour former une courbe dont les pics permettent d'identifier le type de région).

Un problème se pose lors de la squelettisation. Il s’agit des distorsions de jonctions. Ce problème survient au niveau de la construction des jonctions d’un squelette de forme. Par exemple dans le cas d’une squelettisation d’une forme contenant une jonction dite en "X"

(avec quatre branches), on obtient dans la plupart des cas une double jonction en "Y" (avec trois branches). C’est pour pallier à ce problème qu’ont été introduites les méthodes de segmentation en régions. Il existe à ce jour peu de travaux sur ces méthodes. Nous n’en référençons que deux : [36,31]. Il s’agit ici d’identifier dans une forme, les régions

"jonctions", les régions "lignes" et les régions "extrémités". Cette identification se réalise pixel par pixel à l’aide de méthodes mathématiques. Pour chaque pixel de forme, un calcul de plusieurs distances dites "d’orientation" est réalisé selon toutes les directions autour du pixel.

Toutes ces distances, mises bout à bout sous forme de courbes, comme dans la figure 2-6 [36], permettent de faire apparaître des pics correspondant aux différents "traits" de la forme qui entourent le pixel. Le nombre de pics identifiés pour un pixel permet de déterminer s’il s’agit d’un pixel d’une jonction, d’une ligne ou d’une extrémité. Les jonctions d’une forme sont alors identifiées précisément, résolvant ainsi le problème des distorsions de jonctions rencontré dans la squelettisation. Il est évident que le principal inconvénient de ce type de méthodes est la complexité algorithmique : pour chaque pixel, un grand nombre de calculs est effectué. De plus, elles ne permettent pas la détection des axes médians et fournissent donc une représentation faiblement informative. Cependant, elles permettent une très bonne détection des jonctions, sont robustes aux bruits et sont invariantes aux changements d’échelle et d’orientation.

37

Figure 2-6 : Courbes des distances d’orientation de deux pixels du caractère K (figure extraite de [36]).

3.6 Méthodes basées sur le sous-échantillonnage

Cette catégorie de méthodes consiste en l'application d'un maillage (sous-échantillonnage) sur la forme, puis en la recherche de correspondances entre chaque maille de la forme et des modèles de mailles référencées dans une bibliothèque. A partir des mailles reconnues, il est possible de déterminer la structure des primitives graphiques et leurs relations topologiques.

Il existe également très peu de travaux sur ces méthodes et sont donc peu utilisées (voir [42,190,103]). Il s’agit de réaliser un partitionnement de l’image, en lui superposant un maillage, définissant ainsi un groupe de sous-ensembles de pixels de l’image. L’analyse de ces sous-ensembles, appelés mailles, va permettre d’en extraire des primitives graphiques.

Ces méthodes sont réalisées elles aussi en deux étapes : une étape de maillage (sous échantillonnage) et une étape d’extraction de primitives. Le maillage d’une image peut se faire de différentes manières selon différents arrangements comme le montre la figure 2-7 [167]. Une fois celui-ci effectué, une analyse est réalisée maille par maille, généralement en comparant chacune d’elles à une base de modèles définis dans une librairie connue a priori.

Ainsi reconnues, les mailles sont ensuite étudiées pour pouvoir en extraire leurs relations topologiques et en déduire les primitives existantes. Ces méthodes permettent d’obtenir des primitives graphiques et des relations topologiques de différents types. Elles paraissent également rapides à mettre en œuvre puisque ce traitement d’extraction s’effectue maille par maille. Cependant elles nécessitent un ensemble de post-traitements complexes qui dépendent

38

fortement de la cohérence et de la structure du maillage. Elles sont de plus sensibles au bruit et également aux changements d’échelle et d’orientation.

Figure 2-7 : Mailles carrés, losanges et en lignes (figure extraite de [167])

3.7 Méthodes basées sur les composantes connexes

Il s'agit de segmenter l’ensemble des pixels de la forme en composantes connexes (ensemble de pixels interconnectés) pour obtenir les primitives graphiques correspondantes et leurs relations topologiques (propagation, balayage de lignes, suivi de contours).

Ces méthodes se distinguent de celles des autres catégories car elles exploitent les composantes connexes et leurs relations topologiques.

Dans les méthodes précédentes, on cherchait à étudier les structures des formes individuellement, ce qui signifie implicitement de travailler sur des formes préalablement segmentées. Mais pour ces méthodes, il va justement s’agir d’identifier et d’extraire les composantes connexes en tant que primitives graphiques, en segmentant l’image en régions de pixels interconnectés ayant les mêmes valeurs. Cependant, les composantes connexes telles qu’elles sont définies dans [161] peuvent composer le fond autant que la forme d’une image.

Et certaines méthodes analysent les composantes connexes du fond de l’image pour notamment étudier les occlusions d’un symbole. Il s’agit donc pour ces méthodes d’exploiter les composantes connexes en tant que primitives graphiques. Le but premier est de segmenter et de marquer ces composantes.

Les algorithmes de marquage se divisent en trois catégories : par propagation, par balayage de lignes et par suivi de contours. Comme leurs noms l’indiquent, ces algorithmes reprennent pour la plupart certains principes déjà énoncés dans les sections précédentes, comme par exemple la décomposition en plage ou la détection de contours. Ceux-ci permettent donc d’extraire simultanément quelques caractéristiques topologiques et structurelles des composantes, mais ils apportent peu de choses supplémentaires par rapport aux méthodes précédemment citées.

39

3.8 Méthodes basées sur les Transformées de Hough/Radon

L'objectif de ces méthodes est de détecter dans une image un ensemble de formes géométriques simples dont les équations paramétriques sont connues, comme dans le cas des droites, des cercles, des ellipses, . . .

Les méthodes qui utilisent ces deux transformées (introduite par P. Hough en 1962 [74] et J. Radon en 1917 [142]) et plus particulièrement la transformée de Hough [44], n’ont cessé de se multiplier depuis la fin des années soixante, car elles sont toutes les deux un moyen efficace et robuste d’extraire d’une image des primitives de haut niveau. On retrouve dans la littérature beaucoup de travaux qui mettent en parallèle ces deux procédés (notamment [63]). Certains vont même jusqu’à affirmer qu’ils sont équivalents au sens strictement mathématique du terme. En effet, bien qu’algorithmiquement différentes, il s’agit pour ces deux transformées d’effectuer le même type d’opérations, à savoir de reconnaître dans une image tous les membres d’une même famille de formes géométriques simples, identifiées par leurs équations paramétriques. Le point principal sur lequel ces deux transformées se rejoignent est qu’il va s’agir d’établir une projection de l’espace 2D de l’image vers un espace de paramètres (espace de Hough ou espace de Radon), définissant la famille de formes à identifier.

Le cas le plus intuitif pour lequel ont été introduites ces deux transformées est le cas de la détection de droite dans une image. En effet, si l’on considère qu’une droite est définie par son équation en coordonnées polairesx.cos()y.sin(), il est alors possible de la caractériser par un simple couple de données et . Hough et Radon vont alors établir une correspondance entre les pixels de l’image et les droites, qui sont identifiées dans l’espace de paramètres par un point de coordonnées (,) (voir figure 2.8 [107]). Cette correspondance va permettre de déterminer le nombre de pixels de la forme qui vont "voter" pour une droite, c’est-à-dire qui en vérifient l’équation. Plus simplement il s’agira de comptabiliser les pixels qui sont situés sur la droite dans l’espace de l’image. Ainsi, on peut déterminer quelles sont les droites qui sont réellement présentes dans l’image en isolant les couples de paramètres(,)pour lesquels le nombre de pixels est suffisamment élevé.

40

Figure 2-8 : Projection de l’espace 2D de l’image vers l’espace 2D des paramètres dans le cas de détection de droites

Par la suite de nombreux travaux ont permis d’étendre l’utilisation des transformées de Hough et Radon pour le cas de détection de droites, aux cas d’autres formes à condition d’être identifiables par un ensemble prédéterminé de paramètres. Cependant, il faut noter que plus ce nombre de paramètres est élevé plus l’espace de paramètres sera de grande dimension. Par exemple pour la détection de cercles, l’espace de Hough/Radon associé est un espace 3D car l’équation d’un cercle comprenant trois paramètres (cf. 2.9 [107]. De même, l’espace de Hough/Radon associé à la détection des ellipses est un espace 4D.

La complexité algorithmique des méthodes basées sur l’utilisation de la transformée de Hough ou de la transformée de Radon représente l’un des principaux inconvénients. En effet, la modélisation et la projection d’un espace à un autre nécessitent une phase de discrétisation qui génère d’une part une utilisation massive de la mémoire et d’autre part un temps de calcul important dû à l’obligation de parcourir l’intégralité des espaces discrétisés.

Ce phénomène s’accentue dans le cas des familles de formes complexes et avec l’utilisation d’une discrétisation fine.

Il reste à signaler que dans le cas de l’extraction des axes médians ou la détection des jonctions ou plus généralement de la structure du symbole, ces méthodes sont rapides et efficaces et permettent d’obtenir une bonne approximation.

L’utilisation de ces méthodes dans le domaine de la reconnaissance de forme passe par deux étapes :

- une projection des pixels de la forme de l’espace d’origine (l’espace de l’image) vers l’espace de paramètres (qui dépend des caractéristiques à extraire).

41 - une extraction de primitives sur cet espace.

Pour reconnaître des caractères arabes, la transformée de Hough a été utilisée pour extraire les lignes droites sur des images de caractères [54]. Ensuite, les primitives choisis sont la position, la direction et la taille de ces lignes. Ces mêmes caractéristiques ont été exprimées par des mesures floues pour la reconnaissance des caractères indiens [175]. De même, la transformée de Hough a été également utilisée employée pour estimer les lignes de base et corriger l’inclinaison des lignes [54,7,135].

3.9 Synthèse

Nous avons rappelé différents types de méthodes d’extraction de primitives utilisées dans la littérature. Chaque méthode cherche à donner une représentation spécifique de l’image permettant d’en extraire les primitives les plus pertinentes. Ainsi, nous pouvons regrouper les différentes représentations obtenues par les méthodes ci-dessus en trois familles :

1. représentation sous forme de contours, 2. représentation sous forme de squelettes, 3. représentation sous forme de régions.

Ces modèles de représentation présentent l’avantage de permettre une extraction facile de primitives graphiques qu’elles soient de type pixel, vecteur ou région.

Cependant, ces représentations ne permettent bien évidemment pas d’obtenir immédiatement tout type de primitives. Par exemple, un squelette obtenu sous la forme d’une chaîne de pixels ne permet pas immédiatement d’extraire des primitives de type vecteur.

Aussi, bien que rendu moins complexe par cette nouvelle représentation, l’extraction de primitives nécessitera différents post-traitements.

Certaines catégories de méthodes se distinguent des autres par leur propriété de robustesse ou d’invariance aux changements d’échelle ou d’orientation ; d’autres se distinguent par la qualité de leur représentation, c’est-à-dire par la qualité de l’information structurelle qu’elles permettent d’obtenir en fin de traitement. Puis on constate dans un second temps que dans la quasi-totalité des cas, ces deux aspects font l’objet d’un compromis : les méthodes qui fournissent une représentation sémantiquement riche, sont en général peu

42

robustes au bruit et aux changements d’échelle et d’orientation, et vice versa. Par exemple, les méthodes à base de détection de contours, ou encore les méthodes à base de segmentations en régions, sont des méthodes qui possèdent des propriétés de robustesse et d’invariance forte, mais qui en contrepartie fournissent une représentation plutôt pauvre sémantiquement. A l’inverse, les méthodes à base de décomposition en plages ou de sous-échantillonnage permettent d’obtenir une représentation intéressante d’un point de vue structurel, mais difficile à extraire en présence de fortes détériorations.

Malheureusement dans notre cas il est difficile de négliger l’une ou l’autre de ces contraintes, puisque comme nous l’avons détaillé en introduction, les symboles au plutôt les type de caractères sur lesquels nous souhaitons travailler sont de nature récursifs, présentent certaines complexités. Donc on doit choisir une autre méthode pour l’extraction de caractéristiques qui permettrait d’obtenir une représentation de meilleure qualité. Nous avons pour notre part orienté notre choix vers l’utilisation des modèles qui caractérise mieux le type cursif, pour cela nous avons choisi les courbes de Bézier pour représenter les formes des caractères. Cette catégorie de méthodes réunie de bonnes propriétés vis à vis de ces deux contraintes. Nous expliquons plus en détails dans la section qui suit les principes de fonctionnement de cette approche, et nous justifions également notre choix d’utilisation de cette méthode.

4. Courbes de Bézier

Les courbes de Bézier possèdent des propriétés intéressantes dans le cadre de la modélisation des formes. Elles sont invariantes par transformation affine.

Une courbe de Bézier est équivalente à ses points de contrôle. Ainsi, un nombre très limité de points de contrôle permet de représenter une courbe complexe. Le théorème d’approximation de Weierstrass garantit toujours une solution au problème de l’approximation de courbes continues par des courbes de Bézier.

Le grand avantage des courbes de Bézier est leur formulation mathématique, qui permet une construction simple et efficace de ces courbes. En effet, compte tenu de la définition analytique de ces courbes, on dispose par exemple en permanence de la valeur exacte de la tangente à la courbe en chacun de ses points. Une étude plus complète a été proposée par [56] Léon [46]. Nous ne développerons dans la suite que les aspects qui nous intéressent dans notre étude.

43 4.1 Polynômes de Bernstein

Définition : soit n un entier positif. Les polynômes de Bernstein sont définis comme suit :

Propriétés : les polynômes de Bernstein possèdent les propriétés suivantes :

a) Positivité : pour tout u

 

0,1 et pour tout k

0,,n

on a : base de l’espace vectoriel des polynômes définis sur [0,1] et de degré inférieur ou égal à n. Elle est appelée base de Bernstein de degré n.

c) Partition de l’unité : lesBk,n(u), k

0,,1

déterminent une partition de l’unité

d) Symétrie : la base de polynômes de Bernstein présente la symétrie suivante :

)

e) Maximum : le polynôme de Bernstein

n

Bk, atteint son maximum sur [0,1] pour u=k/n.

f) Récurrence : les polynômes

n

Bk, peuvent être calculés par récurrence : u

 

0,1,nN*,k

1,,n1

44

Les graphes de ces polynômes sont présentés dans la figure 2.9 ci-dessous.

Figure 2-9 Base de polynômes de Bernstein de degré 3

4.2 Théorème d’approximation de Weierstrass

Définition : soit φ une fonction continue à valeurs réelles définie sur [0,1]. On appelle approximation de Bernstein-Bézier de degré n de la fonction φ, la fonction

Bnde polynômes

En utilisant le théorème d’approximation de Weierstrass nous avons le résultat suivant.

Théorème : La suite de fonctions

 

Bn n converge uniformément vers la fonction continue φ.

45 4.2.1 Courbes de Bézier

Définition : soit (Pk)k0,,n une suite ordonnée de points du plan. Ces points, appelés points

Définition : soit (Pk)k0,,n une suite ordonnée de points du plan. Ces points, appelés points